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>
diff --git a/drivers/media/video/bt856.c b/drivers/media/video/bt856.c index 909b593..7c68937 100644 --- a/drivers/media/video/bt856.c +++ b/drivers/media/video/bt856.c
@@ -71,17 +71,14 @@ /* ----------------------------------------------------------------------- */ -#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 @@ 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"); }