diff options
Diffstat (limited to 'drivers/spi/spi-geni-qcom.c')
| -rw-r--r-- | drivers/spi/spi-geni-qcom.c | 16 | 
1 files changed, 6 insertions, 10 deletions
| diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 881f645661cc..3d0d8ddd5772 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -691,14 +691,15 @@ static int spi_geni_probe(struct platform_device *pdev)  	mas->se.wrapper = dev_get_drvdata(dev->parent);  	mas->se.base = base;  	mas->se.clk = clk; -	mas->se.opp_table = dev_pm_opp_set_clkname(&pdev->dev, "se"); -	if (IS_ERR(mas->se.opp_table)) -		return PTR_ERR(mas->se.opp_table); + +	ret = devm_pm_opp_set_clkname(&pdev->dev, "se"); +	if (ret) +		return ret;  	/* OPP table is optional */ -	ret = dev_pm_opp_of_add_table(&pdev->dev); +	ret = devm_pm_opp_of_add_table(&pdev->dev);  	if (ret && ret != -ENODEV) {  		dev_err(&pdev->dev, "invalid OPP table in device tree\n"); -		goto put_clkname; +		return ret;  	}  	spi->bus_num = -1; @@ -750,9 +751,6 @@ spi_geni_probe_free_irq:  	free_irq(mas->irq, spi);  spi_geni_probe_runtime_disable:  	pm_runtime_disable(dev); -	dev_pm_opp_of_remove_table(&pdev->dev); -put_clkname: -	dev_pm_opp_put_clkname(mas->se.opp_table);  	return ret;  } @@ -766,8 +764,6 @@ static int spi_geni_remove(struct platform_device *pdev)  	free_irq(mas->irq, spi);  	pm_runtime_disable(&pdev->dev); -	dev_pm_opp_of_remove_table(&pdev->dev); -	dev_pm_opp_put_clkname(mas->se.opp_table);  	return 0;  } | 
