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
does not support the extended fan_div bits like the w83782d
does. This should fix fan2 so it defaults to a divisor
of 2 instead of 32.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@871 7894878c-1315-0410-8ee3-d5d059ff63e0
registers in I2C mode.
Instead of using bank 1 and 2, which was in violation of
the datasheets, use the separate I2C registers (usually
0x48 and 0x49). Register these addresses separately
using additional i2c_attach-client() calls.
Users will see new "subclient" registration messages
in the syslog.
/proc and libsensors interfaces are unchanged, i.e. the
chip still looks like a single device.
This should fix temp2 and temp3 for the as99127f, which
did not allow bank 1 and 2 accesses. Should not affect
operation for other chips as they worked before.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@686 7894878c-1315-0410-8ee3-d5d059ff63e0
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
* 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
(1.75 to 1.30 Volts) as specified in Intel document
243773302.pdf. Lower voltages are coming!
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@617 7894878c-1315-0410-8ee3-d5d059ff63e0
* 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
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
* 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
* 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
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
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
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
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
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