diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-is.c b/drivers/media/platform/samsung/exynos4-is/fimc-is.c index 0827fdaf455a..14d84cc96831 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-is.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-is.c @@ -200,7 +200,7 @@ 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, *child; + struct device_node *i2c_bus; int ret, index = 0; ret = fimc_isp_subdev_create(&is->isp); @@ -208,11 +208,10 @@ static int fimc_is_register_subdevs(struct fimc_is *is) return ret; for_each_compatible_node(i2c_bus, NULL, "samsung,exynos4212-i2c-isp") { - for_each_available_child_of_node(i2c_bus, child) { + 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(child); of_node_put(i2c_bus); return ret; }