* removed algorithm registration in i2c-isa
* renamed i2c-via2.o to i2c-viapro.o in the driver messages
* added detection for new drivers in sensors-detect script
* minor gl518sm fix
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@522 7894878c-1315-0410-8ee3-d5d059ff63e0
* GL518 & GL520: setting fan{1,2}_min 0 masks alarm & beep
* GL518SM rev 0x00 : Run iteration code in kernel thread
Every run of "sensors" now reports results of the previous
iteration run, and triggers a new one.
* GL520: Reads all inputs now
* GL520: Select between Temp2 or -12V input.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@520 7894878c-1315-0410-8ee3-d5d059ff63e0
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
* gl518sm document simplified for rev 0x00 & 0x80
* gl518sm & gl520sm libsensors interface updates
BTW: Revision is no longer part of the name, so old sensors.conf
will not work at all with gl518sm.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@511 7894878c-1315-0410-8ee3-d5d059ff63e0
* Restructured iteration code for rev 0x00
Two modes already:
0 no iteration, no delay, reads only vin3, vin0-2 = 0
1 does iteration, delays reads approx. 8 seconds
To be added:
2 does iteration in background, no delay for user apps
In this mode the results of the last iteration loop are shown,
and then a new iteration loop is triggered.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@510 7894878c-1315-0410-8ee3-d5d059ff63e0
* 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
* 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
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
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
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
* 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
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
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
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
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
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
* 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
* 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
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
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
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
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
* 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