Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: spi-qcom-qspi: Convert to use resource-managed OPP API

Use resource-managed OPP API to simplify code.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

authored by

Yangtao Li and committed by
Viresh Kumar
6504dcae cfb12911

+5 -13
+5 -13
drivers/spi/spi-qcom-qspi.c
··· 142 142 struct clk_bulk_data *clks; 143 143 struct qspi_xfer xfer; 144 144 struct icc_path *icc_path_cpu_to_qspi; 145 - struct opp_table *opp_table; 146 145 unsigned long last_speed; 147 146 /* Lock to protect data accessed by IRQs */ 148 147 spinlock_t lock; ··· 529 530 master->handle_err = qcom_qspi_handle_err; 530 531 master->auto_runtime_pm = true; 531 532 532 - ctrl->opp_table = dev_pm_opp_set_clkname(&pdev->dev, "core"); 533 - if (IS_ERR(ctrl->opp_table)) 534 - return PTR_ERR(ctrl->opp_table); 533 + ret = devm_pm_opp_set_clkname(&pdev->dev, "core"); 534 + if (ret) 535 + return ret; 535 536 /* OPP table is optional */ 536 - ret = dev_pm_opp_of_add_table(&pdev->dev); 537 + ret = devm_pm_opp_of_add_table(&pdev->dev); 537 538 if (ret && ret != -ENODEV) { 538 539 dev_err(&pdev->dev, "invalid OPP table in device tree\n"); 539 - goto exit_probe_put_clkname; 540 + return ret; 540 541 } 541 542 542 543 pm_runtime_use_autosuspend(dev); ··· 548 549 return 0; 549 550 550 551 pm_runtime_disable(dev); 551 - dev_pm_opp_of_remove_table(&pdev->dev); 552 - 553 - exit_probe_put_clkname: 554 - dev_pm_opp_put_clkname(ctrl->opp_table); 555 552 556 553 return ret; 557 554 } ··· 555 560 static int qcom_qspi_remove(struct platform_device *pdev) 556 561 { 557 562 struct spi_master *master = platform_get_drvdata(pdev); 558 - struct qcom_qspi *ctrl = spi_master_get_devdata(master); 559 563 560 564 /* Unregister _before_ disabling pm_runtime() so we stop transfers */ 561 565 spi_unregister_master(master); 562 566 563 567 pm_runtime_disable(&pdev->dev); 564 - dev_pm_opp_of_remove_table(&pdev->dev); 565 - dev_pm_opp_put_clkname(ctrl->opp_table); 566 568 567 569 return 0; 568 570 }