summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-02-19 16:22:13 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-04-05 08:52:13 -0700
commitd422be5f62ef7986d00afa4cd31eda5534ab7991 (patch)
treedcf517d094442f483471ce4c1dc6a01ae4352583
parent0378008a99243fc492e7f0c3aabfeee69a78398c (diff)
downloadop-kernel-dev-d422be5f62ef7986d00afa4cd31eda5534ab7991.zip
op-kernel-dev-d422be5f62ef7986d00afa4cd31eda5534ab7991.tar.gz
Input: eeti_ts - expect platform code to set interrupt trigger
Instead of keying interrupt trigger off GPIO polarity, let's rely on platform code to set it up properly for us. Reviewed-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--arch/arm/mach-pxa/raumfeld.c11
-rw-r--r--drivers/input/touchscreen/eeti_ts.c6
2 files changed, 11 insertions, 6 deletions
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c
index 1ed524e..e13f42a 100644
--- a/arch/arm/mach-pxa/raumfeld.c
+++ b/arch/arm/mach-pxa/raumfeld.c
@@ -970,10 +970,19 @@ static struct eeti_ts_platform_data eeti_ts_pdata = {
.irq_gpio = GPIO_TOUCH_IRQ,
};
+static const struct resource raumfeld_controller_resources[] = __initconst {
+ {
+ .start = PXA_GPIO_TO_IRQ(GPIO_TOUCH_IRQ),
+ .end = PXA_GPIO_TO_IRQ(GPIO_TOUCH_IRQ),
+ .flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,
+ },
+};
+
static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = {
.type = "eeti_ts",
.addr = 0x0a,
- .irq = PXA_GPIO_TO_IRQ(GPIO_TOUCH_IRQ),
+ .resources = raumfeld_controller_resources,
+ .num_resources = ARRAY_SIZE(raumfeld_controller_resources),
.platform_data = &eeti_ts_pdata,
};
diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c
index ee6b87c..3627c7b 100644
--- a/drivers/input/touchscreen/eeti_ts.c
+++ b/drivers/input/touchscreen/eeti_ts.c
@@ -157,7 +157,6 @@ static int eeti_ts_probe(struct i2c_client *client,
struct eeti_ts_platform_data *pdata = dev_get_platdata(dev);
struct eeti_ts *eeti;
struct input_dev *input;
- unsigned int irq_flags;
int error;
/*
@@ -201,15 +200,12 @@ static int eeti_ts_probe(struct i2c_client *client,
eeti->irq_active_high = pdata->irq_active_high;
- irq_flags = eeti->irq_active_high ?
- IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW;
-
i2c_set_clientdata(client, eeti);
input_set_drvdata(input, eeti);
error = devm_request_threaded_irq(dev, client->irq,
NULL, eeti_ts_isr,
- irq_flags | IRQF_ONESHOT,
+ IRQF_ONESHOT,
client->name, eeti);
if (error) {
dev_err(dev, "Unable to request touchscreen IRQ: %d\n",
OpenPOWER on IntegriCloud