[PATCH 2/2] PCI: rockchip: Simplify optional regulator handling
From: Robin Murphy <robin.murphy@arm.com>
Date: 2019-11-16 12:54:55
Also in:
linux-pci, linux-rockchip
Subsystem:
arm/rockchip soc support, pci native host bridge and endpoint drivers, pci subsystem, pcie driver for rockchip, the rest · Maintainers:
Heiko Stuebner, Lorenzo Pieralisi, Krzysztof Wilczyński, Manivannan Sadhasivam, Bjorn Helgaas, Shawn Lin, Linus Torvalds
Null checks are both cheaper and more readable than having !IS_ERR() splattered everywhere. Signed-off-by: Robin Murphy <robin.murphy@arm.com> --- drivers/pci/controller/pcie-rockchip-host.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controller/pcie-rockchip-host.c
index 68525f8ac4d9..a61819efc0c1 100644
--- a/drivers/pci/controller/pcie-rockchip-host.c
+++ b/drivers/pci/controller/pcie-rockchip-host.c@@ -262,7 +262,7 @@ static void rockchip_pcie_set_power_limit(struct rockchip_pcie *rockchip) int curr; u32 status, scale, power; - if (IS_ERR(rockchip->vpcie3v3)) + if (!rockchip->vpcie3v3) return; /*
@@ -611,6 +611,7 @@ static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip) if (PTR_ERR(rockchip->vpcie12v) != -ENODEV) return PTR_ERR(rockchip->vpcie12v); dev_info(dev, "no vpcie12v regulator found\n"); + rockchip->vpcie12v = NULL; } rockchip->vpcie3v3 = devm_regulator_get_optional(dev, "vpcie3v3");
@@ -618,6 +619,7 @@ static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip) if (PTR_ERR(rockchip->vpcie3v3) != -ENODEV) return PTR_ERR(rockchip->vpcie3v3); dev_info(dev, "no vpcie3v3 regulator found\n"); + rockchip->vpcie3v3 = NULL; } rockchip->vpcie1v8 = devm_regulator_get(dev, "vpcie1v8");
@@ -636,7 +638,7 @@ static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip) struct device *dev = rockchip->dev; int err; - if (!IS_ERR(rockchip->vpcie12v)) { + if (rockchip->vpcie12v) { err = regulator_enable(rockchip->vpcie12v); if (err) { dev_err(dev, "fail to enable vpcie12v regulator\n");
@@ -644,7 +646,7 @@ static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip) } } - if (!IS_ERR(rockchip->vpcie3v3)) { + if (rockchip->vpcie3v3) { err = regulator_enable(rockchip->vpcie3v3); if (err) { dev_err(dev, "fail to enable vpcie3v3 regulator\n");
@@ -669,10 +671,10 @@ static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip) err_disable_1v8: regulator_disable(rockchip->vpcie1v8); err_disable_3v3: - if (!IS_ERR(rockchip->vpcie3v3)) + if (rockchip->vpcie3v3) regulator_disable(rockchip->vpcie3v3); err_disable_12v: - if (!IS_ERR(rockchip->vpcie12v)) + if (rockchip->vpcie12v) regulator_disable(rockchip->vpcie12v); err_out: return err;
@@ -1062,9 +1064,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev) err_deinit_port: rockchip_pcie_deinit_phys(rockchip); err_vpcie: - if (!IS_ERR(rockchip->vpcie12v)) + if (rockchip->vpcie12v) regulator_disable(rockchip->vpcie12v); - if (!IS_ERR(rockchip->vpcie3v3)) + if (rockchip->vpcie3v3) regulator_disable(rockchip->vpcie3v3); regulator_disable(rockchip->vpcie1v8); regulator_disable(rockchip->vpcie0v9);
@@ -1087,9 +1089,9 @@ static int rockchip_pcie_remove(struct platform_device *pdev) rockchip_pcie_disable_clocks(rockchip); - if (!IS_ERR(rockchip->vpcie12v)) + if (rockchip->vpcie12v) regulator_disable(rockchip->vpcie12v); - if (!IS_ERR(rockchip->vpcie3v3)) + if (rockchip->vpcie3v3) regulator_disable(rockchip->vpcie3v3); regulator_disable(rockchip->vpcie1v8); regulator_disable(rockchip->vpcie0v9);
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel