The new version of RSwitch3 in Renesas R-Car Gen5 uses multiple
clock to supply the IP. Convert the driver to bulk clock API to
cater for both single clock of R-Car S4 and multiple clock of
R-Car Gen5. No functional change.

Signed-off-by: Marek Vasut <[email protected]>
---
Cc: Jerome Forissier <[email protected]>
Cc: Joe Hershberger <[email protected]>
Cc: Nobuhiro Iwamatsu <[email protected]>
Cc: Paul Barker <[email protected]>
Cc: Ramon Fried <[email protected]>
Cc: Simon Glass <[email protected]>
Cc: Tom Rini <[email protected]>
Cc: [email protected]
---
 drivers/net/rswitch.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/net/rswitch.c b/drivers/net/rswitch.c
index f787aa4180d..3048db365db 100644
--- a/drivers/net/rswitch.c
+++ b/drivers/net/rswitch.c
@@ -272,7 +272,7 @@ struct rswitch_port_priv {
 
 struct rswitch_priv {
        void __iomem            *addr;
-       struct clk              *rsw_clk;
+       struct clk_bulk         rsw_clk;
 };
 
 static inline void rswitch_flush_dcache(u32 addr, u32 len)
@@ -1101,13 +1101,11 @@ static int rswitch_probe(struct udevice *dev)
        if (!priv->addr)
                return -EINVAL;
 
-       priv->rsw_clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->rsw_clk)) {
-               ret = PTR_ERR(priv->rsw_clk);
+       ret = clk_get_bulk(dev, &priv->rsw_clk);
+       if (ret < 0)
                goto err_map;
-       }
 
-       ret = clk_prepare_enable(priv->rsw_clk);
+       ret = clk_enable_bulk(&priv->rsw_clk);
        if (ret)
                goto err_map;
 
@@ -1122,7 +1120,7 @@ static int rswitch_remove(struct udevice *dev)
 {
        struct rswitch_priv *priv = dev_get_plat(dev);
 
-       clk_disable_unprepare(priv->rsw_clk);
+       clk_disable_bulk(&priv->rsw_clk);
        unmap_physmem(priv->addr, MAP_NOCACHE);
 
        return 0;
-- 
2.51.0

Reply via email to