diff --git a/CHANGES b/CHANGES index c08fc564..b92accde 100644 --- a/CHANGES +++ b/CHANGES @@ -18,13 +18,21 @@ ask CVS about it: ----------------------------------------------------------------------------- 2.6.0 (2001????) + NOTE: i2c-2.6.0 MUST BE be compiled AND installed first!!! + If your make fails because it can't find , you + forgot this step!!! + Also, mkpatch is probably broken right now. File doc/FAQ: Updates File doc/chips/via686a: Claim support for 686b. File sensors.conf.eg: Adjust as99127f -12V calculation + File sensors.c: Add xxx_init() calls for drivers added to mkpatch in 2.5.5. + Include file i2c-isa.h: No longer required, moved to i2c.h in i2c package + Include file sensors.h: Most contents moved to i2c-proc.h in i2c package + Chip Modules (all ISA): Remove #include "i2c-isa.h" Module i2c-i801: Chip detection cleanup Module lm78: Recognize chipid=0x20 Module lm87: Fix in0, in1 (2.5V and Vccp1) calculations - Module sensors: Add xxx_init() calls for drivers added to mkpatch in 2.5.5. + Module sensors: Disabled, moved to i2c package as i2c-proc.c Module via686a: Allow force=9191,address (for A7V/K7V boards) Program mkpatch.pl: Fix adm9240 typos, add more chips to Configure.help Program sensors: Change reported version from 1.3 to the lm_sensors version. @@ -32,7 +40,7 @@ ask CVS about it: Program sensors-detect: Recognize SMSC Victory66 South Bridge 2.5.5 (20010115) - NOTE: i2c 2.5.5 MUST BE be compiled and installed first, UNLESS + NOTE: i2c-2.5.5 MUST BE be compiled and installed first, UNLESS you have kernel 2.4.0-prerelease or greater. Chip modules (all): Update mutex definition (works now for new 2.2 kernels) File doc/developers/proc: new diff --git a/kernel/Module.mk b/kernel/Module.mk index 61c0b2de..9eb733b2 100644 --- a/kernel/Module.mk +++ b/kernel/Module.mk @@ -25,7 +25,8 @@ KERNELDIR := $(MODULE_DIR) # defined value verbatim into the command-list of rules... KERNELTARGETS := ifneq ($(shell if grep -q '^CONFIG_SENSORS=y' $(LINUX)/.config; then echo 1; fi),1) -KERNELTARGETS += $(MODULE_DIR)/sensors.o +# sensors.c moved to i2c-proc.c in i2c package +#KERNELTARGETS += $(MODULE_DIR)/sensors.o endif # Include all dependency files @@ -34,11 +35,14 @@ INCLUDEFILES += $(KERNELTARGETS:.o=.d) all-kernel: $(KERNELTARGETS) all :: all-kernel +# Remove sensors.o possibly left from old versions install-kernel: all-kernel if [ -n "$(KERNELTARGETS)" ] ; then \ $(MKDIR) $(DESTDIR)$(MODDIR) ; \ $(INSTALL) -o root -g root -m 644 $(KERNELTARGETS) $(DESTDIR)$(MODDIR) ;\ fi + $(RM) $(DESTDIR)$(MODDIR)/sensors.o + install :: install-kernel clean-kernel: diff --git a/kernel/busses/i2c-isa.c b/kernel/busses/i2c-isa.c index 18d044de..352facad 100644 --- a/kernel/busses/i2c-isa.c +++ b/kernel/busses/i2c-isa.c @@ -34,7 +34,6 @@ #include #include "version.h" -#include "i2c-isa.h" static void isa_inc_use(struct i2c_adapter *adapter); static void isa_dec_use(struct i2c_adapter *adapter); diff --git a/kernel/chips/adm1021.c b/kernel/chips/adm1021.c index 89134ece..9e4a6de8 100644 --- a/kernel/chips/adm1021.c +++ b/kernel/chips/adm1021.c @@ -24,7 +24,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/adm1025.c b/kernel/chips/adm1025.c index fbf688d6..c18ff7a2 100644 --- a/kernel/chips/adm1025.c +++ b/kernel/chips/adm1025.c @@ -33,7 +33,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/adm9240.c b/kernel/chips/adm9240.c index 7eb32585..d6fb0f64 100644 --- a/kernel/chips/adm9240.c +++ b/kernel/chips/adm9240.c @@ -59,7 +59,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/bt869.c b/kernel/chips/bt869.c index e52021fb..3e009dbf 100644 --- a/kernel/chips/bt869.c +++ b/kernel/chips/bt869.c @@ -26,7 +26,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/ddcmon.c b/kernel/chips/ddcmon.c index ad4bf32b..4ce85c29 100644 --- a/kernel/chips/ddcmon.c +++ b/kernel/chips/ddcmon.c @@ -25,7 +25,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/ds1621.c b/kernel/chips/ds1621.c index cc6f3e46..bc84e6e5 100644 --- a/kernel/chips/ds1621.c +++ b/kernel/chips/ds1621.c @@ -26,7 +26,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/eeprom.c b/kernel/chips/eeprom.c index 6ad7b2cf..d00a8991 100644 --- a/kernel/chips/eeprom.c +++ b/kernel/chips/eeprom.c @@ -24,7 +24,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/gl518sm.c b/kernel/chips/gl518sm.c index 666d6e7d..ade82350 100644 --- a/kernel/chips/gl518sm.c +++ b/kernel/chips/gl518sm.c @@ -25,7 +25,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/gl520sm.c b/kernel/chips/gl520sm.c index 82ea9344..81735dd4 100644 --- a/kernel/chips/gl520sm.c +++ b/kernel/chips/gl520sm.c @@ -25,7 +25,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/icspll.c b/kernel/chips/icspll.c index 3c751c73..3ae05412 100644 --- a/kernel/chips/icspll.c +++ b/kernel/chips/icspll.c @@ -34,7 +34,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/lm75.c b/kernel/chips/lm75.c index c4dd9825..3ad2c107 100644 --- a/kernel/chips/lm75.c +++ b/kernel/chips/lm75.c @@ -23,7 +23,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/lm78.c b/kernel/chips/lm78.c index 046dedb5..766d815f 100644 --- a/kernel/chips/lm78.c +++ b/kernel/chips/lm78.c @@ -29,7 +29,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/lm80.c b/kernel/chips/lm80.c index a9778139..06dd6371 100644 --- a/kernel/chips/lm80.c +++ b/kernel/chips/lm80.c @@ -30,7 +30,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/lm87.c b/kernel/chips/lm87.c index 0a05f94d..cb7a972e 100644 --- a/kernel/chips/lm87.c +++ b/kernel/chips/lm87.c @@ -33,7 +33,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/ltc1710.c b/kernel/chips/ltc1710.c index 9bece121..fb593e2b 100644 --- a/kernel/chips/ltc1710.c +++ b/kernel/chips/ltc1710.c @@ -46,7 +46,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/matorb.c b/kernel/chips/matorb.c index 26544d32..05c84d07 100644 --- a/kernel/chips/matorb.c +++ b/kernel/chips/matorb.c @@ -27,7 +27,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/maxilife.c b/kernel/chips/maxilife.c index 93912241..98f35fc4 100644 --- a/kernel/chips/maxilife.c +++ b/kernel/chips/maxilife.c @@ -63,7 +63,6 @@ static const char *version_str = "2.00 29/2/2000 Fons Rademakers"; #include #include "version.h" #include "sensors.h" -#include "i2c-isa.h" #include diff --git a/kernel/chips/mtp008.c b/kernel/chips/mtp008.c index 90060bbd..d6f6696d 100644 --- a/kernel/chips/mtp008.c +++ b/kernel/chips/mtp008.c @@ -29,7 +29,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/pcf8574.c b/kernel/chips/pcf8574.c index f1c04c52..dec8de5b 100644 --- a/kernel/chips/pcf8574.c +++ b/kernel/chips/pcf8574.c @@ -43,7 +43,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/sis5595.c b/kernel/chips/sis5595.c index c8db8b04..31369dc6 100644 --- a/kernel/chips/sis5595.c +++ b/kernel/chips/sis5595.c @@ -32,7 +32,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/thmc50.c b/kernel/chips/thmc50.c index c27fc9d1..0799192c 100644 --- a/kernel/chips/thmc50.c +++ b/kernel/chips/thmc50.c @@ -26,7 +26,6 @@ #include #include #include "sensors.h" -#include "i2c-isa.h" #include "version.h" #include diff --git a/kernel/chips/via686a.c b/kernel/chips/via686a.c index 73cd46b7..1d678fd1 100644 --- a/kernel/chips/via686a.c +++ b/kernel/chips/via686a.c @@ -42,7 +42,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/chips/w83781d.c b/kernel/chips/w83781d.c index 00444b1d..2a2f53f0 100644 --- a/kernel/chips/w83781d.c +++ b/kernel/chips/w83781d.c @@ -43,7 +43,6 @@ #include #include #include "version.h" -#include "i2c-isa.h" #include "sensors.h" #include diff --git a/kernel/include/Module.mk b/kernel/include/Module.mk index b50e8d90..9508c647 100644 --- a/kernel/include/Module.mk +++ b/kernel/include/Module.mk @@ -25,9 +25,10 @@ KERNELINCLUDEFILES := ifneq ($(shell if grep -q '^CONFIG_SENSORS=y' $(LINUX)/.config; then echo 1; fi),1) KERNELINCLUDEFILES += $(MODULE_DIR)/sensors.h endif -ifneq ($(shell if grep -q '^CONFIG_I2C_ISA=y' $(LINUX)/.config; then echo 1; fi),1) -KERNELINCLUDEFILES += $(MODULE_DIR)/i2c-isa.h -endif +# No longer used, part of +#ifneq ($(shell if grep -q '^CONFIG_I2C_ISA=y' $(LINUX)/.config; then echo 1; fi),1) +#KERNELINCLUDEFILES += $(MODULE_DIR)/i2c-isa.h +#endif install-all-kernel-include: if [ -n "$(KERNELINCLUDEFILES)" ] ; then \ diff --git a/kernel/include/sensors.h b/kernel/include/sensors.h index 41f1025c..6e0f3bad 100644 --- a/kernel/include/sensors.h +++ b/kernel/include/sensors.h @@ -18,405 +18,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef SENSORS_SENSORS_H -#define SENSORS_SENSORS_H +#ifndef SENSORS_NSENSORS_H +#define SENSORS_NSENSORS_H -#ifdef __KERNEL__ - -/* Next two must be included before sysctl.h can be included, in 2.0 kernels */ -#include -#include -#include - -/* The type of callback functions used in sensors_{proc,sysctl}_real */ -typedef void (*sensors_real_callback) (struct i2c_client * client, - int operation, int ctl_name, - int *nrels_mag, long *results); - -/* Values for the operation field in the above function type */ -#define SENSORS_PROC_REAL_INFO 1 -#define SENSORS_PROC_REAL_READ 2 -#define SENSORS_PROC_REAL_WRITE 3 - -/* These funcion reads or writes a 'real' value (encoded by the combination - of an integer and a magnitude, the last is the power of ten the value - should be divided with) to a /proc/sys directory. To use these functions, - you must (before registering the ctl_table) set the extra2 field to the - client, and the extra1 field to a function of the form: - void func(struct i2c_client *client, int operation, int ctl_name, - int *nrels_mag, long *results) - This last function can be called for three values of operation. If - operation equals SENSORS_PROC_REAL_INFO, the magnitude should be returned - in nrels_mag. If operation equals SENSORS_PROC_REAL_READ, values should - be read into results. nrels_mag should return the number of elements - read; the maximum number is put in it on entry. Finally, if operation - equals SENSORS_PROC_REAL_WRITE, the values in results should be - written to the chip. nrels_mag contains on entry the number of elements - found. - In all cases, client points to the client we wish to interact with, - and ctl_name is the SYSCTL id of the file we are accessing. */ -extern int sensors_sysctl_real(ctl_table * table, int *name, int nlen, - void *oldval, size_t * oldlenp, - void *newval, size_t newlen, - void **context); -extern int sensors_proc_real(ctl_table * ctl, int write, struct file *filp, - void *buffer, size_t * lenp); - - - -/* These rather complex functions must be called when you want to add or - delete an entry in /proc/sys/dev/sensors/chips (not yet implemented). It - also creates a new directory within /proc/sys/dev/sensors/. - ctl_template should be a template of the newly created directory. It is - copied in memory. The extra2 field of each file is set to point to client. - If any driver wants subdirectories within the newly created directory, - these functions must be updated! */ -extern int sensors_register_entry(struct i2c_client *client, - const char *prefix, - ctl_table * ctl_template, - struct module *controlling_mod); - -extern void sensors_deregister_entry(int id); - - -/* A structure containing detect information. - Force variables overrule all other variables; they force a detection on - that place. If a specific chip is given, the module blindly assumes this - chip type is present; if a general force (kind == 0) is given, the module - will still try to figure out what type of chip is present. This is useful - if for some reasons the detect for SMBus or ISA address space filled - fails. - probe: insmod parameter. Initialize this list with SENSORS_I2C_END values. - A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for - the ISA bus, -1 for any I2C bus), the second is the address. - kind: The kind of chip. 0 equals any chip. -*/ -struct sensors_force_data { - unsigned short *force; - unsigned short kind; -}; - -/* A structure containing the detect information. - normal_i2c: filled in by the module writer. Terminated by SENSORS_I2C_END. - A list of I2C addresses which should normally be examined. - normal_i2c_range: filled in by the module writer. Terminated by - SENSORS_I2C_END - A list of pairs of I2C addresses, each pair being an inclusive range of - addresses which should normally be examined. - normal_isa: filled in by the module writer. Terminated by SENSORS_ISA_END. - A list of ISA addresses which should normally be examined. - normal_isa_range: filled in by the module writer. Terminated by - SENSORS_ISA_END - A list of triples. The first two elements are ISA addresses, being an - range of addresses which should normally be examined. The third is the - modulo parameter: only addresses which are 0 module this value relative - to the first address of the range are actually considered. - probe: insmod parameter. Initialize this list with SENSORS_I2C_END values. - A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for - the ISA bus, -1 for any I2C bus), the second is the address. These - addresses are also probed, as if they were in the 'normal' list. - probe_range: insmod parameter. Initialize this list with SENSORS_I2C_END - values. - A list of triples. The first value is a bus number (SENSORS_ISA_BUS for - the ISA bus, -1 for any I2C bus), the second and third are addresses. - These form an inclusive range of addresses that are also probed, as - if they were in the 'normal' list. - ignore: insmod parameter. Initialize this list with SENSORS_I2C_END values. - A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for - the ISA bus, -1 for any I2C bus), the second is the I2C address. These - addresses are never probed. This parameter overrules 'normal' and - 'probe', but not the 'force' lists. - ignore_range: insmod parameter. Initialize this list with SENSORS_I2C_END - values. - A list of triples. The first value is a bus number (SENSORS_ISA_BUS for - the ISA bus, -1 for any I2C bus), the second and third are addresses. - These form an inclusive range of I2C addresses that are never probed. - This parameter overrules 'normal' and 'probe', but not the 'force' lists. - force_data: insmod parameters. A list, ending with an element of which - the force field is NULL. -*/ -struct sensors_address_data { - unsigned short *normal_i2c; - unsigned short *normal_i2c_range; - unsigned int *normal_isa; - unsigned int *normal_isa_range; - unsigned short *probe; - unsigned short *probe_range; - unsigned short *ignore; - unsigned short *ignore_range; - struct sensors_force_data *forces; -}; - -/* Internal numbers to terminate lists */ -#define SENSORS_I2C_END 0xfffe -#define SENSORS_ISA_END 0xfffefffe - -/* The numbers to use to set an ISA or I2C bus address */ -#define SENSORS_ISA_BUS 9191 -#define SENSORS_ANY_I2C_BUS 0xffff - -/* The length of the option lists */ -#define SENSORS_MAX_OPTS 48 - -/* Default fill of many variables */ -#define SENSORS_DEFAULTS {SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END, \ - SENSORS_I2C_END, SENSORS_I2C_END, SENSORS_I2C_END} - -/* This is ugly. We need to evaluate SENSORS_MAX_OPTS before it is - stringified */ -#define SENSORS_MODPARM_AUX1(x) "1-" #x "h" -#define SENSORS_MODPARM_AUX(x) SENSORS_MODPARM_AUX1(x) -#define SENSORS_MODPARM SENSORS_MODPARM_AUX(SENSORS_MAX_OPTS) - -/* SENSORS_MODULE_PARM creates a module parameter, and puts it in the - module header */ -#define SENSORS_MODULE_PARM(var,desc) \ - static unsigned short var[SENSORS_MAX_OPTS] = SENSORS_DEFAULTS; \ - MODULE_PARM(var,SENSORS_MODPARM); \ - MODULE_PARM_DESC(var,desc) - -/* SENSORS_MODULE_PARM creates a 'force_*' module parameter, and puts it in - the module header */ -#define SENSORS_MODULE_PARM_FORCE(name) \ - SENSORS_MODULE_PARM(force_ ## name, \ - "List of adapter,address pairs which are unquestionably" \ - " assumed to contain a `" # name "' chip") - - -/* This defines several insmod variables, and the addr_data structure */ -#define SENSORS_INSMOD \ - SENSORS_MODULE_PARM(probe, \ - "List of adapter,address pairs to scan additionally"); \ - SENSORS_MODULE_PARM(probe_range, \ - "List of adapter,start-addr,end-addr triples to scan " \ - "additionally"); \ - SENSORS_MODULE_PARM(ignore, \ - "List of adapter,address pairs not to scan"); \ - SENSORS_MODULE_PARM(ignore_range, \ - "List of adapter,start-addr,end-addr triples not to " \ - "scan"); \ - static struct sensors_address_data addr_data = \ - {normal_i2c, normal_i2c_range, \ - normal_isa, normal_isa_range, \ - probe, probe_range, \ - ignore, ignore_range, \ - forces} - -/* The following functions create an enum with the chip names as elements. - The first element of the enum is any_chip. These are the only macros - a module will want to use. */ - -#define SENSORS_INSMOD_0 \ - enum chips { any_chip }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - static struct sensors_force_data forces[] = {{force,any_chip},{NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_1(chip1) \ - enum chips { any_chip, chip1 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - static struct sensors_force_data forces[] = {{force,any_chip},\ - {force_ ## chip1,chip1}, \ - {NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_2(chip1,chip2) \ - enum chips { any_chip, chip1, chip2 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - SENSORS_MODULE_PARM_FORCE(chip2); \ - static struct sensors_force_data forces[] = {{force,any_chip}, \ - {force_ ## chip1,chip1}, \ - {force_ ## chip2,chip2}, \ - {NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_3(chip1,chip2,chip3) \ - enum chips { any_chip, chip1, chip2, chip3 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - SENSORS_MODULE_PARM_FORCE(chip2); \ - SENSORS_MODULE_PARM_FORCE(chip3); \ - static struct sensors_force_data forces[] = {{force,any_chip}, \ - {force_ ## chip1,chip1}, \ - {force_ ## chip2,chip2}, \ - {force_ ## chip3,chip3}, \ - {NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_4(chip1,chip2,chip3,chip4) \ - enum chips { any_chip, chip1, chip2, chip3, chip4 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - SENSORS_MODULE_PARM_FORCE(chip2); \ - SENSORS_MODULE_PARM_FORCE(chip3); \ - SENSORS_MODULE_PARM_FORCE(chip4); \ - static struct sensors_force_data forces[] = {{force,any_chip}, \ - {force_ ## chip1,chip1}, \ - {force_ ## chip2,chip2}, \ - {force_ ## chip3,chip3}, \ - {force_ ## chip4,chip4}, \ - {NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_5(chip1,chip2,chip3,chip4,chip5) \ - enum chips { any_chip, chip1, chip2, chip3, chip4, chip5 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - SENSORS_MODULE_PARM_FORCE(chip2); \ - SENSORS_MODULE_PARM_FORCE(chip3); \ - SENSORS_MODULE_PARM_FORCE(chip4); \ - SENSORS_MODULE_PARM_FORCE(chip5); \ - static struct sensors_force_data forces[] = {{force,any_chip}, \ - {force_ ## chip1,chip1}, \ - {force_ ## chip2,chip2}, \ - {force_ ## chip3,chip3}, \ - {force_ ## chip4,chip4}, \ - {force_ ## chip5,chip5}, \ - {NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_6(chip1,chip2,chip3,chip4,chip5,chip6) \ - enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - SENSORS_MODULE_PARM_FORCE(chip2); \ - SENSORS_MODULE_PARM_FORCE(chip3); \ - SENSORS_MODULE_PARM_FORCE(chip4); \ - SENSORS_MODULE_PARM_FORCE(chip5); \ - SENSORS_MODULE_PARM_FORCE(chip6); \ - static struct sensors_force_data forces[] = {{force,any_chip}, \ - {force_ ## chip1,chip1}, \ - {force_ ## chip2,chip2}, \ - {force_ ## chip3,chip3}, \ - {force_ ## chip4,chip4}, \ - {force_ ## chip5,chip5}, \ - {force_ ## chip6,chip6}, \ - {NULL}}; \ - SENSORS_INSMOD - -#define SENSORS_INSMOD_7(chip1,chip2,chip3,chip4,chip5,chip6,chip7) \ - enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, chip7 }; \ - SENSORS_MODULE_PARM(force, \ - "List of adapter,address pairs to boldly assume " \ - "to be present"); \ - SENSORS_MODULE_PARM_FORCE(chip1); \ - SENSORS_MODULE_PARM_FORCE(chip2); \ - SENSORS_MODULE_PARM_FORCE(chip3); \ - SENSORS_MODULE_PARM_FORCE(chip4); \ - SENSORS_MODULE_PARM_FORCE(chip5); \ - SENSORS_MODULE_PARM_FORCE(chip6); \ - SENSORS_MODULE_PARM_FORCE(chip7); \ - static struct sensors_force_data forces[] = {{force,any_chip}, \ - {force_ ## chip1,chip1}, \ - {force_ ## chip2,chip2}, \ - {force_ ## chip3,chip3}, \ - {force_ ## chip4,chip4}, \ - {force_ ## chip5,chip5}, \ - {force_ ## chip6,chip6}, \ - {force_ ## chip7,chip7}, \ - {NULL}}; \ - SENSORS_INSMOD - -typedef int sensors_found_addr_proc(struct i2c_adapter *adapter, - int addr, unsigned short flags, - int kind); - -/* Detect function. It itterates over all possible addresses itself. For - SMBus addresses, it will only call found_proc if some client is connected - to the SMBus (unless a 'force' matched); for ISA detections, this is not - done. */ -extern int sensors_detect(struct i2c_adapter *adapter, - struct sensors_address_data *address_data, - sensors_found_addr_proc * found_proc); - - -/* This macro is used to scale user-input to sensible values in almost all - chip drivers. */ -extern inline int SENSORS_LIMIT(long value, long low, long high) -{ - if (value < low) - return low; - else if (value > high) - return high; - else - return value; -} - -#endif /* def __KERNEL__ */ - - -/* The maximum length of the prefix */ -#define SENSORS_PREFIX_MAX 20 - -/* IDs -- Use DRIVERIDs 1000-1999 for sensors. - Other drivers define the id in linux/i2c.h */ -#define I2C_DRIVERID_LM78 1002 -#define I2C_DRIVERID_LM75 1003 -#define I2C_DRIVERID_GL518 1004 -#define I2C_DRIVERID_EEPROM 1005 -#define I2C_DRIVERID_W83781D 1006 -#define I2C_DRIVERID_LM80 1007 -#define I2C_DRIVERID_ADM1021 1008 -#define I2C_DRIVERID_ADM9240 1009 -#define I2C_DRIVERID_LTC1710 1010 -#define I2C_DRIVERID_SIS5595 1011 -#define I2C_DRIVERID_ICSPLL 1012 -#define I2C_DRIVERID_BT869 1013 -#define I2C_DRIVERID_MAXILIFE 1014 -#define I2C_DRIVERID_MATORB 1015 -#define I2C_DRIVERID_GL520 1016 -#define I2C_DRIVERID_THMC50 1017 -#define I2C_DRIVERID_DDCMON 1018 -#define I2C_DRIVERID_VIA686A 1019 -#define I2C_DRIVERID_ADM1025 1020 -#define I2C_DRIVERID_LM87 1021 -#define I2C_DRIVERID_PCF8574 1022 -#define I2C_DRIVERID_MTP008 1023 -#define I2C_DRIVERID_DS1621 1024 - -/* Sysctl IDs */ -#ifdef DEV_HWMON -#define DEV_SENSORS DEV_HWMON -#else /* ndef DEV_HWMOM */ -#define DEV_SENSORS 2 /* The id of the lm_sensors directory within the - dev table */ -#endif /* def DEV_HWMON */ - -#define SENSORS_CHIPS 1 -struct sensors_chips_data { - int sysctl_id; - char name[SENSORS_PREFIX_MAX + 13]; -}; +#include #define LM78_SYSCTL_IN0 1000 /* Volts * 100 */ #define LM78_SYSCTL_IN1 1001 @@ -833,4 +438,3 @@ struct sensors_chips_data { #define DS1621_SYSCTL_ENABLE 2002 #endif /* def SENSORS_SENSORS_H */ -