summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2014-02-24 13:48:41 +0100
committerChanho Park <chanho61.park@samsung.com>2014-03-20 17:43:56 +0900
commitdf1df3e7df9b9d5048d63db5c51deca321bbe8be (patch)
tree703ed0a779b737f63eba3892082f99c4c07f1da6 /drivers
parent1ca6f686a10a0badfd62ffb7541e462734815d16 (diff)
downloadlinux-3.10-df1df3e7df9b9d5048d63db5c51deca321bbe8be.tar.gz
linux-3.10-df1df3e7df9b9d5048d63db5c51deca321bbe8be.tar.bz2
linux-3.10-df1df3e7df9b9d5048d63db5c51deca321bbe8be.zip
exynos4-is: Register v4l2_async notifier only when sensors are available
This allows driver initialization again if no camera sensors are specified. It fixes regression introduced in commit 9cb4cf023f4d793ca "exynos4-is: Add support for asynchronous sensor subddevs registration" Change-Id: I02379781ff51142f02dc3a4c3f0bc7b0da999e1f Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/exynos4-is/media-dev.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c
index 55a09002ee5..4b40dbd6c23 100644
--- a/drivers/media/platform/exynos4-is/media-dev.c
+++ b/drivers/media/platform/exynos4-is/media-dev.c
@@ -1661,16 +1661,20 @@ static int fimc_md_probe(struct platform_device *pdev)
goto err_attr;
}
- fmd->subdev_notifier.subdevs = fmd->async_subdevs;
- fmd->subdev_notifier.num_subdevs = fmd->num_sensors;
- fmd->subdev_notifier.bound = subdev_notifier_bound;
- fmd->subdev_notifier.complete = subdev_notifier_complete;
- fmd->num_sensors = 0;
-
- ret = v4l2_async_notifier_register(&fmd->v4l2_dev,
- &fmd->subdev_notifier);
- if (ret)
- goto err_clk_p;
+
+ if (fmd->num_sensors > 0) {
+ fmd->subdev_notifier.subdevs = fmd->async_subdevs;
+ fmd->subdev_notifier.num_subdevs = fmd->num_sensors;
+ fmd->subdev_notifier.bound = subdev_notifier_bound;
+ fmd->subdev_notifier.complete = subdev_notifier_complete;
+ fmd->num_sensors = 0;
+
+ ret = v4l2_async_notifier_register(&fmd->v4l2_dev,
+ &fmd->subdev_notifier);
+
+ if (ret)
+ goto err_clk_p;
+ }
return 0;