diff mbox series

soc: ti: smartreflex: Simplify getting the opam_sr pointer

Message ID 20221012140032.113363-1-u.kleine-koenig@pengutronix.de (mailing list archive)
State New, archived
Headers show
Series soc: ti: smartreflex: Simplify getting the opam_sr pointer | expand

Commit Message

Uwe Kleine-König Oct. 12, 2022, 2 p.m. UTC
The probe function stores the sr_info pointer using
platform_set_drvdata(). Use the corresponding platform_get_drvdata() to
retrieve that pointer in the remove and shutdown functions.

This simplifies these functions and makes error handling unnecessary.
This is a good thing as at least for .remove() returning an error code
doesn't have the desired effect.

This is a preparation for making platform remove callbacks return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/soc/ti/smartreflex.c | 30 ++----------------------------
 1 file changed, 2 insertions(+), 28 deletions(-)


base-commit: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f

Comments

Uwe Kleine-König Dec. 19, 2022, 9:41 p.m. UTC | #1
Hello,

On Wed, Oct 12, 2022 at 04:00:32PM +0200, Uwe Kleine-König wrote:
> The probe function stores the sr_info pointer using
> platform_set_drvdata(). Use the corresponding platform_get_drvdata() to
> retrieve that pointer in the remove and shutdown functions.
> 
> This simplifies these functions and makes error handling unnecessary.
> This is a good thing as at least for .remove() returning an error code
> doesn't have the desired effect.
> 
> This is a preparation for making platform remove callbacks return void.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

I didn't get any feedback on this patch and it didn't appear in next.

Did if fell through the cracks? Are there any concerns?

Best regards
Uwe
Uwe Kleine-König April 12, 2023, 2:25 p.m. UTC | #2
Hello,

[Cc += Tony Lindgren + Arnd Bergmann who did care about the last change
to this driver]

On Wed, Oct 12, 2022 at 04:00:32PM +0200, Uwe Kleine-König wrote:
> The probe function stores the sr_info pointer using
> platform_set_drvdata(). Use the corresponding platform_get_drvdata() to
> retrieve that pointer in the remove and shutdown functions.
> 
> This simplifies these functions and makes error handling unnecessary.
> This is a good thing as at least for .remove() returning an error code
> doesn't have the desired effect.
> 
> This is a preparation for making platform remove callbacks return void.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

This patch still applies to v6.3-rc1, but I didn't get any feedback
since 6 months now. I need this change to eventually make
platform_driver's remove callback return void.

Best regards
Uwe

[Keeping a full quote below for Tony and Arnd]

