Commit 37b7b308 authored by Eric Anholt's avatar Eric Anholt Committed by Greg Kroah-Hartman

staging/vc04_services: Register a platform device for the camera driver.

We had the camera driver set up in a module_init function, but that
meant that the camera driver would fail to load if it was initialized
before VCHI.  By attaching to this platform_device, it can get a
defined load order.
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 00135fc5
...@@ -168,6 +168,7 @@ static VCHIQ_STATE_T g_state; ...@@ -168,6 +168,7 @@ static VCHIQ_STATE_T g_state;
static struct class *vchiq_class; static struct class *vchiq_class;
static struct device *vchiq_dev; static struct device *vchiq_dev;
static DEFINE_SPINLOCK(msg_queue_spinlock); static DEFINE_SPINLOCK(msg_queue_spinlock);
static struct platform_device *bcm2835_camera;
static const char *const ioctl_names[] = { static const char *const ioctl_names[] = {
"CONNECT", "CONNECT",
...@@ -3638,6 +3639,10 @@ static int vchiq_probe(struct platform_device *pdev) ...@@ -3638,6 +3639,10 @@ static int vchiq_probe(struct platform_device *pdev)
VCHIQ_VERSION, VCHIQ_VERSION_MIN, VCHIQ_VERSION, VCHIQ_VERSION_MIN,
MAJOR(vchiq_devid), MINOR(vchiq_devid)); MAJOR(vchiq_devid), MINOR(vchiq_devid));
bcm2835_camera = platform_device_register_data(&pdev->dev,
"bcm2835-camera", -1,
NULL, 0);
return 0; return 0;
failed_debugfs_init: failed_debugfs_init:
...@@ -3655,6 +3660,7 @@ static int vchiq_probe(struct platform_device *pdev) ...@@ -3655,6 +3660,7 @@ static int vchiq_probe(struct platform_device *pdev)
static int vchiq_remove(struct platform_device *pdev) static int vchiq_remove(struct platform_device *pdev)
{ {
platform_device_unregister(bcm2835_camera);
vchiq_debugfs_deinit(); vchiq_debugfs_deinit();
device_destroy(vchiq_class, vchiq_devid); device_destroy(vchiq_class, vchiq_devid);
class_destroy(vchiq_class); class_destroy(vchiq_class);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment