forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
0378008a99
commit
d422be5f62
|
@ -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,
|
||||||
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,
|
||||||
|
|
||||||
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",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user