[PATCH] I2C: Kill address ranges in non-sensors i2c chip drivers
authorJean Delvare <khali@linux-fr.org>
Sat, 2 Apr 2005 18:31:02 +0000 (20:31 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 22 Jun 2005 04:51:48 +0000 (21:51 -0700)
Some months ago, you killed the address ranges mechanism from all
sensors i2c chip drivers (both the module parameters and the in-code
address lists). I think it was a very good move, as the ranges can
easily be replaced by individual addresses, and this allowed for
significant cleanups in the i2c core (let alone the impressive size
shrink for all these drivers).

Unfortunately you did not do the same for non-sensors i2c chip drivers.
These need the address ranges even less, so we could get rid of the
ranges here as well for another significant i2c core cleanup. Here comes
a patch which does just that. Since the process is exactly the same as
what you did for the other drivers set already, I did not split this one
in parts.

A documentation update is included.

The change saves 308 bytes in the i2c core, and an average 1382 bytes
for chip drivers which use I2C_CLIENT_INSMOD, 126 bytes for those which
do not.

This change is required if we want to merge the sensors and non-sensors
i2c code (and we want to do this).

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Index: gregkh-2.6/Documentation/i2c/writing-clients
===================================================================

33 files changed:
Documentation/i2c/writing-clients
drivers/acorn/char/pcf8583.c
drivers/i2c/chips/isp1301_omap.c
drivers/i2c/chips/m41t00.c
drivers/i2c/chips/rtc8564.c
drivers/i2c/i2c-core.c
drivers/macintosh/therm_windtunnel.c
drivers/media/video/adv7170.c
drivers/media/video/adv7175.c
drivers/media/video/bt819.c
drivers/media/video/bt832.c
drivers/media/video/bt856.c
drivers/media/video/msp3400.c
drivers/media/video/saa5246a.c
drivers/media/video/saa5249.c
drivers/media/video/saa7110.c
drivers/media/video/saa7111.c
drivers/media/video/saa7114.c
drivers/media/video/saa7134/saa6752hs.c
drivers/media/video/saa7185.c
drivers/media/video/tda7432.c
drivers/media/video/tda9840.c
drivers/media/video/tda9875.c
drivers/media/video/tda9887.c
drivers/media/video/tea6415c.c
drivers/media/video/tea6420.c
drivers/media/video/tuner-3036.c
drivers/media/video/tuner-core.c
drivers/media/video/tvaudio.c
drivers/media/video/tveeprom.c
drivers/media/video/vpx3220.c
drivers/video/matrox/matroxfb_maven.c
include/linux/i2c.h

index ad27511e3c7d7c463f5fdb4ce02ea2d96bd4f0ce..f482dae81de3ec2a27b8ace0814e99d43150ca3e 100644 (file)
@@ -171,45 +171,31 @@ The following lists are used internally:
 
   normal_i2c: filled in by the module writer. 
      A list of I2C addresses which should normally be examined.
-   normal_i2c_range: filled in by the module writer.
-     A list of pairs of I2C addresses, each pair being an inclusive range of
-     addresses which should normally be examined.
    probe: insmod parameter. 
      A list of pairs. The first value is a bus number (-1 for any I2C bus), 
      the second is the address. These addresses are also probed, as if they 
      were in the 'normal' list.
-   probe_range: insmod parameter. 
-     A list of triples. The first value is a bus number (-1 for any I2C bus), 
-     the second and third are addresses.  These form an inclusive range of 
-     addresses that are also probed, as if they were in the 'normal' list.
    ignore: insmod parameter.
      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. 
      This parameter overrules 'normal' and 'probe', but not the 'force' lists.
-   ignore_range: insmod parameter. 
-     A list of triples. The first value is a bus number (-1 for any I2C bus), 
-     the second and third are addresses. These form an inclusive range of 
-     I2C addresses that are never probed.
-     This parameter overrules 'normal' and 'probe', but not the 'force' lists.
    force: insmod parameter. 
      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 given address, no probing is done. 
 
-Fortunately, as a module writer, you just have to define the `normal' 
-and/or `normal_range' parameters. The complete declaration could look
-like this:
+Fortunately, as a module writer, you just have to define the `normal_i2c' 
+parameter. The complete declaration could look like this:
 
-  /* Scan 0x20 to 0x2f, 0x37, and 0x40 to 0x4f */
-  static unsigned short normal_i2c[] = { 0x37,I2C_CLIENT_END }; 
-  static unsigned short normal_i2c_range[] = { 0x20, 0x2f, 0x40, 0x4f, 
-                                               I2C_CLIENT_END };
+  /* Scan 0x37, and 0x48 to 0x4f */
+  static unsigned short normal_i2c[] = { 0x37, 0x48, 0x49, 0x4a, 0x4b, 0x4c,
+                                         0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
 
   /* Magic definition of all other variables and things */
   I2C_CLIENT_INSMOD;
 
-Note that you *have* to call the two defined variables `normal_i2c' and
-`normal_i2c_range', without any prefix!
+Note that you *have* to call the defined variable `normal_i2c',
+without any prefix!
 
 
 Probing classes (sensors)
@@ -223,39 +209,17 @@ 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.
      A list of I2C addresses which should normally be examined.
-   normal_i2c_range: filled in by the module writer. Terminated by 
-     SENSORS_I2C_END
-     A list of pairs of I2C addresses, each pair being an inclusive range of
-     addresses which should normally be examined.
    normal_isa: filled in by the module writer. Terminated by SENSORS_ISA_END.
      A list of ISA addresses which should normally be examined.
-   normal_isa_range: filled in by the module writer. Terminated by 
-     SENSORS_ISA_END
-     A list of triples. The first two elements are ISA addresses, being an
-     range of addresses which should normally be examined. The third is the
-     modulo parameter: only addresses which are 0 module this value relative
-     to the first address of the range are actually considered.
    probe: insmod parameter. Initialize this list with SENSORS_I2C_END values.
      A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for
      the ISA bus, -1 for any I2C bus), the second is the address. These
      addresses are also probed, as if they were in the 'normal' list.
