Commit 9d399f0c authored by Baolin Wang's avatar Baolin Wang Committed by Bjorn Andersson

hwspinlock: u8500_hsem: Remove redundant PM runtime implementation

Since the hwspinlock core has changed the PM runtime to be optional, thus
remove the redundant PM runtime implementation in the u8500 HWSEM driver.
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarBaolin Wang <baolin.wang@linaro.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 4d0c1c57
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/hwspinlock.h> #include <linux/hwspinlock.h>
...@@ -89,7 +88,7 @@ static int u8500_hsem_probe(struct platform_device *pdev) ...@@ -89,7 +88,7 @@ static int u8500_hsem_probe(struct platform_device *pdev)
struct hwspinlock_device *bank; struct hwspinlock_device *bank;
struct hwspinlock *hwlock; struct hwspinlock *hwlock;
void __iomem *io_base; void __iomem *io_base;
int i, ret, num_locks = U8500_MAX_SEMAPHORE; int i, num_locks = U8500_MAX_SEMAPHORE;
ulong val; ulong val;
if (!pdata) if (!pdata)
...@@ -116,17 +115,9 @@ static int u8500_hsem_probe(struct platform_device *pdev) ...@@ -116,17 +115,9 @@ static int u8500_hsem_probe(struct platform_device *pdev)
for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++)
hwlock->priv = io_base + HSEM_REGISTER_OFFSET + sizeof(u32) * i; hwlock->priv = io_base + HSEM_REGISTER_OFFSET + sizeof(u32) * i;
/* no pm needed for HSem but required to comply with hwspilock core */ return devm_hwspin_lock_register(&pdev->dev, bank,
pm_runtime_enable(&pdev->dev); &u8500_hwspinlock_ops,
ret = devm_hwspin_lock_register(&pdev->dev, bank, &u8500_hwspinlock_ops,
pdata->base_id, num_locks); pdata->base_id, num_locks);
if (ret) {
pm_runtime_disable(&pdev->dev);
return ret;
}
return 0;
} }
static int u8500_hsem_remove(struct platform_device *pdev) static int u8500_hsem_remove(struct platform_device *pdev)
...@@ -137,8 +128,6 @@ static int u8500_hsem_remove(struct platform_device *pdev) ...@@ -137,8 +128,6 @@ static int u8500_hsem_remove(struct platform_device *pdev)
/* clear all interrupts */ /* clear all interrupts */
writel(0xFFFF, io_base + HSEM_ICRALL); writel(0xFFFF, io_base + HSEM_ICRALL);
pm_runtime_disable(&pdev->dev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment