spi: cadence: set cqspi to the driver_data field of struct device
authorMeng Li <Meng.Li@windriver.com>
Thu, 11 Mar 2021 09:12:20 +0000 (17:12 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 11 Mar 2021 13:32:32 +0000 (13:32 +0000)
When initialize cadence qspi controller, it is need to set cqspi
to the driver_data field of struct device, because it will be
used in function cqspi_remove/suspend/resume(). Otherwise, there
will be a crash trace as below when invoking these finctions.

Fixes: 31fb632b5d43 ("spi: Move cadence-quadspi driver to drivers/spi/")
Cc: stable@vger.kernel.org
Signed-off-by: Meng Li <Meng.Li@windriver.com>
Link: https://lore.kernel.org/r/20210311091220.3615-1-Meng.Li@windriver.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence-quadspi.c

index 442cc7c53a47b97dea6f6a6cd7e9502c5be5b2d4..52ddb3255d88c14dbcbc5a3da493171d5d81dad3 100644 (file)
@@ -1433,6 +1433,7 @@ static int cqspi_probe(struct platform_device *pdev)
        cqspi = spi_master_get_devdata(master);
 
        cqspi->pdev = pdev;
+       platform_set_drvdata(pdev, cqspi);
 
        /* Obtain configuration from OF. */
        ret = cqspi_of_get_pdata(cqspi);