linux/drivers/gpio
Andres Salomon 44658a11f3 cs5535-gpio: handle GPIO regs where higher (clear) bits are set
The default for non-READ_BACK GPIO regs is to have the clear bits set;
this means that our original errata fix was too simplistic.  This
changes it to the following behavior:

 - when setting GPIOs, ignore the higher order bits (they're for
   clearing, we don't need to care about them).

 - when clearing GPIOs, keep all the bits, but unset (via XOR) the
   lower order bit that negates the clear bit that we care about.  That
   is, if we're clearing GPIO 26 (val = 0x04000000), we first XOR what's
   currently in the register with 0x0400 (GPIO 26's SET bit), and then
   OR that with the GPIO 26's CLEAR bit.

Tested-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-23 15:31:48 -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
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: handle GPIO regs where higher (clear) bits are set 2010-12-23 15:31:48 -08:00
gpiolib.c gpiolib: gpio_request_one(): add missing gpio_free() 2010-12-22 19:43:33 -08: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 VIA VX855 GPIO driver 2010-10-29 00:29:51 +02:00
langwell_gpio.c langwell_gpio: add support for whitney point 2010-10-27 18:03:07 -07:00
Makefile gpio: Add VIA VX855 GPIO driver 2010-10-29 00:29:51 +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 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 null pointer dereference while accessing rdc321x platform_data 2010-12-22 12:05:20 +01: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