public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, sensors@Stimpy.netroedge.com
Cc: khali@linux-fr.org
Subject: [PATCH] I2C: Merge unused address lists in some video drivers
Date: Tue, 21 Jun 2005 22:17:41 -0700	[thread overview]
Message-ID: <1119417461139@kroah.com> (raw)
In-Reply-To: <1119417461270@kroah.com>

[PATCH] I2C: Merge unused address lists in some video drivers

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

---
commit 68cc9d0b714d7d533c0cfc257a62f7f7f4f22a11
tree 616ee332d4a489598141512cbc01f591e1e84dec
parent b3d5496ea5915fa4848fe307af9f7097f312e932
author Jean Delvare <khali@linux-fr.org> Sat, 02 Apr 2005 20:04:41 +0200
committer Greg Kroah-Hartman <gregkh@suse.de> Tue, 21 Jun 2005 21:51:49 -0700

 drivers/media/video/adv7170.c    |   10 ++++------
 drivers/media/video/adv7175.c    |   10 ++++------
 drivers/media/video/bt819.c      |   10 ++++------
 drivers/media/video/bt856.c      |   10 ++++------
 drivers/media/video/saa7110.c    |   10 ++++------
 drivers/media/video/saa7111.c    |   10 ++++------
 drivers/media/video/saa7114.c    |   10 ++++------
 drivers/media/video/saa7185.c    |   10 ++++------
 drivers/media/video/tuner-3036.c |   10 ++++------
 drivers/media/video/vpx3220.c    |   10 ++++------
 10 files changed, 40 insertions(+), 60 deletions(-)

