From 5213b3c721c4337c3ce307aa6e9187fdc9ac36d7 Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Mon, 28 Jun 2010 01:25:19 -0700 Subject: [PATCH] --- yaml --- r: 202186 b: refs/heads/master c: 7804302b14032d357d889e4a23e463eb6a6c5136 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/input/touchscreen/ads7846.c | 5 ++++- trunk/include/linux/spi/ads7846.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 59b6b54c319a..0fb773464cd2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c8f2edc56acf0a55ede777c07314c9744bb723be +refs/heads/master: 7804302b14032d357d889e4a23e463eb6a6c5136 diff --git a/trunk/drivers/input/touchscreen/ads7846.c b/trunk/drivers/input/touchscreen/ads7846.c index a9fdf55c0238..69210cb56c54 100644 --- a/trunk/drivers/input/touchscreen/ads7846.c +++ b/trunk/drivers/input/touchscreen/ads7846.c @@ -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_flags) + pdata->irq_flags = IRQF_TRIGGER_FALLING; + + if (request_irq(spi->irq, ads7846_irq, pdata->irq_flags, spi->dev.driver->name, ts)) { dev_info(&spi->dev, "trying pin change workaround on irq %d\n", spi->irq); diff --git a/trunk/include/linux/spi/ads7846.h b/trunk/include/linux/spi/ads7846.h index b4ae570d3c98..95d36bfb34bc 100644 --- a/trunk/include/linux/spi/ads7846.h +++ b/trunk/include/linux/spi/ads7846.h @@ -54,5 +54,6 @@ struct ads7846_platform_data { void (*filter_cleanup)(void *filter_data); void (*wait_for_sync)(void); bool wakeup; + unsigned long irq_flags; };