cs5535-gpio: don't apply errata #36 to edge detect GPIOs
authorAndres Salomon <dilinger@queued.net>
Tue, 21 Dec 2010 21:04:42 +0000 (13:04 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 7 Jan 2011 21:58:39 +0000 (13:58 -0800)
commit4403806037a7eba17c715337b4dd59d39b06cf94
tree89bb2b33b3b239787631e41953f61524a8cdd7dc
parentb3e874a07d483cfc8481626e7d812ad59c183c0b
cs5535-gpio: don't apply errata #36 to edge detect GPIOs

commit 001851659354cce436b749a793f3512a53394d80 upstream.

The edge detect status GPIOs function differently from the other atomic
model CS5536 GPIO registers; writing 1 to the high bits clears the GPIO,
but writing 1 to the lower bits also clears the bit.

This means that read-modify-write doesn't actually work for it, so don't
apply the errata here.  If a negative edge status gets lost after
resume..  well, we tried our best!

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>
drivers/gpio/cs5535-gpio.c