summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2009-08-25 11:06:22 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-19 00:18:25 -0300
commitbc1937b41d8253e2b554da385023a92189d38917 (patch)
treec3f4b27fb7b3ff1607191c0eadcacb55aef2b2cf
parentc41debafc6e396a8e15f1f017aec7c0cf67e1b54 (diff)
V4L/DVB (12505): soc_camera_platform: pass device pointer from soc-camera core on .add_device()
Add a struct device pointer to struct soc_camera_platform_info and let the user (ap325rxa) pass it down to soc_camera_platform.c in its .add_device() method. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--arch/sh/boards/board-ap325rxa.c2
-rw-r--r--include/media/soc_camera_platform.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c
index 7e2d2de0384..97a2fc97e10 100644
--- a/arch/sh/boards/board-ap325rxa.c
+++ b/arch/sh/boards/board-ap325rxa.c
@@ -345,6 +345,8 @@ static int ap325rxa_camera_add(struct soc_camera_link *icl,
if (icl != &camera_info.link || camera_probe() <= 0)
return -ENODEV;
+ camera_info.dev = dev;
+
return platform_device_register(&camera_device);
}
diff --git a/include/media/soc_camera_platform.h b/include/media/soc_camera_platform.h
index af224deadb4..3e8f020abf4 100644
--- a/include/media/soc_camera_platform.h
+++ b/include/media/soc_camera_platform.h
@@ -14,6 +14,8 @@
#include <linux/videodev2.h>
#include <media/soc_camera.h>
+struct device;
+
struct soc_camera_platform_info {
int iface;
char *format_name;
@@ -21,6 +23,7 @@ struct soc_camera_platform_info {
struct v4l2_pix_format format;
unsigned long bus_param;
void (*power)(int);
+ struct device *dev;
int (*set_capture)(struct soc_camera_platform_info *info, int enable);
struct soc_camera_link link;
};