soc: ti: smartreflex: Simplify getting the opam_sr pointer
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 12 Oct 2022 14:00:32 +0000 (16:00 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 14 Apr 2023 16:03:06 +0000 (18:03 +0200)
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>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/soc/ti/smartreflex.c

index 9d9496e0a94c9e59635a8d435fe02a6ebadf095c..da7898239a46ae238b7038551f6573f5ab0ac8f3 100644 (file)
@@ -937,21 +937,8 @@ err_list_del:
 
 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);
@@ -965,20 +952,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);