diff mbox

v4l: of: Correct pclk-sample for BT656 bus

Message ID 1430833799-31936-1-git-send-email-nikhil.nd@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Nikhil Devshatwar May 5, 2015, 1:49 p.m. UTC
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>
---
 drivers/media/v4l2-core/v4l2-of.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

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@ti.com>

Thanks for the patch.

Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;