summaryrefslogtreecommitdiffstats
path: root/include/linux/i2c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@misterjones.org>2010-03-05 13:44:36 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-06 11:26:48 -0800
commit89ea8bbe9c3eb2ea0cb57a4ecf283cab7326f0b0 (patch)
treef06f9594be6e64699ae3d8672d4868b81e25cfa7 /include/linux/i2c
parent8c35c89aa3d7e0f253c3a10456a8b075288b4565 (diff)
downloadlinux-89ea8bbe9c3eb2ea0cb57a4ecf283cab7326f0b0.tar.gz
linux-89ea8bbe9c3eb2ea0cb57a4ecf283cab7326f0b0.tar.bz2
linux-89ea8bbe9c3eb2ea0cb57a4ecf283cab7326f0b0.zip
gpio: pca953x.c: add interrupt handling capability
Most of the GPIO expanders controlled by the pca953x driver are able to report changes on the input pins through an *INT pin. This patch implements the irq_chip functionality (edge detection only). The driver has been tested on an Arcom Zeus. [akpm@linux-foundation.org: the compiler does inlining for us nowadays] Signed-off-by: Marc Zyngier <maz@misterjones.org> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@gmail.com> Cc: David Brownell <david-b@pacbell.net> Cc: Nate Case <ncase@xes-inc.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/i2c')
-rw-r--r--include/linux/i2c/pca953x.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/i2c/pca953x.h b/include/linux/i2c/pca953x.h
index 29699f8dc5a4..d5c5a60c8a0b 100644
--- a/include/linux/i2c/pca953x.h
+++ b/include/linux/i2c/pca953x.h
@@ -13,6 +13,9 @@ struct pca953x_platform_data {
/* initial polarity inversion setting */
uint16_t invert;
+ /* interrupt base */
+ int irq_base;
+
void *context; /* param to setup/teardown */
int (*setup)(struct i2c_client *client,