> ---
>  drivers/soc/ti/smartreflex.c | 30 ++----------------------------
>  1 file changed, 2 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/soc/ti/smartreflex.c b/drivers/soc/ti/smartreflex.c
> index ad2bb72e640c..1d0b50feae44 100644
> --- a/drivers/soc/ti/smartreflex.c
> +++ b/drivers/soc/ti/smartreflex.c
> @@ -940,21 +940,8 @@ static int omap_sr_probe(struct platform_device *pdev)
>  
>  static int omap_sr_remove(struct platform_device *pdev)
>  {
> -	struct omap_sr_data *pdata = pdev->dev.platform_data;
>  	struct device *dev = &pdev->dev;
> -	struct omap_sr *sr_info;
> -
> -	if (!pdata) {
> -		dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
> -		return -EINVAL;
> -	}
> -
> -	sr_info = _sr_lookup(pdata->voltdm);
> -	if (IS_ERR(sr_info)) {
> -		dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
> -			__func__);
> -		return PTR_ERR(sr_info);
> -	}
> +	struct omap_sr *sr_info = platform_get_drvdata(pdev);
>  
>  	if (sr_info->autocomp_active)
>  		sr_stop_vddautocomp(sr_info);
> @@ -968,20 +955,7 @@ static int omap_sr_remove(struct platform_device *pdev)
>  
>  static void omap_sr_shutdown(struct platform_device *pdev)
>  {
> -	struct omap_sr_data *pdata = pdev->dev.platform_data;
> -	struct omap_sr *sr_info;
> -
> -	if (!pdata) {
> -		dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
> -		return;
> -	}
> -
> -	sr_info = _sr_lookup(pdata->voltdm);
> -	if (IS_ERR(sr_info)) {
> -		dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
> -			__func__);
> -		return;
> -	}
> +	struct omap_sr *sr_info = platform_get_drvdata(pdev);
>  
>  	if (sr_info->autocomp_active)
>  		sr_stop_vddautocomp(sr_info);
> 
> base-commit: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
Tony Lindgren April 13, 2023, 5:29 a.m. UTC | #3
* Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [230412 14:26]:
> Hello,
> 
> [Cc += Tony Lindgren + Arnd Bergmann who did care about the last change
> to this driver]
> 
> On Wed, Oct 12, 2022 at 04:00:32PM +0200, Uwe Kleine-König wrote:
> > The probe function stores the sr_info pointer using
> > platform_set_drvdata(). Use the corresponding platform_get_drvdata() to
> > retrieve that pointer in the remove and shutdown functions.
> > 
> > This simplifies these functions and makes error handling unnecessary.
> > This is a good thing as at least for .remove() returning an error code
> > doesn't have the desired effect.
> > 
> > This is a preparation for making platform remove callbacks return void.
> > 
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> 
> This patch still applies to v6.3-rc1, but I didn't get any feedback
> since 6 months now. I need this change to eventually make
> platform_driver's remove callback return void.
> 
> Best regards
> Uwe
> 
> [Keeping a full quote below for Tony and Arnd]

Looks good to me, maybe Arnd is still picking patches for the upcoming
merge window:

Reviewed-by: Tony Lindgren <tony@atomide.com>


> > ---
> >  drivers/soc/ti/smartreflex.c | 30 ++----------------------------
> >  1 file changed, 2 insertions(+), 28 deletions(-)
> > 
> > diff --git a/drivers/soc/ti/smartreflex.c b/drivers/soc/ti/smartreflex.c
> > index ad2bb72e640c..1d0b50feae44 100644
> > --- a/drivers/soc/ti/smartreflex.c
> > +++ b/drivers/soc/ti/smartreflex.c
> > @@ -940,21 +940,8 @@ static int omap_sr_probe(struct platform_device *pdev)
> >  
> >  static int omap_sr_remove(struct platform_device *pdev)
> >  {
> > -	struct omap_sr_data *pdata = pdev->dev.platform_data;
> >  	struct device *dev = &pdev->dev;
> > -	struct omap_sr *sr_info;
> > -
> > -	if (!pdata) {
> > -		dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
> > -		return -EINVAL;
> > -	}
> > -
> > -	sr_info = _sr_lookup(pdata->voltdm);
> > -	if (IS_ERR(sr_info)) {
> > -		dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
> > -			__func__);
> > -		return PTR_ERR(sr_info);
> > -	}
> > +	struct omap_sr *sr_info = platform_get_drvdata(pdev);
> >  
> >  	if (sr_info->autocomp_active)
> >  		sr_stop_vddautocomp(sr_info);
> > @@ -968,20 +955,7 @@ static int omap_sr_remove(struct platform_device *pdev)
> >  
> >  static void omap_sr_shutdown(struct platform_device *pdev)
> >  {
> > -	struct omap_sr_data *pdata = pdev->dev.platform_data;
> > -	struct omap_sr *sr_info;
> > -
> > -	if (!pdata) {
> > -		dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
> > -		return;
> > -	}
> > -
> > -	sr_info = _sr_lookup(pdata->voltdm);
> > -	if (IS_ERR(sr_info)) {
> > -		dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
> > -			__func__);
> > -		return;
> > -	}
> > +	struct omap_sr *sr_info = platform_get_drvdata(pdev);
> >  
> >  	if (sr_info->autocomp_active)
> >  		sr_stop_vddautocomp(sr_info);
> > 
> > base-commit: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
> 
> -- 
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |
Arnd Bergmann April 14, 2023, 4:04 p.m. UTC | #4
On Wed, Apr 12, 2023, at 16:25, Uwe Kleine-König wrote:
> Hello,
>
> [Cc += Tony Lindgren + Arnd Bergmann who did care about the last change
> to this driver]
>
> On Wed, Oct 12, 2022 at 04:00:32PM +0200, Uwe Kleine-König wrote:
>> The probe function stores the sr_info pointer using
>> platform_set_drvdata(). Use the corresponding platform_get_drvdata() to
>> retrieve that pointer in the remove and shutdown functions.
>> 
>> This simplifies these functions and makes error handling unnecessary.
>> This is a good thing as at least for .remove() returning an error code
>> doesn't have the desired effect.
>> 
>> This is a preparation for making platform remove callbacks return void.
>> 
>> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>
> This patch still applies to v6.3-rc1, but I didn't get any feedback
> since 6 months now. I need this change to eventually make
> platform_driver's remove callback return void.

