diff options
Diffstat (limited to 'drivers/input/misc/ad714x.c')
-rw-r--r-- | drivers/input/misc/ad714x.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/input/misc/ad714x.c b/drivers/input/misc/ad714x.c index 0ac75bbad4d6..2e5d5e1de647 100644 --- a/drivers/input/misc/ad714x.c +++ b/drivers/input/misc/ad714x.c | |||
@@ -972,6 +972,7 @@ struct ad714x_chip *ad714x_probe(struct device *dev, u16 bus_type, int irq, | |||
972 | struct ad714x_platform_data *plat_data = dev->platform_data; | 972 | struct ad714x_platform_data *plat_data = dev->platform_data; |
973 | struct ad714x_chip *ad714x; | 973 | struct ad714x_chip *ad714x; |
974 | void *drv_mem; | 974 | void *drv_mem; |
975 | unsigned long irqflags; | ||
975 | 976 | ||
976 | struct ad714x_button_drv *bt_drv; | 977 | struct ad714x_button_drv *bt_drv; |
977 | struct ad714x_slider_drv *sd_drv; | 978 | struct ad714x_slider_drv *sd_drv; |
@@ -1162,10 +1163,11 @@ struct ad714x_chip *ad714x_probe(struct device *dev, u16 bus_type, int irq, | |||
1162 | alloc_idx++; | 1163 | alloc_idx++; |
1163 | } | 1164 | } |
1164 | 1165 | ||
1166 | irqflags = plat_data->irqflags ?: IRQF_TRIGGER_FALLING; | ||
1167 | irqflags |= IRQF_ONESHOT; | ||
1168 | |||
1165 | error = request_threaded_irq(ad714x->irq, NULL, ad714x_interrupt_thread, | 1169 | error = request_threaded_irq(ad714x->irq, NULL, ad714x_interrupt_thread, |
1166 | plat_data->irqflags ? | 1170 | irqflags, "ad714x_captouch", ad714x); |
1167 | plat_data->irqflags : IRQF_TRIGGER_FALLING, | ||
1168 | "ad714x_captouch", ad714x); | ||
1169 | if (error) { | 1171 | if (error) { |
1170 | dev_err(dev, "can't allocate irq %d\n", ad714x->irq); | 1172 | dev_err(dev, "can't allocate irq %d\n", ad714x->irq); |
1171 | goto err_unreg_dev; | 1173 | goto err_unreg_dev; |