Skip to content

Commit dddd612

Browse files
committed
Merge branch 'pci/controller/dw-rockchip'
- Use devm_regulator_get_enable_optional() to simplify probing (Anand Moon) * pci/controller/dw-rockchip: PCI: dw-rockchip: Simplify regulator setup with devm_regulator_get_enable_optional()
2 parents 2b12e31 + c930b10 commit dddd612

1 file changed

Lines changed: 6 additions & 17 deletions

File tree

drivers/pci/controller/dwc/pcie-dw-rockchip.c

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ struct rockchip_pcie {
8888
unsigned int clk_cnt;
8989
struct reset_control *rst;
9090
struct gpio_desc *rst_gpio;
91-
struct regulator *vpcie3v3;
9291
struct irq_domain *irq_domain;
9392
const struct rockchip_pcie_of_data *data;
9493
bool supports_clkreq;
@@ -692,22 +691,15 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
692691
return ret;
693692

694693
/* DON'T MOVE ME: must be enable before PHY init */
695-
rockchip->vpcie3v3 = devm_regulator_get_optional(dev, "vpcie3v3");
696-
if (IS_ERR(rockchip->vpcie3v3)) {
697-
if (PTR_ERR(rockchip->vpcie3v3) != -ENODEV)
698-
return dev_err_probe(dev, PTR_ERR(rockchip->vpcie3v3),
699-
"failed to get vpcie3v3 regulator\n");
700-
rockchip->vpcie3v3 = NULL;
701-
} else {
702-
ret = regulator_enable(rockchip->vpcie3v3);
703-
if (ret)
704-
return dev_err_probe(dev, ret,
705-
"failed to enable vpcie3v3 regulator\n");
706-
}
694+
ret = devm_regulator_get_enable_optional(dev, "vpcie3v3");
695+
if (ret < 0 && ret != -ENODEV)
696+
return dev_err_probe(dev, ret,
697+
"failed to enable vpcie3v3 regulator\n");
707698

708699
ret = rockchip_pcie_phy_init(rockchip);
709700
if (ret)
710-
goto disable_regulator;
701+
return dev_err_probe(dev, ret,
702+
"failed to initialize the phy\n");
711703

712704
ret = reset_control_deassert(rockchip->rst);
713705
if (ret)
@@ -740,9 +732,6 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
740732
clk_bulk_disable_unprepare(rockchip->clk_cnt, rockchip->clks);
741733
deinit_phy:
742734
rockchip_pcie_phy_deinit(rockchip);
743-
disable_regulator:
744-
if (rockchip->vpcie3v3)
745-
regulator_disable(rockchip->vpcie3v3);
746735

747736
return ret;
748737
}

0 commit comments

Comments
 (0)