V4L/DVB (11030): soc-camera: add board hook to specify the buswidth for camera sensors
authorSascha Hauer <s.hauer@pengutronix.de>
Fri, 13 Mar 2009 09:08:20 +0000 (06:08 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:43:21 +0000 (12:43 -0300)
Camera sensors have a native bus width say support, but on some
boards not all sensor data lines are connected to the image
interface and thus support a different bus width than the sensors
native one. Some boards even have a bus driver which dynamically
switches between different bus widths with a GPIO.

This patch adds a hook which board code can use to support different
bus widths.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
include/media/soc_camera.h

index 013c81875d766c6d8dbf884726e5076d3e815403..b44fa0952ad9aa497ba594c83a8a1fbcdfb3fb9d 100644 (file)
@@ -102,6 +102,13 @@ struct soc_camera_link {
        /* Optional callbacks to power on or off and reset the sensor */
        int (*power)(struct device *, int);
        int (*reset)(struct device *);
+       /*
+        * some platforms may support different data widths than the sensors
+        * native ones due to different data line routing. Let the board code
+        * overwrite the width flags.
+        */
+       int (*set_bus_param)(struct soc_camera_link *, unsigned long flags);
+       unsigned long (*query_bus_param)(struct soc_camera_link *);
 };
 
 static inline struct soc_camera_device *to_soc_camera_dev(struct device *dev)