diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2008-12-23 03:54:45 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-30 06:40:17 -0500 |
commit | bd73b36f0c41b0c02ef4b10a307db1c43537e006 (patch) | |
tree | 5dabc2aadde5e873d4d1cba136376ae55826f273 /drivers/media/video/mt9v022.c | |
parent | 5ca11fa3e0025864df930d6d97470b87c35919ed (diff) |
V4L/DVB (10072): soc-camera: Add signal inversion flags to be used by camera drivers
As reported by Antonio Ospite <ospite@studenti.unina.it> two platforms with a
mt9m111 camera require opposite pixel clock polarity, which means one of them
inverts it. This patch adds support for inversion flags and switches all
available camera drivers to using them.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/mt9v022.c')
-rw-r--r-- | drivers/media/video/mt9v022.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/mt9v022.c b/drivers/media/video/mt9v022.c index 82e1a3381a7a..3b3a6a027b1d 100644 --- a/drivers/media/video/mt9v022.c +++ b/drivers/media/video/mt9v022.c | |||
@@ -273,6 +273,7 @@ static int mt9v022_set_bus_param(struct soc_camera_device *icd, | |||
273 | unsigned long flags) | 273 | unsigned long flags) |
274 | { | 274 | { |
275 | struct mt9v022 *mt9v022 = container_of(icd, struct mt9v022, icd); | 275 | struct mt9v022 *mt9v022 = container_of(icd, struct mt9v022, icd); |
276 | struct soc_camera_link *icl = mt9v022->client->dev.platform_data; | ||
276 | unsigned int width_flag = flags & SOCAM_DATAWIDTH_MASK; | 277 | unsigned int width_flag = flags & SOCAM_DATAWIDTH_MASK; |
277 | int ret; | 278 | int ret; |
278 | u16 pixclk = 0; | 279 | u16 pixclk = 0; |
@@ -296,6 +297,8 @@ static int mt9v022_set_bus_param(struct soc_camera_device *icd, | |||
296 | mt9v022->datawidth = width_flag == SOCAM_DATAWIDTH_8 ? 8 : 10; | 297 | mt9v022->datawidth = width_flag == SOCAM_DATAWIDTH_8 ? 8 : 10; |
297 | } | 298 | } |
298 | 299 | ||
300 | flags = soc_camera_apply_sensor_flags(icl, flags); | ||
301 | |||
299 | if (flags & SOCAM_PCLK_SAMPLE_RISING) | 302 | if (flags & SOCAM_PCLK_SAMPLE_RISING) |
300 | pixclk |= 0x10; | 303 | pixclk |= 0x10; |
301 | 304 | ||