Merge remote-tracking branch 'netfilter-next/master'
[deliverable/linux.git] / drivers / media / platform / exynos4-is / fimc-is.c
index 32ca55f166778959dbd8b1f50853d528243f1e6c..13c779de79fdf7b24fc1b07b90a9b0f798685ceb 100644 (file)
@@ -165,6 +165,7 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,
                                                struct device_node *node)
 {
        struct fimc_is_sensor *sensor = &is->sensor[index];
+       struct device_node *ep, *port;
        u32 tmp = 0;
        int ret;
 
@@ -175,22 +176,25 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,
                return -EINVAL;
        }
 
-       node = of_graph_get_next_endpoint(node, NULL);
-       if (!node)
+       ep = of_graph_get_next_endpoint(node, NULL);
+       if (!ep)
                return -ENXIO;
 
-       node = of_graph_get_remote_port(node);
-       if (!node)
+       port = of_graph_get_remote_port(ep);
+       of_node_put(ep);
+       if (!port)
                return -ENXIO;
 
        /* Use MIPI-CSIS channel id to determine the ISP I2C bus index. */
-       ret = of_property_read_u32(node, "reg", &tmp);
+       ret = of_property_read_u32(port, "reg", &tmp);
        if (ret < 0) {
                dev_err(&is->pdev->dev, "reg property not found at: %s\n",
-                                                        node->full_name);
+                                                        port->full_name);
+               of_node_put(port);
                return ret;
        }
 
+       of_node_put(port);
        sensor->i2c_bus = tmp - FIMC_INPUT_MIPI_CSI2_0;
        return 0;
 }
This page took 0.025478 seconds and 5 git commands to generate.