aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-08-05 19:46:39 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2012-09-03 19:36:04 -0400
commitdbf374142dd7a3c394ec124ebe7339a6c412d9b6 (patch)
tree593b26dff2da2f364ed1ad97e667d691487d7e69 /drivers/clocksource
parent6fb28badf207a6d8a78906353772e1c3f560a977 (diff)
PM / Domains: Move syscore flag from subsys data to struct device
The syscore device PM flag is used to mark the devices (belonging to a PM domain) that should never be turned off, except for the system core (syscore) suspend/hibernation and resume stages. That flag is stored in the device's struct pm_subsys_data object whose address is available from struct device. However, in some situations it may be convenient to set that flag before the device is added to a PM domain, so it is better to move it directly to the "power" member of struct device. Then, it can be checked by the routines in drivers/base/power/runtime.c and drivers/base/power/main.c, which is more straightforward. This also reduces the number of dev_gpd_data() invocations in the generic PM domains framework, so the overhead related to the syscore flag is slightly smaller. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Magnus Damm <damm@opensource.se>
Diffstat (limited to 'drivers/clocksource')
-rw-r--r--drivers/clocksource/sh_cmt.c2
-rw-r--r--drivers/clocksource/sh_mtu2.c2
-rw-r--r--drivers/clocksource/sh_tmu.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clocksource/sh_cmt.c b/drivers/clocksource/sh_cmt.c
index c6fbb9f71911..a515605bf8f5 100644
--- a/drivers/clocksource/sh_cmt.c
+++ b/drivers/clocksource/sh_cmt.c
@@ -717,7 +717,7 @@ static int __devinit sh_cmt_probe(struct platform_device *pdev)
717 struct sh_timer_config *cfg = pdev->dev.platform_data; 717 struct sh_timer_config *cfg = pdev->dev.platform_data;
718 718
719 if (cfg->clocksource_rating || cfg->clockevent_rating) 719 if (cfg->clocksource_rating || cfg->clockevent_rating)
720 pm_genpd_dev_syscore(&pdev->dev, true); 720 dev_pm_syscore_device(&pdev->dev, true);
721 } 721 }
722 722
723 if (p) { 723 if (p) {
diff --git a/drivers/clocksource/sh_mtu2.c b/drivers/clocksource/sh_mtu2.c
index 278c18abb2ae..1a95cad96819 100644
--- a/drivers/clocksource/sh_mtu2.c
+++ b/drivers/clocksource/sh_mtu2.c
@@ -323,7 +323,7 @@ static int __devinit sh_mtu2_probe(struct platform_device *pdev)
323 struct sh_timer_config *cfg = pdev->dev.platform_data; 323 struct sh_timer_config *cfg = pdev->dev.platform_data;
324 324
325 if (cfg->clockevent_rating) 325 if (cfg->clockevent_rating)
326 pm_genpd_dev_syscore(&pdev->dev, true); 326 dev_pm_syscore_device(&pdev->dev, true);
327 } 327 }
328 328
329 if (p) { 329 if (p) {
diff --git a/drivers/clocksource/sh_tmu.c b/drivers/clocksource/sh_tmu.c
index 5319689c579c..81b0239718ee 100644
--- a/drivers/clocksource/sh_tmu.c
+++ b/drivers/clocksource/sh_tmu.c
@@ -453,7 +453,7 @@ static int __devinit sh_tmu_probe(struct platform_device *pdev)
453 struct sh_timer_config *cfg = pdev->dev.platform_data; 453 struct sh_timer_config *cfg = pdev->dev.platform_data;
454 454
455 if (cfg->clocksource_rating || cfg->clockevent_rating) 455 if (cfg->clocksource_rating || cfg->clockevent_rating)
456 pm_genpd_dev_syscore(&pdev->dev, true); 456 dev_pm_syscore_device(&pdev->dev, true);
457 } 457 }
458 458
459 if (p) { 459 if (p) {