diff options
Diffstat (limited to 'drivers/hwspinlock')
| -rw-r--r-- | drivers/hwspinlock/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/hwspinlock/hwspinlock_core.c | 2 | ||||
| -rw-r--r-- | drivers/hwspinlock/omap_hwspinlock.c | 6 | ||||
| -rw-r--r-- | drivers/hwspinlock/u8500_hsem.c | 6 |
4 files changed, 9 insertions, 7 deletions
diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig index c7c3128393d..70637d23b1f 100644 --- a/drivers/hwspinlock/Kconfig +++ b/drivers/hwspinlock/Kconfig @@ -10,7 +10,7 @@ menu "Hardware Spinlock drivers" config HWSPINLOCK_OMAP tristate "OMAP Hardware Spinlock device" - depends on ARCH_OMAP4 + depends on ARCH_OMAP4 || SOC_OMAP5 select HWSPINLOCK help Say y here to support the OMAP Hardware Spinlock device (firstly diff --git a/drivers/hwspinlock/hwspinlock_core.c b/drivers/hwspinlock/hwspinlock_core.c index db713c0dfba..461a0d739d7 100644 --- a/drivers/hwspinlock/hwspinlock_core.c +++ b/drivers/hwspinlock/hwspinlock_core.c @@ -416,6 +416,8 @@ static int __hwspin_lock_request(struct hwspinlock *hwlock) ret = pm_runtime_get_sync(dev); if (ret < 0) { dev_err(dev, "%s: can't power on device\n", __func__); + pm_runtime_put_noidle(dev); + module_put(dev->driver->owner); return ret; } diff --git a/drivers/hwspinlock/omap_hwspinlock.c b/drivers/hwspinlock/omap_hwspinlock.c index 887d34effb3..292869cc903 100644 --- a/drivers/hwspinlock/omap_hwspinlock.c +++ b/drivers/hwspinlock/omap_hwspinlock.c @@ -78,7 +78,7 @@ static const struct hwspinlock_ops omap_hwspinlock_ops = { .relax = omap_hwspinlock_relax, }; -static int __devinit omap_hwspinlock_probe(struct platform_device *pdev) +static int omap_hwspinlock_probe(struct platform_device *pdev) { struct hwspinlock_pdata *pdata = pdev->dev.platform_data; struct hwspinlock_device *bank; @@ -142,7 +142,7 @@ iounmap_base: return ret; } -static int __devexit omap_hwspinlock_remove(struct platform_device *pdev) +static int omap_hwspinlock_remove(struct platform_device *pdev) { struct hwspinlock_device *bank = platform_get_drvdata(pdev); void __iomem *io_base = bank->lock[0].priv - LOCK_BASE_OFFSET; @@ -163,7 +163,7 @@ static int __devexit omap_hwspinlock_remove(struct platform_device *pdev) static struct platform_driver omap_hwspinlock_driver = { .probe = omap_hwspinlock_probe, - .remove = __devexit_p(omap_hwspinlock_remove), + .remove = omap_hwspinlock_remove, .driver = { .name = "omap_hwspinlock", .owner = THIS_MODULE, diff --git a/drivers/hwspinlock/u8500_hsem.c b/drivers/hwspinlock/u8500_hsem.c index 86980fe0411..401c33bcdb4 100644 --- a/drivers/hwspinlock/u8500_hsem.c +++ b/drivers/hwspinlock/u8500_hsem.c @@ -91,7 +91,7 @@ static const struct hwspinlock_ops u8500_hwspinlock_ops = { .relax = u8500_hsem_relax, }; -static int __devinit u8500_hsem_probe(struct platform_device *pdev) +static int u8500_hsem_probe(struct platform_device *pdev) { struct hwspinlock_pdata *pdata = pdev->dev.platform_data; struct hwspinlock_device *bank; @@ -148,7 +148,7 @@ iounmap_base: return ret; } -static int __devexit u8500_hsem_remove(struct platform_device *pdev) +static int u8500_hsem_remove(struct platform_device *pdev) { struct hwspinlock_device *bank = platform_get_drvdata(pdev); void __iomem *io_base = bank->lock[0].priv - HSEM_REGISTER_OFFSET; @@ -172,7 +172,7 @@ static int __devexit u8500_hsem_remove(struct platform_device *pdev) static struct platform_driver u8500_hsem_driver = { .probe = u8500_hsem_probe, - .remove = __devexit_p(u8500_hsem_remove), + .remove = u8500_hsem_remove, .driver = { .name = "u8500_hsem", .owner = THIS_MODULE, |
