spi: bcm2835: Remove shared interrupt support
authorMark Brown <broonie@kernel.org>
Fri, 29 May 2020 17:48:46 +0000 (18:48 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 29 May 2020 17:48:46 +0000 (18:48 +0100)
This reverts commit ecfbd3cf3b8b since Lukas Wunner noticed that we
start operating on the hardware before we check to see if this is a
spurious interrupt.

Reported-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-bcm2835.c

index f3e41676e825aa7e5c2daf0b934e023def60eafc..237bd306c26853aa3ba6f1c402455ea9cd18a4dc 100644 (file)
@@ -379,10 +379,6 @@ static irqreturn_t bcm2835_spi_interrupt(int irq, void *dev_id)
        if (bs->tx_len && cs & BCM2835_SPI_CS_DONE)
                bcm2835_wr_fifo_blind(bs, BCM2835_SPI_FIFO_SIZE);
 
-       /* check if we got interrupt enabled */
-       if (!(bcm2835_rd(bs, BCM2835_SPI_CS) & BCM2835_SPI_CS_INTR))
-               return IRQ_NONE;
-
        /* Read as many bytes as possible from FIFO */
        bcm2835_rd_fifo(bs);
        /* Write as many bytes as possible to FIFO */
@@ -1348,8 +1344,8 @@ static int bcm2835_spi_probe(struct platform_device *pdev)
        bcm2835_wr(bs, BCM2835_SPI_CS,
                   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
 
-       err = devm_request_irq(&pdev->dev, bs->irq, bcm2835_spi_interrupt,
-                              IRQF_SHARED, dev_name(&pdev->dev), ctlr);
+       err = devm_request_irq(&pdev->dev, bs->irq, bcm2835_spi_interrupt, 0,
+                              dev_name(&pdev->dev), ctlr);
        if (err) {
                dev_err(&pdev->dev, "could not request IRQ: %d\n", err);
                goto out_dma_release;