mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 02:29:01 +00:00
7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
36 lines
1.3 KiB
Diff
36 lines
1.3 KiB
Diff
From 21dd7cd6dc231287b92a8c8b9ecf9d0844c2d325 Mon Sep 17 00:00:00 2001
|
|
From: Martin Sperl <kernel@martin.sperl.org>
|
|
Date: Mon, 13 May 2019 11:05:27 +0000
|
|
Subject: [PATCH] spi: bcm2835: enable shared interrupt support
|
|
|
|
Add shared interrupt support for this driver.
|
|
|
|
Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
|
|
---
|
|
drivers/spi/spi-bcm2835.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/spi/spi-bcm2835.c
|
|
+++ b/drivers/spi/spi-bcm2835.c
|
|
@@ -150,6 +150,10 @@ static irqreturn_t bcm2835_spi_interrupt
|
|
struct spi_master *master = dev_id;
|
|
struct bcm2835_spi *bs = spi_master_get_devdata(master);
|
|
|
|
+ /* 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 */
|
|
@@ -756,7 +760,8 @@ static int bcm2835_spi_probe(struct plat
|
|
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, 0,
|
|
+ err = devm_request_irq(&pdev->dev, bs->irq, bcm2835_spi_interrupt,
|
|
+ IRQF_SHARED,
|
|
dev_name(&pdev->dev), master);
|
|
if (err) {
|
|
dev_err(&pdev->dev, "could not request IRQ: %d\n", err);
|