Commit Graph
191 Commits
Author SHA1 Message Date
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
Frodo Looijaard 0cff88fa0f ADM9240 insmod parameters and detection
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@377 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-11 14:59:13 +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 67689f6f5d Added detection and insmod parameters for the LTC1710
Detection is completely impossible, but sensors-detect now assumes with a
confidence of 1 (the lowest possible) that any chip in the LTC1710 address
range is a real LTC1710. Perhaps I should remove this again, as I don't
think this chip will be encountered 'in the wild' if your name is not Phil -
in which case you would have soldered it to your SMBus yourself, so you
should know what you are doing...


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@372 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-08 19:33:03 +00:00
Frodo Looijaard 1e88cbd54e Added insmod parameters to eeprom module, and fixed a typo in the
gl518sm module

Besides the usual parameters, eeprom.o understands insmod parameter 'checksum'.
Set it to one (ie. 'modprobe eeprom checksum=1') to make it ignore any
chips which do not come through the checksum.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@371 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-08 18:31:08 +00:00
Frodo Looijaard 4e5e1093de Fixed the i2c-dev unconnected devices Oops
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@369 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-07 19:47:35 +00:00
Frodo Looijaard 389cc3f3ff Slight printing enhancements; corrected a few typos which I
introduced with the last update.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@368 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-07 19:39:02 +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
Frodo Looijaard 46683648bd Made the gl518sm module understand insmod parameters
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@365 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-07 19:02:36 +00:00
Frodo Looijaard 7f48c9a6ba Insmod parameters for the LM80 driver
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@361 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-04 21:13:55 +00:00
Frodo Looijaard 0cf84e8549 Redid the macro trickery to define module parameters automatically.
This new version also creates MODULE_PARM_DESC entries, which describe
what each parameter is used for.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@360 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-04 20:56:30 +00:00
Philip Edelbrock a8ef794389 (Phil) Moved compat.h to kernel/include.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@358 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-03 19:54:45 +00:00
Frodo Looijaard 08377964d2 Synchronised the texts appearing in /proc/ioports for all bus
drivers.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@357 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-02 22:46:02 +00:00
Frodo Looijaard 37e476ba7f Removed spurious dmesg which I used for debugging
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@354 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-02 22:37:36 +00:00
Frodo Looijaard c0aac1c8da Changed forcibly enabled stuff to insmod parameters.
There are now two new insmod parameters, and the #define has disappeared

force: if set to anything but zero, this enables the PIIX4 as the old
       #define did.
force_addr: This first sets a new I/O port address for the PIIX4, and
       afterwards enables it. Supercedes 'force'.

Note that using force_addr is very, very dangerous if you do not know
what you are doing. On the other hand, it was very easy to add, and can
be a big help if your BIOS doesn't set correct addresses.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@353 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-04-02 22:37:00 +00:00
Mark D. Studebaker 30acc6c169 got rid of compile warnings.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@351 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-29 01:20:48 +00:00
Mark D. Studebaker c44effd7fa fixed compile error. oops.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@350 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-29 01:18:34 +00:00
Mark D. Studebaker 1067bc4d69 added ds1780 recognition/support. untested.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@349 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-29 00:58:55 +00:00
Mark D. Studebaker ddfb8235ca changed default Vbat voltage from 3.3V to 3V for 782d/783s.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@348 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-29 00:57:31 +00:00
Kyosti Malkki 669686ff1c (Kyösti)
* Removed unnecessary MOD_INC/DEC_USE_COUNT in host adapter drivers
  (i2c-via bit-lp bit-velle)

You can now rmmod adapters even when they have registered clients.
Without this, you would have to detach the clients first. Only way of doing
this is to rmmod the client drivers, but the same drivers might be used to
access clients behind other hosts.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@347 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-28 14:49:54 +00:00
Mark D. Studebaker d3693e2f13 add 'static' to get rid of offending results of 'nm --extern --defined'.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@344 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-26 23:54:56 +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
Mark D. Studebaker 3561a27e51 fixed RT-table bug. Still undef'ed though by default.
For those who are interested the default RT table is apparently
1 0 0 69 57 48 39 32 25 19 12 6 255 247 237 0 1 0 0 12 9 9 7 7 7 7 6 7 8 10 14 0.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@339 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-24 00:00:21 +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
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
Frodo Looijaard e721fcf4ac Minor cosmetic changes to maxlife driver, to make it compile cleanly
with WARN=1


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@332 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-22 00:45:08 +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
Mark D. Studebaker 10bf57b3e7 Documentation update for supported/unsupported clock chips.
Added some notes on w83781d.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@328 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-20 03:46:07 +00:00
Philip Edelbrock 1ac215f6a1 (Phil) Added Fons Rademakers' <Fons.Rademakers@cern.ch> MaxiLife driver.
I've reviewed and applied the patch, but I would like some others to review
these commits too, to be safe.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@327 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-19 21:11:33 +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
Mark D. Studebaker 75ca64cc7d 782d has pwm3-4 only for i2c, not isa.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@318 7894878c-1315-0410-8ee3-d5d059ff63e0
1999-03-17 04:42:12 +00:00