On Mon, Oct 14, 2024 at 03:40:51PM +0200, Andrew Lunn wrote: > On Sun, Oct 13, 2024 at 11:27:39PM +0200, Jan Petrous via B4 Relay wrote: > > From: "Jan Petrous (OSS)" <jan.petrous@xxxxxxxxxxx> > > > > The helper rgmii_clock() implemented Russel's hint during stmmac > > glue driver review: > > > > > We seem to have multiple cases of very similar logic in lots of stmmac > > > platform drivers, and I think it's about time we said no more to this. > > > So, what I think we should do is as follows: > > > > > > add the following helper - either in stmmac, or more generically > > > (phylib? - in which case its name will need changing.) > > > > > > static long stmmac_get_rgmii_clock(int speed) > > > { > > > switch (speed) { > > > case SPEED_10: > > > return 2500000; > > > > > > case SPEED_100: > > > return 25000000; > > > > > > case SPEED_1000: > > > return 125000000; > > > > > > default: > > > return -ENVAL; > > > } > > > } > > > > > > Then, this can become: > > > > > > long tx_clk_rate; > > > > > > ... > > > > > > tx_clk_rate = stmmac_get_rgmii_clock(speed); > > > if (tx_clk_rate < 0) { > > > dev_err(gmac->dev, "Unsupported/Invalid speed: %d\n", speed); > > > return; > > > } > > > > > > ret = clk_set_rate(gmac->tx_clk, tx_clk_rate); > > > > Suggested-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> > > Signed-off-by: Jan Petrous (OSS) <jan.petrous@xxxxxxxxxxx> > > But of an unusual commit message, but it does explain the "Why?". I will reformulate description in v4. > > Reviewed-by: Andrew Lunn <andrew@xxxxxxx> > Thanks. > > > > +/** > > + * rgmii_clock - map link speed to the clock rate > > + * @speed: link speed value > > + * > > + * Description: maps RGMII supported link speeds > > + * into the clock rates. > > + */ > > A Returns: line would be nice. will add it in v4. Thanks /Jan