Commit Graph
47 Commits
Author SHA1 Message Date
Kyosti Malkki 39391ba6ea (Kyösti) some cleanups for 2.4+
Module refcounting using .owner, removing of inc/dec_use.
   These require (yet unreleased) i2c 2.8.0+.

   Named initializers everywhere. Unified namespace.

   Cleanup for 2.5, remove EXPORT_NO_SYMBOLS, declare everything
   static. Apply initcalls.

   PCI device registration changes for busses started, replicating
   from i2c-amd*. While everything does compile, nothing really
   works. Well, maybe i2c-amd* ported back from 2.5 tree.

   After updating your work directory, run
    > cvs diff -u -r LAST-PRE-2-8-I2C > lm-2.8-patches-1

   BEWARE: I have not even insmoded any of these yet.

   To compile, you need i2c from cvs too.
   For 2.4 kernel :
    > cvs co -r lk2-4 i2c

   For 2.5 kernel :
    > cvs co i2c


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1698 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-17 01:19:52 +00:00
Mark D. Studebaker f578b6798c vt8231 init
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1505 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-08-25 17:21:07 +00:00
Mark D. Studebaker 4860b3f628 add i2c-savage4, lm92, pcf8574, pcf8591, smsc47m1, vt1211
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1424 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-07-05 18:59:29 +00:00
Mark D. Studebaker 2e4ce0fe13 in patched kernel, don't call sensors_init() from sensors.c,
do it from i2c-core in i2c pkg.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1156 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-08-13 01:37:09 +00:00
Mark D. Studebaker 87c529e96d Initial checkin of it87 driver from
Christophe Gauthron <chrisg@0-in.com>


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1112 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-06-03 21:58:26 +00:00
Mark D. Studebaker c5469c2285 change from gl520sm_init() to gl520_init() to match
what is in driver so patched kernel will work with gl520.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1080 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-04-22 23:27:23 +00:00
Mark D. Studebaker d569353d79 add xxx_init() calls to bottom of sensors.c for those drivers added
to mkpatch in 2.5.5. Also add mtp008 and ds1621 init calls in anticipation
      of them being added. Fix typos adm9024->adm9240.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@997 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-01-17 01:42:56 +00:00
Mark D. Studebaker bb4b723e68 (mds) add ds1621 driver from Christian Zuckschwerdt (zany@triq.net)
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@935 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-11-26 23:07:17 +00:00
Frodo Looijaard 4444c1464a Applied patch of Chip Salzenberg <chip@valinux.com>:
Better #ifdefs


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@929 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-11-18 11:38:15 +00:00
Frodo Looijaard 6fa9fe98eb Update for 2.4.0-test8 kernels
(patch by Mohammed A. Haque <mhaque@haque.net>)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@868 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-09-06 22:52:00 +00:00
Frodo Looijaard 1b2fa00f10 Oops... Clobbered sensors.c in the last commit...
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@794 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-04-18 11:21:06 +00:00
Frodo Looijaard ea2ffb2286 small INSTALL update
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@793 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-04-18 11:19:10 +00:00
Frodo Looijaard 1c4bf6e351 Corrected typo in #ifdef in init code
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@740 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-03-03 21:08:27 +00:00
Frodo Looijaard 267a60f254 Guarded all {get,put}_user and copy_{to,from}_user calls
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@708 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-01-26 14:41:10 +00:00
Frodo Looijaard 6a2c82b491 `indent -kr -i8' on all kernel sources
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@707 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-01-24 20:37:01 +00:00
Frodo Looijaard 888d32f50b Removing kernel 2.0 and 2.1 compatibility pass 2
Eliminated compat.h


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@705 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-01-24 20:07:29 +00:00
Frodo Looijaard 9480bb5988 Removal of kernel 2.1 and 2.2 compatibility: pass one
Removed many #if statements


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@704 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-01-24 19:30:08 +00:00
Frodo Looijaard fd545796ee Changes regarding the new i2c_check_addr function
Changes in sensors.c:

  sensors_detect now skips addresses which are already taken. Even a
  force parameter can not override this, as it could lead to major
  problems.
  For ISA addresses, the same is done; but the client drivers still need
  a check if they claim more than one ISA address (as all of the current
  ISA clients do).

Changes in chip drivers:

  Removed the comment about needing address registration

Changes in i2cdetect.c:

  Marks addresses which are already claimed

Changes in sensors-detect:

  Warns when an address is already claimed, and skips it.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@667 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-12-08 20:37:09 +00:00
Frodo Looijaard 5059c482fd Just to make sure, added `#include <linux/version.h>' at several
other places.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@645 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-12-01 00:48:34 +00:00
Frodo Looijaard 52b2ce8f52 Patches to make it compatible with kernel 2.3.27 and newer
* Improved monitoring of /proc directories
  Instead of doing:
         proc_bus_i2c->fill_inode = &monitor_bus_i2c;
         void monitor_bus_i2c(struct inode *inode, int fill)
         {
           if (fill)
             MOD_INC_USE_COUNT;
           else
             MOD_DEC_USE_COUNT;
         }
  you can now simply set:
         proc_bus_i2c->owner = THIS_MODULE;
  and this is just as good!
