summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2013-09-12 18:57:41 +0200
committerChanho Park <chanho61.park@samsung.com>2014-03-20 17:35:22 +0900
commit1511fc1da18533cc809ffb25b27e06c739fcda9c (patch)
treee994213b00de6bccc8fbba3fd905808964b1204f /drivers/media
parent4af6d0ead86c8371acd06968af96a14c8b95e80e (diff)
downloadlinux-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.c12
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)