diff options
author | Andy Gross <agross@codeaurora.org> | 2014-06-12 14:34:11 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-06-21 11:11:54 +0100 |
commit | 045c243a511c8b688d36659cc3f781e84e9c2ddb (patch) | |
tree | 5812f2a134c1b8d551313f2f155dd357205e7cce | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) | |
download | op-kernel-dev-045c243a511c8b688d36659cc3f781e84e9c2ddb.zip op-kernel-dev-045c243a511c8b688d36659cc3f781e84e9c2ddb.tar.gz |
spi: qup: Fix order of spi_register_master
This patch moves the devm_spi_register_master below the initialization of the
runtime_pm. If done in the wrong order, the spi_register_master fails if any
probed slave devices issue SPI transactions.
Signed-off-by: Andy Gross <agross@codeaurora.org>
Acked-by: Ivan T. Ivanov <iivanov@mm-sol.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | drivers/spi/spi-qup.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c index fc1de86..e783e4c 100644 --- a/drivers/spi/spi-qup.c +++ b/drivers/spi/spi-qup.c @@ -640,16 +640,19 @@ static int spi_qup_probe(struct platform_device *pdev) if (ret) goto error; - ret = devm_spi_register_master(dev, master); - if (ret) - goto error; - pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC); pm_runtime_use_autosuspend(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev); + + ret = devm_spi_register_master(dev, master); + if (ret) + goto disable_pm; + return 0; +disable_pm: + pm_runtime_disable(&pdev->dev); error: clk_disable_unprepare(cclk); clk_disable_unprepare(iclk); |