linux/arch/arm/mach-pxa
Igor Grinberg ef7c7c693b ARM: PXA2xx: MFP: fix potential direction bug
Pins configured as input and have MFP_LPM_DRIVE_* flag set, can have a
wrong output value for some period of time (spike) during the suspend
sequence.
This can happen because the direction of the pins (GPDR) is set by
software and the output level is set by hardware (PGSR) at a later
stage.

Fix the above potential bug by setting the output levels first.
Also save the actual levels of the pins before the suspend and restore
them after the resume, but before the direction settings take place, so
the same bug as described above will not happen in the resume sequence.

Reported-by: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
2012-04-27 11:14:06 +08:00
..
include/mach ARM: PXA2xx: MFP: fix bug with MFP_LPM_KEEP_OUTPUT 2012-04-27 11:11:50 +08:00
am200epd.c
am300epd.c
balloon3.c Driver specific changes 2012-01-09 14:39:22 -08:00
capc7117.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
clock-pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
clock-pxa3xx.c
clock.c
clock.h
cm-x2xx-pci.c
cm-x2xx-pci.h
cm-x2xx.c
cm-x255.c
cm-x270.c
cm-x300.c ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
colibri-evalboard.c
colibri-pxa3xx.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
colibri-pxa270-income.c
colibri-pxa270.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
colibri-pxa300.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
colibri-pxa320.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
corgi_pm.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
corgi.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
cpufreq-pxa2xx.c
cpufreq-pxa3xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
csb701.c
csb726.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
devices.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
devices.h
em-x270.c ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
eseries.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
eseries.h
ezx.c
generic.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
generic.h ARM: pxa: remove duplicated registeration on pxa-gpio 2012-03-06 14:40:59 +08:00
gumstix.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
h5000.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
himalaya.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
hx4700.c Merge branch 'fixes' of git://github.com/hzhuang1/linux into fixes 2012-03-29 20:36:18 -07:00
icontrol.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
idp.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
irq.c
Kconfig ARM: fix __io macro for PCMCIA 2012-04-05 11:29:55 -07:00
leds-idp.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
leds-lubbock.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
leds-mainstone.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
leds.c
leds.h
littleton.c
lpd270.c
lubbock.c ARM: sa1111: provide a generic way to prevent devices from registering 2012-03-24 11:29:52 +00:00
magician.c Merge branch 'fixes' of git://github.com/hzhuang1/linux into fixes 2012-03-29 20:36:18 -07:00
mainstone.c
Makefile
Makefile.boot
mfp-pxa2xx.c ARM: PXA2xx: MFP: fix potential direction bug 2012-04-27 11:14:06 +08:00
mfp-pxa3xx.c
mioa701_bootresume.S
mioa701.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
mp900.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
mxm8x10.c
palm27x.c
palmld.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmt5.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmtc.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmte2.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmtreo.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmtx.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmz72.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
pcm027.c
pcm990-baseboard.c
pm.c
poodle.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa3xx-ulpi.c usb: otg: Convert all users to pass struct usb_otg for OTG functions 2012-02-27 15:41:52 +02:00
pxa3xx.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
pxa25x.c Merge branch 'board' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/boards 2012-03-10 09:15:30 -08:00
pxa27x.c ARM: pxa: fix gpio wakeup setting 2012-04-27 10:46:45 +08:00
pxa95x.c Merge branch 'next/fixes-non-critical' into next/drivers 2012-03-20 22:42:24 +00:00
pxa300.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa320.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa930.c
raumfeld.c ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
reset.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
saar.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
saarb.c arch/arm/mach-pxa/: included linux/gpio.h twice 2012-02-16 23:26:19 +08:00
sharpsl_pm.c ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
sleep.S
smemc.c
spitz_pm.c ARM: pxa: fix wrong parsing gpio event on spitz 2012-02-16 10:28:53 +08:00
spitz.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
standby.S
stargate2.c ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
tavorevb3.c
tavorevb.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
time.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
tosa-bt.c
tosa.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
trizeps4.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
viper.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
vpac270.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
xcep.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
z2.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
zeus.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
zylonite_pxa300.c
zylonite_pxa320.c
zylonite.c