From 72918d5cdafbcfe1d260347f2486570114397a42 Mon Sep 17 00:00:00 2001 From: Murali Karicheri Date: Fri, 21 Dec 2012 15:13:26 -0500 Subject: [PATCH] --- yaml --- r: 350782 b: refs/heads/master c: 32310aaf5c410dd3dc701556cc9bbeff0847c7c9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/spi/spi-davinci.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ac9cb0f73014..d49b875230fd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 41ab724aac00cae42e649496c2567e9ef45dd753 +refs/heads/master: 32310aaf5c410dd3dc701556cc9bbeff0847c7c9 diff --git a/trunk/drivers/spi/spi-davinci.c b/trunk/drivers/spi/spi-davinci.c index 50bd2cdc52de..8234d2259722 100644 --- a/trunk/drivers/spi/spi-davinci.c +++ b/trunk/drivers/spi/spi-davinci.c @@ -701,6 +701,19 @@ static int davinci_spi_bufs(struct spi_device *spi, struct spi_transfer *t) return ret; } +/** + * dummy_thread_fn - dummy thread function + * @irq: IRQ number for this SPI Master + * @context_data: structure for SPI Master controller davinci_spi + * + * This is to satisfy the request_threaded_irq() API so that the irq + * handler is called in interrupt context. + */ +static irqreturn_t dummy_thread_fn(s32 irq, void *data) +{ + return IRQ_HANDLED; +} + /** * davinci_spi_irq - Interrupt handler for SPI Master Controller * @irq: IRQ number for this SPI Master @@ -899,8 +912,8 @@ static int davinci_spi_probe(struct platform_device *pdev) goto unmap_io; } - ret = request_irq(dspi->irq, davinci_spi_irq, 0, dev_name(&pdev->dev), - dspi); + ret = request_threaded_irq(dspi->irq, davinci_spi_irq, dummy_thread_fn, + 0, dev_name(&pdev->dev), dspi); if (ret) goto unmap_io;