|
@@ -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
|
|
|
|
- fails.
|
|
|
|
- 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_ISA_BUS for
|
|
|
|
- the ISA bus, -1 for any I2C bus), the second is the address.
|
|
|
|
|
|
+ if for some reasons the detect for SMBus address space filled fails.
|
|
|
|
+ probe: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
|
|
|
+ A list of pairs. The first value is a bus number (ANY_I2C_BUS 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.
|
|
|
|
- A list of ISA addresses which should normally be examined.
|
|
|
|
- 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_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.
|
|
|
|
- ignore: insmod parameter. Initialize this list with I2C_CLIENT_ISA_END values.
|
|
|
|
- A list of pairs. The first value is a bus number (ANY_I2C_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.
|
|
|
|
|
|
+ probe: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
|
|
|
+ A list of pairs. The first value is a bus number (ANY_I2C_BUS for any
|
|
|
|
+ I2C bus), the second is the address. These addresses are also probed,
|
|
|
|
+ as if they were in the 'normal' list.
|
|
|
|
+ ignore: insmod parameter. Initialize this list with I2C_CLIENT_END values.
|
|
|
|
+ A list of pairs. The first value is a bus number (ANY_I2C_BUS 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.
|
|
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
|
|
|
|
- done. */
|
|
|
|
|
|
+ to the SMBus (unless a 'force' matched). */
|
|
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));
|