-   probe_range: insmod parameter. Initialize this list with SENSORS_I2C_END 
-     values.
-     A list of triples. The first value is a bus number (SENSORS_ISA_BUS for
-     the ISA bus, -1 for any I2C bus), the second and third are addresses. 
-     These form an inclusive range of addresses that are also probed, as
-     if they were in the 'normal' list.
    ignore: insmod parameter. Initialize this list with SENSORS_I2C_END values.
      A list of pairs. The first value is a bus number (SENSORS_ISA_BUS for
      the ISA bus, -1 for any I2C bus), the second is the I2C address. These
      addresses are never probed. This parameter overrules 'normal' and 
      'probe', but not the 'force' lists.
-   ignore_range: insmod parameter. Initialize this list with SENSORS_I2C_END 
-      values.
-     A list of triples. The first value is a bus number (SENSORS_ISA_BUS for
-     the ISA bus, -1 for any I2C bus), the second and third are addresses. 
-     These form an inclusive range of I2C addresses that are never probed.
-     This parameter overrules 'normal' and 'probe', but not the 'force' lists.
 
 Also used is a list of pointers to sensors_force_data structures:
    force_data: insmod parameters. A list, ending with an element of which
@@ -269,16 +233,14 @@ Also used is a list of pointers to sensors_force_data structures:
 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' 
