]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
net: rswitch: Use bulk clock operations
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Mon, 27 Oct 2025 16:45:34 +0000 (17:45 +0100)
committerMarek Vasut <marek.vasut+renesas@mailbox.org>
Thu, 6 Nov 2025 19:08:37 +0000 (20:08 +0100)
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 <marek.vasut+renesas@mailbox.org>
drivers/net/rswitch.c

index f787aa4180dddeddac1623941e42d42266ba9aec..3048db365db08918feebcd30c1a0ec0392059de7 100644 (file)
@@ -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;