diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 09feb6577efc..025165c4b952 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1130,16 +1130,8 @@ static int __maybe_unused spi_geni_runtime_suspend(struct device *dev) { struct spi_controller *spi = dev_get_drvdata(dev); struct spi_geni_master *mas = spi_controller_get_devdata(spi); - int ret; - /* Drop the performance state vote */ - dev_pm_opp_set_rate(dev, 0); - - ret = geni_se_resources_off(&mas->se); - if (ret) - return ret; - - return geni_icc_disable(&mas->se); + return geni_se_resources_deactivate(&mas->se); } static int __maybe_unused spi_geni_runtime_resume(struct device *dev) @@ -1148,15 +1140,14 @@ static int __maybe_unused spi_geni_runtime_resume(struct device *dev) struct spi_geni_master *mas = spi_controller_get_devdata(spi); int ret; - ret = geni_icc_enable(&mas->se); + ret = geni_se_resources_activate(&mas->se); if (ret) return ret; - ret = geni_se_resources_on(&mas->se); - if (ret) - return ret; + if (mas->se.has_opp) + return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); - return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); + return 0; } static int __maybe_unused spi_geni_suspend(struct device *dev)