| From rjw@sisk.pl Mon Mar 26 15:03:04 2012 |
| From: "Rafael J. Wysocki" <rjw@sisk.pl> |
| Date: Mon, 26 Mar 2012 23:26:53 +0200 |
| Subject: PM / shmobile: Make CMT driver use pm_genpd_dev_always_on() |
| To: Greg KH <gregkh@linuxfoundation.org> |
| Cc: horms@verge.net.au, lethal@linux-sh.org, stable@vger.kernel.org, stable-commits@vger.kernel.org |
| Message-ID: <201203262326.53650.rjw@sisk.pl> |
| |
| |
| From: Rafael J. Wysocki <rjw@sisk.pl> |
| |
| Commit 615a445f7f8a077c145e737864ae59a4d8717882 upstream. |
| |
| Make the CMT clocksource driver mark its device as "always on" |
| using pm_genpd_dev_always_on() to protect it from surprise power |
| removals. |
| |
| Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> |
| Tested-by: Simon Horman <horms@verge.net.au> |
| Acked-by: Paul Mundt <lethal@linux-sh.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/clocksource/sh_cmt.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/drivers/clocksource/sh_cmt.c |
| +++ b/drivers/clocksource/sh_cmt.c |
| @@ -32,6 +32,7 @@ |
| #include <linux/sh_timer.h> |
| #include <linux/slab.h> |
| #include <linux/module.h> |
| +#include <linux/pm_domain.h> |
| |
| struct sh_cmt_priv { |
| void __iomem *mapbase; |
| @@ -689,6 +690,9 @@ static int __devinit sh_cmt_probe(struct |
| struct sh_cmt_priv *p = platform_get_drvdata(pdev); |
| int ret; |
| |
| + if (!is_early_platform_device(pdev)) |
| + pm_genpd_dev_always_on(&pdev->dev, true); |
| + |
| if (p) { |
| dev_info(&pdev->dev, "kept as earlytimer\n"); |
| return 0; |