aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2006-03-22 01:48:36 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-03-23 09:24:13 -0500
commitf49a5eaea6d7b3ed3d01ca9388eac9e7e5bf6025 (patch)
treeb6aa64eaea8d47dd4419d76d170702242058eb66
parent58a0b84c92e62c2cc42036259a4b51e0bcaf8fa5 (diff)
V4L/DVB (3568e): bt856: Spare memory
The bt856 driver has a register cache much larger than needed. We really only write to 3 registers, so a 32-byte cache is a bit too much. We can be just as efficient with a 6-byte cache. We could even do with a 3-byte cache, but at the cost of additional arithmetics arguably not worth the spared 3 bytes. Also, 4 of the 6 other members of the bt856 data structure were not used anywhere, so we can as well drop them for an additional 16 bytes of memory spared. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/bt856.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/media/video/bt856.c b/drivers/media/video/bt856.c
index 909b593530ed..7c68937853b0 100644
--- a/drivers/media/video/bt856.c
+++ b/drivers/media/video/bt856.c
@@ -71,17 +71,14 @@ MODULE_PARM_DESC(debug, "Debug level (0-1)");
71 71
72/* ----------------------------------------------------------------------- */ 72/* ----------------------------------------------------------------------- */
73 73
74#define REG_OFFSET 0xCE 74#define REG_OFFSET 0xDA
75#define BT856_NR_REG 6
75 76
76struct bt856 { 77struct bt856 {
77 unsigned char reg[32]; 78 unsigned char reg[BT856_NR_REG];
78 79
79 int norm; 80 int norm;
80 int enable; 81 int enable;
81 int bright;
82 int contrast;
83 int hue;
84 int sat;
85}; 82};
86 83
87#define I2C_BT856 0x88 84#define I2C_BT856 0x88
@@ -120,8 +117,8 @@ bt856_dump (struct i2c_client *client)
120 struct bt856 *encoder = i2c_get_clientdata(client); 117 struct bt856 *encoder = i2c_get_clientdata(client);
121 118
122 printk(KERN_INFO "%s: register dump:", I2C_NAME(client)); 119 printk(KERN_INFO "%s: register dump:", I2C_NAME(client));
123 for (i = 0xd6; i <= 0xde; i += 2) 120 for (i = 0; i < BT856_NR_REG; i += 2)
124 printk(" %02x", encoder->reg[i - REG_OFFSET]); 121 printk(" %02x", encoder->reg[i]);
125 printk("\n"); 122 printk("\n");
126} 123}
127 124