Some improvements for SIRF hwspinlock
Baolin Wang
reviewercover Some improvements for SIRF hwspinlock
This patch set did some improvements for the SIRF hwspinlock driver, including changing to use devm_xxx APIs and removing some redundant pm runtime functions.
Baolin Wang (3):
hwspinlock: sirf: Change to use devm_platform_ioremap_resource()
hwspinlock: sirf: Remove redundant PM runtime functions
hwspinlock: sirf: Use devm_hwspin_lock_register() to register hwlock
controller
drivers/hwspinlock/sirf_hwspinlock.c | 46 ++++++---------------------------- 1 file changed, 7 insertions(+), 39 deletions(-)
Signature · 1 line
1.7.9.5
Baolin Wang
reviewerPATCH RESEND 1/3 hwspinlock: sirf: Change to use devm_platform_ioremap_resource()
Use the new helper that wraps the calls to platform_get_resource() and devm_ioremap_resource() together, which can simpify the code.
--- drivers/hwspinlock/sirf_hwspinlock.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
drivers/hwspinlock/sirf_hwspinlock.c +3 -6
@@ -69,9 +69,9 @@ static int sirf_hwspinlock_probe(struct platform_device *pdev)return -ENOMEM ;/* retrieve io base */ - hwspin->io_base =of_iomap (pdev->dev.of_node,0 ); -if (!hwspin->io_base) -return -ENOMEM ; + hwspin->io_base =devm_platform_ioremap_resource (pdev,0 ); +if (IS_ERR (hwspin->io_base)) +return PTR_ERR (hwspin->io_base);for (idx =0 ; idx <HW_SPINLOCK_NUMBER ; idx++) { hwlock = &hwspin->bank.lock[idx];
@@ -92,7 +92,6 @@ static int sirf_hwspinlock_probe(struct platform_device *pdev) reg_failed:pm_runtime_disable (&pdev->dev); -iounmap (hwspin->io_base);return ret; }
@@ -110,8 +109,6 @@ static int sirf_hwspinlock_remove(struct platform_device *pdev)pm_runtime_disable (&pdev->dev); -iounmap (hwspin->io_base); -return 0 ; }
Signature · 1 line
1.7.9.5
Baolin Wang
reviewerPATCH RESEND 2/3 hwspinlock: sirf: Remove redundant PM runtime functions
In reply to Baolin WangSince the hwspinlock core has changed the PM runtime to be optional, and the SIRF hardware spinlock has no pm runtime requirement, thus remove these redundant PM runtime functions.
--- drivers/hwspinlock/sirf_hwspinlock.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-)
drivers/hwspinlock/sirf_hwspinlock.c +4 -18
@@ -9,7 +9,6 @@#include <linux/module.h> #include <linux/device.h> #include <linux/io.h> -#include <linux/pm_runtime.h> #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/hwspinlock.h>
@@ -56,7 +55,7 @@ static int sirf_hwspinlock_probe(struct platform_device *pdev) {struct sirf_hwspinlock *hwspin;struct hwspinlock *hwlock; -int idx, ret; +int idx;if (!pdev->dev.of_node)return -ENODEV ;
@@ -80,20 +79,9 @@ static int sirf_hwspinlock_probe(struct platform_device *pdev)platform_set_drvdata (pdev, hwspin); -pm_runtime_enable (&pdev->dev); - - ret =hwspin_lock_register (&hwspin->bank, &pdev->dev, - &sirf_hwspinlock_ops,0 , -HW_SPINLOCK_NUMBER ); -if (ret) - goto reg_failed; - -return 0 ; - -reg_failed: -pm_runtime_disable (&pdev->dev); - -return ret; +return hwspin_lock_register (&hwspin->bank, &pdev->dev, + &sirf_hwspinlock_ops,0 , +HW_SPINLOCK_NUMBER ); }static int sirf_hwspinlock_remove (struct platform_device *pdev)
@@ -107,8 +95,6 @@ static int sirf_hwspinlock_remove(struct platform_device *pdev)return ret; } -pm_runtime_disable (&pdev->dev); -return 0 ; }
Signature · 1 line
1.7.9.5
Baolin Wang
reviewerPATCH RESEND 3/3 hwspinlock: sirf: Use devm_hwspin_lock_register() to register hwlock controller
In reply to Baolin WangUse devm_hwspin_lock_register() to register the hwlock controller instead of unregistering the hwlock controller explicitly when removing the device.
--- drivers/hwspinlock/sirf_hwspinlock.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-)
drivers/hwspinlock/sirf_hwspinlock.c +3 -18
@@ -79,23 +79,9 @@ static int sirf_hwspinlock_probe(struct platform_device *pdev)platform_set_drvdata (pdev, hwspin); -return hwspin_lock_register (&hwspin->bank, &pdev->dev, - &sirf_hwspinlock_ops,0 , -HW_SPINLOCK_NUMBER ); -} - -static int sirf_hwspinlock_remove (struct platform_device *pdev) -{ -struct sirf_hwspinlock *hwspin =platform_get_drvdata (pdev); -int ret; - - ret =hwspin_lock_unregister (&hwspin->bank); -if (ret) { -dev_err (&pdev->dev,"%s failed: %d\n" , __func__, ret); -return ret; - } - -return 0 ; +return devm_hwspin_lock_register (&pdev->dev, &hwspin->bank, + &sirf_hwspinlock_ops,0 , +HW_SPINLOCK_NUMBER ); }static const struct of_device_id sirf_hwpinlock_ids[] = {
@@ -106,7 +92,6 @@ static int sirf_hwspinlock_remove(struct platform_device *pdev)static struct platform_driver sirf_hwspinlock_driver = { .probe = sirf_hwspinlock_probe, - .remove = sirf_hwspinlock_remove, .driver = { .name ="atlas7_hwspinlock" , .of_match_table =of_match_ptr (sirf_hwpinlock_ids),
Signature · 1 line
1.7.9.5
Quoted 4 lines · Baolin Wang
This patch set did some improvements for the SIRF hwspinlock driver, including changing to use
devm_xxxAPIs and removing some redundant pm runtime functions.
Thanks for resending the three series' Baolin! I've applied this as well.
Regards,
Bjorn
Quoted 12 lines
Baolin Wang (3):
hwspinlock: sirf: Change to usedevm_platform_ioremap_resource()
hwspinlock: sirf: Remove redundant PM runtime functions
hwspinlock: sirf: Usedevm_hwspin_lock_register()to register hwlock
controllerdrivers/hwspinlock/sirf_hwspinlock.c | 46 ++++++---------------------------- 1 file changed, 7 insertions(+), 39 deletions(-)Signature · 1 line
1.7.9.5
This series was applied to andersson/remoteproc.git (refs/heads/for-next).
Hello:
This series was applied to andersson/remoteproc.git (refs/heads/for-next).
Quoted 11 lines · On Wed, 8 Jan 2020 11:23:43 +0800 you wrote:
This patch set did some improvements for the SIRF hwspinlock driver, including changing to use
devm_xxxAPIs and removing some redundant pm runtime functions.Baolin Wang (3):
hwspinlock: sirf: Change to usedevm_platform_ioremap_resource()
hwspinlock: sirf: Remove redundant PM runtime functions
hwspinlock: sirf: Usedevm_hwspin_lock_register()to register hwlock
controller[...]
Here is a summary with links:
- [RESEND,1/3] hwspinlock: sirf: Change to use devm_platform_ioremap_resource()
https://git.kernel.org/andersson/remoteproc/c/77d99a6a9df2ac3d1832b408123e48549d1e01fd - [RESEND,2/3] hwspinlock: sirf: Remove redundant PM runtime functions https://git.kernel.org/andersson/remoteproc/c/8f2a0dc87dad7f5c644fc9210a1efb4617acd6a1 - [RESEND,3/3] hwspinlock: sirf: Use devm_hwspin_lock_register() to register hwlock controller https://git.kernel.org/andersson/remoteproc/c/cb36017a8b1b582bcb7063e44c598c3e36aa0228
You are awesome, thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/pwbot