diff options
| author | Marek Vasut <[email protected]> | 2025-10-27 17:45:34 +0100 |
|---|---|---|
| committer | Marek Vasut <[email protected]> | 2025-11-06 20:08:37 +0100 |
| commit | a8a97474fdcbd5d9153580a6ba3dddf308c06fc3 (patch) | |
| tree | 4231294534ac6643544ffa052c467fb81e1e73d7 | |
| parent | e9e597bc73d44ac34dd7d95c7a6b5241421be7d4 (diff) | |
net: rswitch: Use bulk clock operations
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]>
| -rw-r--r-- | drivers/net/rswitch.c | 12 |
1 files 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; |
