[media] v4l: of: Correct pclk-sample for BT656 bus
authorNikhil Devshatwar <nikhil.nd@ti.com>
Tue, 5 May 2015 13:49:59 +0000 (10:49 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Sat, 6 Jun 2015 10:27:04 +0000 (07:27 -0300)
Current v4l2_of_parse_parallel_bus function attempts to parse the
DT properties for the parallel bus as well as BT656 bus.
If the pclk-sample property is defined for the BT656 bus, it is still
marked as a parallel bus.
Fix this by parsing the pclk after the bus_type is selected.
Only when hsync or vsync properties are specified, the bus_type should
be set to V4L2_MBUS_PARALLEL.

Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/v4l2-core/v4l2-of.c

index c52fb9620e115f4c45f140062cedf4211568aa0d..b27cbb1f5afe734dd3b17b4e64ac40d1b2871276 100644 (file)
@@ -93,10 +93,6 @@ static void v4l2_of_parse_parallel_bus(const struct device_node *node,
                flags |= v ? V4L2_MBUS_VSYNC_ACTIVE_HIGH :
                        V4L2_MBUS_VSYNC_ACTIVE_LOW;
 
-       if (!of_property_read_u32(node, "pclk-sample", &v))
-               flags |= v ? V4L2_MBUS_PCLK_SAMPLE_RISING :
-                       V4L2_MBUS_PCLK_SAMPLE_FALLING;
-
        if (!of_property_read_u32(node, "field-even-active", &v))
                flags |= v ? V4L2_MBUS_FIELD_EVEN_HIGH :
                        V4L2_MBUS_FIELD_EVEN_LOW;
@@ -105,6 +101,10 @@ static void v4l2_of_parse_parallel_bus(const struct device_node *node,
        else
                endpoint->bus_type = V4L2_MBUS_BT656;
 
+       if (!of_property_read_u32(node, "pclk-sample", &v))
+               flags |= v ? V4L2_MBUS_PCLK_SAMPLE_RISING :
+                       V4L2_MBUS_PCLK_SAMPLE_FALLING;
+
        if (!of_property_read_u32(node, "data-active", &v))
                flags |= v ? V4L2_MBUS_DATA_ACTIVE_HIGH :
                        V4L2_MBUS_DATA_ACTIVE_LOW;