diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 12:03:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 12:03:55 -0400 |
commit | a7726350e06401929eac0aa0677a5467106565fc (patch) | |
tree | e189513e5014bdfccd73a3af731a6b57733743fa /arch/arm/mach-omap2/pm44xx.c | |
parent | 4d26aa305414dbb33b3c32fb205b68004cda8ffc (diff) | |
parent | afcf7924ecab726dab0227188783c4a40d9f0eec (diff) |
Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanup from Olof Johansson:
"Here is a collection of cleanup patches. Among the pieces that stand
out are:
- The deletion of h720x platforms
- Split of at91 non-dt platforms to their own Kconfig file to keep
them separate
- General cleanups and refactoring of i.MX and MXS platforms
- Some restructuring of clock tables for OMAP
- Convertion of PMC driver for Tegra to dt-only
- Some renames of sunxi -> sun4i (Allwinner A10)
- ... plus a bunch of other stuff that I haven't mentioned"
* tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
ARM: i.MX: remove unused ARCH_* configs
ARM i.MX53: remove platform ahci support
ARM: sunxi: Rework the restart code
irqchip: sunxi: Rename sunxi to sun4i
irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
clocksource: sunxi: Rename sunxi to sun4i
clocksource: sunxi: make use of CLKSRC_OF
clocksource: sunxi: Cleanup the timer code
ARM: at91: remove trailing semicolon from macros
ARM: at91/setup: fix trivial typos
ARM: EXYNOS: remove "config EXYNOS_DEV_DRM"
ARM: EXYNOS: change the name of USB ohci header
ARM: SAMSUNG: Remove unnecessary code for dma
ARM: S3C24XX: Remove unused GPIO drive strength register definitions
ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method
ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412
ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410
ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards
ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC"
ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI"
...
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r-- | arch/arm/mach-omap2/pm44xx.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index 152a10cf4f1d..a251f87fa2a2 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c | |||
@@ -131,11 +131,7 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused) | |||
131 | */ | 131 | */ |
132 | static void omap_default_idle(void) | 132 | static void omap_default_idle(void) |
133 | { | 133 | { |
134 | local_fiq_disable(); | ||
135 | |||
136 | omap_do_wfi(); | 134 | omap_do_wfi(); |
137 | |||
138 | local_fiq_enable(); | ||
139 | } | 135 | } |
140 | 136 | ||
141 | /** | 137 | /** |
@@ -147,8 +143,8 @@ static void omap_default_idle(void) | |||
147 | int __init omap4_pm_init(void) | 143 | int __init omap4_pm_init(void) |
148 | { | 144 | { |
149 | int ret; | 145 | int ret; |
150 | struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm, *l4wkup; | 146 | struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm; |
151 | struct clockdomain *ducati_clkdm, *l3_2_clkdm, *l4_per_clkdm; | 147 | struct clockdomain *ducati_clkdm, *l3_2_clkdm; |
152 | 148 | ||
153 | if (omap_rev() == OMAP4430_REV_ES1_0) { | 149 | if (omap_rev() == OMAP4430_REV_ES1_0) { |
154 | WARN(1, "Power Management not supported on OMAP4430 ES1.0\n"); | 150 | WARN(1, "Power Management not supported on OMAP4430 ES1.0\n"); |
@@ -175,27 +171,19 @@ int __init omap4_pm_init(void) | |||
175 | * MPUSS -> L4_PER/L3_* and DUCATI -> L3_* doesn't work as | 171 | * MPUSS -> L4_PER/L3_* and DUCATI -> L3_* doesn't work as |
176 | * expected. The hardware recommendation is to enable static | 172 | * expected. The hardware recommendation is to enable static |
177 | * dependencies for these to avoid system lock ups or random crashes. | 173 | * dependencies for these to avoid system lock ups or random crashes. |
178 | * The L4 wakeup depedency is added to workaround the OCP sync hardware | ||
179 | * BUG with 32K synctimer which lead to incorrect timer value read | ||
180 | * from the 32K counter. The BUG applies for GPTIMER1 and WDT2 which | ||
181 | * are part of L4 wakeup clockdomain. | ||
182 | */ | 174 | */ |
183 | mpuss_clkdm = clkdm_lookup("mpuss_clkdm"); | 175 | mpuss_clkdm = clkdm_lookup("mpuss_clkdm"); |
184 | emif_clkdm = clkdm_lookup("l3_emif_clkdm"); | 176 | emif_clkdm = clkdm_lookup("l3_emif_clkdm"); |
185 | l3_1_clkdm = clkdm_lookup("l3_1_clkdm"); | 177 | l3_1_clkdm = clkdm_lookup("l3_1_clkdm"); |
186 | l3_2_clkdm = clkdm_lookup("l3_2_clkdm"); | 178 | l3_2_clkdm = clkdm_lookup("l3_2_clkdm"); |
187 | l4_per_clkdm = clkdm_lookup("l4_per_clkdm"); | ||
188 | l4wkup = clkdm_lookup("l4_wkup_clkdm"); | ||
189 | ducati_clkdm = clkdm_lookup("ducati_clkdm"); | 179 | ducati_clkdm = clkdm_lookup("ducati_clkdm"); |
190 | if ((!mpuss_clkdm) || (!emif_clkdm) || (!l3_1_clkdm) || (!l4wkup) || | 180 | if ((!mpuss_clkdm) || (!emif_clkdm) || (!l3_1_clkdm) || |
191 | (!l3_2_clkdm) || (!ducati_clkdm) || (!l4_per_clkdm)) | 181 | (!l3_2_clkdm) || (!ducati_clkdm)) |
192 | goto err2; | 182 | goto err2; |
193 | 183 | ||
194 | ret = clkdm_add_wkdep(mpuss_clkdm, emif_clkdm); | 184 | ret = clkdm_add_wkdep(mpuss_clkdm, emif_clkdm); |
195 | ret |= clkdm_add_wkdep(mpuss_clkdm, l3_1_clkdm); | 185 | ret |= clkdm_add_wkdep(mpuss_clkdm, l3_1_clkdm); |
196 | ret |= clkdm_add_wkdep(mpuss_clkdm, l3_2_clkdm); | 186 | ret |= clkdm_add_wkdep(mpuss_clkdm, l3_2_clkdm); |
197 | ret |= clkdm_add_wkdep(mpuss_clkdm, l4_per_clkdm); | ||
198 | ret |= clkdm_add_wkdep(mpuss_clkdm, l4wkup); | ||
199 | ret |= clkdm_add_wkdep(ducati_clkdm, l3_1_clkdm); | 187 | ret |= clkdm_add_wkdep(ducati_clkdm, l3_1_clkdm); |
200 | ret |= clkdm_add_wkdep(ducati_clkdm, l3_2_clkdm); | 188 | ret |= clkdm_add_wkdep(ducati_clkdm, l3_2_clkdm); |
201 | if (ret) { | 189 | if (ret) { |