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 |
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
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
* 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/ |
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
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 --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);
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