On 05/05/15 15:49, Nikhil Devshatwar wrote: > 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@xxxxxx> Thanks for the patch. Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> I'd say this should be backported to stable. > --- > drivers/media/v4l2-core/v4l2-of.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-of.c b/drivers/media/v4l2-core/v4l2-of.c > index c52fb96..b27cbb1 100644 > --- a/drivers/media/v4l2-core/v4l2-of.c > +++ b/drivers/media/v4l2-core/v4l2-of.c > @@ -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; -- Regards, Sylwester -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html