Re: [PATCH v2 4/4] spi: spi-coldfire-qspi: enable RuntimePM before registering to the core
From: Wolfram Sang
Date: Fri Oct 09 2015 - 14:27:51 EST
On Fri, Oct 09, 2015 at 10:39:27AM +0100, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxxxxxxx>
V2 adds disabling runtime_pm in the error path. There are no
dependencies. Patches 1-3 do the same for I2C drivers. I generated this
series from a branch and sent out as is; probably I should have sent the
SPI one individually.
Thanks,
Wolfram
> ---
> drivers/spi/spi-coldfire-qspi.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-coldfire-qspi.c b/drivers/spi/spi-coldfire-qspi.c
> index 688956ff5095c2..23f6fffd75e111 100644
> --- a/drivers/spi/spi-coldfire-qspi.c
> +++ b/drivers/spi/spi-coldfire-qspi.c
> @@ -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);
> --
> 2.1.4
>
Attachment:
signature.asc
Description: Digital signature