Commit Graph
227 Commits
Author SHA1 Message Date
Kyosti Malkki 7ac5a6005f (Kyösti)
* Fixed adapter drivers to compile with the new i2c structs.
   They might, or they might not work..


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@497 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-07-20 21:38:11 +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 8e98b3c1f6 pci_write_word_united wrote a byte instead :-(
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@494 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-23 19:09:09 +00:00
Frodo Looijaard 791c9709cf SiS5595 driver correction, which made any insertion impossible
Never put a semicolon after an if :-(

I have a SiS5595 here, which reports his chip monitor address as 0x0000.
Strange thing...


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@493 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-23 18:39:47 +00:00
Frodo Looijaard 746250b30a Detection bug for ADM9240 solved
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@492 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-22 22:09:09 +00:00
Kyosti Malkki 824dd6c635 (Kyösti) gl518sm driver code updates
* rewrote iteration code for rev 0x00
* fan1 on/off control


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@484 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-16 22:16:48 +00:00
Philip Edelbrock 63a083da8e (Phil) It works! So, I'll commit it. Here's the skinny:
There is only one file 'disp'.  To send bytes (like chars to be displayed)
you send a series of unsigned base-10 values separated by spaces.
For example:

echo "hi there" | perl -e \
 '$_=<STDIN>; while (/(.)/gc) { print ord($1)," "; }' \
 > /proc/sys/dev/sensors/matorb*/disp

This is equivelent to doing:

echo "104 105 32 116 104 101 114 101" > /proc/sys/dev/sensors/matorb*/disp

I was going to create more files for doing things like clearing the screen,
but it is easier and probably better to do this in user-space.  For example,
to clean the screen, you can do:

echo "254 88" > /proc/sys/dev/sensors/matorb*/disp

(As documented in the manual from Matrix-Orbital)

If the folks at Matrix-Orbital added device ID on a read (we talked about
this), then I will add an ID file to indicate that info.

TODO: finish detection.  Right now it looks for a device at a particular
address and assumes it is a display.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@482 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-16 05:40:35 +00:00
Frodo Looijaard 1ff91e0555 Small SMBUS read byte fix
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@481 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-15 15:01:36 +00:00
Kyosti Malkki ffe3cb3324 (Kyösti) : Fix the Read Word bug, again..
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@480 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-09 23:10:13 +00:00
Kyosti Malkki 0960a2028b (Kyösti) SMBus over i2c "Read Word" bug fixed
Uh.. there was a '+' when it should have been '|'


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@479 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-09 20:07:41 +00:00
Kyosti Malkki a652901772 (Kyösti) : Setting minimum fanspeed to 0 disables alarm
The HW still generates the alarm, but the output is masked. The mask comes
useful also once I start fine-tuning that iteration code for reading all 4
voltages.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@478 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-09 18:28:46 +00:00
Frodo Looijaard 29a33cac35 Several small patches to make everything compile against all 2.0.x
kernels, even early ones.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@477 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-09 17:26:32 +00:00
Frodo Looijaard d42004ee6c Corrected the last patch (for 2.0 kernels)
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@476 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-08 21:36:31 +00:00
Frodo Looijaard d6056ebb59 Resolved undefined VIA PCI device for 2.0.33 kernels
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@475 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-08 19:37:15 +00:00
Frodo Looijaard 7ad0562dc3 Made sure i2c-voodoo3 does not export more symbols than strictly
necessary. Resolved one remaining warning in matorb.c


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@473 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-06 22:24:36 +00:00
Frodo Looijaard 86ba0c96fd (Frodo) Several minor things
* Made i2c-voodoo3.c compile with 2.0 kernels
    It should also run without problem, but obviously I could not test it
    Changes are in the memory mapping of PCI address space
  * Removed several warning from i2c-voodoo3.c
    It compiles now without any warnings, even with WARN=1
  * Removed several warnings from matorb.c
    It compiles now without any warnings, even with WARN=1
    In the proces, I fixed one serious bug (assignment instead of comparison)
  * Removed a warning from w83781d.c
    It compiles now without any warnings, even with WARN=1

Hint: Once in a while, try to compile with WARN=1 and remove warnings. It
helps to find serious, hidden problems. Really!


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@472 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-06 14:06:04 +00:00
Philip Edelbrock 18a07111cd (Phil) last MUTEX change.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@470 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-06-04 23:50:47 +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 9e9a78774a Small W83781D typo fixed, new TODO list entries
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@466 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-17 14:34:24 +00:00
Philip Edelbrock 99668fefd6 (Phil) Minor timing adjustment.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@465 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-15 20:23:52 +00:00
Philip Edelbrock dd4ef6c059 (Phil) Beginnings of the Matrix-Orbital driver (based on lm75.c). As it
is right now, it should clear the LCD screen.  But, I discovered that
the display simply can't cope with I2C read commands - it completely
locks up *both* the data and the *clock* lines!  (That's new.) So,
it kills the bus when probes or other reads are done to the device.
Matrix-Orbital has to fix this before we can get anything
usable working.   :'(


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@464 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-14 05:52:20 +00:00
Philip Edelbrock 2c24e55d3d (Phil) Expanded i2c-voodoo3 support to handle all transaction types
except block.  I also made a minor change to the bt869 driver to match.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@463 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-14 05:13:13 +00:00
Philip Edelbrock f55a86c7db (Phil) Some cleaning up and documentation.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@461 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-12 05:17:04 +00:00
Philip Edelbrock e2eaa8a9a4 (Phil) More bug fixes and test code.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@460 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-12 04:03:22 +00:00
Philip Edelbrock c4b98d9d01 (Phil) NTSC 640x480 and 800x600 output seems to work now (yeah!). They
need these 'special' modelines for XF86Config:

ModeLine "640x480NTSC"   28.195793  640 656 658 784  480 520 525 600
ModeLine "800x600NTSC"   38.769241  800 812 814 880  600 646 649 735

My monitor really doesn't like these modes, but they seem to work well
for TV output.  Oh, and this is only for a screen depth of 16bits
right now.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@459 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-10 05:48:58 +00:00
Philip Edelbrock 3298cde510 (Phil) Expansion and beginning functionality of BT869 driver.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@458 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-10 00:17:39 +00:00
Philip Edelbrock 6a79244a1d (Phil) More fixes and changes.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@457 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-10 00:11:08 +00:00
Philip Edelbrock 7f6d42d20d (Phil) Some clean-up and more checking. Hopefully it shouldn't do anything
bad like 'oops' when there is more than one voodoo3 in the system or when
there is none.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@456 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-08 22:50:22 +00:00
Philip Edelbrock ad7c7e2834 (Phil) Voodoo3 I2C bus driver works and now properly detects missed 'acks'
during a transaction.  It also can detect a 'hung' bus prior to starting
a transaction.  It seems to properly read and write to the BT869.

Todo: support for multiple voodoo3 cards.  Support for other transaction
types (fairly simple).  Use code as a start for a better algo-bit
adapter template?  Complete the bt869 driver.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@452 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-07 06:20:59 +00:00
Philip Edelbrock ab1d4f5d32 (Phil) I think I got 'no device' error handling working, but I may have
broken other stuff. :')


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@451 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-06 22:29:38 +00:00
Frodo Looijaard 7cffb0b12a Changed the driver ID of the MAXILIFE, as spotted by Phil
Same IDs could lead to nasty surprises :-(


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@449 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-06 11:08:30 +00:00
Philip Edelbrock 3855d1aeea (Phil) Beginning of Voodoo3 I2C bus and BT869 driver are working!
Voodoo3 I2C notes (or short commings):

* only one type of read supported: type 'byte' (no 'command')

* only one type of write supported: type 'byte_data'

(The two above are more the limitation of the BT869 rather than
the I2C bus.)

* I used the SMBus 'model' rather than the 'bit' model because
  I thought it was easier this way.

* failed bus transactions yeild 0xFF, not an error!  So, this means
  that many drivers instantly latch onto this adapter because all
  reads and writes succeed without error.  Without the datasheet for
  the chip, I can't do much to fix this. (Amazing I got this far!)


BT869/868 notes:

* the BT869 has lots and lots of registers (~50), but can
  only read 3 (fairly uninteresting) status registers(!).  Right
  now all three status registers are read through the 'status' file,
  but I haven't decided on the best method for writing to the rest
  of the registers.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@448 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-06 05:52:24 +00:00
Philip Edelbrock 6a83949e74 (Phil) Beginnings of Voodoo3 I2C support and BT869 driver.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@447 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-06 05:12:36 +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 5ffe4834e5 Made i2c-hydra.o 2.0.x kernel compatible
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@442 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-02 21:00:24 +00:00
Frodo Looijaard 1725a864ac ADM9240 and DS1780 sensors program entries
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@437 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-05-01 15:28:49 +00:00
Philip Edelbrock 67ee5f476a (Phil) Fixed mutex initialization problem in w83781d_detect:
Originally:

[...]
  if (is_isa) {
    data = (struct w83781d_data *) (((struct isa_client *) new_client)+1);
    new_client->addr = 0;
    ((struct isa_client *) new_client)->isa_addr = address;
    data->lock = MUTEX;
  } else {
    data = (struct w83781d_data *) (((struct i2c_client *) new_client)+1);
    new_client->addr = address;
  }
[...]

changed to this:

[...]
  if (is_isa) {
    data = (struct w83781d_data *) (((struct isa_client *) new_client)+1);
    new_client->addr = 0;
    ((struct isa_client *) new_client)->isa_addr = address;
  } else {
    data = (struct w83781d_data *) (((struct i2c_client *) new_client)+1);
    new_client->addr = address;
  }
  data->lock = MUTEX;
[...]

So, now the MUTEX is properly initialized for I2C chips, too.  If the
mutex was knowly ignored for I2C devices (because the piix4 locks its
self), then the mutex should be ignored everywhere else in the code, but
it is not.

This seems to have solved my reproducable 'hanging' problem.  But, other
drivers should be checked, too, just in case.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@433 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-30 07:09:37 +00:00
Frodo Looijaard 8cbbcb8ec4 Nasty buffer overflow in i2c-proc.c solved.
This one was not nice at all. When /proc/bus/i2c-* is read, information is
put into a kernel buffer, which was declared to be the same size as the
final user-space buffer into which it should be copied. Information was
copied into the kernel buffer line by line (using sprintf). If the
buffer is smaller than the whole /proc/bus/i2c-*, only part of the file
was copied. But if the buffer did not break on a line-break, the sprintf
wrote beyond the kernel buffer. With devastating results. Solution: make
the kernel buffer a little longer, so that a single additional line would
fit into it.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@431 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-29 17:29:11 +00:00
Frodo Looijaard 1ade24f919 Geert's PPC support and Hydra driver
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@430 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-28 18:18:12 +00:00
Frodo Looijaard bc05162c08 GL518SM documentation and library support update
* The library can now read GL518SM revision 0x00 voltages (in the worst case,
  it will read zeros if the module was not inserted with readall=1)
* The readall parameter is now documented through MODULE_PARM_DESC
* Note my remarks in the TODO file


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@403 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-20 16:16:25 +00:00
Frodo Looijaard 084ee510ab ADM9240/DS1780 documentation and library support
* Readings for the ADM9240 are now updated every 0.5 seconds; for the
  DS1780, every 2.0 seconds.
* I still think it likely that voltage readings will be far-off in the
  current implementation


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@401 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-20 15:33:04 +00:00
Mark D. Studebaker d70c450c78 Added sensor[1-3] support for w83782d/783s to 'sensors'.
Now prints out what kind of sensor it is.
Also separated alarms for temp2 and temp3 for 782d/783s (they are
a single bit for 781d).


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@400 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-20 01:49:51 +00:00
Mark D. Studebaker 2417cc1d40 enabled rt table for 781d by default. Left #define in in case
it proves to be noxious. Added writes for rt table. Use at own risk.
Fixed 782d fan3 bug hopefully.
Added 16,32,64,128 fan_div values for 782d/783s.
Reformatted some > 80 col. lines.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@397 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-17 04:20:51 +00:00
Frodo Looijaard 661356ae44 Fixed Block Write for I2C bus SMBus emulation (thanks to Louis Lambert)
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@396 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-16 16:19:26 +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 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 cb3131905c Major SIS5595 overhaul
* sis5595.c now understand insmod parameters
* sis5595.c now uses sis5595_ prefix instead of lm78_ prefix
* sis5595.c now supports the correct subset of the LM78 features
            (it only knows about 4 voltages, 2 fans and no vid)
* added SIS5595 defines to sensors.h
* fixed a small problem in compat.h


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@379 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-11 16:12:36 +00:00
Frodo Looijaard f808a95c20 Removed icspll.o from the installed modules, because it simply does
not work yet.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@378 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-11 15:00:53 +00:00