aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/bt856.c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2006-03-22 03:48:36 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-03-23 11:24:13 -0300
commitf49a5eaea6d7b3ed3d01ca9388eac9e7e5bf6025 (patch)
treeb6aa64eaea8d47dd4419d76d170702242058eb66 /drivers/media/video/bt856.c
parent58a0b84c92e62c2cc42036259a4b51e0bcaf8fa5 (diff)
downloadkernel_samsung_smdk4412-f49a5eaea6d7b3ed3d01ca9388eac9e7e5bf6025.zip
kernel_samsung_smdk4412-f49a5eaea6d7b3ed3d01ca9388eac9e7e5bf6025.tar.gz
kernel_samsung_smdk4412-f49a5eaea6d7b3ed3d01ca9388eac9e7e5bf6025.tar.bz2
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>
Diffstat (limited to 'drivers/media/video/bt856.c')
-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 909b593..7c68937 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)");
/* ----------------------------------------------------------------------- */
-#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");
}