LinuxTV Patchwork media: imx-csi: Input connections to CSI should be optional

login
register
mail settings
Submitter Steve Longerbeam
Date Jan. 9, 2019, 6:34 p.m.
Message ID <20190109183448.20923-1-slongerbeam@gmail.com>
Download mbox | patch
Permalink /patch/53828/
State Superseded
Delegated to: Hans Verkuil
Headers show

Comments

Steve Longerbeam - Jan. 9, 2019, 6:34 p.m.
Some imx platforms do not have fwnode connections to all CSI input
ports, and should not be treated as an error. This includes the
imx6q SabreAuto, which has no connections to ipu1_csi1 and ipu2_csi0.
Return -ENOTCONN in imx_csi_parse_endpoint() so that v4l2-fwnode
endpoint parsing will not treat an unconnected CSI input port as
an error.

Fixes: c893500a16baf ("media: imx: csi: Register a subdev notifier")

Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
---
 drivers/staging/media/imx/imx-media-csi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Philipp Zabel - Jan. 10, 2019, 10:54 a.m.
On Wed, 2019-01-09 at 10:34 -0800, Steve Longerbeam wrote:
> Some imx platforms do not have fwnode connections to all CSI input
> ports, and should not be treated as an error. This includes the
> imx6q SabreAuto, which has no connections to ipu1_csi1 and ipu2_csi0.
> Return -ENOTCONN in imx_csi_parse_endpoint() so that v4l2-fwnode
> endpoint parsing will not treat an unconnected CSI input port as
> an error.
> 
> Fixes: c893500a16baf ("media: imx: csi: Register a subdev notifier")
> 
> Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

> ---
>  drivers/staging/media/imx/imx-media-csi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index 4223f8d418ae..30b1717982ae 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -1787,7 +1787,7 @@ static int imx_csi_parse_endpoint(struct device *dev,
>  				  struct v4l2_fwnode_endpoint *vep,
>  				  struct v4l2_async_subdev *asd)
>  {
> -	return fwnode_device_is_available(asd->match.fwnode) ? 0 : -EINVAL;
> +	return fwnode_device_is_available(asd->match.fwnode) ? 0 : -ENOTCONN;
>  }
>  
>  static int imx_csi_async_register(struct csi_priv *priv)
Tim Harvey - Jan. 15, 2019, 4:42 p.m.
On Wed, Jan 9, 2019 at 10:34 AM Steve Longerbeam <slongerbeam@gmail.com> wrote:
>
> Some imx platforms do not have fwnode connections to all CSI input
> ports, and should not be treated as an error. This includes the
> imx6q SabreAuto, which has no connections to ipu1_csi1 and ipu2_csi0.
> Return -ENOTCONN in imx_csi_parse_endpoint() so that v4l2-fwnode
> endpoint parsing will not treat an unconnected CSI input port as
> an error.
>
> Fixes: c893500a16baf ("media: imx: csi: Register a subdev notifier")
>
> Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
> ---
>  drivers/staging/media/imx/imx-media-csi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index 4223f8d418ae..30b1717982ae 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -1787,7 +1787,7 @@ static int imx_csi_parse_endpoint(struct device *dev,
>                                   struct v4l2_fwnode_endpoint *vep,
>                                   struct v4l2_async_subdev *asd)
>  {
> -       return fwnode_device_is_available(asd->match.fwnode) ? 0 : -EINVAL;
> +       return fwnode_device_is_available(asd->match.fwnode) ? 0 : -ENOTCONN;
>  }
>
>  static int imx_csi_async_register(struct csi_priv *priv)
> --
> 2.17.1
>

Steve,

Thanks, this fixes adv7180 the capture regression on the Gateworks
Ventana boards as well. This should go to stable to fix 4.20 so please
add a 'Cc: stable@vger.kernel.org' if you re-submit (else we can send
it to stable@vger.kernel.org later).

Acked-by: Tim Harvey <tharvey@gateworks.com>

Tim
Steve Longerbeam - Jan. 17, 2019, 8:53 p.m.
Hi Tim,

On 1/15/19 8:42 AM, Tim Harvey wrote:
> On Wed, Jan 9, 2019 at 10:34 AM Steve Longerbeam <slongerbeam@gmail.com> wrote:
>> Some imx platforms do not have fwnode connections to all CSI input
>> ports, and should not be treated as an error. This includes the
>> imx6q SabreAuto, which has no connections to ipu1_csi1 and ipu2_csi0.
>> Return -ENOTCONN in imx_csi_parse_endpoint() so that v4l2-fwnode
>> endpoint parsing will not treat an unconnected CSI input port as
>> an error.
>>
>> Fixes: c893500a16baf ("media: imx: csi: Register a subdev notifier")
>>
>> Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
>> ---
>>   drivers/staging/media/imx/imx-media-csi.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
>> index 4223f8d418ae..30b1717982ae 100644
>> --- a/drivers/staging/media/imx/imx-media-csi.c
>> +++ b/drivers/staging/media/imx/imx-media-csi.c
>> @@ -1787,7 +1787,7 @@ static int imx_csi_parse_endpoint(struct device *dev,
>>                                    struct v4l2_fwnode_endpoint *vep,
>>                                    struct v4l2_async_subdev *asd)
>>   {
>> -       return fwnode_device_is_available(asd->match.fwnode) ? 0 : -EINVAL;
>> +       return fwnode_device_is_available(asd->match.fwnode) ? 0 : -ENOTCONN;
>>   }
>>
>>   static int imx_csi_async_register(struct csi_priv *priv)
>> --
>> 2.17.1
>>
> Steve,
>
> Thanks, this fixes adv7180 the capture regression on the Gateworks
> Ventana boards as well. This should go to stable to fix 4.20 so please
> add a 'Cc: stable@vger.kernel.org' if you re-submit (else we can send
> it to stable@vger.kernel.org later).
>
> Acked-by: Tim Harvey <tharvey@gateworks.com>

I will resubmit a non-functional v2 that adds the Cc: stable and your ack.

Steve

Patch

diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index 4223f8d418ae..30b1717982ae 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -1787,7 +1787,7 @@  static int imx_csi_parse_endpoint(struct device *dev,
 				  struct v4l2_fwnode_endpoint *vep,
 				  struct v4l2_async_subdev *asd)
 {
-	return fwnode_device_is_available(asd->match.fwnode) ? 0 : -EINVAL;
+	return fwnode_device_is_available(asd->match.fwnode) ? 0 : -ENOTCONN;
 }
 
 static int imx_csi_async_register(struct csi_priv *priv)

Privacy Policy