summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-02-15 14:17:03 +0000
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-02-15 14:17:03 +0000
commita47972fa9d14e12d1adf54ecd767f7c1ce372b36 (patch)
tree0c488efec6b4a87cea233680ee7d1ef56ae2f4fd /linux/drivers/media/video
parent82912e3b888a6232cc26dff49947c7ab36d96c5c (diff)
downloadmediapointer-dvb-s2-a47972fa9d14e12d1adf54ecd767f7c1ce372b36.tar.gz
mediapointer-dvb-s2-a47972fa9d14e12d1adf54ecd767f7c1ce372b36.tar.bz2
Fix breakage in mt9m001 and mt9v022 driver if "CONFIG_GENERIC_GPIO is not set"
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Both camera drivers can function without GPIO support, in which case they will only support the 10 bit data width mode. But the two respective switch have to depend on CONFIG_GENERIC_GPIO. Additionally remove redundant gpio_is_valid tests - they are repeated in bus_switch_request() functions. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r--linux/drivers/media/video/Kconfig4
-rw-r--r--linux/drivers/media/video/mt9m001.c6
-rw-r--r--linux/drivers/media/video/mt9v022.c6
3 files changed, 6 insertions, 10 deletions
diff --git a/linux/drivers/media/video/Kconfig b/linux/drivers/media/video/Kconfig
index 4e16d7f16..1e97bc16e 100644
--- a/linux/drivers/media/video/Kconfig
+++ b/linux/drivers/media/video/Kconfig
@@ -855,7 +855,7 @@ config SOC_CAMERA_MT9M001
config MT9M001_PCA9536_SWITCH
bool "pca9536 datawidth switch for mt9m001"
- depends on SOC_CAMERA_MT9M001
+ depends on SOC_CAMERA_MT9M001 && GENERIC_GPIO
help
Select this if your MT9M001 camera uses a PCA9536 I2C GPIO
extender to switch between 8 and 10 bit datawidth modes
@@ -869,7 +869,7 @@ config SOC_CAMERA_MT9V022
config MT9V022_PCA9536_SWITCH
bool "pca9536 datawidth switch for mt9v022"
- depends on SOC_CAMERA_MT9V022
+ depends on SOC_CAMERA_MT9V022 && GENERIC_GPIO
help
Select this if your MT9V022 camera uses a PCA9536 I2C GPIO
extender to switch between 8 and 10 bit datawidth modes
diff --git a/linux/drivers/media/video/mt9m001.c b/linux/drivers/media/video/mt9m001.c
index b65ff7745..e3afc8205 100644
--- a/linux/drivers/media/video/mt9m001.c
+++ b/linux/drivers/media/video/mt9m001.c
@@ -17,7 +17,9 @@
#include <media/v4l2-chip-ident.h>
#include <media/soc_camera.h>
+#ifdef CONFIG_MT9M001_PCA9536_SWITCH
#include <asm/gpio.h>
+#endif
/* mt9m001 i2c address 0x5d
* The platform has to define i2c_board_info
@@ -223,10 +225,6 @@ static int mt9m001_set_capture_format(struct soc_camera_device *icd,
if ((mt9m001->datawidth != 10 && (width_flag == IS_DATAWIDTH_10)) ||
(mt9m001->datawidth != 9 && (width_flag == IS_DATAWIDTH_9)) ||
(mt9m001->datawidth != 8 && (width_flag == IS_DATAWIDTH_8))) {
- /* data width switch requested */
- if (!gpio_is_valid(mt9m001->switch_gpio))
- return -EINVAL;
-
/* Well, we actually only can do 10 or 8 bits... */
if (width_flag == IS_DATAWIDTH_9)
return -EINVAL;
diff --git a/linux/drivers/media/video/mt9v022.c b/linux/drivers/media/video/mt9v022.c
index 5fbeaa305..468333946 100644
--- a/linux/drivers/media/video/mt9v022.c
+++ b/linux/drivers/media/video/mt9v022.c
@@ -18,7 +18,9 @@
#include <media/v4l2-chip-ident.h>
#include <media/soc_camera.h>
+#ifdef CONFIG_MT9M001_PCA9536_SWITCH
#include <asm/gpio.h>
+#endif
/* mt9v022 i2c address 0x48, 0x4c, 0x58, 0x5c
* The platform has to define i2c_board_info
@@ -302,10 +304,6 @@ static int mt9v022_set_capture_format(struct soc_camera_device *icd,
if ((mt9v022->datawidth != 10 && (width_flag == IS_DATAWIDTH_10)) ||
(mt9v022->datawidth != 9 && (width_flag == IS_DATAWIDTH_9)) ||
(mt9v022->datawidth != 8 && (width_flag == IS_DATAWIDTH_8))) {
- /* data width switch requested */
- if (!gpio_is_valid(mt9v022->switch_gpio))
- return -EINVAL;
-
/* Well, we actually only can do 10 or 8 bits... */
if (width_flag == IS_DATAWIDTH_9)
return -EINVAL;