Re: [PATCH 1/4] media: imx: imx-mipi-csis: Set the subdev fwnode for endpoint matching

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey Laurent,

On Wed, Jun 15, 2022 at 10:25:59PM +0300, Laurent Pinchart wrote:
> Endpoint matching is preferred over device matching with the async
> notifier framework. Set the fwnode in the v4l2_subdev for the CSIS to
> the endpoint connected to the next device.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

LGTM,
Reviewed-by: Rui Miguel Silva <rmfrfs@xxxxxxxxx>

Cheers,
   Rui
> ---
>  drivers/media/platform/nxp/imx-mipi-csis.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/media/platform/nxp/imx-mipi-csis.c b/drivers/media/platform/nxp/imx-mipi-csis.c
> index 80b1c021d14a..09a220c1bfe8 100644
> --- a/drivers/media/platform/nxp/imx-mipi-csis.c
> +++ b/drivers/media/platform/nxp/imx-mipi-csis.c
> @@ -1378,6 +1378,13 @@ static int mipi_csis_subdev_init(struct mipi_csis_device *csis)
>  
>  	sd->dev = csis->dev;
>  
> +	sd->fwnode = fwnode_graph_get_endpoint_by_id(dev_fwnode(csis->dev),
> +						     1, 0, 0);
> +	if (!sd->fwnode) {
> +		dev_err(csis->dev, "Unable to retrieve endpoint for port@1\n");
> +		return -ENOENT;
> +	}
> +
>  	csis->csis_fmt = &mipi_csis_formats[0];
>  	mipi_csis_init_cfg(sd, NULL);
>  
> @@ -1498,6 +1505,7 @@ static int mipi_csis_probe(struct platform_device *pdev)
>  	v4l2_async_unregister_subdev(&csis->sd);
>  disable_clock:
>  	mipi_csis_clk_disable(csis);
> +	fwnode_handle_put(csis->sd.fwnode);
>  	mutex_destroy(&csis->lock);
>  
>  	return ret;
> @@ -1517,6 +1525,7 @@ static int mipi_csis_remove(struct platform_device *pdev)
>  	mipi_csis_runtime_suspend(&pdev->dev);
>  	mipi_csis_clk_disable(csis);
>  	media_entity_cleanup(&csis->sd.entity);
> +	fwnode_handle_put(csis->sd.fwnode);
>  	mutex_destroy(&csis->lock);
>  	pm_runtime_set_suspended(&pdev->dev);
>  
> -- 
> Regards,
> 
> Laurent Pinchart
>
> 



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux