Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68cc9d0b authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman
Browse files

[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: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarGreg 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
parent b3d5496e
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -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;
+4 −6
Original line number Diff line number Diff line
@@ -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;
+4 −6
Original line number Diff line number Diff line
@@ -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;
+4 −6
Original line number Diff line number Diff line
@@ -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;
+4 −6
Original line number Diff line number Diff line
@@ -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;
Loading