@@ -1174,7 +1174,10 @@ static int __devinit ads7846_probe(struct spi_device *spi)
goto err_put_regulator;
}
- if (request_irq(spi->irq, ads7846_irq, IRQF_TRIGGER_FALLING,
+ if (!pdata->irq_trigger)
+ pdata->irq_trigger = IRQF_TRIGGER_FALLING;
+
+ if (request_irq(spi->irq, ads7846_irq, pdata->irq_trigger,
spi->dev.driver->name, ts)) {
dev_info(&spi->dev,
"trying pin change workaround on irq %d\n", spi->irq);
@@ -54,5 +54,6 @@ struct ads7846_platform_data {
void (*filter_cleanup)(void *filter_data);
void (*wait_for_sync)(void);
bool wakeup;
+ u8 irq_trigger;
};