[PATCH net-next 2/2] net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method

Simon Horman horms at kernel.org
Mon Jan 12 12:01:40 PST 2026


On Mon, Jan 12, 2026 at 06:11:29PM +0000, Russell King (Oracle) wrote:
> Set the RGMII link clock using the set_clk_tx_rate() method rather than
> coding it into the .fix_mac_speed() method. This simplifies ethqos's
> ethqos_fix_mac_speed().
> 
> Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
> ---
>  .../stmicro/stmmac/dwmac-qcom-ethqos.c        | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> index 869f924f3cde..d6df3ca757be 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> @@ -102,7 +102,6 @@ struct qcom_ethqos {
>  	void __iomem *rgmii_base;
>  	int (*configure_func)(struct qcom_ethqos *ethqos, int speed);
>  
> -	unsigned int link_clk_rate;
>  	struct clk *link_clk;
>  	struct phy *serdes_phy;
>  	int serdes_speed;
> @@ -174,19 +173,18 @@ static void rgmii_dump(void *priv)
>  		rgmii_readl(ethqos, EMAC_SYSTEM_LOW_POWER_DEBUG));
>  }
>  
> -static void
> -ethqos_update_link_clk(struct qcom_ethqos *ethqos, int speed)
> +static int ethqos_set_clk_tx_rate(void *bsp_priv, struct clk *clk_tx_i,
> +				  phy_interface_t interface, int speed)
>  {
> +	struct qcom_ethqos *ethqos = bsp_priv;
>  	long rate;
>  
> -	if (!phy_interface_mode_is_rgmii(ethqos->phy_mode))
> -		return;
> +	if (!phy_interface_mode_is_rgmii(interface))
> +		return 0;
>  
>  	rate = rgmii_clock(speed);
>  	if (rate > 0)
> -		ethqos->link_clk_rate = rate * 2;
> -
> -	clk_set_rate(ethqos->link_clk, ethqos->link_clk_rate);
> +		clk_set_rate(ethqos->link_clk, rate * 2);

Hi Russell,

An int needs to be returned here.

>  }
>  
>  static void

-- 
pw-bot: cr



More information about the linux-arm-kernel mailing list