summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2019-10-16 07:37:06 -0700
committerTony Lindgren <tony@atomide.com>2019-10-16 07:51:16 -0700
commit623429d5b9011cc56538bc70fced765d7c42e622 (patch)
tree2fe570b1f4725be9d5ea32ddccda994af48268b8 /arch/arm/mach-omap2/pm44xx.c
parentd44fa156dcb29dd0215c1fe63e7a7031a106557e (diff)
downloadlinux-623429d5b9011cc56538bc70fced765d7c42e622.tar.bz2
ARM: OMAP2+: Allow per oswr for omap4
Commit f74297dd9354 ("ARM: OMAP2+: Make sure LOGICRETSTATE bits are not cleared") disabled oswr (open switch retention) for per and core domains as various GPIO related issues were noticed if the bootloader had configured the bits for LOGICRETSTATE for per and core domains. With the recent gpio-omap fixes, mostly related to commit e6818d29ea15 ("gpio: gpio-omap: configure edge detection for level IRQs for idle wakeup"), things now behave for enabling per oswr for omap4. Cc: Merlijn Wajer <merlijn@wizzup.org> Cc: Pavel Machek <pavel@ucw.cz> Cc: Sebastian Reichel <sre@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r--arch/arm/mach-omap2/pm44xx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index 63ccd2e02813..d54073d4e46d 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -136,10 +136,12 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
* we currently will see lost GPIO interrupts for wlcore and
* smsc911x at least if per hits retention during idle.
*/
- if (!strncmp(pwrdm->name, "core", 4) ||
- !strncmp(pwrdm->name, "l4per", 5))
+ if (!strncmp(pwrdm->name, "core", 4)
pwrdm_set_logic_retst(pwrdm, PWRDM_POWER_RET);
+ if (!strncmp(pwrdm->name, "l4per", 5)
+ pwrdm_set_logic_retst(pwrdm, PWRDM_POWER_OFF);
+
pwrst = kmalloc(sizeof(struct power_state), GFP_ATOMIC);
if (!pwrst)
return -ENOMEM;