From d422be5f62ef7986d00afa4cd31eda5534ab7991 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Sun, 19 Feb 2017 16:22:13 -0800 Subject: [PATCH] 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 Signed-off-by: Dmitry Torokhov --- arch/arm/mach-pxa/raumfeld.c | 11 ++++++++++- drivers/input/touchscreen/eeti_ts.c | 6 +----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index 1ed524ef9fff..e13f42a180cc 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 ee6b87c606ef..3627c7b5f5ec 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",