Merge branch 'remotes/lorenzo/pci/rockchip'
- Make rockchip 0V9 and 1V8 power regulators non-optional (Robin Murphy) * remotes/lorenzo/pci/rockchip: PCI: rockchip: Make some regulators non-optional
This commit is contained in:
Коммит
069ade5dfe
|
@ -620,19 +620,13 @@ static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip)
|
|||
dev_info(dev, "no vpcie3v3 regulator found\n");
|
||||
}
|
||||
|
||||
rockchip->vpcie1v8 = devm_regulator_get_optional(dev, "vpcie1v8");
|
||||
if (IS_ERR(rockchip->vpcie1v8)) {
|
||||
if (PTR_ERR(rockchip->vpcie1v8) != -ENODEV)
|
||||
return PTR_ERR(rockchip->vpcie1v8);
|
||||
dev_info(dev, "no vpcie1v8 regulator found\n");
|
||||
}
|
||||
rockchip->vpcie1v8 = devm_regulator_get(dev, "vpcie1v8");
|
||||
if (IS_ERR(rockchip->vpcie1v8))
|
||||
return PTR_ERR(rockchip->vpcie1v8);
|
||||
|
||||
rockchip->vpcie0v9 = devm_regulator_get_optional(dev, "vpcie0v9");
|
||||
if (IS_ERR(rockchip->vpcie0v9)) {
|
||||
if (PTR_ERR(rockchip->vpcie0v9) != -ENODEV)
|
||||
return PTR_ERR(rockchip->vpcie0v9);
|
||||
dev_info(dev, "no vpcie0v9 regulator found\n");
|
||||
}
|
||||
rockchip->vpcie0v9 = devm_regulator_get(dev, "vpcie0v9");
|
||||
if (IS_ERR(rockchip->vpcie0v9))
|
||||
return PTR_ERR(rockchip->vpcie0v9);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -658,27 +652,22 @@ static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip)
|
|||
}
|
||||
}
|
||||
|
||||
if (!IS_ERR(rockchip->vpcie1v8)) {
|
||||
err = regulator_enable(rockchip->vpcie1v8);
|
||||
if (err) {
|
||||
dev_err(dev, "fail to enable vpcie1v8 regulator\n");
|
||||
goto err_disable_3v3;
|
||||
}
|
||||
err = regulator_enable(rockchip->vpcie1v8);
|
||||
if (err) {
|
||||
dev_err(dev, "fail to enable vpcie1v8 regulator\n");
|
||||
goto err_disable_3v3;
|
||||
}
|
||||
|
||||
if (!IS_ERR(rockchip->vpcie0v9)) {
|
||||
err = regulator_enable(rockchip->vpcie0v9);
|
||||
if (err) {
|
||||
dev_err(dev, "fail to enable vpcie0v9 regulator\n");
|
||||
goto err_disable_1v8;
|
||||
}
|
||||
err = regulator_enable(rockchip->vpcie0v9);
|
||||
if (err) {
|
||||
dev_err(dev, "fail to enable vpcie0v9 regulator\n");
|
||||
goto err_disable_1v8;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_disable_1v8:
|
||||
if (!IS_ERR(rockchip->vpcie1v8))
|
||||
regulator_disable(rockchip->vpcie1v8);
|
||||
regulator_disable(rockchip->vpcie1v8);
|
||||
err_disable_3v3:
|
||||
if (!IS_ERR(rockchip->vpcie3v3))
|
||||
regulator_disable(rockchip->vpcie3v3);
|
||||
|
@ -897,8 +886,7 @@ static int __maybe_unused rockchip_pcie_suspend_noirq(struct device *dev)
|
|||
|
||||
rockchip_pcie_disable_clocks(rockchip);
|
||||
|
||||
if (!IS_ERR(rockchip->vpcie0v9))
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -908,12 +896,10 @@ static int __maybe_unused rockchip_pcie_resume_noirq(struct device *dev)
|
|||
struct rockchip_pcie *rockchip = dev_get_drvdata(dev);
|
||||
int err;
|
||||
|
||||
if (!IS_ERR(rockchip->vpcie0v9)) {
|
||||
err = regulator_enable(rockchip->vpcie0v9);
|
||||
if (err) {
|
||||
dev_err(dev, "fail to enable vpcie0v9 regulator\n");
|
||||
return err;
|
||||
}
|
||||
err = regulator_enable(rockchip->vpcie0v9);
|
||||
if (err) {
|
||||
dev_err(dev, "fail to enable vpcie0v9 regulator\n");
|
||||
return err;
|
||||
}
|
||||
|
||||
err = rockchip_pcie_enable_clocks(rockchip);
|
||||
|
@ -939,8 +925,7 @@ err_err_deinit_port:
|
|||
err_pcie_resume:
|
||||
rockchip_pcie_disable_clocks(rockchip);
|
||||
err_disable_0v9:
|
||||
if (!IS_ERR(rockchip->vpcie0v9))
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1081,10 +1066,8 @@ err_vpcie:
|
|||
regulator_disable(rockchip->vpcie12v);
|
||||
if (!IS_ERR(rockchip->vpcie3v3))
|
||||
regulator_disable(rockchip->vpcie3v3);
|
||||
if (!IS_ERR(rockchip->vpcie1v8))
|
||||
regulator_disable(rockchip->vpcie1v8);
|
||||
if (!IS_ERR(rockchip->vpcie0v9))
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
regulator_disable(rockchip->vpcie1v8);
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
err_set_vpcie:
|
||||
rockchip_pcie_disable_clocks(rockchip);
|
||||
return err;
|
||||
|
@ -1108,10 +1091,8 @@ static int rockchip_pcie_remove(struct platform_device *pdev)
|
|||
regulator_disable(rockchip->vpcie12v);
|
||||
if (!IS_ERR(rockchip->vpcie3v3))
|
||||
regulator_disable(rockchip->vpcie3v3);
|
||||
if (!IS_ERR(rockchip->vpcie1v8))
|
||||
regulator_disable(rockchip->vpcie1v8);
|
||||
if (!IS_ERR(rockchip->vpcie0v9))
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
regulator_disable(rockchip->vpcie1v8);
|
||||
regulator_disable(rockchip->vpcie0v9);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче