diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2013-09-12 18:57:41 +0200 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-03-20 17:35:22 +0900 |
commit | 1511fc1da18533cc809ffb25b27e06c739fcda9c (patch) | |
tree | e994213b00de6bccc8fbba3fd905808964b1204f /drivers/media | |
parent | 4af6d0ead86c8371acd06968af96a14c8b95e80e (diff) | |
download | linux-3.10-1511fc1da18533cc809ffb25b27e06c739fcda9c.tar.gz linux-3.10-1511fc1da18533cc809ffb25b27e06c739fcda9c.tar.bz2 linux-3.10-1511fc1da18533cc809ffb25b27e06c739fcda9c.zip |
exynos4-is: Enable registration of fimc-lite devices as children of fimc-is
This allows registration of FIMC-LITE devices also when they are
specified in device tree as fimc-is subnodes.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/platform/exynos4-is/media-dev.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c index 7125411be8e..55a09002ee5 100644 --- a/drivers/media/platform/exynos4-is/media-dev.c +++ b/drivers/media/platform/exynos4-is/media-dev.c @@ -783,7 +783,7 @@ static int fimc_md_pdev_match(struct device *dev, void *data) static int fimc_md_register_of_platform_entities(struct fimc_md *fmd, struct device_node *parent) { - struct device_node *node; + struct device_node *node, *fimc_is_node = NULL; int ret = 0; for_each_available_child_of_node(parent, node) { @@ -810,10 +810,16 @@ static int fimc_md_register_of_platform_entities(struct fimc_md *fmd, plat_entity); put_device(&pdev->dev); if (ret < 0) - break; + return ret; + + if (plat_entity == IDX_IS_ISP) + fimc_is_node = node; } - return ret; + if (!fimc_is_node) + return 0; + + return fimc_md_register_of_platform_entities(fmd, fimc_is_node); } #else #define fimc_md_register_of_platform_entities(fmd, node) (-ENOSYS) |