aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorKuninori Morimoto <morimoto.kuninori@renesas.com>2009-12-11 09:53:54 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-16 06:27:35 -0500
commit85dc1cff0df3a7e3012cf88b94026f954a72c178 (patch)
tree385b4efdd97cca874d7751bf389cfa992e1e74d6 /drivers/media
parent34cae30b8457cf090f215e212ba019e7c303f8fd (diff)
V4L/DVB (13665): sh_mobile_ceu_camera: Add support for sync polarity selection
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/sh_mobile_ceu_camera.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/video/sh_mobile_ceu_camera.c b/drivers/media/video/sh_mobile_ceu_camera.c
index df8dc1dde19f..a610a571432a 100644
--- a/drivers/media/video/sh_mobile_ceu_camera.c
+++ b/drivers/media/video/sh_mobile_ceu_camera.c
@@ -687,6 +687,23 @@ static int sh_mobile_ceu_set_bus_param(struct soc_camera_device *icd,
687 if (!common_flags) 687 if (!common_flags)
688 return -EINVAL; 688 return -EINVAL;
689 689
690 /* Make choises, based on platform preferences */
691 if ((common_flags & SOCAM_HSYNC_ACTIVE_HIGH) &&
692 (common_flags & SOCAM_HSYNC_ACTIVE_LOW)) {
693 if (pcdev->pdata->flags & SH_CEU_FLAG_HSYNC_LOW)
694 common_flags &= ~SOCAM_HSYNC_ACTIVE_HIGH;
695 else
696 common_flags &= ~SOCAM_HSYNC_ACTIVE_LOW;
697 }
698
699 if ((common_flags & SOCAM_VSYNC_ACTIVE_HIGH) &&
700 (common_flags & SOCAM_VSYNC_ACTIVE_LOW)) {
701 if (pcdev->pdata->flags & SH_CEU_FLAG_VSYNC_LOW)
702 common_flags &= ~SOCAM_VSYNC_ACTIVE_HIGH;
703 else
704 common_flags &= ~SOCAM_VSYNC_ACTIVE_LOW;
705 }
706
690 ret = icd->ops->set_bus_param(icd, common_flags); 707 ret = icd->ops->set_bus_param(icd, common_flags);
691 if (ret < 0) 708 if (ret < 0)
692 return ret; 709 return ret;