[PATCH] hwmon: hwmon vs i2c, second round (06/11)
The only thing left in i2c-sensor.h are module parameter definition macros. It's only an extension of what i2c.h offers, and this extension is not sensors-specific. As a matter of fact, a few non-sensors drivers use them. So we better merge them in i2c.h, and get rid of i2c-sensor.h altogether. Signed-off-by: Jean Delvare <khali@linux-fr> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
96478ef3f3
commit
f4b5026120
@ -1,4 +1,4 @@
|
|||||||
Revision 4, 2004-03-30
|
Revision 5, 2005-07-29
|
||||||
Jean Delvare <khali@linux-fr.org>
|
Jean Delvare <khali@linux-fr.org>
|
||||||
Greg KH <greg@kroah.com>
|
Greg KH <greg@kroah.com>
|
||||||
|
|
||||||
@ -17,13 +17,12 @@ yours for best results.
|
|||||||
|
|
||||||
Technical changes:
|
Technical changes:
|
||||||
|
|
||||||
* [Includes] Get rid of "version.h". Replace <linux/i2c-proc.h> with
|
* [Includes] Get rid of "version.h" and <linux/i2c-proc.h>.
|
||||||
<linux/i2c-sensor.h>. Includes typically look like that:
|
Includes typically look like that:
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h> /* if you need VRM support */
|
#include <linux/i2c-vid.h> /* if you need VRM support */
|
||||||
#include <asm/io.h> /* if you have I/O operations */
|
#include <asm/io.h> /* if you have I/O operations */
|
||||||
Please respect this inclusion order. Some extra headers may be
|
Please respect this inclusion order. Some extra headers may be
|
||||||
@ -31,6 +30,7 @@ Technical changes:
|
|||||||
|
|
||||||
* [Addresses] SENSORS_I2C_END becomes I2C_CLIENT_END, ISA addresses
|
* [Addresses] SENSORS_I2C_END becomes I2C_CLIENT_END, ISA addresses
|
||||||
are no more handled by the i2c core.
|
are no more handled by the i2c core.
|
||||||
|
SENSORS_INSMOD_<n> becomes I2C_CLIENT_INSMOD_<n>.
|
||||||
|
|
||||||
* [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
|
||||||
|
@ -155,8 +155,8 @@ NOTE: If you want to write a `sensors' driver, the interface is slightly
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Probing classes (i2c)
|
Probing classes
|
||||||
---------------------
|
---------------
|
||||||
|
|
||||||
All parameters are given as lists of unsigned 16-bit integers. Lists are
|
All parameters are given as lists of unsigned 16-bit integers. Lists are
|
||||||
terminated by I2C_CLIENT_END.
|
terminated by I2C_CLIENT_END.
|
||||||
@ -171,12 +171,18 @@ The following lists are used internally:
|
|||||||
ignore: insmod parameter.
|
ignore: insmod parameter.
|
||||||
A list of pairs. The first value is a bus number (-1 for any I2C bus),
|
A list of pairs. The first value is a bus number (-1 for any I2C bus),
|
||||||
the second is the I2C address. These addresses are never probed.
|
the second is the I2C address. These addresses are never probed.
|
||||||
This parameter overrules 'normal' and 'probe', but not the 'force' lists.
|
This parameter overrules the 'normal_i2c' list only.
|
||||||
force: insmod parameter.
|
force: insmod parameter.
|
||||||
A list of pairs. The first value is a bus number (-1 for any I2C bus),
|
A list of pairs. The first value is a bus number (-1 for any I2C bus),
|
||||||
the second is the I2C address. A device is blindly assumed to be on
|
the second is the I2C address. A device is blindly assumed to be on
|
||||||
the given address, no probing is done.
|
the given address, no probing is done.
|
||||||
|
|
||||||
|
Additionally, kind-specific force lists may optionally be defined if
|
||||||
|
the driver supports several chip kinds. They are grouped in a
|
||||||
|
NULL-terminated list of pointers named forces, those first element if the
|
||||||
|
generic force list mentioned above. Each additional list correspond to an
|
||||||
|
insmod parameter of the form force_<kind>.
|
||||||
|
|
||||||
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'
|
||||||
parameter. The complete declaration could look like this:
|
parameter. The complete declaration could look like this:
|
||||||
|
|
||||||
@ -186,61 +192,17 @@ parameter. The complete declaration could look like this:
|
|||||||
|
|
||||||
/* Magic definition of all other variables and things */
|
/* Magic definition of all other variables and things */
|
||||||
I2C_CLIENT_INSMOD;
|
I2C_CLIENT_INSMOD;
|
||||||
|
/* Or, if your driver supports, say, 2 kind of devices: */
|
||||||
|
I2C_CLIENT_INSMOD_2(foo, bar);
|
||||||
|
|
||||||
|
If you use the multi-kind form, an enum will be defined for you:
|
||||||
|
enum chips { any_chip, foo, bar, ... }
|
||||||
|
You can then (and certainly should) use it in the driver code.
|
||||||
|
|
||||||
Note that you *have* to call the defined variable `normal_i2c',
|
Note that you *have* to call the defined variable `normal_i2c',
|
||||||
without any prefix!
|
without any prefix!
|
||||||
|
|
||||||
|
|
||||||
Probing classes (sensors)
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
If you write a `sensors' driver, you use a slightly different interface.
|
|
||||||
Also, we 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.
|
|
||||||
|
|
||||||
normal_i2c: filled in by the module writer. Terminated by I2C_CLIENT_END.
|
|
||||||
A list of I2C addresses which should normally be examined.
|
|
||||||
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.
|
|
||||||
|
|
||||||
Also used is a list of pointers to sensors_force_data structures:
|
|
||||||
force_data: insmod parameters. A list, ending with an element of which
|
|
||||||
the force field is NULL.
|
|
||||||
Each element contains the type of chip and a list of pairs.
|
|
||||||
The first value is a bus number (ANY_I2C_BUS for any I2C bus), the
|
|
||||||
second is the address.
|
|
||||||
These are automatically translated to insmod variables of the form
|
|
||||||
force_foo.
|
|
||||||
|
|
||||||
So we have a generic insmod variabled `force', and chip-specific variables
|
|
||||||
`force_CHIPNAME'.
|
|
||||||
|
|
||||||
Fortunately, as a module writer, you just have to define the `normal_i2c'
|
|
||||||
parameter, and define what chip names are used. The complete declaration
|
|
||||||
could look like this:
|
|
||||||
/* Scan i2c addresses 0x37, and 0x48 to 0x4f */
|
|
||||||
static unsigned short normal_i2c[] = { 0x37, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
|
||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
|
||||||
|
|
||||||
/* Define chips foo and bar, as well as all module parameters and things */
|
|
||||||
SENSORS_INSMOD_2(foo,bar);
|
|
||||||
|
|
||||||
If you have one chip, you use macro SENSORS_INSMOD_1(chip), if you have 2
|
|
||||||
you use macro SENSORS_INSMOD_2(chip1,chip2), etc. If you do not want to
|
|
||||||
bother with chip types, you can use SENSORS_INSMOD_0.
|
|
||||||
|
|
||||||
A enum is automatically defined as follows:
|
|
||||||
enum chips { any_chip, chip1, chip2, ... }
|
|
||||||
|
|
||||||
|
|
||||||
Attaching to an adapter
|
Attaching to an adapter
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -36,7 +35,7 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
|
|||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_8(adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm, mc1066);
|
I2C_CLIENT_INSMOD_8(adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm, mc1066);
|
||||||
|
|
||||||
/* adm1021 constants specified below */
|
/* adm1021 constants specified below */
|
||||||
|
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -67,7 +66,7 @@ static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_2(adm1025, ne1619);
|
I2C_CLIENT_INSMOD_2(adm1025, ne1619);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The ADM1025 registers
|
* The ADM1025 registers
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
@ -38,7 +37,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(adm1026);
|
I2C_CLIENT_INSMOD_1(adm1026);
|
||||||
|
|
||||||
static int gpio_input[17] = { -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
static int gpio_input[17] = { -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
-1, -1, -1, -1, -1, -1, -1, -1 };
|
-1, -1, -1, -1, -1, -1, -1, -1 };
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -63,7 +62,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(adm1030, adm1031);
|
I2C_CLIENT_INSMOD_2(adm1030, adm1031);
|
||||||
|
|
||||||
typedef u8 auto_chan_table_t[8][2];
|
typedef u8 auto_chan_table_t[8][2];
|
||||||
|
|
||||||
|
@ -45,7 +45,6 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -55,7 +54,7 @@ static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f,
|
|||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_3(adm9240, ds1780, lm81);
|
I2C_CLIENT_INSMOD_3(adm9240, ds1780, lm81);
|
||||||
|
|
||||||
/* ADM9240 registers */
|
/* ADM9240 registers */
|
||||||
#define ADM9240_REG_MAN_ID 0x3e
|
#define ADM9240_REG_MAN_ID 0x3e
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -57,7 +56,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2d, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(asb100);
|
I2C_CLIENT_INSMOD_1(asb100);
|
||||||
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
||||||
"{bus, clientaddr, subclientaddr1, subclientaddr2}");
|
"{bus, clientaddr, subclientaddr1, subclientaddr2}");
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -43,7 +42,7 @@ MODULE_AUTHOR("Sebastian Witt <se.witt@gmx.net>");
|
|||||||
|
|
||||||
static unsigned short normal_i2c[] = { 0x37, 0x4e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x37, 0x4e, I2C_CLIENT_END };
|
||||||
|
|
||||||
SENSORS_INSMOD_1(atxp1);
|
I2C_CLIENT_INSMOD_1(atxp1);
|
||||||
|
|
||||||
static int atxp1_attach_adapter(struct i2c_adapter * adapter);
|
static int atxp1_attach_adapter(struct i2c_adapter * adapter);
|
||||||
static int atxp1_detach_client(struct i2c_client * client);
|
static int atxp1_detach_client(struct i2c_client * client);
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include "lm75.h"
|
#include "lm75.h"
|
||||||
@ -36,7 +35,7 @@ static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
|||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(ds1621);
|
I2C_CLIENT_INSMOD_1(ds1621);
|
||||||
static int polarity = -1;
|
static int polarity = -1;
|
||||||
module_param(polarity, int, 0);
|
module_param(polarity, int, 0);
|
||||||
MODULE_PARM_DESC(polarity, "Output's polarity: 0 = active high, 1 = active low");
|
MODULE_PARM_DESC(polarity, "Output's polarity: 0 = active high, 1 = active low");
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -45,7 +44,7 @@ static unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_1(fscher);
|
I2C_CLIENT_INSMOD_1(fscher);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The FSCHER registers
|
* The FSCHER registers
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -47,7 +46,7 @@ static unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
|
|||||||
/*
|
/*
|
||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
SENSORS_INSMOD_1(fscpos);
|
I2C_CLIENT_INSMOD_1(fscpos);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The FSCPOS registers
|
* The FSCPOS registers
|
||||||
|
@ -41,7 +41,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -49,7 +48,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(gl518sm_r00, gl518sm_r80);
|
I2C_CLIENT_INSMOD_2(gl518sm_r00, gl518sm_r80);
|
||||||
|
|
||||||
/* Many GL518 constants specified below */
|
/* Many GL518 constants specified below */
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -40,7 +39,7 @@ MODULE_PARM_DESC(extra_sensor_type, "Type of extra sensor (0=autodetect, 1=tempe
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(gl520sm);
|
I2C_CLIENT_INSMOD_1(gl520sm);
|
||||||
|
|
||||||
/* Many GL520 constants specified below
|
/* Many GL520 constants specified below
|
||||||
One of the inputs can be configured as either temp or voltage.
|
One of the inputs can be configured as either temp or voltage.
|
||||||
|
@ -37,7 +37,6 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
@ -51,7 +50,7 @@ static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
|
|||||||
static unsigned short isa_address = 0x290;
|
static unsigned short isa_address = 0x290;
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(it87, it8712);
|
I2C_CLIENT_INSMOD_2(it87, it8712);
|
||||||
|
|
||||||
#define REG 0x2e /* The register to read/write */
|
#define REG 0x2e /* The register to read/write */
|
||||||
#define DEV 0x07 /* Register: Logical device select */
|
#define DEV 0x07 /* Register: Logical device select */
|
||||||
|
@ -42,7 +42,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -58,7 +57,7 @@ static unsigned short normal_i2c[] = { 0x4c, I2C_CLIENT_END };
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_1(lm63);
|
I2C_CLIENT_INSMOD_1(lm63);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The LM63 registers
|
* The LM63 registers
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include "lm75.h"
|
#include "lm75.h"
|
||||||
@ -34,7 +33,7 @@ static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
|
|||||||
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm75);
|
I2C_CLIENT_INSMOD_1(lm75);
|
||||||
|
|
||||||
/* Many LM75 constants specified below */
|
/* Many LM75 constants specified below */
|
||||||
|
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -38,7 +37,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm77);
|
I2C_CLIENT_INSMOD_1(lm77);
|
||||||
|
|
||||||
/* The LM77 registers */
|
/* The LM77 registers */
|
||||||
#define LM77_REG_TEMP 0x00
|
#define LM77_REG_TEMP 0x00
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
@ -37,7 +36,7 @@ static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24,
|
|||||||
static unsigned short isa_address = 0x290;
|
static unsigned short isa_address = 0x290;
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(lm78, lm79);
|
I2C_CLIENT_INSMOD_2(lm78, lm79);
|
||||||
|
|
||||||
/* Many LM78 constants specified below */
|
/* Many LM78 constants specified below */
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -35,7 +34,7 @@ static unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c,
|
|||||||
0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm80);
|
I2C_CLIENT_INSMOD_1(lm80);
|
||||||
|
|
||||||
/* Many LM80 constants specified below */
|
/* Many LM80 constants specified below */
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -52,7 +51,7 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_1(lm83);
|
I2C_CLIENT_INSMOD_1(lm83);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The LM83 registers
|
* The LM83 registers
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -37,7 +36,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_6(lm85b, lm85c, adm1027, adt7463, emc6d100, emc6d102);
|
I2C_CLIENT_INSMOD_6(lm85b, lm85c, adm1027, adt7463, emc6d100, emc6d102);
|
||||||
|
|
||||||
/* The LM85 registers */
|
/* The LM85 registers */
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -73,7 +72,7 @@ static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_1(lm87);
|
I2C_CLIENT_INSMOD_1(lm87);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The LM87 registers
|
* The LM87 registers
|
||||||
|
@ -75,7 +75,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -96,7 +95,7 @@ static unsigned short normal_i2c[] = { 0x4c, 0x4d, I2C_CLIENT_END };
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_6(lm90, adm1032, lm99, lm86, max6657, adt7461);
|
I2C_CLIENT_INSMOD_6(lm90, adm1032, lm99, lm86, max6657, adt7461);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The LM90 registers
|
* The LM90 registers
|
||||||
|
@ -44,7 +44,6 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ static unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b,
|
|||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(lm92);
|
I2C_CLIENT_INSMOD_1(lm92);
|
||||||
|
|
||||||
/* The LM92 registers */
|
/* The LM92 registers */
|
||||||
#define LM92_REG_CONFIG 0x01 /* 8-bit, RW */
|
#define LM92_REG_CONFIG 0x01 /* 8-bit, RW */
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -44,7 +43,7 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_1(max1619);
|
I2C_CLIENT_INSMOD_1(max1619);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The MAX1619 registers
|
* The MAX1619 registers
|
||||||
|
@ -56,7 +56,6 @@
|
|||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -43,7 +43,6 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-isa.h>
|
#include <linux/i2c-isa.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
@ -53,7 +52,7 @@ static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
|
|||||||
static unsigned short isa_address = 0x290;
|
static unsigned short isa_address = 0x290;
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_5(w83781d, w83782d, w83783s, w83627hf, as99127f);
|
I2C_CLIENT_INSMOD_5(w83781d, w83782d, w83783s, w83627hf, as99127f);
|
||||||
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
||||||
"{bus, clientaddr, subclientaddr1, subclientaddr2}");
|
"{bus, clientaddr, subclientaddr1, subclientaddr2}");
|
||||||
|
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/i2c-vid.h>
|
#include <linux/i2c-vid.h>
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
@ -50,7 +49,7 @@
|
|||||||
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f, I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(w83792d);
|
I2C_CLIENT_INSMOD_1(w83792d);
|
||||||
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: "
|
||||||
"{bus, clientaddr, subclientaddr1, subclientaddr2}");
|
"{bus, clientaddr, subclientaddr1, subclientaddr2}");
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/hwmon.h>
|
#include <linux/hwmon.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ static unsigned short normal_i2c[] = { 0x2e, I2C_CLIENT_END };
|
|||||||
* Insmod parameters
|
* Insmod parameters
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SENSORS_INSMOD_1(w83l785ts);
|
I2C_CLIENT_INSMOD_1(w83l785ts);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The W83L785TS-S registers
|
* The W83L785TS-S registers
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/rtc.h> /* get the user-level API */
|
#include <linux/rtc.h> /* get the user-level API */
|
||||||
#include <linux/bcd.h>
|
#include <linux/bcd.h>
|
||||||
@ -40,7 +39,7 @@
|
|||||||
*/
|
*/
|
||||||
static unsigned short normal_i2c[] = { 0x68, I2C_CLIENT_END };
|
static unsigned short normal_i2c[] = { 0x68, I2C_CLIENT_END };
|
||||||
|
|
||||||
SENSORS_INSMOD_1(ds1337);
|
I2C_CLIENT_INSMOD_1(ds1337);
|
||||||
|
|
||||||
static int ds1337_attach_adapter(struct i2c_adapter *adapter);
|
static int ds1337_attach_adapter(struct i2c_adapter *adapter);
|
||||||
static int ds1337_detect(struct i2c_adapter *adapter, int address, int kind);
|
static int ds1337_detect(struct i2c_adapter *adapter, int address, int kind);
|
||||||
|
@ -33,14 +33,13 @@
|
|||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
|
|
||||||
/* 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 };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(eeprom);
|
I2C_CLIENT_INSMOD_1(eeprom);
|
||||||
|
|
||||||
|
|
||||||
/* Size of EEPROM in bytes */
|
/* Size of EEPROM in bytes */
|
||||||
|
@ -31,14 +31,13 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
#include <asm/semaphore.h>
|
#include <asm/semaphore.h>
|
||||||
|
|
||||||
/* 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};
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(max6875);
|
I2C_CLIENT_INSMOD_1(max6875);
|
||||||
|
|
||||||
/* The MAX6875 can only read/write 16 bytes at a time */
|
/* The MAX6875 can only read/write 16 bytes at a time */
|
||||||
#define SLICE_SIZE 16
|
#define SLICE_SIZE 16
|
||||||
|
@ -13,13 +13,12 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/hwmon-sysfs.h>
|
#include <linux/hwmon-sysfs.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
|
|
||||||
/* 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};
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(pca9539);
|
I2C_CLIENT_INSMOD_1(pca9539);
|
||||||
|
|
||||||
enum pca9539_cmd
|
enum pca9539_cmd
|
||||||
{
|
{
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
|
|
||||||
/* Addresses to scan */
|
/* Addresses to scan */
|
||||||
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,
|
||||||
@ -47,7 +46,7 @@ static unsigned short normal_i2c[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
|
|||||||
I2C_CLIENT_END };
|
I2C_CLIENT_END };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_2(pcf8574, pcf8574a);
|
I2C_CLIENT_INSMOD_2(pcf8574, pcf8574a);
|
||||||
|
|
||||||
/* Initial values */
|
/* Initial values */
|
||||||
#define PCF8574_INIT 255 /* All outputs on (input mode) */
|
#define PCF8574_INIT 255 /* All outputs on (input mode) */
|
||||||
|
@ -24,14 +24,13 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/i2c-sensor.h>
|
|
||||||
|
|
||||||
/* 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 };
|
||||||
|
|
||||||
/* Insmod parameters */
|
/* Insmod parameters */
|
||||||
SENSORS_INSMOD_1(pcf8591);
|
I2C_CLIENT_INSMOD_1(pcf8591);
|
||||||
|
|
||||||
static int input_mode;
|
static int input_mode;
|
||||||
module_param(input_mode, int, 0);
|
module_param(input_mode, int, 0);
|
||||||
|
@ -1,203 +0,0 @@
|
|||||||
/*
|
|
||||||
i2c-sensor.h - Part of the i2c package
|
|
||||||
was originally sensors.h - Part of lm_sensors, Linux kernel modules
|
|
||||||
for hardware monitoring
|
|
||||||
Copyright (c) 1998, 1999 Frodo Looijaard <frodol@dds.nl>
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _LINUX_I2C_SENSOR_H
|
|
||||||
#define _LINUX_I2C_SENSOR_H
|
|
||||||
|
|
||||||
#include <linux/i2c.h>
|
|
||||||
|
|
||||||
#define SENSORS_MODULE_PARM_FORCE(name) \
|
|
||||||
I2C_CLIENT_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 \
|
|
||||||
I2C_CLIENT_MODULE_PARM(probe, \
|
|
||||||
"List of adapter,address pairs to scan additionally"); \
|
|
||||||
I2C_CLIENT_MODULE_PARM(ignore, \
|
|
||||||
"List of adapter,address pairs not to scan"); \
|
|
||||||
static struct i2c_client_address_data addr_data = { \
|
|
||||||
.normal_i2c = normal_i2c, \
|
|
||||||
.probe = probe, \
|
|
||||||
.ignore = ignore, \
|
|
||||||
.forces = 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 }; \
|
|
||||||
I2C_CLIENT_MODULE_PARM(force, \
|
|
||||||
"List of adapter,address pairs to boldly assume " \
|
|
||||||
"to be present"); \
|
|
||||||
static unsigned short *forces[] = { force, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_1(chip1) \
|
|
||||||
enum chips { any_chip, chip1 }; \
|
|
||||||
I2C_CLIENT_MODULE_PARM(force, \
|
|
||||||
"List of adapter,address pairs to boldly assume " \
|
|
||||||
"to be present"); \
|
|
||||||
SENSORS_MODULE_PARM_FORCE(chip1); \
|
|
||||||
static unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_2(chip1,chip2) \
|
|
||||||
enum chips { any_chip, chip1, chip2 }; \
|
|
||||||
I2C_CLIENT_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 unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_3(chip1,chip2,chip3) \
|
|
||||||
enum chips { any_chip, chip1, chip2, chip3 }; \
|
|
||||||
I2C_CLIENT_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 unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
force_##chip3, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_4(chip1,chip2,chip3,chip4) \
|
|
||||||
enum chips { any_chip, chip1, chip2, chip3, chip4 }; \
|
|
||||||
I2C_CLIENT_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 unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
force_##chip3, \
|
|
||||||
force_##chip4, \
|
|
||||||
NULL}; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_5(chip1,chip2,chip3,chip4,chip5) \
|
|
||||||
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5 }; \
|
|
||||||
I2C_CLIENT_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 unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
force_##chip3, \
|
|
||||||
force_##chip4, \
|
|
||||||
force_##chip5, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_6(chip1,chip2,chip3,chip4,chip5,chip6) \
|
|
||||||
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6 }; \
|
|
||||||
I2C_CLIENT_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 unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
force_##chip3, \
|
|
||||||
force_##chip4, \
|
|
||||||
force_##chip5, \
|
|
||||||
force_##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 }; \
|
|
||||||
I2C_CLIENT_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 unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
force_##chip3, \
|
|
||||||
force_##chip4, \
|
|
||||||
force_##chip5, \
|
|
||||||
force_##chip6, \
|
|
||||||
force_##chip7, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#define SENSORS_INSMOD_8(chip1,chip2,chip3,chip4,chip5,chip6,chip7,chip8) \
|
|
||||||
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, chip7, chip8 }; \
|
|
||||||
I2C_CLIENT_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); \
|
|
||||||
SENSORS_MODULE_PARM_FORCE(chip8); \
|
|
||||||
static unsigned short *forces[] = { force, \
|
|
||||||
force_##chip1, \
|
|
||||||
force_##chip2, \
|
|
||||||
force_##chip3, \
|
|
||||||
force_##chip4, \
|
|
||||||
force_##chip5, \
|
|
||||||
force_##chip6, \
|
|
||||||
force_##chip7, \
|
|
||||||
force_##chip8, \
|
|
||||||
NULL }; \
|
|
||||||
SENSORS_INSMOD
|
|
||||||
|
|
||||||
#endif /* def _LINUX_I2C_SENSOR_H */
|
|
@ -565,24 +565,148 @@ union i2c_smbus_data {
|
|||||||
module_param_array(var, short, &var##_num, 0); \
|
module_param_array(var, short, &var##_num, 0); \
|
||||||
MODULE_PARM_DESC(var,desc)
|
MODULE_PARM_DESC(var,desc)
|
||||||
|
|
||||||
/* This is the one you want to use in your own modules */
|
#define I2C_CLIENT_MODULE_PARM_FORCE(name) \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force_##name, \
|
||||||
|
"List of adapter,address pairs which are " \
|
||||||
|
"unquestionably assumed to contain a `" \
|
||||||
|
# name "' chip")
|
||||||
|
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_COMMON \
|
||||||
|
I2C_CLIENT_MODULE_PARM(probe, "List of adapter,address pairs to scan " \
|
||||||
|
"additionally"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM(ignore, "List of adapter,address pairs not to " \
|
||||||
|
"scan"); \
|
||||||
|
static struct i2c_client_address_data addr_data = { \
|
||||||
|
.normal_i2c = normal_i2c, \
|
||||||
|
.probe = probe, \
|
||||||
|
.ignore = ignore, \
|
||||||
|
.forces = forces, \
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These are the ones you want to use in your own drivers. Pick the one
|
||||||
|
which matches the number of devices the driver differenciates between. */
|
||||||
#define I2C_CLIENT_INSMOD \
|
#define I2C_CLIENT_INSMOD \
|
||||||
I2C_CLIENT_MODULE_PARM(probe, \
|
|
||||||
"List of adapter,address pairs to scan additionally"); \
|
|
||||||
I2C_CLIENT_MODULE_PARM(ignore, \
|
|
||||||
"List of adapter,address pairs not to scan"); \
|
|
||||||
I2C_CLIENT_MODULE_PARM(force, \
|
I2C_CLIENT_MODULE_PARM(force, \
|
||||||
"List of adapter,address pairs to boldly assume " \
|
"List of adapter,address pairs to boldly assume " \
|
||||||
"to be present"); \
|
"to be present"); \
|
||||||
static unsigned short *addr_forces[] = { \
|
static unsigned short *forces[] = { \
|
||||||
force, \
|
force, \
|
||||||
NULL \
|
NULL \
|
||||||
}; \
|
}; \
|
||||||
static struct i2c_client_address_data addr_data = { \
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
.normal_i2c = normal_i2c, \
|
|
||||||
.probe = probe, \
|
#define I2C_CLIENT_INSMOD_1(chip1) \
|
||||||
.ignore = ignore, \
|
enum chips { any_chip, chip1 }; \
|
||||||
.forces = addr_forces, \
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
}
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_2(chip1, chip2) \
|
||||||
|
enum chips { any_chip, chip1, chip2 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_3(chip1, chip2, chip3) \
|
||||||
|
enum chips { any_chip, chip1, chip2, chip3 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip3); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, force_##chip3, \
|
||||||
|
NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_4(chip1, chip2, chip3, chip4) \
|
||||||
|
enum chips { any_chip, chip1, chip2, chip3, chip4 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip3); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip4); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, force_##chip3, \
|
||||||
|
force_##chip4, NULL}; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_5(chip1, chip2, chip3, chip4, chip5) \
|
||||||
|
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip3); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip4); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip5); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, force_##chip3, \
|
||||||
|
force_##chip4, force_##chip5, \
|
||||||
|
NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_6(chip1, chip2, chip3, chip4, chip5, chip6) \
|
||||||
|
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip3); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip4); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip5); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip6); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, force_##chip3, \
|
||||||
|
force_##chip4, force_##chip5, \
|
||||||
|
force_##chip6, NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_7(chip1, chip2, chip3, chip4, chip5, chip6, chip7) \
|
||||||
|
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, \
|
||||||
|
chip7 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip3); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip4); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip5); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip6); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip7); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, force_##chip3, \
|
||||||
|
force_##chip4, force_##chip5, \
|
||||||
|
force_##chip6, force_##chip7, \
|
||||||
|
NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
|
#define I2C_CLIENT_INSMOD_8(chip1, chip2, chip3, chip4, chip5, chip6, chip7, chip8) \
|
||||||
|
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, \
|
||||||
|
chip7, chip8 }; \
|
||||||
|
I2C_CLIENT_MODULE_PARM(force, "List of adapter,address pairs to " \
|
||||||
|
"boldly assume to be present"); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip1); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip2); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip3); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip4); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip5); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip6); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip7); \
|
||||||
|
I2C_CLIENT_MODULE_PARM_FORCE(chip8); \
|
||||||
|
static unsigned short *forces[] = { force, force_##chip1, \
|
||||||
|
force_##chip2, force_##chip3, \
|
||||||
|
force_##chip4, force_##chip5, \
|
||||||
|
force_##chip6, force_##chip7, \
|
||||||
|
force_##chip8, NULL }; \
|
||||||
|
I2C_CLIENT_INSMOD_COMMON
|
||||||
|
|
||||||
#endif /* _LINUX_I2C_H */
|
#endif /* _LINUX_I2C_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user