Unverified Commit d62069c2 authored by Mark Brown's avatar Mark Brown
Browse files

spi: bcm2835: Remove shared interrupt support



This reverts commit ecfbd3cf since Lukas Wunner noticed that we
start operating on the hardware before we check to see if this is a
spurious interrupt.

Reported-by: default avatarLukas Wunner <lukas@wunner.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 08ba9306
Loading
Loading
Loading
Loading
+2 −6
Original line number Original line Diff line number Diff line
@@ -379,10 +379,6 @@ static irqreturn_t bcm2835_spi_interrupt(int irq, void *dev_id)
	if (bs->tx_len && cs & BCM2835_SPI_CS_DONE)
	if (bs->tx_len && cs & BCM2835_SPI_CS_DONE)
		bcm2835_wr_fifo_blind(bs, BCM2835_SPI_FIFO_SIZE);
		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 */
	/* Read as many bytes as possible from FIFO */
	bcm2835_rd_fifo(bs);
	bcm2835_rd_fifo(bs);
	/* Write as many bytes as possible to FIFO */
	/* 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_wr(bs, BCM2835_SPI_CS,
		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);


	err = devm_request_irq(&pdev->dev, bs->irq, bcm2835_spi_interrupt,
	err = devm_request_irq(&pdev->dev, bs->irq, bcm2835_spi_interrupt, 0,
			       IRQF_SHARED, dev_name(&pdev->dev), ctlr);
			       dev_name(&pdev->dev), ctlr);
	if (err) {
	if (err) {
		dev_err(&pdev->dev, "could not request IRQ: %d\n", err);
		dev_err(&pdev->dev, "could not request IRQ: %d\n", err);
		goto out_dma_release;
		goto out_dma_release;