[PATCH] I2C: Merge unused address lists in some video drivers
authorJean Delvare <khali@linux-fr.org>
Sat, 2 Apr 2005 18:04:41 +0000 (20:04 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 22 Jun 2005 04:51:49 +0000 (21:51 -0700)
On top of my previous patch which removes the use of address ranges in
video i2c drivers, this one can save an additional few bytes of memory.
Most of these drivers which do not use I2C_CLIENT_INSMOD initialize the
unused address lists in a less than optimal way. This patch simply
optimizes this, by using a single one-element list instead of 3
different lists with two elements each.

This saves an average 63 bytes on these drivers.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff -ruN linux-2.6.12-rc1-bk5.orig/drivers/media/video/adv7170.c linux-2.6.12-rc1-bk5/drivers/media/video/adv7170.c

drivers/media/video/adv7170.c
drivers/media/video/adv7175.c
drivers/media/video/bt819.c
drivers/media/video/bt856.c
drivers/media/video/saa7110.c
drivers/media/video/saa7111.c
drivers/media/video/saa7114.c
drivers/media/video/saa7185.c
drivers/media/video/tuner-3036.c
drivers/media/video/vpx3220.c

index e9bf3394296a49c33f03e63a5ef75c998d9efc6b..48989eda2400a120e5fea0a7e74bc500309d10e5 100644 (file)
@@ -385,15 +385,13 @@ static unsigned short normal_i2c[] =
        I2C_CLIENT_END
 };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_adv7170;
index 2d5fa44fcd4d7c49c5b57b2ade9f7a783cc9c305..f898b65863741162d6269cf062d625e51660d3be 100644 (file)
@@ -435,15 +435,13 @@ static unsigned short normal_i2c[] =
        I2C_CLIENT_END
 };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_adv7175;
index 31d51851bb4450efea4c29eb486fc40ebaf7c3aa..8733588f6db3db1905628cc1ba99a4c62c51ec9e 100644 (file)
@@ -501,15 +501,13 @@ static unsigned short normal_i2c[] = {
        I2C_CLIENT_END,
 };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_bt819;
index 59121a0ec8164ca5c6dad77722d0bf6be2f8b421..a5d529ccf3ad174fb1aead3cac87e48f03dcebd2 100644 (file)
@@ -289,15 +289,13 @@ bt856_command (struct i2c_client *client,
  */
 static unsigned short normal_i2c[] = { I2C_BT856 >> 1, I2C_CLIENT_END };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_bt856;
index 90b0a0b34f388db86ed92778523e5ea03097bedc..22d055d8a695591d04b65107a6034488c462dcb5 100644 (file)
@@ -464,15 +464,13 @@ static unsigned short normal_i2c[] = {
        I2C_CLIENT_END
 };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_saa7110;
index e305a89f7cd757078e229c4d9f55d39ea65127a8..fcd897382fcfc0fe5dc1271db95a6ae0079634ca 100644 (file)
@@ -483,15 +483,13 @@ saa7111_command (struct i2c_client *client,
  */
 static unsigned short normal_i2c[] = { I2C_SAA7111 >> 1, I2C_CLIENT_END };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_saa7111;
index 1ca4e70fed766c54a52230aeac3d2b94b59b71bf..2ba997f5ef1d50c20a785eadc3a2bfba2f3779f8 100644 (file)
@@ -821,15 +821,13 @@ saa7114_command (struct i2c_client *client,
 static unsigned short normal_i2c[] =
     { I2C_SAA7114 >> 1, I2C_SAA7114A >> 1, I2C_CLIENT_END };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_saa7114;
index 5c623fadc8fe69e797380f23508070c9751168a8..108e7a4a02734dbd9d1e803a0a40ab5ac2ad3691 100644 (file)
@@ -381,15 +381,13 @@ saa7185_command (struct i2c_client *client,
  */
 static unsigned short normal_i2c[] = { I2C_SAA7185 >> 1, I2C_CLIENT_END };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver i2c_driver_saa7185;
index bedb15e2f23366e405848bf402f4621777510f8d..51748c6578d1f83a97055bcb5417c1878eb6cb48 100644 (file)
@@ -35,15 +35,13 @@ static struct i2c_client client_template;
 
 /* Addresses to scan */
 static unsigned short normal_i2c[] = { 0x60, 0x61, I2C_CLIENT_END };
-static unsigned short probe[2]        = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2]       = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2]        = { I2C_CLIENT_END, I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c     = normal_i2c,
-       .probe          = probe,
-       .ignore         = ignore,
-       .force          = force,
+       .probe          = &ignore,
+       .ignore         = &ignore,
+       .force          = &ignore,
 };
 
 /* ---------------------------------------------------------------------- */
index b97036910fa94ad6d237cf10061eb6a801c4193f..5dbd9f6bf353b4730309411e514a4ba0c77a6a54 100644 (file)
@@ -570,15 +570,13 @@ static unsigned short normal_i2c[] =
        I2C_CLIENT_END
 };
 
-static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
-static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
+static unsigned short ignore = I2C_CLIENT_END;
                                                                                 
 static struct i2c_client_address_data addr_data = {
        .normal_i2c             = normal_i2c,
-       .probe                  = probe,
-       .ignore                 = ignore,
-       .force                  = force
+       .probe                  = &ignore,
+       .ignore                 = &ignore,
+       .force                  = &ignore,
 };
 
 static struct i2c_driver vpx3220_i2c_driver;