Commit 5071860a authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman
Browse files

[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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4926c0d4
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -29,8 +29,8 @@ Technical changes:
  Please respect this inclusion order. Some extra headers may be
  required for a given driver (e.g. "lm75.h").

* [Addresses] SENSORS_I2C_END becomes I2C_CLIENT_END, SENSORS_ISA_END
  becomes I2C_CLIENT_ISA_END.
* [Addresses] SENSORS_I2C_END becomes I2C_CLIENT_END, ISA addresses
  are no more handled by the i2c core.

* [Client data] Get rid of sysctl_id. Try using standard names for
  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
  (typically the driver name, e.g. "lm75").
  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
  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
+15 −20
Original line number Diff line number Diff line
@@ -195,31 +195,28 @@ Probing classes (sensors)
-------------------------

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
use a enum of chip types. Don't forget to include `sensors.h'.
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 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.
   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 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.
   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.
   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 (SENSORS_ISA_BUS for the ISA bus, 
     -1 for any I2C bus), the second is the address. 
     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.

@@ -227,13 +224,11 @@ 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' 
and `normal_isa' parameters, and define what chip names are used. 
The complete declaration could look like this:
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 };
  /* 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 */
  SENSORS_INSMOD_2(foo,bar);
+0 −1
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ static unsigned short normal_i2c[] = { 0x18, 0x19, 0x1a,
					0x29, 0x2a, 0x2b,
					0x4c, 0x4d, 0x4e, 
					I2C_CLIENT_END };
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };

/* Insmod parameters */
SENSORS_INSMOD_8(adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm, mc1066);
+0 −1
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@
 */

static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };

/*
 * Insmod parameters
+0 −1
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@

/* Addresses to scan */
static unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END };

/* Insmod parameters */
SENSORS_INSMOD_1(adm1026);
Loading