OSDN Git Service

[media] tw9603/6.c: use two separate const tables for the 50/60hz setup
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 25 Mar 2013 09:23:23 +0000 (06:23 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 25 Mar 2013 11:11:43 +0000 (08:11 -0300)
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>
drivers/media/i2c/tw9903.c
drivers/media/i2c/tw9906.c

index f0d0ef5..87880b1 100644 (file)
@@ -127,15 +127,22 @@ static int tw9903_s_std(struct v4l2_subdev *sd, v4l2_std_id norm)
 {
        struct tw9903 *dec = to_state(sd);
        bool is_60hz = norm & V4L2_STD_525_60;
-       u8 regs[] = {
-               0x05, is_60hz ? 0x80 : 0x00,
-               0x07, is_60hz ? 0x02 : 0x12,
-               0x08, is_60hz ? 0x14 : 0x18,
-               0x09, is_60hz ? 0xf0 : 0x20,
+       static const u8 config_60hz[] = {
+               0x05, 0x80,
+               0x07, 0x02,
+               0x08, 0x14,
+               0x09, 0xf0,
+               0,    0,
+       };
+       static const u8 config_50hz[] = {
+               0x05, 0x00,
+               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;
 }
index d94325b..accd79e 100644 (file)
@@ -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;
 }