aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-qup.c
diff options
context:
space:
mode:
authorAndy Gross <agross@codeaurora.org>2014-06-12 15:34:11 -0400
committerMark Brown <broonie@linaro.org>2014-06-21 06:11:54 -0400
commit045c243a511c8b688d36659cc3f781e84e9c2ddb (patch)
tree5812f2a134c1b8d551313f2f155dd357205e7cce /drivers/spi/spi-qup.c
parent7171511eaec5bf23fb06078f59784a3a0626b38f (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.c11
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
654disable_pm:
655 pm_runtime_disable(&pdev->dev);
653error: 656error:
654 clk_disable_unprepare(cclk); 657 clk_disable_unprepare(cclk);
655 clk_disable_unprepare(iclk); 658 clk_disable_unprepare(iclk);