Message ID | 20250210114540.524790-9-tommaso.merciai.xr@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Kieran Bingham |
Headers | show |
Series | media: rzg2l-cru: Document RZ/G3E (CSI2, CRU) | expand |
Hi Tommaso Merciai, > -----Original Message----- > From: Tommaso Merciai <tomm.merciai@gmail.com> > Sent: 10 February 2025 11:46 > Subject: [PATCH 8/8] media: rzg2l-cru: rzg2l-core: Use devm_pm_runtime_enable() > > Use newly added devm_pm_runtime_enable() into rzg2l_cru_probe() and drop unnecessary > pm_runtime_disable() from rzg2l_cru_probe() and rzg2l_csi2_remove(). > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Cheers, Biju > --- > drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > index 70fed0ce45ea..5548b328d970 100644 > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > @@ -287,7 +287,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > > cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; > pm_suspend_ignore_children(dev, true); > - pm_runtime_enable(dev); > + ret = devm_pm_runtime_enable(dev); > + if (ret) > + return ret; > > ret = rzg2l_cru_media_init(cru); > if (ret) > @@ -297,7 +299,6 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > > error_dma_unregister: > rzg2l_cru_dma_unregister(cru); > - pm_runtime_disable(dev); > > return ret; > } > @@ -306,8 +307,6 @@ static void rzg2l_cru_remove(struct platform_device *pdev) { > struct rzg2l_cru_dev *cru = platform_get_drvdata(pdev); > > - pm_runtime_disable(&pdev->dev); > - > v4l2_async_nf_unregister(&cru->notifier); > v4l2_async_nf_cleanup(&cru->notifier); > > -- > 2.34.1
Hi Tommaso, Thank you for the patch. On Mon, Feb 10, 2025 at 12:45:40PM +0100, Tommaso Merciai wrote: > Use newly added devm_pm_runtime_enable() into rzg2l_cru_probe() and > drop unnecessary pm_runtime_disable() from rzg2l_cru_probe() and > rzg2l_csi2_remove(). > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > --- > drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > index 70fed0ce45ea..5548b328d970 100644 > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > @@ -287,7 +287,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > > cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; > pm_suspend_ignore_children(dev, true); > - pm_runtime_enable(dev); > + ret = devm_pm_runtime_enable(dev); > + if (ret) > + return ret; Leaking DMA. > > ret = rzg2l_cru_media_init(cru); > if (ret) > @@ -297,7 +299,6 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > > error_dma_unregister: > rzg2l_cru_dma_unregister(cru); > - pm_runtime_disable(dev); > > return ret; > } > @@ -306,8 +307,6 @@ static void rzg2l_cru_remove(struct platform_device *pdev) > { > struct rzg2l_cru_dev *cru = platform_get_drvdata(pdev); > > - pm_runtime_disable(&pdev->dev); > - > v4l2_async_nf_unregister(&cru->notifier); > v4l2_async_nf_cleanup(&cru->notifier); >
Hi Laurent, Thanks for your review. On Fri, Feb 14, 2025 at 02:50:59AM +0200, Laurent Pinchart wrote: > Hi Tommaso, > > Thank you for the patch. > > On Mon, Feb 10, 2025 at 12:45:40PM +0100, Tommaso Merciai wrote: > > Use newly added devm_pm_runtime_enable() into rzg2l_cru_probe() and > > drop unnecessary pm_runtime_disable() from rzg2l_cru_probe() and > > rzg2l_csi2_remove(). > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> > > --- > > drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 7 +++---- > > 1 file changed, 3 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > > index 70fed0ce45ea..5548b328d970 100644 > > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > > @@ -287,7 +287,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > > > > cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; > > pm_suspend_ignore_children(dev, true); > > - pm_runtime_enable(dev); > > + ret = devm_pm_runtime_enable(dev); > > + if (ret) > > + return ret; > > Leaking DMA. Ouch, thanks! Will fix this in v2. > > > > > ret = rzg2l_cru_media_init(cru); > > if (ret) > > @@ -297,7 +299,6 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > > > > error_dma_unregister: > > rzg2l_cru_dma_unregister(cru); > > - pm_runtime_disable(dev); > > > > return ret; > > } > > @@ -306,8 +307,6 @@ static void rzg2l_cru_remove(struct platform_device *pdev) > > { > > struct rzg2l_cru_dev *cru = platform_get_drvdata(pdev); > > > > - pm_runtime_disable(&pdev->dev); > > - > > v4l2_async_nf_unregister(&cru->notifier); > > v4l2_async_nf_cleanup(&cru->notifier); > > > > -- > Regards, > > Laurent Pinchart Thanks & Regards, Tommaso
diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c index 70fed0ce45ea..5548b328d970 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c @@ -287,7 +287,9 @@ static int rzg2l_cru_probe(struct platform_device *pdev) cru->num_buf = RZG2L_CRU_HW_BUFFER_DEFAULT; pm_suspend_ignore_children(dev, true); - pm_runtime_enable(dev); + ret = devm_pm_runtime_enable(dev); + if (ret) + return ret; ret = rzg2l_cru_media_init(cru); if (ret) @@ -297,7 +299,6 @@ static int rzg2l_cru_probe(struct platform_device *pdev) error_dma_unregister: rzg2l_cru_dma_unregister(cru); - pm_runtime_disable(dev); return ret; } @@ -306,8 +307,6 @@ static void rzg2l_cru_remove(struct platform_device *pdev) { struct rzg2l_cru_dev *cru = platform_get_drvdata(pdev); - pm_runtime_disable(&pdev->dev); - v4l2_async_nf_unregister(&cru->notifier); v4l2_async_nf_cleanup(&cru->notifier);
Use newly added devm_pm_runtime_enable() into rzg2l_cru_probe() and drop unnecessary pm_runtime_disable() from rzg2l_cru_probe() and rzg2l_csi2_remove(). Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> --- drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)