aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2005-04-02 13:04:41 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2005-06-22 00:51:49 -0400
commit68cc9d0b714d7d533c0cfc257a62f7f7f4f22a11 (patch)
tree616ee332d4a489598141512cbc01f591e1e84dec
parentb3d5496ea5915fa4848fe307af9f7097f312e932 (diff)
[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
-rw-r--r--drivers/media/video/adv7170.c10
-rw-r--r--drivers/media/video/adv7175.c10
-rw-r--r--drivers/media/video/bt819.c10
-rw-r--r--drivers/media/video/bt856.c10
-rw-r--r--drivers/media/video/saa7110.c10
-rw-r--r--drivers/media/video/saa7111.c10
-rw-r--r--drivers/media/video/saa7114.c10
-rw-r--r--drivers/media/video/saa7185.c10
-rw-r--r--drivers/media/video/tuner-3036.c10
-rw-r--r--drivers/media/video/vpx3220.c10
10 files changed, 40 insertions, 60 deletions
diff --git a/drivers/media/video/adv7170.c b/drivers/media/video/adv7170.c
index e9bf3394296a..48989eda2400 100644
--- a/drivers/media/video/adv7170.c
+++ b/drivers/media/video/adv7170.c
@@ -385,15 +385,13 @@ static unsigned short normal_i2c[] =
385 I2C_CLIENT_END 385 I2C_CLIENT_END
386}; 386};
387 387
388static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 388static unsigned short ignore = I2C_CLIENT_END;
389static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
390static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
391 389
392static struct i2c_client_address_data addr_data = { 390static struct i2c_client_address_data addr_data = {
393 .normal_i2c = normal_i2c, 391 .normal_i2c = normal_i2c,
394 .probe = probe, 392 .probe = &ignore,
395 .ignore = ignore, 393 .ignore = &ignore,
396 .force = force 394 .force = &ignore,
397}; 395};
398 396
399static struct i2c_driver i2c_driver_adv7170; 397static struct i2c_driver i2c_driver_adv7170;
diff --git a/drivers/media/video/adv7175.c b/drivers/media/video/adv7175.c
index 2d5fa44fcd4d..f898b6586374 100644
--- a/drivers/media/video/adv7175.c
+++ b/drivers/media/video/adv7175.c
@@ -435,15 +435,13 @@ static unsigned short normal_i2c[] =
435 I2C_CLIENT_END 435 I2C_CLIENT_END
436}; 436};
437 437
438static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 438static unsigned short ignore = I2C_CLIENT_END;
439static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
440static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
441 439
442static struct i2c_client_address_data addr_data = { 440static struct i2c_client_address_data addr_data = {
443 .normal_i2c = normal_i2c, 441 .normal_i2c = normal_i2c,
444 .probe = probe, 442 .probe = &ignore,
445 .ignore = ignore, 443 .ignore = &ignore,
446 .force = force 444 .force = &ignore,
447}; 445};
448 446
449static struct i2c_driver i2c_driver_adv7175; 447static struct i2c_driver i2c_driver_adv7175;
diff --git a/drivers/media/video/bt819.c b/drivers/media/video/bt819.c
index 31d51851bb44..8733588f6db3 100644
--- a/drivers/media/video/bt819.c
+++ b/drivers/media/video/bt819.c
@@ -501,15 +501,13 @@ static unsigned short normal_i2c[] = {
501 I2C_CLIENT_END, 501 I2C_CLIENT_END,
502}; 502};
503 503
504static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 504static unsigned short ignore = I2C_CLIENT_END;
505static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
506static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
507 505
508static struct i2c_client_address_data addr_data = { 506static struct i2c_client_address_data addr_data = {
509 .normal_i2c = normal_i2c, 507 .normal_i2c = normal_i2c,
510 .probe = probe, 508 .probe = &ignore,
511 .ignore = ignore, 509 .ignore = &ignore,
512 .force = force 510 .force = &ignore,
513}; 511};
514 512
515static struct i2c_driver i2c_driver_bt819; 513static struct i2c_driver i2c_driver_bt819;
diff --git a/drivers/media/video/bt856.c b/drivers/media/video/bt856.c
index 59121a0ec816..a5d529ccf3ad 100644
--- a/drivers/media/video/bt856.c
+++ b/drivers/media/video/bt856.c
@@ -289,15 +289,13 @@ bt856_command (struct i2c_client *client,
289 */ 289 */
290static unsigned short normal_i2c[] = { I2C_BT856 >> 1, I2C_CLIENT_END }; 290static unsigned short normal_i2c[] = { I2C_BT856 >> 1, I2C_CLIENT_END };
291 291
292static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 292static unsigned short ignore = I2C_CLIENT_END;
293static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
294static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
295 293
296static struct i2c_client_address_data addr_data = { 294static struct i2c_client_address_data addr_data = {
297 .normal_i2c = normal_i2c, 295 .normal_i2c = normal_i2c,
298 .probe = probe, 296 .probe = &ignore,
299 .ignore = ignore, 297 .ignore = &ignore,
300 .force = force 298 .force = &ignore,
301}; 299};
302 300
303static struct i2c_driver i2c_driver_bt856; 301static struct i2c_driver i2c_driver_bt856;
diff --git a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
index 90b0a0b34f38..22d055d8a695 100644
--- a/drivers/media/video/saa7110.c
+++ b/drivers/media/video/saa7110.c
@@ -464,15 +464,13 @@ static unsigned short normal_i2c[] = {
464 I2C_CLIENT_END 464 I2C_CLIENT_END
465}; 465};
466 466
467static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 467static unsigned short ignore = I2C_CLIENT_END;
468static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
469static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
470 468
471static struct i2c_client_address_data addr_data = { 469static struct i2c_client_address_data addr_data = {
472 .normal_i2c = normal_i2c, 470 .normal_i2c = normal_i2c,
473 .probe = probe, 471 .probe = &ignore,
474 .ignore = ignore, 472 .ignore = &ignore,
475 .force = force 473 .force = &ignore,
476}; 474};
477 475
478static struct i2c_driver i2c_driver_saa7110; 476static struct i2c_driver i2c_driver_saa7110;
diff --git a/drivers/media/video/saa7111.c b/drivers/media/video/saa7111.c
index e305a89f7cd7..fcd897382fcf 100644
--- a/drivers/media/video/saa7111.c
+++ b/drivers/media/video/saa7111.c
@@ -483,15 +483,13 @@ saa7111_command (struct i2c_client *client,
483 */ 483 */
484static unsigned short normal_i2c[] = { I2C_SAA7111 >> 1, I2C_CLIENT_END }; 484static unsigned short normal_i2c[] = { I2C_SAA7111 >> 1, I2C_CLIENT_END };
485 485
486static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 486static unsigned short ignore = I2C_CLIENT_END;
487static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
488static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
489 487
490static struct i2c_client_address_data addr_data = { 488static struct i2c_client_address_data addr_data = {
491 .normal_i2c = normal_i2c, 489 .normal_i2c = normal_i2c,
492 .probe = probe, 490 .probe = &ignore,
493 .ignore = ignore, 491 .ignore = &ignore,
494 .force = force 492 .force = &ignore,
495}; 493};
496 494
497static struct i2c_driver i2c_driver_saa7111; 495static struct i2c_driver i2c_driver_saa7111;
diff --git a/drivers/media/video/saa7114.c b/drivers/media/video/saa7114.c
index 1ca4e70fed76..2ba997f5ef1d 100644
--- a/drivers/media/video/saa7114.c
+++ b/drivers/media/video/saa7114.c
@@ -821,15 +821,13 @@ saa7114_command (struct i2c_client *client,
821static unsigned short normal_i2c[] = 821static unsigned short normal_i2c[] =
822 { I2C_SAA7114 >> 1, I2C_SAA7114A >> 1, I2C_CLIENT_END }; 822 { I2C_SAA7114 >> 1, I2C_SAA7114A >> 1, I2C_CLIENT_END };
823 823
824static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 824static unsigned short ignore = I2C_CLIENT_END;
825static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
826static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
827 825
828static struct i2c_client_address_data addr_data = { 826static struct i2c_client_address_data addr_data = {
829 .normal_i2c = normal_i2c, 827 .normal_i2c = normal_i2c,
830 .probe = probe, 828 .probe = &ignore,
831 .ignore = ignore, 829 .ignore = &ignore,
832 .force = force 830 .force = &ignore,
833}; 831};
834 832
835static struct i2c_driver i2c_driver_saa7114; 833static struct i2c_driver i2c_driver_saa7114;
diff --git a/drivers/media/video/saa7185.c b/drivers/media/video/saa7185.c
index 5c623fadc8fe..108e7a4a0273 100644
--- a/drivers/media/video/saa7185.c
+++ b/drivers/media/video/saa7185.c
@@ -381,15 +381,13 @@ saa7185_command (struct i2c_client *client,
381 */ 381 */
382static unsigned short normal_i2c[] = { I2C_SAA7185 >> 1, I2C_CLIENT_END }; 382static unsigned short normal_i2c[] = { I2C_SAA7185 >> 1, I2C_CLIENT_END };
383 383
384static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 384static unsigned short ignore = I2C_CLIENT_END;
385static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
386static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
387 385
388static struct i2c_client_address_data addr_data = { 386static struct i2c_client_address_data addr_data = {
389 .normal_i2c = normal_i2c, 387 .normal_i2c = normal_i2c,
390 .probe = probe, 388 .probe = &ignore,
391 .ignore = ignore, 389 .ignore = &ignore,
392 .force = force 390 .force = &ignore,
393}; 391};
394 392
395static struct i2c_driver i2c_driver_saa7185; 393static struct i2c_driver i2c_driver_saa7185;
diff --git a/drivers/media/video/tuner-3036.c b/drivers/media/video/tuner-3036.c
index bedb15e2f233..51748c6578d1 100644
--- a/drivers/media/video/tuner-3036.c
+++ b/drivers/media/video/tuner-3036.c
@@ -35,15 +35,13 @@ static struct i2c_client client_template;
35 35
36/* Addresses to scan */ 36/* Addresses to scan */
37static unsigned short normal_i2c[] = { 0x60, 0x61, I2C_CLIENT_END }; 37static unsigned short normal_i2c[] = { 0x60, 0x61, I2C_CLIENT_END };
38static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 38static unsigned short ignore = I2C_CLIENT_END;
39static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
40static unsigned short force[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
41 39
42static struct i2c_client_address_data addr_data = { 40static struct i2c_client_address_data addr_data = {
43 .normal_i2c = normal_i2c, 41 .normal_i2c = normal_i2c,
44 .probe = probe, 42 .probe = &ignore,
45 .ignore = ignore, 43 .ignore = &ignore,
46 .force = force, 44 .force = &ignore,
47}; 45};
48 46
49/* ---------------------------------------------------------------------- */ 47/* ---------------------------------------------------------------------- */
diff --git a/drivers/media/video/vpx3220.c b/drivers/media/video/vpx3220.c
index b97036910fa9..5dbd9f6bf353 100644
--- a/drivers/media/video/vpx3220.c
+++ b/drivers/media/video/vpx3220.c
@@ -570,15 +570,13 @@ static unsigned short normal_i2c[] =
570 I2C_CLIENT_END 570 I2C_CLIENT_END
571}; 571};
572 572
573static unsigned short probe[2] = { I2C_CLIENT_END, I2C_CLIENT_END }; 573static unsigned short ignore = I2C_CLIENT_END;
574static unsigned short ignore[2] = { I2C_CLIENT_END, I2C_CLIENT_END };
575static unsigned short force[2] = { I2C_CLIENT_END , I2C_CLIENT_END };
576 574
577static struct i2c_client_address_data addr_data = { 575static struct i2c_client_address_data addr_data = {
578 .normal_i2c = normal_i2c, 576 .normal_i2c = normal_i2c,
579 .probe = probe, 577 .probe = &ignore,
580 .ignore = ignore, 578 .ignore = &ignore,
581 .force = force 579 .force = &ignore,
582}; 580};
583 581
584static struct i2c_driver vpx3220_i2c_driver; 582static struct i2c_driver vpx3220_i2c_driver;