spi: spi-coldfire-qspi: enable RuntimePM before registering to the core
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Fri, 9 Oct 2015 09:39:27 +0000 (10:39 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 12 Oct 2015 16:02:08 +0000 (17:02 +0100)
The core may register clients attached to this master which may use
funtionality from the master. So, RuntimePM must be enabled before, otherwise
this will fail.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-coldfire-qspi.c

index 688956ff5095c26a8c1101dc4740b310627ed294..23f6fffd75e111ee4a77240293e582c7b66446a0 100644 (file)
@@ -420,19 +420,20 @@ static int mcfqspi_probe(struct platform_device *pdev)
        master->auto_runtime_pm = true;
 
        platform_set_drvdata(pdev, master);
+       pm_runtime_enable(&pdev->dev);
 
        status = devm_spi_register_master(&pdev->dev, master);
        if (status) {
                dev_dbg(&pdev->dev, "spi_register_master failed\n");
                goto fail2;
        }
-       pm_runtime_enable(&pdev->dev);
 
        dev_info(&pdev->dev, "Coldfire QSPI bus driver\n");
 
        return 0;
 
 fail2:
+       pm_runtime_disable(&pdev->dev);
        mcfqspi_cs_teardown(mcfqspi);
 fail1:
        clk_disable(mcfqspi->clk);