diff options
author | Rajendra Nayak <rnayak@codeaurora.org> | 2015-04-23 04:33:13 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-05-12 17:55:38 -0400 |
commit | d2c4b43d8848afaf968ed1f3cea0c99296ff5ff3 (patch) | |
tree | 193a6effd6dde078bbe4c323c63fdf673ef1f568 | |
parent | ea6f83346ecbe65e061a8c66c5486d3f2c9964e9 (diff) |
drivers: sh: remove boilerplate code and use USE_PM_CLK_RUNTIME_OPS
USE_PM_CLK_RUNTIME_OPS is introduced so we don't repeat the same code
to do runtime_suspend and runtime_resume across users of PM clocks.
Use it to remove the boilerplate code.
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/sh/pm_runtime.c | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/drivers/sh/pm_runtime.c b/drivers/sh/pm_runtime.c index fe8875f0d7be..d3d1891cda3c 100644 --- a/drivers/sh/pm_runtime.c +++ b/drivers/sh/pm_runtime.c | |||
@@ -20,58 +20,15 @@ | |||
20 | #include <linux/bitmap.h> | 20 | #include <linux/bitmap.h> |
21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
22 | 22 | ||
23 | #ifdef CONFIG_PM | ||
24 | static int sh_pm_runtime_suspend(struct device *dev) | ||
25 | { | ||
26 | int ret; | ||
27 | |||
28 | ret = pm_generic_runtime_suspend(dev); | ||
29 | if (ret) { | ||
30 | dev_err(dev, "failed to suspend device\n"); | ||
31 | return ret; | ||
32 | } | ||
33 | |||
34 | ret = pm_clk_suspend(dev); | ||
35 | if (ret) { | ||
36 | dev_err(dev, "failed to suspend clock\n"); | ||
37 | pm_generic_runtime_resume(dev); | ||
38 | return ret; | ||
39 | } | ||
40 | |||
41 | return 0; | ||
42 | } | ||
43 | |||
44 | static int sh_pm_runtime_resume(struct device *dev) | ||
45 | { | ||
46 | int ret; | ||
47 | |||
48 | ret = pm_clk_resume(dev); | ||
49 | if (ret) { | ||
50 | dev_err(dev, "failed to resume clock\n"); | ||
51 | return ret; | ||
52 | } | ||
53 | |||
54 | return pm_generic_runtime_resume(dev); | ||
55 | } | ||
56 | |||
57 | static struct dev_pm_domain default_pm_domain = { | 23 | static struct dev_pm_domain default_pm_domain = { |
58 | .ops = { | 24 | .ops = { |
59 | .runtime_suspend = sh_pm_runtime_suspend, | 25 | USE_PM_CLK_RUNTIME_OPS |
60 | .runtime_resume = sh_pm_runtime_resume, | ||
61 | USE_PLATFORM_PM_SLEEP_OPS | 26 | USE_PLATFORM_PM_SLEEP_OPS |
62 | }, | 27 | }, |
63 | }; | 28 | }; |
64 | 29 | ||
65 | #define DEFAULT_PM_DOMAIN_PTR (&default_pm_domain) | ||
66 | |||
67 | #else | ||
68 | |||
69 | #define DEFAULT_PM_DOMAIN_PTR NULL | ||
70 | |||
71 | #endif /* CONFIG_PM */ | ||
72 | |||
73 | static struct pm_clk_notifier_block platform_bus_notifier = { | 30 | static struct pm_clk_notifier_block platform_bus_notifier = { |
74 | .pm_domain = DEFAULT_PM_DOMAIN_PTR, | 31 | .pm_domain = &default_pm_domain, |
75 | .con_ids = { NULL, }, | 32 | .con_ids = { NULL, }, |
76 | }; | 33 | }; |
77 | 34 | ||