OpenCloudOS-Kernel/drivers/gpio
Andres Salomon 853ff88324 cs5535-gpio: apply CS5536 errata workaround for GPIOs
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>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-02 14:51:15 -08:00
..
74x164.c gpio: add support for 74x164 serial-in/parallel-out 8-bit shift register 2010-10-27 18:03:07 -07:00
Kconfig gpio: Add VIA VX855 GPIO driver 2010-10-29 00:29:51 +02:00
Makefile gpio: Add VIA VX855 GPIO driver 2010-10-29 00:29:51 +02: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 gpio: adp5588-gpio: support interrupt controller 2010-10-27 18:03:07 -07:00
basic_mmio_gpio.c gpio: add driver for basic memory-mapped GPIO controllers 2010-10-27 18:03:06 -07: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-02 14:51:15 -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
langwell_gpio.c langwell_gpio: add support for whitney point 2010-10-27 18:03:07 -07: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 pca953x: pca953x driver fixes for x86 mrst 2010-10-26 16:52:15 -07:00
pcf857x.c pcf857x: support working w/o platform data 2010-08-11 08:59:08 -07:00
pch_gpio.c gpio: add Topcliff PCH GPIO driver 2010-10-27 18:03:07 -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: Fix stmpe error path 2010-10-29 00:29:32 +02:00
sx150x.c gpio: sx150x: correct and refine reset-on-probe behavior 2010-09-09 18:57:24 -07:00
tc35892-gpio.c ARM: 6373/1: tc35892-gpio: add setup/remove callbacks 2010-09-19 12:12:28 +01:00
timbgpio.c gpio: timbgpio: use a copy of the IER register to avoid it being trashed 2010-10-27 18:03:07 -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
vx855_gpio.c gpio: Add VIA VX855 GPIO driver 2010-10-29 00:29:51 +02: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 gpiolib: Hook up WM8994 gpio_to_irq() 2010-10-29 00:28:39 +02:00
xilinx_gpio.c of: GPIO: Fix OF probing on little-endian systems 2010-09-29 15:28:08 +09:00