linux/drivers
Andres Salomon 2ea51982ae cs5535-gpio: handle GPIO regs where higher (clear) bits are set
commit 44658a11f3 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 13:58:40 -08:00
..
accessibility
acpi ACPI: EC: Add another dmi match entry for MSI hardware 2011-01-07 13:58:31 -08:00
amba
ata libata: fix NULL sdev dereference race in atapi_qc_complete() 2010-12-09 13:32:59 -08:00
atm ATM: iphase, remove sleep-inside-atomic 2010-10-11 11:05:42 -07:00
auxdisplay
base PM: Prevent waiting forever on asynchronous resume after failing suspend 2010-09-09 00:49:43 +02:00
block xen: Provide a variant of __RING_SIZE() that is an integer constant expression 2011-01-07 13:58:31 -08:00
bluetooth bluetooth: Fix missing NULL check 2010-11-22 11:03:01 -08:00
cdrom
char n_gsm: gsm_data_alloc buffer allocation could fail and it is not being checked 2011-01-07 13:58:37 -08:00
clocksource
connector
cpufreq
cpuidle cpuidle: Fix typos 2010-09-28 23:30:38 -04:00
crypto crypto: padlock - Fix AES-CBC handling on odd-block-sized input 2010-12-09 13:33:31 -08:00
dca dca: disable dca on IOAT ver.3.0 multiple-IOH platforms 2010-09-17 20:08:21 -07:00
dio
dma ioat2: fix performance regression 2010-10-13 15:43:10 -07:00
edac amd64_edac: Fix interleaving check 2011-01-07 13:58:17 -08:00
eisa
firewire firewire: ohci: fix regression with Agere FW643 rev 06, disable MSI 2011-01-07 13:58:15 -08:00
firmware
gpio cs5535-gpio: handle GPIO regs where higher (clear) bits are set 2011-01-07 13:58:40 -08:00
gpu nouveau: Acknowledge HPD irq in handler, not bottom half 2011-01-07 13:58:30 -08:00
hid HID: Fix for problems with eGalax/DWAV multi-touch-screen 2010-12-09 13:32:42 -08:00
hwmon hwmon: (adm1026) Fix setting fan_div 2011-01-07 13:58:17 -08:00
i2c i2c-pca-platform: Change device name of request_irq 2010-12-09 13:32:14 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 2010-09-19 11:06:34 -07:00
idle intel_idle: do not use the LAPIC timer for ATOM C2 2010-11-22 11:03:03 -08:00
ieee1394
ieee802154
infiniband IB/uverbs: Handle large number of entries in poll CQ 2011-01-07 13:58:19 -08:00
input Input: synaptics - fix handling of 2-button ClickPads 2011-01-07 13:58:35 -08:00
isdn isdn/gigaset: bas_gigaset locking fix 2010-12-09 13:32:14 -08:00
leds leds: fix bug with reading NAS SS4200 dmi code 2010-12-09 13:33:21 -08:00
lguest
macintosh via-pmu: Add compat_pmu_ioctl 2010-08-24 15:28:28 +10:00
mca
md md: protect against NULL reference when waiting to start a raid10. 2011-01-07 13:58:33 -08:00
media msp3400: fix mute audio regression 2010-12-09 13:33:33 -08:00
memstick
message
mfd mfd: Fix max8925 irq control bit incorrect setting 2010-09-29 10:14:53 +02:00
misc sgi-xpc: XPC fails to discover partitions with all nasids above 128 2010-12-09 13:32:36 -08:00
mmc mmc: fix rmmod race for hosts using card-detection polling 2010-12-09 13:33:18 -08:00
mtd mxc_nand: do not depend on disabling the irq in the interrupt handler 2010-10-18 13:09:05 -07:00
net p54usb: New USB ID for Gemtek WUBI-100GW 2011-01-07 13:58:37 -08:00
nubus
of
oprofile oprofile: Fix the hang while taking the cpu offline 2010-12-09 13:32:33 -08:00
parisc
parport
pci x86, vt-d: Quirk for masking vtd spec errors to platform error handling logic 2011-01-07 13:58:34 -08:00
pcmcia ARM: 6456/1: Fix for building DEBUG with sa11xx_base.c as a module. 2010-12-09 13:33:25 -08:00
platform wmi: use memcmp instead of strncmp to compare GUIDs 2010-12-09 13:33:26 -08:00
pnp PNPACPI: cope with invalid device IDs 2010-12-09 13:33:13 -08:00
power olpc_battery: Fix endian neutral breakage for s16 values 2010-12-09 13:32:30 -08:00
pps
ps3
rapidio
regulator Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-10-07 13:44:30 -07:00
rtc i2c: Remove obsolete cleanup for clientdata 2010-09-30 14:14:22 +02:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-28 12:01:26 -07:00
sbus
scsi qla2xxx: Populate Command Type 6 LUN field properly. 2011-01-07 13:58:20 -08:00
serial serial: mfd: adjust the baud rate setting 2010-12-09 13:33:22 -08:00
sfi
sh
sn
spi of/spi: Fix OF-style driver binding of spi devices 2010-10-02 21:28:29 -06:00
ssb ssb: b43-pci-bridge: Add new vendor for BCM4318 2010-12-09 13:32:36 -08:00
staging Staging: batman-adv: ensure that eth_type_trans gets linear memory 2010-12-09 13:33:25 -08:00
tc
telephony
thermal
uio
usb xhci: Fix issue with port array setup and buggy hosts. 2011-01-07 13:58:37 -08:00
uwb
vhost vhost: fix log ctx signalling 2010-09-22 16:21:33 +02:00
video backlight: grab ops_lock before testing bd->ops 2010-12-09 13:33:16 -08:00
virtio
vlynq
w1
watchdog watchdog: Enable NXP LPC32XX support in Kconfig (resend) 2010-09-15 18:43:58 +00:00
xen xen: ensure that all event channels start off bound to VCPU 0 2010-12-09 13:32:37 -08:00
zorro
Kconfig
Makefile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2010-09-17 10:23:08 -07:00