Commit Graph
44 Commits
Author SHA1 Message Date
Mark D. Studebaker 41190cc718 remove initialization of limits by driver
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2069 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-11-18 02:24:50 +00:00
Kyosti Malkki 1cfe63804a (Kyösti) Cleanups
Copy sysctl enums to chip drivers from sensors.h for now,
   as seen in drivers included in 2.5 tree. File no longer included
   from kernel side.

   Apply i2c-proc change in CVS tagged -km2.

   Partial clean and sort of includes everywhere.

   Add i2c-dev.h, as a partial copy from i2c.
   Add to sensors.h from i2c-proc.h to compile things.
   Remove i2c-isa.h.

   Reflect header file changes to lib/ and prog/.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1705 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-21 20:01:27 +00:00
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 954cd402d6 backport from kernel 2.5.54 which contained changes from
Christoph Hellwig <hch@lst.de> and Pavel <pavel@ucw.cz>;
      Leave in 3 things: refcounts, sensors.h, and init printk.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1691 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-11 17:43:15 +00:00
Mark D. Studebaker 7bd97f4667 Add MODULE_LICENSE("GPL") to all modules
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1201 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-10-13 17:48:43 +00:00
Mark D. Studebaker 5c91c75f11 malloc.h -> slab.h
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1193 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-09-29 18:32:15 +00:00
Mark D. Studebaker a21694024e Change from sensors_x to i2c_x for x =
_sysctl_real
		_register_entry
		_proc_real
		_detect
		_deregister_entry
		_chips_data
      which were the global symbols renamed in i2c-proc.[ch] in the
      i2c package.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1101 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-05-27 22:49:28 +00:00
Mark D. Studebaker b5d014bd46 Disable sensors.c and i2c-isa.h in the Module.mk files.
Leave the files there for now.
      Remove old installed sensors.o in kernel/Module.mk.
      sensors.c was moved to i2c-proc.c in the i2c package.
      i2c-isa.h was appended to i2c.h in the i2c package.
      Delete all but the SYSCTL and ALARMS definitions in sensors.h,
      as the rest of the file was moved to i2c-proc.h in the i2c package.
      Remove #include "i2c-isa.h" lines in all chip drivers and
      in bus driver i2c-isa.c.
      This all probably breaks mkpatch.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1015 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-02-06 02:53:46 +00:00
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
Philip Edelbrock 40a6e0e631 (Phil) It should now handle negative temps going to and from registers.
I tested the new macros from a simple stand alone C app, but actual
system testing is still desired.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@852 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-08-03 23:01:30 +00:00
Philip Edelbrock 622594be1e (Phil) Modified REG_TO_TEMP to work with negative values. Some testing
is needed.  (Which I will do immediately after this commit.)


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@851 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-08-03 22:40:43 +00:00
Frodo Looijaard 78d4aac923 Bugfix for w83781d.c: unloading of w83783s now works.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@823 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-06-21 20:34:50 +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
Mark D. Studebaker 87993e7c02 (mds) add support for force parameter. This allows for as99127f users to
use lm75 driver for temp2 and temp3 until I fix w83781d driver.
      LM75 detection fails on as99127f (and w83781d temp2).


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@670 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-12-14 01:24:37 +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
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
Philip Edelbrock 6df0da79cf (Phil) Some bug fixes. As far as I can tell, the THMC50 driver seems to
be working perfectly.  Of course, some real-world users might find something
I didn't...  BTW- I caught a minor bug which I thought was funny, and checked
lm75.c to see if it was there from the start... and it was!  So, I managed to
catch a bug in lm75.c which might have resulted in bad temp_hyst readings
during that short period between setting new limits and the next valid update.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@564 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-09-14 04:55:28 +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
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 300b6bd6d7 Removed 'bit 0-6 of LM75 word read must be zero' detection check, as
it is not necessary true, as proved by Ben Jarvis


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@445 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-05 15:51:42 +00:00
Frodo Looijaard 76c1926109 Introduced sane limits checking for all chip modules
Like the LM78 before, all chips now handle strange values written to /proc/...
with grace - that is, they convert them to the most sane value considering
the circumstances, instead of reacting with strange resulting values
(note that they were already crash-free).

I also removed a factor '2' in the computation of the fan speeds in the
gl518sm module. This is conforming with the sheet; if your fan gives two
'ticks' for each rotation, just modify sensors.conf.

I tried to introduce rounding and limit checking to the maxilife module.
The VID computation is not yet rounded - I need the real formula for that.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@382 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-11 21:23:57 +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
Philip Edelbrock 7a9eb38752 (Phil) Made sure probing won't happen on the ISA bus for these SMBus/I2C
device drivers.  Specifically, I added these lines:

(in includes list)

#include "i2c-isa.h"


(Near beginning of *-attach-adapter function)

  /* Make sure we aren't probing the ISA bus!! */
  if (i2c_is_isa_adapter(adapter)) return 0;

This may be redundant is a couple of the files, but it shouldn't hurt.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@283 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-28 21:11:14 +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 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 89e2183261 Fixed a byte swapping bug in both the LM75 and the GL518SM drivers.
Strangly enough, both these devices use a high byte, low byte order for
word-sized reads and writes. The SMBus documentation specifies the
reverse (low, high) order, though. If all devices use the high,low order,
we should change this in smbus.c.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@64 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-10 16:20:03 +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 ce0521ba13 LM75 data correctly readable now!
* Changed test in lm75 setup code to 'read/write returns < 0' instead of
  (old) 'read/write returns 0xff'. Nowadays, we can see the difference
  between an error and a 0xff result, after all.
* Introduced constants used by PIIX4 for transaction types. These are
  *not* the same as those in smbus.h.
* Some small code optimalizations in piix4.o.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@40 7894878c-1315-0410-8ee3-d5d059ff63e0
1998-12-06 15:21:29 +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 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 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