提交 6b76283d 编写于 作者: M Martin Sperl 提交者: Zheng Zengkai

spi: bcm2835: enable shared interrupt support

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

Add shared interrupt support for this driver.
Signed-off-by: NMartin Sperl <kernel@martin.sperl.org>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 1771bca0
...@@ -377,6 +377,10 @@ static irqreturn_t bcm2835_spi_interrupt(int irq, void *dev_id) ...@@ -377,6 +377,10 @@ 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 */
...@@ -1321,7 +1325,8 @@ static int bcm2835_spi_probe(struct platform_device *pdev) ...@@ -1321,7 +1325,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, 0, err = devm_request_irq(&pdev->dev, bs->irq, bcm2835_spi_interrupt,
IRQF_SHARED,
dev_name(&pdev->dev), bs); dev_name(&pdev->dev), bs);
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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册