diff options
author | Andy Gross <agross@codeaurora.org> | 2014-06-12 15:34:11 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-06-21 06:11:54 -0400 |
commit | 045c243a511c8b688d36659cc3f781e84e9c2ddb (patch) | |
tree | 5812f2a134c1b8d551313f2f155dd357205e7cce /drivers/spi/spi-qup.c | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) |
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>
Diffstat (limited to 'drivers/spi/spi-qup.c')
-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 fc1de86d3c8a..e783e4ce2cdc 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) | |||
640 | if (ret) | 640 | if (ret) |
641 | goto error; | 641 | goto error; |
642 | 642 | ||
643 | ret = devm_spi_register_master(dev, master); | ||
644 | if (ret) | ||
645 | goto error; | ||
646 | |||
647 | pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC); | 643 | pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC); |
648 | pm_runtime_use_autosuspend(dev); | 644 | pm_runtime_use_autosuspend(dev); |
649 | pm_runtime_set_active(dev); | 645 | pm_runtime_set_active(dev); |
650 | pm_runtime_enable(dev); | 646 | pm_runtime_enable(dev); |
647 | |||
648 | ret = devm_spi_register_master(dev, master); | ||
649 | if (ret) | ||
650 | goto disable_pm; | ||
651 | |||
651 | return 0; | 652 | return 0; |
652 | 653 | ||
654 | disable_pm: | ||
655 | pm_runtime_disable(&pdev->dev); | ||
653 | error: | 656 | error: |
654 | clk_disable_unprepare(cclk); | 657 | clk_disable_unprepare(cclk); |
655 | clk_disable_unprepare(iclk); | 658 | clk_disable_unprepare(iclk); |