Re: [PATCH] cx25840: Fix composite detection.
On Sun, 2010-01-10 at 09:31 +0900, Kusanagi Kouichi wrote: > If CX25840_VIN1_CH1 and the like is used, input is not detected as composite. > > Signed-off-by: Kusanagi Kouichi This patch is fine for fixing the identified problem. Thanks. Reviewed-by: Andy Walls Acked-by: Andy Walls Note: I have not reviewed the correctness of the previous patch that added component video input. Not to say that it is right or wrong, just that I have not reviewed it. I really need to streamline this set_input() function in cx25840-core.c module to be more like this version of set_input() the cx18-av-core.c file: http://linuxtv.org/hg/~awalls/cx18-pvr2100-component/file/9d3394f49a90/linux/drivers/media/video/cx18/cx18-av-core.c#l570 because the logic in the former is really getting convoluted, making bugs hard to spot. Regards, Andy > --- > drivers/media/video/cx25840/cx25840-core.c |6 ++ > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/video/cx25840/cx25840-core.c > b/drivers/media/video/cx25840/cx25840-core.c > index 385ecd5..764c811 100644 > --- a/drivers/media/video/cx25840/cx25840-core.c > +++ b/drivers/media/video/cx25840/cx25840-core.c > @@ -734,10 +734,8 @@ static int set_input(struct i2c_client *client, enum > cx25840_video_input vid_inp > v4l_dbg(1, cx25840_debug, client, "vid_input 0x%x\n", > vid_input); > reg = vid_input & 0xff; > - if ((vid_input & CX25840_SVIDEO_ON) == CX25840_SVIDEO_ON) > - is_composite = 0; > - else if ((vid_input & CX25840_COMPONENT_ON) == 0) > - is_composite = 1; > + is_composite = !is_component && > + ((vid_input & CX25840_SVIDEO_ON) != CX25840_SVIDEO_ON); > > v4l_dbg(1, cx25840_debug, client, "mux cfg 0x%x comp=%d\n", > reg, is_composite); -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] cx25840: Fix composite detection.
If CX25840_VIN1_CH1 and the like is used, input is not detected as composite. Their value is 0x80XX and CX25840_COMPONENT_ON is 0x8200. So 739 else if ((vid_input & CX25840_COMPONENT_ON) == 0) this condition never be true. Signed-off-by: Kusanagi Kouichi --- drivers/media/video/cx25840/cx25840-core.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c index 385ecd5..764c811 100644 --- a/drivers/media/video/cx25840/cx25840-core.c +++ b/drivers/media/video/cx25840/cx25840-core.c @@ -734,10 +734,8 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp v4l_dbg(1, cx25840_debug, client, "vid_input 0x%x\n", vid_input); reg = vid_input & 0xff; - if ((vid_input & CX25840_SVIDEO_ON) == CX25840_SVIDEO_ON) - is_composite = 0; - else if ((vid_input & CX25840_COMPONENT_ON) == 0) - is_composite = 1; + is_composite = !is_component && + ((vid_input & CX25840_SVIDEO_ON) != CX25840_SVIDEO_ON); v4l_dbg(1, cx25840_debug, client, "mux cfg 0x%x comp=%d\n", reg, is_composite); -- 1.6.6 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] cx25840: Fix composite detection.
If CX25840_VIN1_CH1 and the like is used, input is not detected as composite. Signed-off-by: Kusanagi Kouichi --- drivers/media/video/cx25840/cx25840-core.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c index 385ecd5..764c811 100644 --- a/drivers/media/video/cx25840/cx25840-core.c +++ b/drivers/media/video/cx25840/cx25840-core.c @@ -734,10 +734,8 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp v4l_dbg(1, cx25840_debug, client, "vid_input 0x%x\n", vid_input); reg = vid_input & 0xff; - if ((vid_input & CX25840_SVIDEO_ON) == CX25840_SVIDEO_ON) - is_composite = 0; - else if ((vid_input & CX25840_COMPONENT_ON) == 0) - is_composite = 1; + is_composite = !is_component && + ((vid_input & CX25840_SVIDEO_ON) != CX25840_SVIDEO_ON); v4l_dbg(1, cx25840_debug, client, "mux cfg 0x%x comp=%d\n", reg, is_composite); -- 1.6.6 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html