mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 21:01:29 +00:00
[PATCH] I2C: Separate non-i2c hwmon drivers from i2c-core (7/9)
Kill normal_isa in header files, documentation and all chip drivers, as it is no more used. normal_i2c could be renamed to normal, but I decided not to do so at the moment, so as to limit the number of changes. This might be done later as part of the i2c_probe/i2c_detect merge. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4926c0d4de
commit
5071860aba
@ -29,8 +29,8 @@ Technical changes:
|
|||||||
Please respect this inclusion order. Some extra headers may be
|
Please respect this inclusion order. Some extra headers may be
|
||||||
required for a given driver (e.g. "lm75.h").
|
required for a given driver (e.g. "lm75.h").
|
||||||
|
|
||||||
* [Addresses] SENSORS_I2C_END becomes I2C_CLIENT_END, SENSORS_ISA_END
|
* [Addresses] SENSORS_I2C_END becomes I2C_CLIENT_END, ISA addresses
|
||||||
becomes I2C_CLIENT_ISA_END.
|
are no more handled by the i2c core.
|
||||||
|
|
||||||
* [Client data] Get rid of sysctl_id. Try using standard names for
|
* [Client data] Get rid of sysctl_id. Try using standard names for
|
||||||
register values (for example, temp_os becomes temp_max). You're
|
register values (for example, temp_os becomes temp_max). You're
|
||||||
@ -72,7 +72,8 @@ Technical changes:
|
|||||||
name string, which will be filled with a lowercase, short string
|
name string, which will be filled with a lowercase, short string
|
||||||
(typically the driver name, e.g. "lm75").
|
(typically the driver name, e.g. "lm75").
|
||||||
In i2c-only drivers, drop the i2c_is_isa_adapter check, it's
|
In i2c-only drivers, drop the i2c_is_isa_adapter check, it's
|
||||||
useless.
|
useless. Same for isa-only drivers, as the test would always be
|
||||||
|
true. Only hybrid drivers (which are quite rare) still need it.
|
||||||
The errorN labels are reduced to the number needed. If that number
|
The errorN labels are reduced to the number needed. If that number
|
||||||
is 2 (i2c-only drivers), it is advised that the labels are named
|
is 2 (i2c-only drivers), it is advised that the labels are named
|
||||||
exit and exit_free. For i2c+isa drivers, labels should be named
|
exit and exit_free. For i2c+isa drivers, labels should be named
|
||||||
|
@ -195,31 +195,28 @@ Probing classes (sensors)
|
|||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
If you write a `sensors' driver, you use a slightly different interface.
|
If you write a `sensors' driver, you use a slightly different interface.
|
||||||
As well as I2C addresses, we have to cope with ISA addresses. Also, we
|
Also, we use a enum of chip types. Don't forget to include `sensors.h'.
|
||||||
use a enum of chip types. Don't forget to include `sensors.h'.
|
|
||||||
|
|
||||||
The following lists are used internally. They are all lists of integers.
|
The following lists are used internally. They are all lists of integers.
|
||||||
|
|
||||||
normal_i2c: filled in by the module writer. Terminated by SENSORS_I2C_END.
|
normal_i2c: filled in by the module writer. Terminated by I2C_CLIENT_END.
|
||||||
A list of I2C addresses which should normally be examined.
|
A list of I2C addresses which should normally be examined.
|
||||||
normal_isa: filled in by the module writer. Terminated by SENSORS_ISA_END.
|
probe: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
||||||
A list of ISA addresses which should normally be examined.
|
A list of pairs. The first value is a bus number (ANY_I2C_BUS for any
|
||||||
probe: insmod parameter. Initialize this list with SENSORS_I2C_END values.
|
I2C bus), the second is the address. These addresses are also probed,
|
||||||
A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for
|
as if they were in the 'normal' list.
|
||||||
the ISA bus, -1 for any I2C bus), the second is the address. These
|
ignore: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
||||||
addresses are also probed, as if they were in the 'normal' list.
|
A list of pairs. The first value is a bus number (ANY_I2C_BUS for any
|
||||||
ignore: insmod parameter. Initialize this list with SENSORS_I2C_END values.
|
I2C bus), the second is the I2C address. These addresses are never
|
||||||
A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for
|
probed. This parameter overrules 'normal' and 'probe', but not the
|
||||||
the ISA bus, -1 for any I2C bus), the second is the I2C address. These
|
'force' lists.
|
||||||
addresses are never probed. This parameter overrules 'normal' and
|
|
||||||
'probe', but not the 'force' lists.
|
|
||||||
|
|
||||||
Also used is a list of pointers to sensors_force_data structures:
|
Also used is a list of pointers to sensors_force_data structures:
|
||||||
force_data: insmod parameters. A list, ending with an element of which
|
force_data: insmod parameters. A list, ending with an element of which
|
||||||
the force field is NULL.
|
the force field is NULL.
|
||||||
Each element contains the type of chip and a list of pairs.
|
Each element contains the type of chip and a list of pairs.
|
||||||
The first value is a bus number (SENSORS_ISA_BUS for the ISA bus,
|
The first value is a bus number (ANY_I2C_BUS for any I2C bus), the
|
||||||
-1 for any I2C bus), the second is the address.
|
second is the address.
|
||||||
These are automatically translated to insmod variables of the form
|
These are automatically translated to insmod variables of the form
|
||||||
force_foo.
|
force_foo.
|
||||||
|
|
||||||
@ -227,13 +224,11 @@ So we have a generic insmod variabled `force', and chip-specific variables
|
|||||||
`force_CHIPNAME'.
|
`force_CHIPNAME'.
|
||||||
|
|
||||||
Fortunately, as a module writer, you just have to define the `normal_i2c'
|
Fortunately, as a module writer, you just have to define the `normal_i2c'
|
||||||
and `normal_isa' parameters, and define what chip names are used.
|
parameter, and define what chip names are used. The complete declaration
|
||||||
The complete declaration could look like this:
|
could look like this:
|
||||||
/* Scan i2c addresses 0x37, and 0x48 to 0x4f */
|
/* Scan i2c addresses 0x37, and 0x48 to 0x4f */
|
||||||
static unsigned short normal_i2c[] = { 0x37, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
static unsigned short normal_i2c[] = { 0x37, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
||||||
/* Scan ISA address 0x290 */
|
|
||||||
static unsigned int normal_isa[] = {0x0290,SENSORS_ISA_END};
|
|
||||||
|
|
||||||
/* Define chips foo and bar, as well as all module parameters and things */
|
/* Define chips foo and bar, as well as all module parameters and things */
|
||||||
SENSORS_INSMOD_2(foo,bar);
|
SENSORS_INSMOD_2(foo,bar);
|
||||||
|
@ -34,7 +34,6 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
|
|||||||
0x29, 0x2a, 0x2b,
|
0x29, 0x2a, 0x2b,
|
||||||
0x4c, 0x4d, 0x4e,
|
0x4c, 0x4d, 0x4e,
|
||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_8(adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm, mc1066);
|
SENSORS_INSMOD_8(adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm, mc1066);
|
||||||
|
@ -62,7 +62,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(adm1026);
|
SENSORS_INSMOD_1(adm1026);
|
||||||
|
@ -61,7 +61,6 @@
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(adm1030, adm1031);
|
SENSORS_INSMOD_2(adm1030, adm1031);
|
||||||
|
@ -54,8 +54,6 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f,
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f,
|
||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
|
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_3(adm9240, ds1780, lm81);
|
SENSORS_INSMOD_3(adm9240, ds1780, lm81);
|
||||||
|
|
||||||
|
@ -56,9 +56,6 @@
|
|||||||
/* I2C addresses to scan */
|
/* I2C addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x2d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2d, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* ISA addresses to scan (none) */
|
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(asb100);
|
SENSORS_INSMOD_1(asb100);
|
||||||
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
||||||
|
@ -42,7 +42,6 @@ MODULE_AUTHOR("Sebastian Witt <se.witt@gmx.net>");
|
|||||||
#define ATXP1_GPIO1MASK 0x0f
|
#define ATXP1_GPIO1MASK 0x0f
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x37, 0x4e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x37, 0x4e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
SENSORS_INSMOD_1(atxp1);
|
SENSORS_INSMOD_1(atxp1);
|
||||||
|
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(ds1621);
|
SENSORS_INSMOD_1(ds1621);
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -43,7 +43,6 @@
|
|||||||
* Addresses to scan
|
* Addresses to scan
|
||||||
*/
|
*/
|
||||||
static unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -47,7 +47,6 @@
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(gl518sm_r00, gl518sm_r80);
|
SENSORS_INSMOD_2(gl518sm_r00, gl518sm_r80);
|
||||||
|
@ -38,7 +38,6 @@ MODULE_PARM_DESC(extra_sensor_type, "Type of extra sensor (0=autodetect, 1=tempe
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(gl520sm);
|
SENSORS_INSMOD_1(gl520sm);
|
||||||
|
@ -48,7 +48,6 @@
|
|||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
|
static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
|
||||||
0x2e, 0x2f, I2C_CLIENT_END };
|
0x2e, 0x2f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
static unsigned short isa_address = 0x290;
|
static unsigned short isa_address = 0x290;
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
|
@ -53,7 +53,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x4c, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x4c, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm75);
|
SENSORS_INSMOD_1(lm75);
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm77);
|
SENSORS_INSMOD_1(lm77);
|
||||||
|
@ -34,7 +34,6 @@ static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24,
|
|||||||
0x25, 0x26, 0x27, 0x28, 0x29,
|
0x25, 0x26, 0x27, 0x28, 0x29,
|
||||||
0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
|
0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
|
||||||
0x2f, I2C_CLIENT_END };
|
0x2f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
static unsigned short isa_address = 0x290;
|
static unsigned short isa_address = 0x290;
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c,
|
static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c,
|
||||||
0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm80);
|
SENSORS_INSMOD_1(lm80);
|
||||||
|
@ -47,7 +47,6 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
|
|||||||
0x29, 0x2a, 0x2b,
|
0x29, 0x2a, 0x2b,
|
||||||
0x4c, 0x4d, 0x4e,
|
0x4c, 0x4d, 0x4e,
|
||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -35,7 +35,6 @@
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_6(lm85b, lm85c, adm1027, adt7463, emc6d100, emc6d102);
|
SENSORS_INSMOD_6(lm85b, lm85c, adm1027, adt7463, emc6d100, emc6d102);
|
||||||
|
@ -68,7 +68,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -91,7 +91,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x4c, 0x4d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x4c, 0x4d, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -52,7 +52,6 @@
|
|||||||
resulting in 4 possible addresses. */
|
resulting in 4 possible addresses. */
|
||||||
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b,
|
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b,
|
||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm92);
|
SENSORS_INSMOD_1(lm92);
|
||||||
|
@ -39,7 +39,6 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
|
|||||||
0x29, 0x2a, 0x2b,
|
0x29, 0x2a, 0x2b,
|
||||||
0x4c, 0x4d, 0x4e,
|
0x4c, 0x4d, 0x4e,
|
||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
|
static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
|
||||||
0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
|
0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
|
||||||
0x2c, 0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
0x2c, 0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
static unsigned short isa_address = 0x290;
|
static unsigned short isa_address = 0x290;
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2e, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
* Functions declaration
|
* Functions declaration
|
||||||
*/
|
*/
|
||||||
static unsigned short normal_i2c[] = { 0x68, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x68, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
SENSORS_INSMOD_1(ds1337);
|
SENSORS_INSMOD_1(ds1337);
|
||||||
|
|
||||||
|
@ -38,7 +38,6 @@
|
|||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x50, 0x51, 0x52, 0x53, 0x54,
|
static unsigned short normal_i2c[] = { 0x50, 0x51, 0x52, 0x53, 0x54,
|
||||||
0x55, 0x56, 0x57, I2C_CLIENT_END };
|
0x55, 0x56, 0x57, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(eeprom);
|
SENSORS_INSMOD_1(eeprom);
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
|
|
||||||
/* Do not scan - the MAX6875 access method will write to some EEPROM chips */
|
/* Do not scan - the MAX6875 access method will write to some EEPROM chips */
|
||||||
static unsigned short normal_i2c[] = {I2C_CLIENT_END};
|
static unsigned short normal_i2c[] = {I2C_CLIENT_END};
|
||||||
static unsigned int normal_isa[] = {I2C_CLIENT_ISA_END};
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(max6875);
|
SENSORS_INSMOD_1(max6875);
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = {0x74, 0x75, 0x76, 0x77, I2C_CLIENT_END};
|
static unsigned short normal_i2c[] = {0x74, 0x75, 0x76, 0x77, I2C_CLIENT_END};
|
||||||
static unsigned int normal_isa[] = {I2C_CLIENT_ISA_END};
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(pca9539);
|
SENSORS_INSMOD_1(pca9539);
|
||||||
|
@ -45,7 +45,6 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
||||||
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
|
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
|
||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(pcf8574, pcf8574a);
|
SENSORS_INSMOD_2(pcf8574, pcf8574a);
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
||||||
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };
|
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(pcf8591);
|
SENSORS_INSMOD_1(pcf8591);
|
||||||
|
@ -27,11 +27,10 @@
|
|||||||
that place. If a specific chip is given, the module blindly assumes this
|
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
|
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
|
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
|
if for some reasons the detect for SMBus address space filled fails.
|
||||||
fails.
|
probe: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
||||||
probe: insmod parameter. Initialize this list with I2C_CLIENT_ISA_END values.
|
A list of pairs. The first value is a bus number (ANY_I2C_BUS for any
|
||||||
A list of pairs. The first value is a bus number (ANY_I2C_ISA_BUS for
|
I2C bus), the second is the address.
|
||||||
the ISA bus, -1 for any I2C bus), the second is the address.
|
|
||||||
kind: The kind of chip. 0 equals any chip.
|
kind: The kind of chip. 0 equals any chip.
|
||||||
*/
|
*/
|
||||||
struct i2c_force_data {
|
struct i2c_force_data {
|
||||||
@ -40,25 +39,22 @@ struct i2c_force_data {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* A structure containing the detect information.
|
/* A structure containing the detect information.
|
||||||
normal_i2c: filled in by the module writer. Terminated by I2C_CLIENT_ISA_END.
|
normal_i2c: filled in by the module writer. Terminated by I2C_CLIENT_END.
|
||||||
A list of I2C addresses which should normally be examined.
|
A list of I2C addresses which should normally be examined.
|
||||||
normal_isa: filled in by the module writer. Terminated by SENSORS_ISA_END.
|
probe: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
||||||
A list of ISA addresses which should normally be examined.
|
A list of pairs. The first value is a bus number (ANY_I2C_BUS for any
|
||||||
probe: insmod parameter. Initialize this list with I2C_CLIENT_ISA_END values.
|
I2C bus), the second is the address. These addresses are also probed,
|
||||||
A list of pairs. The first value is a bus number (ANY_I2C_ISA_BUS for
|
as if they were in the 'normal' list.
|
||||||
the ISA bus, -1 for any I2C bus), the second is the address. These
|
ignore: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
||||||
addresses are also probed, as if they were in the 'normal' list.
|
A list of pairs. The first value is a bus number (ANY_I2C_BUS for any
|
||||||
ignore: insmod parameter. Initialize this list with I2C_CLIENT_ISA_END values.
|
I2C bus), the second is the I2C address. These addresses are never
|
||||||
A list of pairs. The first value is a bus number (ANY_I2C_ISA_BUS for
|
probed. This parameter overrules 'normal' and probe', but not the
|
||||||
the ISA bus, -1 for any I2C bus), the second is the I2C address. These
|
'force' lists.
|
||||||
addresses 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
|
force_data: insmod parameters. A list, ending with an element of which
|
||||||
the force field is NULL.
|
the force field is NULL.
|
||||||
*/
|
*/
|
||||||
struct i2c_address_data {
|
struct i2c_address_data {
|
||||||
unsigned short *normal_i2c;
|
unsigned short *normal_i2c;
|
||||||
unsigned int *normal_isa;
|
|
||||||
unsigned short *probe;
|
unsigned short *probe;
|
||||||
unsigned short *ignore;
|
unsigned short *ignore;
|
||||||
struct i2c_force_data *forces;
|
struct i2c_force_data *forces;
|
||||||
@ -78,7 +74,6 @@ struct i2c_address_data {
|
|||||||
"List of adapter,address pairs not to scan"); \
|
"List of adapter,address pairs not to scan"); \
|
||||||
static struct i2c_address_data addr_data = { \
|
static struct i2c_address_data addr_data = { \
|
||||||
.normal_i2c = normal_i2c, \
|
.normal_i2c = normal_i2c, \
|
||||||
.normal_isa = normal_isa, \
|
|
||||||
.probe = probe, \
|
.probe = probe, \
|
||||||
.ignore = ignore, \
|
.ignore = ignore, \
|
||||||
.forces = forces, \
|
.forces = forces, \
|
||||||
@ -242,8 +237,7 @@ struct i2c_address_data {
|
|||||||
|
|
||||||
/* Detect function. It iterates over all possible addresses itself. For
|
/* Detect function. It iterates over all possible addresses itself. For
|
||||||
SMBus addresses, it will only call found_proc if some client is connected
|
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
|
to the SMBus (unless a 'force' matched). */
|
||||||
done. */
|
|
||||||
extern int i2c_detect(struct i2c_adapter *adapter,
|
extern int i2c_detect(struct i2c_adapter *adapter,
|
||||||
struct i2c_address_data *address_data,
|
struct i2c_address_data *address_data,
|
||||||
int (*found_proc) (struct i2c_adapter *, int, int));
|
int (*found_proc) (struct i2c_adapter *, int, int));
|
||||||
|
@ -150,12 +150,9 @@ struct i2c_driver {
|
|||||||
*/
|
*/
|
||||||
struct i2c_client {
|
struct i2c_client {
|
||||||
unsigned int flags; /* div., see below */
|
unsigned int flags; /* div., see below */
|
||||||
unsigned int addr; /* chip address - NOTE: 7bit */
|
unsigned short addr; /* chip address - NOTE: 7bit */
|
||||||
/* addresses are stored in the */
|
/* addresses are stored in the */
|
||||||
/* _LOWER_ 7 bits of this char */
|
/* _LOWER_ 7 bits */
|
||||||
/* addr: unsigned int to make lm_sensors i2c-isa adapter work
|
|
||||||
more cleanly. It does not take any more memory space, due to
|
|
||||||
alignment considerations */
|
|
||||||
struct i2c_adapter *adapter; /* the adapter we sit on */
|
struct i2c_adapter *adapter; /* the adapter we sit on */
|
||||||
struct i2c_driver *driver; /* and our access routines */
|
struct i2c_driver *driver; /* and our access routines */
|
||||||
int usage_count; /* How many accesses currently */
|
int usage_count; /* How many accesses currently */
|
||||||
@ -309,7 +306,6 @@ struct i2c_client_address_data {
|
|||||||
|
|
||||||
/* Internal numbers to terminate lists */
|
/* Internal numbers to terminate lists */
|
||||||
#define I2C_CLIENT_END 0xfffeU
|
#define I2C_CLIENT_END 0xfffeU
|
||||||
#define I2C_CLIENT_ISA_END 0xfffefffeU
|
|
||||||
|
|
||||||
/* The numbers to use to set I2C bus address */
|
/* The numbers to use to set I2C bus address */
|
||||||
#define ANY_I2C_BUS 0xffff
|
#define ANY_I2C_BUS 0xffff
|
||||||
|
Loading…
Reference in New Issue
Block a user