Applied to the soc/drivers branch for 6.4 now.

     Arnd
Nishanth Menon April 14, 2023, 6:33 p.m. UTC | #5
On 18:04-20230414, Arnd Bergmann wrote:
> On Wed, Apr 12, 2023, at 16:25, Uwe Kleine-König wrote:
> > Hello,
> >
> > [Cc += Tony Lindgren + Arnd Bergmann who did care about the last change
> > to this driver]
> >
> > On Wed, Oct 12, 2022 at 04:00:32PM +0200, Uwe Kleine-König wrote:
> >> The probe function stores the sr_info pointer using
> >> platform_set_drvdata(). Use the corresponding platform_get_drvdata() to
> >> retrieve that pointer in the remove and shutdown functions.
> >> 
> >> This simplifies these functions and makes error handling unnecessary.
> >> This is a good thing as at least for .remove() returning an error code
> >> doesn't have the desired effect.
> >> 
> >> This is a preparation for making platform remove callbacks return void.
> >> 
> >> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> >
> > This patch still applies to v6.3-rc1, but I didn't get any feedback
> > since 6 months now. I need this change to eventually make
> > platform_driver's remove callback return void.
> 
> Applied to the soc/drivers branch for 6.4 now.
> 
>      Arnd

Thanks Arnd, Tony.
diff mbox series

Patch

diff --git a/drivers/soc/ti/smartreflex.c b/drivers/soc/ti/smartreflex.c
index ad2bb72e640c..1d0b50feae44 100644
--- a/drivers/soc/ti/smartreflex.c
+++ b/drivers/soc/ti/smartreflex.c
@@ -940,21 +940,8 @@  static int omap_sr_probe(struct platform_device *pdev)
 
 static int omap_sr_remove(struct platform_device *pdev)
 {
-	struct omap_sr_data *pdata = pdev->dev.platform_data;
 	struct device *dev = &pdev->dev;
-	struct omap_sr *sr_info;
-
-	if (!pdata) {
-		dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
-		return -EINVAL;
-	}
-
-	sr_info = _sr_lookup(pdata->voltdm);
-	if (IS_ERR(sr_info)) {
-		dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
-			__func__);
-		return PTR_ERR(sr_info);
-	}
+	struct omap_sr *sr_info = platform_get_drvdata(pdev);
 
 	if (sr_info->autocomp_active)
 		sr_stop_vddautocomp(sr_info);
@@ -968,20 +955,7 @@  static int omap_sr_remove(struct platform_device *pdev)
 
 static void omap_sr_shutdown(struct platform_device *pdev)
 {
-	struct omap_sr_data *pdata = pdev->dev.platform_data;
-	struct omap_sr *sr_info;
-
-	if (!pdata) {
-		dev_err(&pdev->dev, "%s: platform data missing\n", __func__);
-		return;
-	}
-
-	sr_info = _sr_lookup(pdata->voltdm);
-	if (IS_ERR(sr_info)) {
-		dev_warn(&pdev->dev, "%s: omap_sr struct not found\n",
-			__func__);
-		return;
-	}
+	struct omap_sr *sr_info = platform_get_drvdata(pdev);
 
 	if (sr_info->autocomp_active)
 		sr_stop_vddautocomp(sr_info);