V4L/DVB (3568e): bt856: Spare memory
authorJean Delvare <khali@linux-fr.org>
Wed, 22 Mar 2006 06:48:36 +0000 (03:48 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 23 Mar 2006 14:24:13 +0000 (11:24 -0300)
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>
drivers/media/video/bt856.c

index 909b593..7c68937 100644 (file)
@@ -71,17 +71,14 @@ MODULE_PARM_DESC(debug, "Debug level (0-1)");
 
 /* ----------------------------------------------------------------------- */
 
-#define REG_OFFSET  0xCE
+#define REG_OFFSET     0xDA
+#define BT856_NR_REG   6
 
 struct bt856 {
-       unsigned char reg[32];
+       unsigned char reg[BT856_NR_REG];
 
        int norm;
        int enable;
-       int bright;
-       int contrast;
-       int hue;
-       int sat;
 };
 
 #define   I2C_BT856        0x88
@@ -120,8 +117,8 @@ bt856_dump (struct i2c_client *client)
        struct bt856 *encoder = i2c_get_clientdata(client);
 
        printk(KERN_INFO "%s: register dump:", I2C_NAME(client));
-       for (i = 0xd6; i <= 0xde; i += 2)
-               printk(" %02x", encoder->reg[i - REG_OFFSET]);
+       for (i = 0; i < BT856_NR_REG; i += 2)
+               printk(" %02x", encoder->reg[i]);
        printk("\n");
 }