diff options
author | Eric Anholt | 2018-05-10 21:42:05 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2018-05-11 12:02:04 +0200 |
commit | 37b7b3087a2f183325502e8dae7fbb9cf987f221 (patch) | |
tree | 3abcf02fb38f23e8bf1f1085a67c1752cbd57968 /drivers/staging/vc04_services | |
parent | staging:r8188eu: Remove rx_handler_data unnecessary read (diff) | |
download | kernel-qcow2-linux-37b7b3087a2f183325502e8dae7fbb9cf987f221.tar.gz kernel-qcow2-linux-37b7b3087a2f183325502e8dae7fbb9cf987f221.tar.xz kernel-qcow2-linux-37b7b3087a2f183325502e8dae7fbb9cf987f221.zip |
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: Eric Anholt <eric@anholt.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vc04_services')
-rw-r--r-- | drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 3cd6177a7373..aaa264f3b598 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -168,6 +168,7 @@ static VCHIQ_STATE_T g_state; static struct class *vchiq_class; static struct device *vchiq_dev; static DEFINE_SPINLOCK(msg_queue_spinlock); +static struct platform_device *bcm2835_camera; static const char *const ioctl_names[] = { "CONNECT", @@ -3638,6 +3639,10 @@ static int vchiq_probe(struct platform_device *pdev) VCHIQ_VERSION, VCHIQ_VERSION_MIN, MAJOR(vchiq_devid), MINOR(vchiq_devid)); + bcm2835_camera = platform_device_register_data(&pdev->dev, + "bcm2835-camera", -1, + NULL, 0); + return 0; failed_debugfs_init: @@ -3655,6 +3660,7 @@ failed_platform_init: static int vchiq_remove(struct platform_device *pdev) { + platform_device_unregister(bcm2835_camera); vchiq_debugfs_deinit(); device_destroy(vchiq_class, vchiq_devid); class_destroy(vchiq_class); |