[PATCH 3/3] pci: pcie-rcar-gen4: Switch to devm_*() GPIO and reset

Marek Vasut via U-Boot <[email protected]>
Newsgroups gmane.comp.boot-loaders.u-boot.general,gmane.comp.boot-loaders.u-boot
Message-ID <[email protected]>
Use device managed GPIO and reset get to automatically free
those resources up. No functional change.

Signed-off-by: Marek Vasut <[email protected]>
---
Cc: Nobuhiro Iwamatsu <[email protected]>
Cc: Tom Rini <[email protected]>
Cc: [email protected]
---
 drivers/pci/pci-rcar-gen4.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/pci/pci-rcar-gen4.c b/drivers/pci/pci-rcar-gen4.c
index 044bceee6c7..b1d43b2e7aa 100644
--- a/drivers/pci/pci-rcar-gen4.c
+++ b/drivers/pci/pci-rcar-gen4.c
@@ -99,10 +99,10 @@
 struct rcar_gen4_pcie {
 	/* Must be first member of the struct */
 	struct			pcie_dw dw;
-	struct reset_ctl	pwr_rst;
+	struct reset_ctl	*pwr_rst;
 	struct clk		*core_clk;
 	struct clk		*ref_clk;
-	struct gpio_desc	pe_rst;
+	struct gpio_desc	*pe_rst;
 	void			*app_base;
 	void			*dbi2_base;
 	void			*phy_base;
@@ -313,7 +313,7 @@ static int rcar_gen4_pcie_common_init(struct rcar_gen4_pcie *rcar)
 	if (ret)
 		return ret;
 
-	ret = reset_assert(&rcar->pwr_rst);
+	ret = reset_assert(rcar->pwr_rst);
 	if (ret)
 		goto err_unprepare;
 
@@ -323,11 +323,11 @@ static int rcar_gen4_pcie_common_init(struct rcar_gen4_pcie *rcar)
 		     DEVICE_TYPE_RC |
 		     ((rcar->num_lanes < 4) ? BIFUR_MOD_SET_ON : 0));
 
-	ret = reset_deassert(&rcar->pwr_rst);
+	ret = reset_deassert(rcar->pwr_rst);
 	if (ret)
 		goto err_unprepare;
 
-	reset_status(&rcar->pwr_rst);
+	reset_status(rcar->pwr_rst);
 	mdelay(1);
 
 	rcar_gen4_pcie_additional_common_init(rcar);
@@ -346,7 +346,7 @@ static int rcar_gen4_pcie_host_init(struct udevice *dev)
 	struct rcar_gen4_pcie *rcar = dev_get_priv(dev);
 	int ret;
 
-	dm_gpio_set_value(&rcar->pe_rst, 1);
+	dm_gpio_set_value(rcar->pe_rst, 1);
 
 	ret = rcar_gen4_pcie_common_init(rcar);
 	if (ret)
@@ -366,7 +366,7 @@ static int rcar_gen4_pcie_host_init(struct udevice *dev)
 
 	mdelay(PCIE_T_PVPERL_MS);	/* pe_rst requires 100msec delay */
 
-	dm_gpio_set_value(&rcar->pe_rst, 0);
+	dm_gpio_set_value(rcar->pe_rst, 0);
 
 	return 0;
 }
@@ -428,9 +428,9 @@ static int rcar_gen4_pcie_probe(struct udevice *dev)
 	rcar->dw.first_busno = dev_seq(dev);
 	rcar->dw.dev = dev;
 
-	ret = reset_get_by_name(dev, "pwr", &rcar->pwr_rst);
-	if (ret)
-		return ret;
+	rcar->pwr_rst = devm_reset_control_get(dev, "pwr");
+	if (IS_ERR(rcar->pwr_rst))
+		return PTR_ERR(rcar->pwr_rst);
 
 	rcar->core_clk = devm_clk_get(dev, "core");
 	if (IS_ERR(rcar->core_clk))
@@ -444,10 +444,10 @@ static int rcar_gen4_pcie_probe(struct udevice *dev)
 	if (ret && ret != -ENOSYS)
 		return ret;
 
-	ret = gpio_request_by_name(dev, "reset-gpios", 0, &rcar->pe_rst,
-				   GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
-	if (ret)
-		return ret;
+	rcar->pe_rst = devm_gpiod_get(dev, "reset",
+				      GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
+	if (IS_ERR(rcar->pe_rst))
+		return PTR_ERR(rcar->pe_rst);
 
 	ret = rcar_gen4_pcie_host_init(dev);
 	if (ret)
@@ -469,8 +469,8 @@ static int rcar_gen4_pcie_probe(struct udevice *dev)
 	if (!rcar_gen4_pcie_link_up(rcar)) {
 		printf("PCIE-%d: Link down\n", dev_seq(dev));
 		rcar_gen4_pcie_ltssm_control(rcar, false);
-		dm_gpio_set_value(&rcar->pe_rst, 1);
-		reset_assert(&rcar->pwr_rst);
+		dm_gpio_set_value(rcar->pe_rst, 1);
+		reset_assert(rcar->pwr_rst);
 		clk_disable_unprepare(rcar->ref_clk);
 		return -ENODEV;
 	}
@@ -501,8 +501,8 @@ static int rcar_gen4_pcie_remove(struct udevice *dev)
 	struct rcar_gen4_pcie *rcar = dev_get_priv(dev);
 
 	rcar_gen4_pcie_ltssm_control(rcar, false);
-	dm_gpio_set_value(&rcar->pe_rst, 1);
-	reset_assert(&rcar->pwr_rst);
+	dm_gpio_set_value(rcar->pe_rst, 1);
+	reset_assert(rcar->pwr_rst);
 	clk_disable_unprepare(rcar->ref_clk);
 
 	return 0;
-- 
2.53.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.