Commit Graph
53 Commits
Author SHA1 Message Date
Frodo Looijaard aa0c8f6768 Updated the MUTEX definitions again - they are now guarded by
the horrible
         #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18)) || \
             (LINUX_VERSION_CODE == KERNEL_VERSION(2,3,0))
        They should now both work with 2.3 kernels (including 2.4 prepatches)
        and very new 2.2 kernels (ie. 2.2.18 prepatches)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@933 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-11-22 23:54:39 +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 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
Mark D. Studebaker c31a3f5ad8 (mds) Change VID_FROM_REG to allow values 0x06 - 0x0F
(1.75 to 1.30 Volts) as specified in Intel document
      243773302.pdf. Lower voltages are coming!


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@617 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-10-31 00:51:13 +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
Frodo Looijaard 68a31e3480 Some code cleanups
* Removed several superfluous (struct i2c_client *) casts (they were left
  from the time we had separate structs for smbus and isa)
* Removed the internal lists of registered clients
  They have not been used for quite some time now, took memory space,
  and limited the maximum number of clients that could be registered.

Also removed two small Makefile errors - I am happy I caught them before
the next release!


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@582 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-09-27 13:20:45 +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 f1888417ca Bradley M. Keryan's patches to make lm_sensors compile against
2.3.x kernels (x >= 1).


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@467 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-02 18:19:38 +00:00
Frodo Looijaard 3e38c3f87e Completely correct limit handling for the lm78 module
Whatever you cat to /proc/..../lm78-*/*, the result will now always be
sensible. No more overflows resulting in weird values.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@381 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-11 20:38:01 +00:00
Frodo Looijaard c4c4b363be Made lm78 and w83781d drivers emit a warning when a 'force' parameter
is used but ignored (because the driver could not determine what
        specific chip was there).


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@342 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-24 21:44:38 +00:00
Frodo Looijaard 15cf77b3b4 Taught the w83781d module about insmod parameters
Also fixed a small lm78 problem and synchronised the detect script with
the Winbond detection.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@341 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-24 21:28:22 +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 c0c25c9c14 changed /proc permissions for vid and alarms and
other r/o stuff to 444.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@333 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-22 02:21:21 +00:00
Mark D. Studebaker b73b2cc4ce fixed off-by-factor-of-2 of FAN_FROM_REG in w83781d.
Improved bounds checking for FAN_TO_REG in all files.
For lm78-compatible drivers, minimum speed is 2657 RPM when the
divisor is 2. Attempts to set lower than that now are set to 0.
Before was set to a random number.
Thanks Jeff Dairiki.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@330 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-21 23:47:20 +00:00
Mark D. Studebaker 6a45415e5e fixed vid4 - was >> 4 now << 4.
Thanks Jeff Dairiki.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@329 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-21 18:41:08 +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 cf243b3072 Removed offending ISA test. Added warning about renamed modules.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@219 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-12 05:47:07 +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 b827b9a68e Fan value problems resolved
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@128 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-27 20:08:44 +00:00
Frodo Looijaard e5249883ec Completed the LM80 driver. Untested.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@115 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-25 19:30:44 +00:00
Frodo Looijaard e55205a604 Two bug fixed in the LM78/79 driver
* fan_div should now be handled correctly (please, could anybody play with
  this? My fan is on FAN3, the one whose fan_div can't be changed...)
* IN_{TO,FROM}_REG no longer needs the additional in parameter, since we
  eliminated scaling in the module.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@114 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-25 18:36:03 +00:00
Frodo Looijaard e1a28393b3 Several minor things
* sensors.conf.eg now contains LM80 declarations
* i2c/i2c-core.c again displays which adapters and clients are found and
  connected, but it does not track the calls to transfer functions in dmesg
* Slight alarms computation bug in lm78.c repaired
* First hacks at lm80.c; expect a fully working version later today


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@113 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-25 15:50:47 +00:00
Frodo Looijaard 657798a79c The announced changes to the LM78 voltages, and an example config file.
Note: GL518SM driver need this change, too; this is not yet done.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@106 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-23 02:27:52 +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 75dd7e42d7 Small bug fixed which made it impossible to detect more than one
LM78.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@77 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-14 03:28:44 +00:00
Frodo Looijaard 8193486f36 Another very, very small bug removed.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@75 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-13 16:52:15 +00:00
Frodo Looijaard 2ae7fe9deb Winbond-over-SMBus addition
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@74 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-13 14:03:28 +00:00
Frodo Looijaard 812f463a20 Added temporary Winbond detection code
IF the Winbond docs are right this time, a Winbond should now be
recognized; a warning is printed, and it is treated as a LM79.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@70 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-13 02:21:37 +00:00
Frodo Looijaard 5dd41b1046 GL518SM driver
To be done: support for GL518SM revision 0x80 and GL520SM

Kyösti, if you have some time soon, could you please test it?


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@56 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-09 17:53:32 +00:00
Frodo Looijaard 01e8dc6d7c Some small rounding and initializing bugs solved.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@53 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-09 01:34:45 +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 ca90531f6b More documentation, and some small bug fixes
* LM75 temperature limits initializations were switched
* LM78 VID readings were off by a factor 100
* New bit-mask constants in sensors.h for LM78 alarm field


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@49 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-08 16:58:10 +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 3e7c6427d0 Very minor namespace fixes, and TODO list update (or should I say
downdate; I only removed a few things :-))


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@36 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-05 01:08:42 +00:00
Frodo Looijaard 831fd5e911 Corrected LM78 probing.
If your LM78/78-J/79 is still not detected, please recompile lm78.o with
DEBUG=1 and mail the output of dmesg. Same for Winbonds.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@33 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-04 15:26:29 +00:00
Frodo Looijaard b2f89aee3f LM75 driver finished
Well, it should work. But until we have implemented the remaining parts of
piix4.o, we won't be able to test it. Anybody?


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@29 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-04 00:47:40 +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 0aa9e734d0 Some lm78 updates
* LM78, LM78-J and LM79 now all supported
* Chip type reflected in /proc/bus/i2c-?, /proc/.../sensors/* and
  /proc/ioports.
* VID initialises IN0 and IN1, except if it is 3.50 V (then it falls back to
  2.80 V)
* Slightly better ISA detection (but still not good enough)
* Temperature now in tenth of degrees, instead of whole degrees (for better
  compatibility)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@27 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-03 18:20:59 +00:00