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>
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c
index 7e2d2de..97a2fc9 100644
--- a/arch/sh/boards/board-ap325rxa.c
+++ b/arch/sh/boards/board-ap325rxa.c
@@ -345,6 +345,8 @@
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 af224de..3e8f020 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 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;
};