Commit d422be5f authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

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: default avatarDaniel Mack <daniel@zonque.org>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 0378008a
...@@ -970,10 +970,19 @@ static struct eeti_ts_platform_data eeti_ts_pdata = { ...@@ -970,10 +970,19 @@ static struct eeti_ts_platform_data eeti_ts_pdata = {
.irq_gpio = GPIO_TOUCH_IRQ, .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 = { static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = {
.type = "eeti_ts", .type = "eeti_ts",
.addr = 0x0a, .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, .platform_data = &eeti_ts_pdata,
}; };
......
...@@ -157,7 +157,6 @@ static int eeti_ts_probe(struct i2c_client *client, ...@@ -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_platform_data *pdata = dev_get_platdata(dev);
struct eeti_ts *eeti; struct eeti_ts *eeti;
struct input_dev *input; struct input_dev *input;
unsigned int irq_flags;
int error; int error;
/* /*
...@@ -201,15 +200,12 @@ static int eeti_ts_probe(struct i2c_client *client, ...@@ -201,15 +200,12 @@ static int eeti_ts_probe(struct i2c_client *client,
eeti->irq_active_high = pdata->irq_active_high; 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); i2c_set_clientdata(client, eeti);
input_set_drvdata(input, eeti); input_set_drvdata(input, eeti);
error = devm_request_threaded_irq(dev, client->irq, error = devm_request_threaded_irq(dev, client->irq,
NULL, eeti_ts_isr, NULL, eeti_ts_isr,
irq_flags | IRQF_ONESHOT, IRQF_ONESHOT,
client->name, eeti); client->name, eeti);
if (error) { if (error) {
dev_err(dev, "Unable to request touchscreen IRQ: %d\n", dev_err(dev, "Unable to request touchscreen IRQ: %d\n",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment