From cfd16342d2426a42523e9afef9e02956a7c0d282 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sun, 10 Mar 2013 09:59:37 -0300 Subject: [PATCH] --- yaml --- r: 366764 b: refs/heads/master c: c875dee536ee2a95a353f5ef991717383baf8d60 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/i2c/saa7115.c | 56 +++++++++++++++---------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/[refs] b/[refs] index c8b52ebfe90e..f8ff787a176d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a0fc58868bbf34d0935947cdf1bc8c0ea32c68c4 +refs/heads/master: c875dee536ee2a95a353f5ef991717383baf8d60 diff --git a/trunk/drivers/media/i2c/saa7115.c b/trunk/drivers/media/i2c/saa7115.c index c3e7e12e006a..cdff1f6e8546 100644 --- a/trunk/drivers/media/i2c/saa7115.c +++ b/trunk/drivers/media/i2c/saa7115.c @@ -1360,6 +1360,34 @@ static int saa711x_querystd(struct v4l2_subdev *sd, v4l2_std_id *std) */ reg1f = saa711x_read(sd, R_1F_STATUS_BYTE_2_VD_DEC); + + if (state->ident == V4L2_IDENT_SAA7115) { + reg1e = saa711x_read(sd, R_1E_STATUS_BYTE_1_VD_DEC); + + v4l2_dbg(1, debug, sd, "Status byte 1 (0x1e)=0x%02x\n", reg1e); + + switch (reg1e & 0x03) { + case 1: + *std &= V4L2_STD_NTSC; + break; + case 2: + /* + * V4L2_STD_PAL just cover the european PAL standards. + * This is wrong, as the device could also be using an + * other PAL standard. + */ + *std &= V4L2_STD_PAL | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | + V4L2_STD_PAL_M | V4L2_STD_PAL_60; + break; + case 3: + *std &= V4L2_STD_SECAM; + break; + default: + /* Can't detect anything */ + break; + } + } + v4l2_dbg(1, debug, sd, "Status byte 2 (0x1f)=0x%02x\n", reg1f); /* horizontal/vertical not locked */ @@ -1371,34 +1399,6 @@ static int saa711x_querystd(struct v4l2_subdev *sd, v4l2_std_id *std) else *std &= V4L2_STD_625_50; - if (state->ident != V4L2_IDENT_SAA7115) - goto ret; - - reg1e = saa711x_read(sd, R_1E_STATUS_BYTE_1_VD_DEC); - - switch (reg1e & 0x03) { - case 1: - *std &= V4L2_STD_NTSC; - break; - case 2: - /* - * V4L2_STD_PAL just cover the european PAL standards. - * This is wrong, as the device could also be using an - * other PAL standard. - */ - *std &= V4L2_STD_PAL | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | - V4L2_STD_PAL_M | V4L2_STD_PAL_60; - break; - case 3: - *std &= V4L2_STD_SECAM; - break; - default: - /* Can't detect anything */ - break; - } - - v4l2_dbg(1, debug, sd, "Status byte 1 (0x1e)=0x%02x\n", reg1e); - ret: v4l2_dbg(1, debug, sd, "detected std mask = %08Lx\n", *std);