Skip to content

Commit

Permalink
[PATCH] I2C: Merge unused address lists in some video drivers
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Jean Delvare authored and Greg Kroah-Hartman committed Jun 22, 2005
1 parent b3d5496 commit 68cc9d0
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 60 deletions.
10 changes: 4 additions & 6 deletions drivers/media/video/adv7170.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/adv7175.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/bt819.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/bt856.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/saa7110.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/saa7111.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/saa7114.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/saa7185.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/tuner-3036.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};

/* ---------------------------------------------------------------------- */
Expand Down
10 changes: 4 additions & 6 deletions drivers/media/video/vpx3220.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 68cc9d0

Please sign in to comment.