diff mbox series

[3/4] hwspinlock: omap: Use devm_hwspin_lock_register() helper

Message ID 20240123160405.360437-3-afd@ti.com
State New
Headers show
Series [1/4] hwspinlock: omap: Remove unneeded check for OF node | expand

Commit Message

Andrew Davis Jan. 23, 2024, 4:04 p.m. UTC
This unregister the HW spinlock on module exit, allowing us to
remove the remove callback. Do this here.

Signed-off-by: Andrew Davis <afd@ti.com>
---
 drivers/hwspinlock/omap_hwspinlock.c | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

Comments

Bjorn Andersson Feb. 6, 2024, 7:02 p.m. UTC | #1
On Tue, Jan 23, 2024 at 10:04:04AM -0600, Andrew Davis wrote:
> This unregister the HW spinlock on module exit, allowing us to
> remove the remove callback. Do this here.
> 

I interpret this as stating that the driver currently doesn't unregister
the spinlocks, but as far as I can see it does, and that the patch has
no functional change.

Can you please rewrite this commit message to clearly express which
"problem" you're solving, and unless I'm mistaken clarify that there's
no functional change.


Patch itself looks good.

Regards,
Bjorn

> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
>  drivers/hwspinlock/omap_hwspinlock.c | 17 +----------------
>  1 file changed, 1 insertion(+), 16 deletions(-)
> 
> diff --git a/drivers/hwspinlock/omap_hwspinlock.c b/drivers/hwspinlock/omap_hwspinlock.c
> index 2f18ea6c05e3f..1b0a1bea2b24a 100644
> --- a/drivers/hwspinlock/omap_hwspinlock.c
> +++ b/drivers/hwspinlock/omap_hwspinlock.c
> @@ -117,12 +117,10 @@ static int omap_hwspinlock_probe(struct platform_device *pdev)
>  	if (!bank)
>  		return -ENOMEM;
>  
> -	platform_set_drvdata(pdev, bank);
> -
>  	for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++)
>  		hwlock->priv = io_base + LOCK_BASE_OFFSET + sizeof(u32) * i;
>  
> -	ret = hwspin_lock_register(bank, &pdev->dev, &omap_hwspinlock_ops,
> +	ret = devm_hwspin_lock_register(&pdev->dev, bank, &omap_hwspinlock_ops,
>  						base_id, num_locks);
>  	if (ret)
>  		return ret;
> @@ -133,18 +131,6 @@ static int omap_hwspinlock_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -static void omap_hwspinlock_remove(struct platform_device *pdev)
> -{
> -	struct hwspinlock_device *bank = platform_get_drvdata(pdev);
> -	int ret;
> -
> -	ret = hwspin_lock_unregister(bank);
> -	if (ret) {
> -		dev_err(&pdev->dev, "%s failed: %d\n", __func__, ret);
> -		return;
> -	}
> -}
> -
>  static const struct of_device_id omap_hwspinlock_of_match[] = {
>  	{ .compatible = "ti,omap4-hwspinlock", },
>  	{ .compatible = "ti,am64-hwspinlock", },
> @@ -155,7 +141,6 @@ MODULE_DEVICE_TABLE(of, omap_hwspinlock_of_match);
>  
>  static struct platform_driver omap_hwspinlock_driver = {
>  	.probe		= omap_hwspinlock_probe,
> -	.remove_new	= omap_hwspinlock_remove,
>  	.driver		= {
>  		.name	= "omap_hwspinlock",
>  		.of_match_table = omap_hwspinlock_of_match,
> -- 
> 2.39.2
>
diff mbox series

Patch

diff --git a/drivers/hwspinlock/omap_hwspinlock.c b/drivers/hwspinlock/omap_hwspinlock.c
index 2f18ea6c05e3f..1b0a1bea2b24a 100644
--- a/drivers/hwspinlock/omap_hwspinlock.c
+++ b/drivers/hwspinlock/omap_hwspinlock.c
@@ -117,12 +117,10 @@  static int omap_hwspinlock_probe(struct platform_device *pdev)
 	if (!bank)
 		return -ENOMEM;
 
-	platform_set_drvdata(pdev, bank);
-
 	for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++)
 		hwlock->priv = io_base + LOCK_BASE_OFFSET + sizeof(u32) * i;
 
-	ret = hwspin_lock_register(bank, &pdev->dev, &omap_hwspinlock_ops,
+	ret = devm_hwspin_lock_register(&pdev->dev, bank, &omap_hwspinlock_ops,
 						base_id, num_locks);
 	if (ret)
 		return ret;
@@ -133,18 +131,6 @@  static int omap_hwspinlock_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static void omap_hwspinlock_remove(struct platform_device *pdev)
-{
-	struct hwspinlock_device *bank = platform_get_drvdata(pdev);
-	int ret;
-
-	ret = hwspin_lock_unregister(bank);
-	if (ret) {
-		dev_err(&pdev->dev, "%s failed: %d\n", __func__, ret);
-		return;
-	}
-}
-
 static const struct of_device_id omap_hwspinlock_of_match[] = {
 	{ .compatible = "ti,omap4-hwspinlock", },
 	{ .compatible = "ti,am64-hwspinlock", },
@@ -155,7 +141,6 @@  MODULE_DEVICE_TABLE(of, omap_hwspinlock_of_match);
 
 static struct platform_driver omap_hwspinlock_driver = {
 	.probe		= omap_hwspinlock_probe,
-	.remove_new	= omap_hwspinlock_remove,
 	.driver		= {
 		.name	= "omap_hwspinlock",
 		.of_match_table = omap_hwspinlock_of_match,