spi: spi-geni-qcom: Unconditionally call dev_pm_opp_of_remove_table()
dev_pm_opp_of_remove_table() doesn't report any errors when it fails to find the OPP table with error -ENODEV (i.e. OPP table not present for the device). And we can call dev_pm_opp_of_remove_table() unconditionally here. While at it, create a new label and put clkname on errors. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Link: https://lore.kernel.org/r/ea0864d41277e61fa31d304fbd4cf9af6b314269.1598594714.git.viresh.kumar@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f4d51dffc6
commit
7d568edff5
@ -613,11 +613,9 @@ static int spi_geni_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(mas->se.opp_table);
|
||||
/* OPP table is optional */
|
||||
ret = dev_pm_opp_of_add_table(&pdev->dev);
|
||||
if (!ret) {
|
||||
mas->se.has_opp_table = true;
|
||||
} else if (ret != -ENODEV) {
|
||||
if (ret && ret != -ENODEV) {
|
||||
dev_err(&pdev->dev, "invalid OPP table in device tree\n");
|
||||
return ret;
|
||||
goto put_clkname;
|
||||
}
|
||||
|
||||
spi->bus_num = -1;
|
||||
@ -669,8 +667,8 @@ spi_geni_probe_free_irq:
|
||||
spi_geni_probe_runtime_disable:
|
||||
pm_runtime_disable(dev);
|
||||
spi_master_put(spi);
|
||||
if (mas->se.has_opp_table)
|
||||
dev_pm_opp_of_remove_table(&pdev->dev);
|
||||
dev_pm_opp_of_remove_table(&pdev->dev);
|
||||
put_clkname:
|
||||
dev_pm_opp_put_clkname(mas->se.opp_table);
|
||||
return ret;
|
||||
}
|
||||
@ -685,8 +683,7 @@ static int spi_geni_remove(struct platform_device *pdev)
|
||||
|
||||
free_irq(mas->irq, spi);
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
if (mas->se.has_opp_table)
|
||||
dev_pm_opp_of_remove_table(&pdev->dev);
|
||||
dev_pm_opp_of_remove_table(&pdev->dev);
|
||||
dev_pm_opp_put_clkname(mas->se.opp_table);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user