aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c/tw9906.c
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-03-25 06:23:23 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-03-25 08:11:43 -0300
commitd4a2cea4f2fd9c935f30666e4acdb1065ff60544 (patch)
tree3106b266a8747c27c75e8d351d8e4f9c849a9a37 /drivers/media/i2c/tw9906.c
parent[media] go7007: don't continue if firmware can't be loaded (diff)
downloadlinux-dev-d4a2cea4f2fd9c935f30666e4acdb1065ff60544.tar.xz
linux-dev-d4a2cea4f2fd9c935f30666e4acdb1065ff60544.zip
[media] tw9603/6.c: use two separate const tables for the 50/60hz setup
Using two separate tables to setup the registers for 50 or 60 hz is better than the non-const table that is filled in at runtime. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/i2c/tw9906.c')
-rw-r--r--drivers/media/i2c/tw9906.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/media/i2c/tw9906.c b/drivers/media/i2c/tw9906.c
index d94325b68b81..accd79e5a7fd 100644
--- a/drivers/media/i2c/tw9906.c
+++ b/drivers/media/i2c/tw9906.c
@@ -98,15 +98,22 @@ static int tw9906_s_std(struct v4l2_subdev *sd, v4l2_std_id norm)
{
struct tw9906 *dec = to_state(sd);
bool is_60hz = norm & V4L2_STD_525_60;
- u8 regs[] = {
- 0x05, is_60hz ? 0x81 : 0x01,
- 0x07, is_60hz ? 0x02 : 0x12,
- 0x08, is_60hz ? 0x14 : 0x18,
- 0x09, is_60hz ? 0xf0 : 0x20,
+ static const u8 config_60hz[] = {
+ 0x05, 0x81,
+ 0x07, 0x02,
+ 0x08, 0x14,
+ 0x09, 0xf0,
+ 0, 0,
+ };
+ static const u8 config_50hz[] = {
+ 0x05, 0x01,
+ 0x07, 0x12,
+ 0x08, 0x18,
+ 0x09, 0x20,
0, 0,
};
- write_regs(sd, regs);
+ write_regs(sd, is_60hz ? config_60hz : config_50hz);
dec->norm = norm;
return 0;
}