* An old 2.3 problem seemingly never was resolved yet: instead of using
  a *wait_queue directly, you have to use a wait_queue_head_t and
  initialize it properly:
         #if (LINUX_VERSION_CODE < 0x020301)
         static struct wait_queue *pcf_wait = NULL;
         #else
         static wait_queue_head_t pcf_wait;
         #endif

         #if (LINUX_VERSION_CODE >= 0x020301)
            init_waitqueue_head(&pcf_wait);
         #endif
  except for this, semantics remain the same (but using a plain
  wait_queue_head_t instead of a pointer to a wait_queue)
* I had to change the semantics of sensors_register_entry slightly,
  to make the monitoring of /proc/sys/dev/* files possible for kernels
  2.3.27 and newer. It now takes an additional parameter, which you
  can specify as THIS_MODULE.
* THIS_MODULE is only defined in kernels 2.3.13 and later; added
  it to compat.h and the compatibility section of mkpatch.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@640 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-11-30 20:48:43 +00:00
Frodo Looijaard 52781e50b4 Preparations for better 10-bit address support
Updated for the changes in i2c_smbus_* functions


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@585 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-09-27 16:01:24 +00:00
Frodo Looijaard 9d88e65c71 `functionality' checking for clients implemented
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@584 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-09-27 14:19:46 +00:00
Kyosti Malkki 36c650c50d (Kyösti)
* changed sensors.o to use WRITE address to check existence of
   a client

 In most cases this makes no difference. However, some versions of the
 Matrox Orbital display hang the bus if you try to ack the read address.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@535 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-08-23 17:37:42 +00:00
Frodo Looijaard acd5a15556 (Frodo) Massive commit of all things related to mkpatch. Let's just say
it works great now.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@516 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-07-23 23:43:13 +00:00
Frodo Looijaard fcbe78a669 First step to make it possible to integrate lm_sensors modules into
the kernel.

* <kernel/init.h> is now included for all modules
* Initialization-time only functions and variables are marked with __init
* EXPORT_SYMBOL or EXPORT_NO_SYMBOLS declarations added


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@513 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-07-23 11:43:58 +00:00
Frodo Looijaard 2212822342 ISA changes
* i2c-isa simplified, by using the addr field in the client structure,
  instead of a new field. This means we do not need `struct isa_*'
  anymore
* All clients changed to reflect the new isa code. Many are much
  simplified now.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@505 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-07-21 22:04:34 +00:00
Kyosti Malkki 3014204a0d (Kyösti)
* renamed every smbus_*  access to i2c_smbus_*
 * everything in lm_sensors2/kernel/* compiles nicely :)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@499 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-07-20 22:46:49 +00:00
Frodo Looijaard 24e547b88e First round of lm_sensors changes for the new I2C tree
* The i2c package can no longer be compiled as part of the lm_sensors tree
* The archive of the i2c package is removed
* smbus, i2c-dev and i2c-proc modules and headers have been removed; they
  are now completely integrated into the i2c package
* The fake i2c.h header has been removed; this also allowed us to remove
  the ugly LM_SENSORS and TBD defines.
* A new variable I2C_HEADERS is introduced in the Makefile. This allows
  us to install the i2c headers in, for example, /usr/local/include/linux.
* All files now include <linux/i2c.h> instead of "i2c.h" and "smbus.h"

Status: 'make dep' works, all the right include files are found. 'make all'
         does not yet work.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@496 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-07-19 11:45:27 +00:00
Frodo Looijaard 66d89242d4 The lm75 module now understands the new insmod parameters.
Also fixed a few nasty sensors.c bugs, and a minor LM78 one. If the new
parameters give trouble, please recompile sensors.c with DEBUG=1 and
examine the dmesg output!


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@338 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-23 21:53:28 +00:00
Mark D. Studebaker 3ccf39c7d0 Added sensor[1-3] to 782d/783s to select sensor type.
Added RT table read to 781d but then #undef'ed it since it was just
all 1's. Changed max entries in sensor.c to 32 bytes to handle RT table.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@335 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-23 21:48:19 +00:00
Frodo Looijaard 0900fb64bf First bugfixes already
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@326 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-19 07:04:54 +00:00
Frodo Looijaard b4b1293b25 LM78 insmod parameters and better detection
Supported insmod parameters:
  ignore, ignore_range
  probe, probe_range
  force, force_lm78, force_lm78j, force_lm79

force* overrules ignore* overrules probe*

The *_range parameters need three elements for each specification:
  bus,start_addr,end_addr
The address ranges are inclusive.
The other parameters need two elements for each specification:
  bus,addr
In each case, '-1' stands for 'any I2C bus', and 9191 stands for
'the ISA bus' (Bonus question: who can figure out why I choose 9191?)
In each case, just append if you want several specification, for example:
  insmod lm78 probe=9191,0x2a0,1,0x56

force_* does no detection, not even chip detection; it blindly assumes
you know what you are doing. plain force does the chip detection, but
nothing else; but it can still fail if the register read-out does not
match a chip type.

Detection is done in exactly the same way as sensors-detect, except that
only the range 0x20-0x2f is examined by default. This needs to be
synchronized somehow with the detect script. I would rather scan the whole
I2C address range, but with those clueless PIIX4 hangs when clock chips
are read, that would simply give too much trouble.

The detect script has slightly better ISA detection now, too.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@325 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-19 06:25:02 +00:00
Frodo Looijaard 7e8c43e6b6 Introducing module parameter scanning in sensors.c
It is untested as of yet; but it compiled without problem. Next step: add
support to the chip modules.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@324 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-18 15:32:20 +00:00
Frodo Looijaard a9a3659fe9 Minor fixes
* No more redefined complaints of MODULE_* symbols for 2.0 kernels
  This was introduced by the last archive of Simon
* Correct load order of adapters in detect script modprobe report
  You can't assume things come out of a hash in the same order as you
  put them in, of course :-(


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@303 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-10 20:31:58 +00:00
Frodo Looijaard d78cd0cb5f Removed some compiler warnings
All our own code (ie. anything not in the i2c directory) compiles now without
warnings, even with WARN=1 (which sets -Wall -Wstrict-prototypes -Wshadow
-Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wnested-externs
-Winline). There is one exception: the lex code (conf-lex.l) complains about
unused functions. That's flex' fault, not ours!

The i2c code still emits many warnings with the above flags; that's Simon's
problem.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@233 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-16 21:59:05 +00:00
Frodo Looijaard 24792039f6 Adrian's copyright patch applied
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@207 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-08 22:50:29 +00:00
Frodo Looijaard 065e52c2b1 Changed all isa.h references to i2c-isa.h
vi `find -type f|xargs grep -l isa.h` worked like a charm :-)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@182 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-29 00:17:11 +00:00
Frodo Looijaard 90627a9461 More better DEBUG stuff for piix4, removed compile warning for sensors.c
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@157 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-11 17:06:18 +00:00
Frodo Looijaard d8dce5faf3 fill_inode bug resolved
This could lead to memory corruption and to the could-not-unload-module
problem of earlier reports. With a little luck, this will resolve all
module loading/unloading problems reported.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@132 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-28 15:50:25 +00:00
Frodo Looijaard 750e0d00aa Slightly better copyright messages, now telling what the file belongs
to.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@96 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-20 17:04:11 +00:00
Frodo Looijaard 0e8799ff27 Module use count trick expanded to all files and directories
Also fixed a minor Makefile typo.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@55 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-09 15:11:32 +00:00
Frodo Looijaard 2e4f147647 Introduced /proc/sys/dev/sensors/chips file
See doc/sysctl for an explanation why it is needed.

Also fixed two very small cleanup bugs in lm75/lm78, which would probably be
impossible to trigger anyway, but still.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@51 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-08 22:52:05 +00:00
Frodo Looijaard 7937738275 Module use count fix
This fix will only work for kernels >= 2.1.58.

* lm75, lm78: {INC,DEC}_MOD_USE_COUNT called for {inc,dec}_mod_use hooks
* sensors: For new kernels, fill_inode is called, which in turn calls
  {inc,dec}_mod_use for a certain client


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@46 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-07 22:15:49 +00:00
Frodo Looijaard e0484650ef Fixed some more bugs
* PIIX4: better names in /proc files
* sensors.c: fixed bug which prevented registration of non-ISA clients

Status:
* lm75 inserts happily and interacts with the PIIX4 correctly
* lm75 readings are still wrong (all 0xff)
* lm75 insertion with ISA bus present causes oops


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@39 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-05 16:36:47 +00:00
Frodo Looijaard 857a44f757 Simplification of /proc files functions in chip drivers
I moved a large part of the proc and sysctl call-back functions into
sensors.c. The result saved about 100 lines in lm78.c; it now uses only
2 pages according to lsmod, instead of 3! Also, other modules can use
the same functions, saving coding efforts and keeping them small.

I also fixed a fan_div display error.

Expect more code to be moved to sensors.c: I am writing lm75.c, and
most things which are in both modules (and so probably general purpose)
will be moved to sensors.c.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@28 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-03 23:15:17 +00:00
Frodo Looijaard af7232145d Bug-fixes: lm78.c is now working!
Yes, our first chip driver is now fully operative. Some parts of it can
still be moved to sensors.o and reused by other drivers, but this can be
done later.

Bug fixes:
* i2c-core.c: Corrected previous patch (a client was now unloaded twice,
  which caused problems, as could be expected).
* lm78.c, sensors.c: some minor typos, which caused the crashes
* lm78.c: FAN_DIV only has two fields (fan 3 is not changable)
* sensors.c: ISA/SMBus addresses are prefixed with zeros in directory names


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@20 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-02 00:47:37 +00:00
Frodo Looijaard 6ea68ba7a2 Many things, most notable the lm78 module
* Some Makefile changes. doc/makefiles documents most of them.
* The lm78 module now compiles, but it will still crash.
* New module sensors, with general code usable by chip driver modules
* i2c-core: added function i2c_adapter_id(), which returns a (low)
  unique i2c-bus ID.
* lm78.h stuff moved into lm78.c or sensors.h


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@19 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-01 21:11:32 +00:00