linux/drivers/gpio
Andres Salomon e6cc466ac1 cs5535-gpio: apply CS5536 errata workaround for GPIOs
commit 853ff88324 upstream.

The AMD Geode CS5536 Companion Device Silicon Revision B1 Specification
Update mentions the follow as issue #36:

 "Atomic write transactions to the atomic GPIO High Bank Feature Bit
  registers should only affect the bits selected [...]"

 "after Suspend, an atomic write transaction [...] will clear all
  non-selected bits of the accessed register."

In other words, writing to the high bank for a single GPIO bit will
clear every other GPIO bit (but only sometimes after a suspend).

The workaround described is obvious and simple; do a read-modify-write.
This patch does that, and documents why we're doing it.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:14 -08:00
..
adp5520-gpio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adp5588-gpio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
bt8xxgpio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cs5535-gpio.c cs5535-gpio: apply CS5536 errata workaround for GPIOs 2010-12-09 13:33:14 -08:00
gpiolib.c gpiolib: allow nested threaded irqs for poll(2) 2010-08-11 08:59:09 -07:00
it8761e_gpio.c drivers/gpio/it8761e_gpio: check return value of gpiochip_remove() 2010-05-27 09:12:42 -07:00
janz-ttl.c gpio: Add support for Janz VMOD-TTL Digital IO module 2010-05-28 01:37:33 +02:00
Kconfig gpio: Add STMPE GPIO driver 2010-08-12 11:27:55 +02:00
langwell_gpio.c gpio: add Penwell gpio support 2010-05-27 09:12:42 -07:00
Makefile gpio: Add STMPE GPIO driver 2010-08-12 11:27:55 +02:00
max730x.c gpio: max730x: make pullups configurable via platformdata 2010-08-11 08:59:08 -07:00
max732x.c gpio: max732x: fix input configuration for open-drain pins 2010-05-27 09:12:41 -07:00
max7300.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
max7301.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mc33880.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mcp23s08.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pca953x.c gpiolib: make names array and its values const 2010-05-27 09:12:41 -07:00
pcf857x.c pcf857x: support working w/o platform data 2010-08-11 08:59:08 -07:00
pl061.c ARM: Fix section build warnings for AMBA drivers 2010-07-27 10:48:43 +01:00
rdc321x-gpio.c gpio: Fix inverted rdc321x gpio data out registers 2010-05-28 01:37:59 +02:00
sch_gpio.c gpio: Fix sch_gpio warning 2010-03-07 22:17:37 +01:00
stmpe-gpio.c gpio: Add STMPE GPIO driver 2010-08-12 11:27:55 +02:00
sx150x.c gpio: sx150x: correct and refine reset-on-probe behavior 2010-09-09 18:57:24 -07:00
tc35892-gpio.c gpio: Add TC35892 GPIO driver 2010-05-28 01:37:43 +02:00
timbgpio.c drivers/gpio/timbgpio.c: add missing unlock 2010-04-07 08:38:02 -07:00
twl4030-gpio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ucb1400_gpio.c mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib 2009-09-23 07:39:48 -07:00
vr41xx_giu.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
wm831x-gpio.c gpiolib: Implement set_debounce for WM831x GPIOs 2010-08-12 11:27:57 +02:00
wm8350-gpiolib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm8994-gpio.c Merge branch 'topic/asoc' into for-linus 2010-05-20 12:00:43 +02:00
xilinx_gpio.c of/gpio: add default of_xlate function if device has a node pointer 2010-07-05 16:14:30 -06:00