[PATCH] soc: ti: smartreflex: Simplify getting the opam_sr pointer
Tony Lindgren
tony at atomide.com
Wed Apr 12 22:29:42 PDT 2023
* Uwe Kleine-König <u.kleine-koenig at 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 at 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 at 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/ |
More information about the linux-arm-kernel
mailing list