From 344e75eb2b5653ed350121b4a7beb292049c24c0 Mon Sep 17 00:00:00 2001 From: Christopher Hill Date: Mon, 25 May 2020 21:00:00 -0400 Subject: ath79: patch upstream Mikrotik rb4xx-spi driver to be device tree aware Backport upstream patches that make drivers/spi/spi-rb4xx.c device tree aware, plus a null pointer fix. Signed-off-by: Christopher Hill --- .../825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch (limited to 'target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch') diff --git a/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch b/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch new file mode 100644 index 0000000000..5d762c571c --- /dev/null +++ b/target/linux/generic/backport-5.4/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch @@ -0,0 +1,50 @@ +From: Christopher Hill +To: Mark Brown +Cc: Christopher Hill , linux-spi@vger.kernel.org, + linux-kernel@vger.kernel.org +Subject: [PATCH 1/3] spi: rb4xx: null pointer bug fix +Date: Thu, 21 May 2020 14:36:29 -0400 +Message-Id: <20200521183631.37806-1-ch6574@gmail.com> +X-Mailer: git-send-email 2.25.1 +MIME-Version: 1.0 +Sender: linux-spi-owner@vger.kernel.org +Precedence: bulk +List-ID: +X-Mailing-List: linux-spi@vger.kernel.org + +This patch fixes a null pointer bug in the spi driver spi-rb4xx.c by +moving the private data initialization to earlier in probe + +Signed-off-by: Christopher Hill +--- + drivers/spi/spi-rb4xx.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/spi/spi-rb4xx.c b/drivers/spi/spi-rb4xx.c +index 4c9620e0d18c..17e1a77dc132 100644 +--- a/drivers/spi/spi-rb4xx.c ++++ b/drivers/spi/spi-rb4xx.c +@@ -158,6 +158,11 @@ static int rb4xx_spi_probe(struct platform_device *pdev) + master->transfer_one = rb4xx_transfer_one; + master->set_cs = rb4xx_set_cs; + ++ rbspi = spi_master_get_devdata(master); ++ rbspi->base = spi_base; ++ rbspi->clk = ahb_clk; ++ platform_set_drvdata(pdev, rbspi); ++ + err = devm_spi_register_master(&pdev->dev, master); + if (err) { + dev_err(&pdev->dev, "failed to register SPI master\n"); +@@ -168,11 +173,6 @@ static int rb4xx_spi_probe(struct platform_device *pdev) + if (err) + return err; + +- rbspi = spi_master_get_devdata(master); +- rbspi->base = spi_base; +- rbspi->clk = ahb_clk; +- platform_set_drvdata(pdev, rbspi); +- + /* Enable SPI */ + rb4xx_write(rbspi, AR71XX_SPI_REG_FS, AR71XX_SPI_FS_GPIO); + -- cgit v1.2.3