Browse Source

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>
Jean Delvare 19 years ago
parent
commit
f49a5eaea6
1 changed files with 5 additions and 8 deletions
  1. 5 8
      drivers/media/video/bt856.c

+ 5 - 8
drivers/media/video/bt856.c

@@ -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");
 }