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

Reply via email to