From: Mark Brown Date: Tue, 30 May 2023 17:38:18 +0000 (+0100) Subject: spi: Merge up fixes to help CI X-Git-Tag: v6.6.17~4370^2~34 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fdc523137457d3547900e3dfbe5fcdd49675f6ba;p=platform%2Fkernel%2Flinux-rpi.git spi: Merge up fixes to help CI Get the fixes into CI for development. --- fdc523137457d3547900e3dfbe5fcdd49675f6ba diff --cc drivers/spi/spi-mt65xx.c index ef64fc28f703,d7432e2219d8..39272ad6641b --- a/drivers/spi/spi-mt65xx.c +++ b/drivers/spi/spi-mt65xx.c @@@ -1276,21 -1275,18 +1276,24 @@@ static void mtk_spi_remove(struct platf struct mtk_spi *mdata = spi_master_get_devdata(master); int ret; + if (mdata->use_spimem && !completion_done(&mdata->spimem_done)) + complete(&mdata->spimem_done); + - ret = pm_runtime_resume_and_get(&pdev->dev); - if (ret < 0) - return ret; - - mtk_spi_reset(mdata); + ret = pm_runtime_get_sync(&pdev->dev); + if (ret < 0) { + dev_warn(&pdev->dev, "Failed to resume hardware (%pe)\n", ERR_PTR(ret)); + } else { + /* + * If pm runtime resume failed, clks are disabled and + * unprepared. So don't access the hardware and skip clk + * unpreparing. + */ + mtk_spi_reset(mdata); - if (mdata->dev_comp->no_need_unprepare) { - clk_unprepare(mdata->spi_clk); - clk_unprepare(mdata->spi_hclk); + if (mdata->dev_comp->no_need_unprepare) { + clk_unprepare(mdata->spi_clk); + clk_unprepare(mdata->spi_hclk); + } } pm_runtime_put_noidle(&pdev->dev);