Re: [PATCH 2/4] hwspinlock: omap: Use devm_pm_runtime_enable() helper

From: Bjorn Andersson
Date: Tue Feb 06 2024 - 14:03:42 EST


On Tue, Jan 23, 2024 at 10:04:03AM -0600, Andrew Davis wrote:
> This disables runtime PM on module exit, allowing us to simplify
> the probe exit path and remove callbacks. Do that here.

As with the later patch, unless I'm misreading the code, you already do
disable runtime PM in omap_hwspinlock_remove().

>
> Signed-off-by: Andrew Davis <afd@xxxxxx>
> ---
> drivers/hwspinlock/omap_hwspinlock.c | 26 ++++++++------------------
> 1 file changed, 8 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/hwspinlock/omap_hwspinlock.c b/drivers/hwspinlock/omap_hwspinlock.c
[..]
> @@ -129,16 +125,12 @@ static int omap_hwspinlock_probe(struct platform_device *pdev)
> ret = hwspin_lock_register(bank, &pdev->dev, &omap_hwspinlock_ops,
> base_id, num_locks);
> if (ret)
> - goto runtime_err;
> + return ret;
>
> dev_dbg(&pdev->dev, "Registered %d locks with HwSpinlock core\n",
> num_locks);

I don't fancy these debug information messages, there are other ways to
confirm that the device probed successfully etc.

Now that you don't need the goto runtime_err, I'd prefer the tail of
this function:

return hwspin_lock_register(...);

Regards,
Bjorn

>
> return 0;
> -
> -runtime_err:
> - pm_runtime_disable(&pdev->dev);
> - return ret;
> }
>
> static void omap_hwspinlock_remove(struct platform_device *pdev)
> @@ -151,8 +143,6 @@ static void omap_hwspinlock_remove(struct platform_device *pdev)
> dev_err(&pdev->dev, "%s failed: %d\n", __func__, ret);
> return;
> }
> -
> - pm_runtime_disable(&pdev->dev);
> }
>
> static const struct of_device_id omap_hwspinlock_of_match[] = {
> --
> 2.39.2
>