diff --git a/drivers/spi/spi-meson-spifc.c b/drivers/spi/spi-meson-spifc.c index 2ef090dec7ba..1580797f4a84 100644 --- a/drivers/spi/spi-meson-spifc.c +++ b/drivers/spi/spi-meson-spifc.c @@ -325,26 +325,20 @@ static int meson_spifc_probe(struct platform_device *pdev) meson_spifc_hw_init(spifc); - pm_runtime_set_active(spifc->dev); - pm_runtime_enable(spifc->dev); + ret = devm_pm_runtime_set_active_enabled(spifc->dev); + if (ret) + return dev_err_probe(spifc->dev, ret, "failed to set runtime PM\n"); ret = devm_spi_register_controller(spifc->dev, host); - if (ret) { - dev_err(spifc->dev, "failed to register spi host\n"); - goto out_pm; - } + if (ret) + return dev_err_probe(spifc->dev, ret, "failed to register spi host\n"); return 0; -out_pm: - pm_runtime_disable(spifc->dev); - - return ret; } static void meson_spifc_remove(struct platform_device *pdev) { pm_runtime_get_sync(&pdev->dev); - pm_runtime_disable(&pdev->dev); pm_runtime_put_noidle(&pdev->dev); }