diff options
author | Olof Johansson <olof@lixom.net> | 2014-05-05 21:45:10 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-05-05 21:45:10 -0400 |
commit | 0db543faecf3ebfc3a4e5cafb61ca6b219820bba (patch) | |
tree | 559c439c9477661e08bc5313586eed2fc9c435a0 /arch/arm/mach-shmobile | |
parent | 814789e2f16fa708420a894844a94a36597fa1bb (diff) | |
parent | ab496b9d259e754f5d646219e4f032b274b9fffe (diff) |
Merge tag 'renesas-soc2-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC Updates for v3.16" from Simon
Horman:
Power management code which is only used by
sh7372 (SH-Mobile AP4) based Mackerl board
* Ignore callbacks for subsys generic_pm_domain_data
* tag 'renesas-soc2-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Ignore callbacks for subsys generic_pm_domain_data
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/pm-rmobile.c | 38 |
1 files changed, 3 insertions, 35 deletions
diff --git a/arch/arm/mach-shmobile/pm-rmobile.c b/arch/arm/mach-shmobile/pm-rmobile.c index 1fc05d9453d0..f710235aff2f 100644 --- a/arch/arm/mach-shmobile/pm-rmobile.c +++ b/arch/arm/mach-shmobile/pm-rmobile.c | |||
@@ -99,39 +99,7 @@ static int rmobile_pd_power_up(struct generic_pm_domain *genpd) | |||
99 | 99 | ||
100 | static bool rmobile_pd_active_wakeup(struct device *dev) | 100 | static bool rmobile_pd_active_wakeup(struct device *dev) |
101 | { | 101 | { |
102 | bool (*active_wakeup)(struct device *dev); | 102 | return true; |
103 | |||
104 | active_wakeup = dev_gpd_data(dev)->ops.active_wakeup; | ||
105 | return active_wakeup ? active_wakeup(dev) : true; | ||
106 | } | ||
107 | |||
108 | static int rmobile_pd_stop_dev(struct device *dev) | ||
109 | { | ||
110 | int (*stop)(struct device *dev); | ||
111 | |||
112 | stop = dev_gpd_data(dev)->ops.stop; | ||
113 | if (stop) { | ||
114 | int ret = stop(dev); | ||
115 | if (ret) | ||
116 | return ret; | ||
117 | } | ||
118 | return pm_clk_suspend(dev); | ||
119 | } | ||
120 | |||
121 | static int rmobile_pd_start_dev(struct device *dev) | ||
122 | { | ||
123 | int (*start)(struct device *dev); | ||
124 | int ret; | ||
125 | |||
126 | ret = pm_clk_resume(dev); | ||
127 | if (ret) | ||
128 | return ret; | ||
129 | |||
130 | start = dev_gpd_data(dev)->ops.start; | ||
131 | if (start) | ||
132 | ret = start(dev); | ||
133 | |||
134 | return ret; | ||
135 | } | 103 | } |
136 | 104 | ||
137 | static void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd) | 105 | static void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd) |
@@ -140,8 +108,8 @@ static void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd) | |||
140 | struct dev_power_governor *gov = rmobile_pd->gov; | 108 | struct dev_power_governor *gov = rmobile_pd->gov; |
141 | 109 | ||
142 | pm_genpd_init(genpd, gov ? : &simple_qos_governor, false); | 110 | pm_genpd_init(genpd, gov ? : &simple_qos_governor, false); |
143 | genpd->dev_ops.stop = rmobile_pd_stop_dev; | 111 | genpd->dev_ops.stop = pm_clk_suspend; |
144 | genpd->dev_ops.start = rmobile_pd_start_dev; | 112 | genpd->dev_ops.start = pm_clk_resume; |
145 | genpd->dev_ops.active_wakeup = rmobile_pd_active_wakeup; | 113 | genpd->dev_ops.active_wakeup = rmobile_pd_active_wakeup; |
146 | genpd->dev_irq_safe = true; | 114 | genpd->dev_irq_safe = true; |
147 | genpd->power_off = rmobile_pd_power_down; | 115 | genpd->power_off = rmobile_pd_power_down; |