diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2014-02-24 13:48:41 +0100 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-03-20 17:43:56 +0900 |
commit | df1df3e7df9b9d5048d63db5c51deca321bbe8be (patch) | |
tree | 703ed0a779b737f63eba3892082f99c4c07f1da6 /drivers | |
parent | 1ca6f686a10a0badfd62ffb7541e462734815d16 (diff) | |
download | linux-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.c | 24 |
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; |