-and/or `normal_range' parameters, and define what chip names are used. 
+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:
-  /* Scan i2c addresses 0x20 to 0x2f, 0x37, and 0x40 to 0x4f
-  static unsigned short normal_i2c[] = {0x37,SENSORS_I2C_END};
-  static unsigned short normal_i2c_range[] = {0x20,0x2f,0x40,0x4f,
-                                              SENSORS_I2C_END};
+  /* 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};
-  static unsigned int normal_isa_range[] = {SENSORS_ISA_END};
 
   /* Define chips foo and bar, as well as all module parameters and things */
   SENSORS_INSMOD_2(foo,bar);
index ad7ae7ab8920434626690cd12a9c5be4c651547a..141b4c237a509dc9dab28fb105644b6ec5529859 100644 (file)
@@ -26,11 +26,8 @@ static unsigned short normal_addr[] = { 0x50, I2C_CLIENT_END };
 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_addr,
-       .normal_i2c_range       = ignore,
        .probe                  = ignore,
-       .probe_range            = ignore,
        .ignore                 = ignore,
-       .ignore_range           = ignore,
        .force                  = ignore,
 };
 
index 7f29a8aff1656792a46a75444dba89df70f05a91..354a262956725ebe8812908bf3a5341e593bc171 100644 (file)
@@ -145,7 +145,6 @@ static inline void notresponding(struct isp1301 *isp)
 static unsigned short normal_i2c[] = {
        ISP_BASE, ISP_BASE + 1,
        I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 I2C_CLIENT_INSMOD;
 
index e771566dffa8d6af6b926891ee8c90ee9b2d7af8..5e463c47bfbc70e66e8d23ab73a71aab193b31ee 100644 (file)
@@ -40,11 +40,8 @@ static unsigned short normal_addr[] = { 0x68, I2C_CLIENT_END };
 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_addr,
-       .normal_i2c_range       = ignore,
        .probe                  = ignore,
-       .probe_range            = ignore,
        .ignore                 = ignore,
-       .ignore_range           = ignore,
        .force                  = ignore,
 };
 
index 5a9deddb626b318bfd9a9dfd46708961fff480fa..30f553e73700a46ca91cb781ceabc029e66f8ff2 100644 (file)
@@ -66,11 +66,8 @@ static unsigned short normal_addr[] = { 0x51, I2C_CLIENT_END };
 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_addr,
-       .normal_i2c_range       = ignore,
        .probe                  = ignore,
-       .probe_range            = ignore,
        .ignore                 = ignore,
-       .ignore_range           = ignore,
        .force                  = ignore,
 };
 
index a22e53badacbe95efa5e0451be2b8236a8d60cc5..4cc8c9f7211c056aeee5fcb77ab255013d18251a 100644 (file)
@@ -742,18 +742,6 @@ int i2c_probe(struct i2c_adapter *adapter,
                                found = 1;
                        }
                }
-               for (i = 0;
-                    !found && (address_data->ignore_range[i] != I2C_CLIENT_END);
-                    i += 3) {
-                       if (((adap_id == address_data->ignore_range[i]) ||
-                           ((address_data->ignore_range[i]==ANY_I2C_BUS))) &&
-                           (addr >= address_data->ignore_range[i+1]) &&
-                           (addr <= address_data->ignore_range[i+2])) {
-                               dev_dbg(&adapter->dev, "found ignore_range parameter for adapter %d, "
-                                       "addr %04x\n", adap_id,addr);
-                               found = 1;
-                       }
-               }
                if (found) 
                        continue;
 
@@ -769,17 +757,6 @@ int i2c_probe(struct i2c_adapter *adapter,
                        }
                }
 
-               for (i = 0;
-                    !found && (address_data->normal_i2c_range[i] != I2C_CLIENT_END);
-                    i += 2) {
-                       if ((addr >= address_data->normal_i2c_range[i]) &&
-                           (addr <= address_data->normal_i2c_range[i+1])) {
-                               found = 1;
-                               dev_dbg(&adapter->dev, "found normal i2c_range entry for adapter %d, "
-                                       "addr %04x\n", adap_id,addr);
-                       }
-               }
-
                for (i = 0;
                     !found && (address_data->probe[i] != I2C_CLIENT_END);
                     i += 2) {
@@ -791,18 +768,6 @@ int i2c_probe(struct i2c_adapter *adapter,
                                        "addr %04x\n", adap_id,addr);
                        }
                }
-               for (i = 0;
-                    !found && (address_data->probe_range[i] != I2C_CLIENT_END);
-                    i += 3) {
-                       if (((adap_id == address_data->probe_range[i]) ||
-                          (address_data->probe_range[i] == ANY_I2C_BUS)) &&
-                          (addr >= address_data->probe_range[i+1]) &&
-                          (addr <= address_data->probe_range[i+2])) {
-                               found = 1;
-                               dev_dbg(&adapter->dev, "found probe_range parameter for adapter %d, "
-                                       "addr %04x\n", adap_id,addr);
-                       }
-               }
                if (!found) 
                        continue;
 
index 0bdb47f08c2afa97d73d71885e70ff6dca0e1769..61400f04015e3cf98ace62a085e55f996b885f90 100644 (file)
 static int                     do_probe( struct i2c_adapter *adapter, int addr, int kind);
 
 /* scan 0x48-0x4f (DS1775) and 0x2c-2x2f (ADM1030) */
-static unsigned short          normal_i2c[] = { 0x49, 0x2c, I2C_CLIENT_END };
-static unsigned short          normal_i2c_range[] = { 0x48, 0x4f, 0x2c, 0x2f, I2C_CLIENT_END };
+static unsigned short          normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b,
+                                                0x4c, 0x4d, 0x4e, 0x4f,
+                                                0x2c, 0x2d, 0x2e, 0x2f,
+                                                I2C_CLIENT_END };
 
 I2C_CLIENT_INSMOD;
 
index 80254caa444c9fc40bff4ebe3a8f4dd0bbf23878..e9bf3394296a49c33f03e63a5ef75c998d9efc6b 100644 (file)
@@ -384,21 +384,15 @@ static unsigned short normal_i2c[] =
        I2C_ADV7171 >> 1, (I2C_ADV7171 >> 1) + 1,
        I2C_CLIENT_END
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index 95d0974b0ab53497a6163d537ec3614cf082f495..2d5fa44fcd4d7c49c5b57b2ade9f7a783cc9c305 100644 (file)
@@ -434,21 +434,15 @@ static unsigned short normal_i2c[] =
        I2C_ADV7176 >> 1, (I2C_ADV7176 >> 1) + 1,
        I2C_CLIENT_END
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index cf0db2554a80d6632d8b87dcb3bf6650f8ebbe39..31d51851bb4450efea4c29eb486fc40ebaf7c3aa 100644 (file)
@@ -500,21 +500,15 @@ static unsigned short normal_i2c[] = {
        I2C_BT819 >> 1,
        I2C_CLIENT_END,
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index efe605a113a15fcfbb87db3f112ba70018068dfd..07f72f64c5f73c9776b44d1f09eac17a8c3c3e5d 100644 (file)
@@ -39,8 +39,8 @@
 MODULE_LICENSE("GPL");
 
 /* Addresses to scan */
-static unsigned short normal_i2c[] = {I2C_CLIENT_END};
-static unsigned short normal_i2c_range[] = {I2C_BT832_ALT1>>1,I2C_BT832_ALT2>>1,I2C_CLIENT_END};
+static unsigned short normal_i2c[] = { I2C_BT832_ALT1>>1, I2C_BT832_ALT2>>1,
+                                      I2C_CLIENT_END };
 I2C_CLIENT_INSMOD;
 
 /* ---------------------------------------------------------------------- */
index 72c7eb0f8c24f3f1d840fd3bad54c555d6eafdb7..59121a0ec8164ca5c6dad77722d0bf6be2f8b421 100644 (file)
@@ -288,21 +288,15 @@ bt856_command (struct i2c_client *client,
  * concerning the addresses: i2c wants 7 bit (without the r/w bit), so '>>1'
  */
 static unsigned short normal_i2c[] = { I2C_BT856 >> 1, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index 7fbb8581a87da7c13e580cdd14e40e67421e4d23..09464d624a6b40b8f4f70dd3de571a47cad314ff 100644 (file)
@@ -147,7 +147,6 @@ static unsigned short normal_i2c[] = {
        I2C_MSP3400C_ALT  >> 1,
        I2C_CLIENT_END
 };
-static unsigned short normal_i2c_range[] = {I2C_CLIENT_END,I2C_CLIENT_END};
 I2C_CLIENT_INSMOD;
 
 /* ----------------------------------------------------------------------- */
index ba69f09cbdd1f93e3bd6614b6b24072dad91e773..b8054da31ffd2f2036aa209acfe8bb5bdf43ed67 100644 (file)
@@ -64,7 +64,6 @@ static struct video_device saa_template;      /* Declared near bottom */
 
 /* Addresses to scan */
 static unsigned short normal_i2c[]      = { I2C_ADDRESS, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 I2C_CLIENT_INSMOD;
 
 static struct i2c_client client_template;
index d74caa139f0a733d190bb8cf8897bc82dc40d0bc..7ffa2e9a9bf3b78d2c66af08d11460d240cbf761 100644 (file)
@@ -132,7 +132,6 @@ static struct video_device saa_template;    /* Declared near bottom */
 
 /* Addresses to scan */
 static unsigned short normal_i2c[] = {34>>1,I2C_CLIENT_END};
-static unsigned short normal_i2c_range[] = {I2C_CLIENT_END};
 I2C_CLIENT_INSMOD;
 
 static struct i2c_client client_template;
index 64273b4385303e62e6f43fc1f8acfe6892d202db..90b0a0b34f388db86ed92778523e5ea03097bedc 100644 (file)
@@ -463,21 +463,15 @@ static unsigned short normal_i2c[] = {
        (I2C_SAA7110 >> 1) + 1,
        I2C_CLIENT_END
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index 0a873112ae23db9a0a82a69056a1f733eb32f015..e305a89f7cd757078e229c4d9f55d39ea65127a8 100644 (file)
@@ -482,21 +482,15 @@ saa7111_command (struct i2c_client *client,
  * concerning the addresses: i2c wants 7 bit (without the r/w bit), so '>>1'
  */
 static unsigned short normal_i2c[] = { I2C_SAA7111 >> 1, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index e73023695e58593659c01e52831f353e0fd4f2bd..1ca4e70fed766c54a52230aeac3d2b94b59b71bf 100644 (file)
@@ -820,21 +820,15 @@ saa7114_command (struct i2c_client *client,
  */
 static unsigned short normal_i2c[] =
     { I2C_SAA7114 >> 1, I2C_SAA7114A >> 1, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index 1db0226829806af405a786df5d0ae5e20f4beee7..42c2b565c9fed172168652142757e729e724517f 100644 (file)
@@ -22,7 +22,6 @@
 
 /* Addresses to scan */
 static unsigned short normal_i2c[] = {0x20, I2C_CLIENT_END};
-static unsigned short normal_i2c_range[] = {I2C_CLIENT_END};
 I2C_CLIENT_INSMOD;
 
 MODULE_DESCRIPTION("device driver for saa6752hs MPEG2 encoder");
index 5f0b224c3cb63718baad675ab50e59e1be3d8064..5c623fadc8fe69e797380f23508070c9751168a8 100644 (file)
@@ -380,21 +380,15 @@ saa7185_command (struct i2c_client *client,
  * concerning the addresses: i2c wants 7 bit (without the r/w bit), so '>>1'
  */
 static unsigned short normal_i2c[] = { I2C_SAA7185 >> 1, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index 376a4a439e9b52eaf729951e33b96cc09f2a53c9..07ba6d3ed08c861e8c316d4becc84c93600637e8 100644 (file)
@@ -74,7 +74,6 @@ static unsigned short normal_i2c[] = {
        I2C_TDA7432 >> 1,
        I2C_CLIENT_END,
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END, I2C_CLIENT_END };
 I2C_CLIENT_INSMOD;
 
 /* Structure of address and subaddresses for the tda7432 */
index b5177c6f54f6a3349a25015f48d3ef01eb3e7eb6..c29bdfc3244e8f2562e9744d5f8d508f89a4b525 100644 (file)
@@ -43,7 +43,6 @@ MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
 
 /* addresses to scan, found only at 0x42 (7-Bit) */
 static unsigned short normal_i2c[] = { I2C_TDA9840, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 /* magic definition of all other variables and things */
 I2C_CLIENT_INSMOD;
index 4f1114c033a11d9d891f63c500e918ca32e15bbb..97b113e070f3c549179e31ff0ab719c6450d44f1 100644 (file)
@@ -44,7 +44,6 @@ static unsigned short normal_i2c[] =  {
     I2C_TDA9875 >> 1,
     I2C_CLIENT_END
 };
-static unsigned short normal_i2c_range[] = {I2C_CLIENT_END};
 I2C_CLIENT_INSMOD;
 
 /* This is a superset of the TDA9875 */
index debef1910c3741077b1b3e049f8163c866c92fdd..7e6e6dd966a2f0de9aa00002c87edbed158bce36 100644 (file)
@@ -33,7 +33,6 @@ static unsigned short normal_i2c[] = {
        0x96 >>1,
        I2C_CLIENT_END,
 };
-static unsigned short normal_i2c_range[] = {I2C_CLIENT_END,I2C_CLIENT_END};
 I2C_CLIENT_INSMOD;
 
 /* insmod options */
index 3ec39550bf467a6ba1f75552d4cc6b7862754f8e..b44db8a7b94dfed4ca0e6e3c1acd03ad9c4465d0 100644 (file)
@@ -43,7 +43,6 @@ MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
 
 /* addresses to scan, found only at 0x03 and/or 0x43 (7-bit) */
 static unsigned short normal_i2c[] = { I2C_TEA6415C_1, I2C_TEA6415C_2, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 /* magic definition of all other variables and things */
 I2C_CLIENT_INSMOD;
index bd10710fd909af23b72cfb4c01c01fe1c0c04f50..48d4db7d507b1d77b14429abae83d2960bb1a9a9 100644 (file)
@@ -40,7 +40,6 @@ MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
 
 /* addresses to scan, found only at 0x4c and/or 0x4d (7-Bit) */
 static unsigned short normal_i2c[] = { I2C_TEA6420_1, I2C_TEA6420_2, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 /* magic definition of all other variables and things */
 I2C_CLIENT_INSMOD;
index 6b20aa902a8f69b41422feee7982aa84f72e20bc..bedb15e2f23366e405848bf402f4621777510f8d 100644 (file)
@@ -34,19 +34,16 @@ static int this_adap;
 static struct i2c_client client_template;
 
 /* Addresses to scan */
-static unsigned short normal_i2c[] = {I2C_CLIENT_END};
-static unsigned short normal_i2c_range[] = {0x60, 0x61, I2C_CLIENT_END};
+static unsigned short normal_i2c[] = { 0x60, 0x61, I2C_CLIENT_END };
 static unsigned short probe[2]        = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2]  = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2]       = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2]        = { I2C_CLIENT_END, I2C_CLIENT_END };
 
 static struct i2c_client_address_data addr_data = {
-       normal_i2c, normal_i2c_range, 
-       probe, probe_range, 
-       ignore, ignore_range, 
-       force
+       .normal_i2c     = normal_i2c,
+       .probe          = probe,
+       .ignore         = ignore,
+       .force          = force,
 };
 
 /* ---------------------------------------------------------------------- */
index 6212388edb75b0035b19761eb00bfec503b0a4ce..81882ddab859dd52c3db6ecfbfeac5c228b6a97f 100644 (file)
 /* standard i2c insmod options */
 static unsigned short normal_i2c[] = {
        0x4b, /* tda8290 */
-       I2C_CLIENT_END
-};
-static unsigned short normal_i2c_range[] = {
-       0x60, 0x6f,
+       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
+       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
        I2C_CLIENT_END
 };
 I2C_CLIENT_INSMOD;
@@ -225,9 +223,8 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind)
 static int tuner_probe(struct i2c_adapter *adap)
 {
        if (0 != addr) {
-               normal_i2c[0]       = addr;
-               normal_i2c_range[0] = addr;
-               normal_i2c_range[1] = addr;
+               normal_i2c[0] = addr;
+               normal_i2c[1] = I2C_CLIENT_END;
        }
        this_adap = 0;
 
index 80dc34f18c2c86196fa8c17b2afc4fc22540b69e..41b635e0d3c6a5b6d758e1b7254acd8995b0baeb 100644 (file)
@@ -148,7 +148,6 @@ static unsigned short normal_i2c[] = {
        I2C_TDA9874   >> 1,
        I2C_PIC16C54  >> 1,
        I2C_CLIENT_END };
-static unsigned short normal_i2c_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 I2C_CLIENT_INSMOD;
 
 static struct i2c_driver driver;
index e1443a0937e3c8cb5679515ca3284ee3f5258698..3d216973798c6755353d6f8d17aa31f1b112c54c 100644 (file)
@@ -482,7 +482,6 @@ static unsigned short normal_i2c[] = {
        0xa0 >> 1,
        I2C_CLIENT_END,
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 I2C_CLIENT_INSMOD;
 
 struct i2c_driver i2c_driver_tveeprom;
index 0fd6c9a709179b845c59730e9e5d399daf8e0f19..b97036910fa94ad6d237cf10061eb6a801c4193f 100644 (file)
@@ -569,21 +569,15 @@ static unsigned short normal_i2c[] =
     { I2C_VPX3220 >> 1, (I2C_VPX3220 >> 1) + 4,
        I2C_CLIENT_END
 };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
 
 static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short probe_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore_range[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
 static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .normal_i2c_range       = normal_i2c_range,
        .probe                  = probe,
-       .probe_range            = probe_range,
        .ignore                 = ignore,
-       .ignore_range           = ignore_range,
        .force                  = force
 };
 
index e529841cd83d2823899998bcc61b3c9bee79d81c..67f85344f0cc3d3e70edd617e76080788ddfef04 100644 (file)
@@ -1230,7 +1230,6 @@ static int maven_shutdown_client(struct i2c_client* clnt) {
 }
 
 static unsigned short normal_i2c[] = { MAVEN_I2CID, I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { MAVEN_I2CID, MAVEN_I2CID, I2C_CLIENT_END };
 I2C_CLIENT_INSMOD;
 
 static struct i2c_driver maven_driver;
index ebcd745f4cd6f730702b5f00821d5d6448ce12e6..be837b13f2978d027156ee7459c8453da6cdee15 100644 (file)
@@ -290,11 +290,8 @@ static inline void i2c_set_adapdata (struct i2c_adapter *dev, void *data)
  */
 struct i2c_client_address_data {
        unsigned short *normal_i2c;
-       unsigned short *normal_i2c_range;
        unsigned short *probe;
-       unsigned short *probe_range;
        unsigned short *ignore;
-       unsigned short *ignore_range;
        unsigned short *force;
 };
 
@@ -563,24 +560,15 @@ union i2c_smbus_data {
 #define I2C_CLIENT_INSMOD \
   I2C_CLIENT_MODULE_PARM(probe, \
                       "List of adapter,address pairs to scan additionally"); \
-  I2C_CLIENT_MODULE_PARM(probe_range, \
-                      "List of adapter,start-addr,end-addr triples to scan " \
-                      "additionally"); \
   I2C_CLIENT_MODULE_PARM(ignore, \
                       "List of adapter,address pairs not to scan"); \
-  I2C_CLIENT_MODULE_PARM(ignore_range, \
-                      "List of adapter,start-addr,end-addr triples not to " \
-                      "scan"); \
   I2C_CLIENT_MODULE_PARM(force, \
                       "List of adapter,address pairs to boldly assume " \
                       "to be present"); \
        static struct i2c_client_address_data addr_data = {             \
                        .normal_i2c =           normal_i2c,             \
-                       .normal_i2c_range =     normal_i2c_range,       \
                        .probe =                probe,                  \
-                       .probe_range =          probe_range,            \
                        .ignore =               ignore,                 \
-                       .ignore_range =         ignore_range,           \
                        .force =                force,                  \
                }