Use scoped for_each_compatible_node_scoped() loop when iterating over device nodes to make code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <[email protected]> --- Depends on the first patch and on: https://lore.kernel.org/all/[email protected]/ --- drivers/media/platform/samsung/exynos4-is/fimc-is.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-is.c b/drivers/media/platform/samsung/exynos4-is/fimc-is.c index 14d84cc96831..b7d9bfedd590 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-is.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-is.c @@ -200,21 +200,19 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index, static int fimc_is_register_subdevs(struct fimc_is *is) { - struct device_node *i2c_bus; int ret, index = 0; ret = fimc_isp_subdev_create(&is->isp); if (ret < 0) return ret; - for_each_compatible_node(i2c_bus, NULL, "samsung,exynos4212-i2c-isp") { + for_each_compatible_node_scoped(i2c_bus, NULL, "samsung,exynos4212-i2c-isp") { for_each_available_child_of_node_scoped(i2c_bus, child) { ret = fimc_is_parse_sensor_config(is, index, child); - if (ret < 0 || index >= FIMC_IS_SENSORS_NUM) { - of_node_put(i2c_bus); + if (ret < 0 || index >= FIMC_IS_SENSORS_NUM) return ret; - } + index++; } } -- 2.51.0
