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>
 
 /* ----------------------------------------------------------------------- */
 
-#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
        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");
 }