diff --git a/drivers/media/video/adv7170.c b/drivers/media/video/adv7170.c
--- a/drivers/media/video/adv7170.c
+++ b/drivers/media/video/adv7170.c
@@ -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;
diff --git a/drivers/media/video/adv7175.c b/drivers/media/video/adv7175.c
--- a/drivers/media/video/adv7175.c
+++ b/drivers/media/video/adv7175.c
@@ -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;
diff --git a/drivers/media/video/bt819.c b/drivers/media/video/bt819.c
--- a/drivers/media/video/bt819.c
+++ b/drivers/media/video/bt819.c
@@ -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;
diff --git a/drivers/media/video/bt856.c b/drivers/media/video/bt856.c
--- a/drivers/media/video/bt856.c
+++ b/drivers/media/video/bt856.c
@@ -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;
diff --git a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
--- a/drivers/media/video/saa7110.c
+++ b/drivers/media/video/saa7110.c
@@ -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;
diff --git a/drivers/media/video/saa7111.c b/drivers/media/video/saa7111.c
--- a/drivers/media/video/saa7111.c
+++ b/drivers/media/video/saa7111.c
@@ -483,15 +483,13 @@ saa7111_command (struct i2c_client *clie
  */
 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;
diff --git a/drivers/media/video/saa7114.c b/drivers/media/video/saa7114.c
--- a/drivers/media/video/saa7114.c
+++ b/drivers/media/video/saa7114.c
@@ -821,15 +821,13 @@ saa7114_command (struct i2c_client *clie
 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;
diff --git a/drivers/media/video/saa7185.c b/drivers/media/video/saa7185.c
--- a/drivers/media/video/saa7185.c
+++ b/drivers/media/video/saa7185.c
@@ -381,15 +381,13 @@ saa7185_command (struct i2c_client *clie
  */
 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;
diff --git a/drivers/media/video/tuner-3036.c b/drivers/media/video/tuner-3036.c
--- a/drivers/media/video/tuner-3036.c
+++ b/drivers/media/video/tuner-3036.c
@@ -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,
 };
 
 /* ---------------------------------------------------------------------- */
diff --git a/drivers/media/video/vpx3220.c b/drivers/media/video/vpx3220.c
--- a/drivers/media/video/vpx3220.c
+++ b/drivers/media/video/vpx3220.c
@@ -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;


  reply	other threads:[~2005-06-22  7:02 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-22  5:16 [GIT PATCH] I2C patches for 2.6.12 Greg KH
2005-06-22  5:17 ` [PATCH] I2C: Kill address ranges in non-sensors i2c chip drivers Greg KH
2005-06-22  5:17   ` [PATCH] I2C: i2c-vid.h: Support for VID to reg conversion Greg KH
2005-06-22  5:17     ` Greg KH [this message]
2005-06-22  5:17       ` [PATCH] I2C: rtc8564.c remove duplicate include Greg KH
2005-06-22  5:17         ` [PATCH] I2C: ds1337 1/4 Greg KH
2005-06-22  5:17           ` [PATCH] I2C: mark all functions static in atxp1 driver Greg KH
2005-06-22  5:17             ` [PATCH] I2C: add new " Greg KH
2005-06-22  5:17               ` [PATCH] I2C: ds1337: i2c_transfer() checking Greg KH
2005-06-22  5:17                 ` [PATCH] I2C: ds1337: Make time format consistent with other RTC drivers Greg KH
2005-06-22  5:17                   ` [PATCH] I2C: ds1337 2/4 Greg KH
2005-06-22  5:17                     ` [PATCH] I2C: ds1337 3/4 Greg KH
2005-06-22  5:17                       ` [PATCH] I2C: ds1337: search by bus number Greg KH
2005-06-22  5:17                         ` [PATCH] ds1337 driver works also with ds1339 chip Greg KH
2005-06-22  5:17                           ` [PATCH] ds1337: export ds1337_do_command Greg KH
2005-06-22  5:17                             ` [PATCH] I2C: add new hardware monitor driver: adm9240 Greg KH
2005-06-22  5:17                               ` [PATCH] I2C: #include <linux/config.h> cleanup Greg KH
2005-06-22  5:17                                 ` [PATCH] I2C: drivers/i2c/*: " Greg KH
2005-06-22  5:17                                   ` [PATCH] I2C: New hardware monitoring driver: w83627ehf Greg KH
2005-06-22  5:17                                     ` [PATCH] I2C: Fix bugs in the new w83627ehf driver Greg KH
2005-06-22  5:17                                       ` [PATCH] I2C: Add support for the LPC47M15x and LPC47M192 chips to smsc47m1 Greg KH
2005-06-22  5:17                                         ` [PATCH] I2C: Allow for sharing of the interrupt line for i2c-mpc.c Greg KH
2005-06-22  5:17                                           ` [PATCH] Spelling fixes for drivers/i2c Greg KH
2005-06-22  5:17                                             ` [PATCH] I2C: Remove redundancy from i2c-core.c Greg KH
2005-06-22  5:17                                               ` [PATCH] I2C: sysfs names: rename to cpu0_vid, take 3 Greg KH
2005-06-22  5:17                                                 ` [PATCH] I2C: Setting w83627hf fan divisor 128 fails Greg KH
2005-06-22  5:17                                                   ` [PATCH] I2C: remove <linux/delay.h> from via686a Greg KH
2005-06-22  5:17                                                     ` [PATCH] I2C: Kill common macro abuse in chip drivers Greg KH
2005-06-22  5:17                                                       ` [PATCH] I2C: adm9240 driver cleanup Greg KH
2005-06-22  5:17                                                         ` [PATCH] I2C: include of jiffies.h for some i2c drivers Greg KH
2005-06-22  5:17                                                           ` [PATCH] I2C: chips/Kconfig corrections Greg KH
2005-06-22  5:17                                                             ` [PATCH] I2C: driver adm1021: remove die_code Greg KH
2005-06-22  5:17                                                               ` [PATCH] I2C: Coding style cleanups to via686a Greg KH
2005-06-22  5:17                                                                 ` [PATCH] I2C: Spelling fixes for drivers/i2c/algos/i2c-algo-pca.c Greg KH
2005-06-22  5:17                                                                   ` [PATCH] I2C: Kill another macro abuse in via686a Greg KH
2005-06-22  5:17                                                                     ` [PATCH] I2C: fix up some sysfs device attribute file parameters Greg KH
2005-06-22  5:17                                                                       ` [PATCH] I2C: Spelling fixes for drivers/i2c/busses/i2c-parport.c Greg KH
2005-06-22  5:17                                                                         ` [PATCH] I2C: Spelling fixes for drivers/i2c/i2c-core.c Greg KH
2005-06-22  5:17                                                                           ` [PATCH] I2C: Spelling fixes for drivers/i2c/i2c-dev.c Greg KH
2005-06-22  5:17                                                                             ` [PATCH] I2C: add i2c driver for TPS6501x Greg KH
2005-06-22  5:17                                                                               ` [PATCH] i2c: Race fix for i2c-mpc.c Greg KH
2005-06-22  5:17                                                                                 ` [PATCH] I2C: Sensors mailing list has moved Greg KH
2005-06-22  5:17                                                                                   ` [PATCH] I2C: documentation update 1/3 Greg KH
2005-06-22  5:17                                                                                     ` [PATCH] I2C: KConfig update - some EXPERIMENTAL removal Greg KH
2005-06-23 21:12                                                                               ` [PATCH] I2C: add i2c driver for TPS6501x Jean Delvare
2005-06-22  7:37                                               ` [PATCH] I2C: Remove redundancy from i2c-core.c Thomas Schneller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1119417461139@kroah.com \
    --to=gregkh@suse.de \
    --cc=greg@kroah.com \
    --cc=khali@linux-fr.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sensors@Stimpy.netroedge.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox