diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-08-05 19:46:39 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-09-03 19:36:04 -0400 |
commit | dbf374142dd7a3c394ec124ebe7339a6c412d9b6 (patch) | |
tree | 593b26dff2da2f364ed1ad97e667d691487d7e69 /drivers/clocksource | |
parent | 6fb28badf207a6d8a78906353772e1c3f560a977 (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.c | 2 | ||||
-rw-r--r-- | drivers/clocksource/sh_mtu2.c | 2 | ||||
-rw-r--r-- | drivers/clocksource/sh_tmu.c | 2 |
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) { |