Commit Graph
48 Commits
Author SHA1 Message Date
Mark D. Studebaker b048a1cac9 remove initialization of limits by driver
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2068 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-11-18 02:19:41 +00:00
Jean Delvare 6875b1e321 Better registers comments.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1849 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-07-04 08:15:42 +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 2a462eaae3 set alarm bits on read fails
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1695 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-13 02:15:20 +00:00
Mark D. Studebaker 7317fde62b 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@1692 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-11 17:53:12 +00:00
Mark D. Studebaker 1286132218 cleanup
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1685 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-05 01:05:27 +00:00
Mark D. Studebaker b316273d00 Don't return bad values if reads fail
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1684 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-01-04 20:21:22 +00:00
Philip Edelbrock 25af130058 (Phil) Applied Alexander Malysh <amalysh@web.de>'s patch for
MC1066 support.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1535 7894878c-1315-0410-8ee3-d5d059ff63e0
2002-09-18 19:17:30 +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 b7ade0b926 fix bug in lm84 and gl523sm support; driver would recognize the
chip and then return an error code anyway.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1058 7894878c-1315-0410-8ee3-d5d059ff63e0
2001-04-04 23:12:34 +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
Mark D. Studebaker e3fe21cc9f rename /proc entries temp and remote_temp to temp1 and temp2.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@960 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-12-16 20:41:47 +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 6270f18139 (Phil) Added support for adm1023. Actually, the adm1021 driver worked
perfectly with the adm1023, but didn't take advantage of it's extra precision
for the remote temp sensor. Now, if an adm1023 is detected, it will.

For example, my adm1021 remote_temp looks like this:

phil@penn phil]$ cat /proc/sys/dev/sensors/adm1021*/remote_temp
60 20 23

My 1023 looks like this:

[root@penn lm_sensors2]# cat /proc/sys/dev/sensors/adm1023-i2c-2-2a/remote_temp
60.125 20.250 1.500 20.875

(Both from the same inserted driver)

Notice the extra 3 digit precision (actually, it's in increments of 0.125).
And, also notice the extra 'limit'.  It's actually an offset register.
Right now it's adding 1.5 degrees to the reading for the remote_temp. This
same functionality could easily be done by editing /etc/sensors.conf, but
Analog Devices decided to put it into the chip instead. :')

Things to do: edit the default sensors.conf, and sensors-detect for this
new chip.

Oh, I also added SENSORS_INSMOD_7 into sensors.h.  This was the first
driver to need it, apparently.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@904 7894878c-1315-0410-8ee3-d5d059ff63e0
2000-10-16 01:45:44 +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 d23580c058 (mds) fix LM84 detection. Mfr ID in different place than the other chips.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@604 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-10-20 02:13:51 +00:00
Mark D. Studebaker d5f72aebac (mds) add support for gl523sm (adm1021 clone) to adm1021.c and sensors-detect.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@603 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-10-20 02:00:43 +00:00
Mark D. Studebaker 129e08cc94 (mds) Add support for LM84 (ADM1021 clone) to adm1021.c and sensors-detect.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@602 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-10-20 01:51:27 +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
Mark D. Studebaker e3ea230c90 (mds) Fixed bug introduced with thmc10 that made adm1021 get reported
as a max1617. Thanks Phil.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@536 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-08-24 02:27:57 +00:00
Mark D. Studebaker 0208181806 (mds) add support for TI THMC10 to the adm1021 driver.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@533 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-08-22 22:58:52 +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 db7cba03ca ADM1021 documentation
The old documentation of Phil is still present at the bottom of the file.
Phil may decide to remove it.

In the driver, file 'status' is renamed to 'alarms' and masked to display
only the alarm bits. This fits more closely with other drivers, and the
remaining bit was not interesting anyway.

I fixed a problem that made insertion of the module impossible (I made a
typo when I introduced the insmod parameters) *** Someone else seems to
have changed this at almost the same moment?!? Now it is correct. ***

The MAX1617 and MAX1617A are now also supported by the library.

Once more, some slight formatting changes are made in the documentation
generators (some columns were made wider).


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@395 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-15 22:19:59 +00:00
Philip Edelbrock a2a75fc49e (Phil) A couple minor detection/kind-determination fixes.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@394 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-15 20:03:45 +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 de633f772e Slight change to adm1021 driver
die_code is only relevant for true ADM1021 chips; for the MAX1617, this
is simply undefined, and for the MAX1617A, it is the chip device ID
register. So the die_code file is only created for ADM1021 chips.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@376 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-10 00:12:27 +00:00
Frodo Looijaard 647ad6e2b7 MAX1617A chip support (both driver and detect)
This one was easy. A MAX1617 is just a MAX1617A with better detection.
Life is beautiful!


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@375 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-10 00:05:10 +00:00
Frodo Looijaard 706851448d ADM1021 insmod parameters
As always, I also synchronised the detection with sensors-detect. Its
detection is now much better; it used to scan at many addresses on which
these chips could never exist


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@367 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-07 19:38:29 +00:00
Philip Edelbrock 812e77a817 (Phil) Fixed a probing bug.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@282 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-28 20:40:53 +00:00
Frodo Looijaard 6e404a91d9 Stupid ADM1021 detection bug fixed (thanks Mark!)
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@236 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-17 00:20:36 +00:00
Frodo Looijaard 5402bf4b71 Added MAX1617 support, and documented it.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@232 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-02-16 21:33:41 +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
Philip Edelbrock 899ca67043 (Phil) Added a driver for the Analog Devices ADM1021. The ADM1021 is
basically an expanded LM75.  It can have an external temp probe (in
addition to the internal one), customizable conversion rate (in # of times
per second, depending on power consumption requirements), and
actually has a device-id register for easier/more-certain detecting!

The only strange property is the low-limit.  The low-limit doesn't act
as a Hystersis value like the LM75.  I.e., if the temp falls below it,
it triggers an alarm instead of clearing it.  Strange, ey?  This makes
using the chip for a thermostat control (like for a fan) much harder.
But it *could* be used to turn on a heater to prevent your computer from
freezing. :')

Here's what my output looks like (without a remote sensor. temp's
are the same format as the LM75 [high-limit, low-limit, value]):

[root@penn adm1021-i2c-0-18]# ls -l
total 0
-r--r--r--   1 root     root            0 Jan  9 23:42 die_code
-rw-r--r--   1 root     root            0 Jan  9 23:42 remote_temp
-r--r--r--   1 root     root            0 Jan  9 23:42 status
-rw-r--r--   1 root     root            0 Jan  9 23:42 temp
[root@penn adm1021-i2c-0-18]# cat *
3
60 20 0
76
60 20 24


PS- all temp values in the ADM1021 (limits and readings) are signed
(2's comp) bytes.  So, all readings go from -128 to 127 C (actually,
the docs say it can only reliable sense down to -65), and only
in whole degree increments.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@153 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-01-10 08:03:43 +00:00