> > static void > > ethqos_update_link_clk(struct qcom_ethqos *ethqos, unsigned int speed) > > { > > - switch (speed) { > > - case SPEED_1000: > > - ethqos->link_clk_rate = RGMII_1000_NOM_CLK_FREQ; > > - break; > > + if (phy_interface_mode_is_rgmii(ethqos->phy_mode)) { > > + switch (speed) { > > + case SPEED_1000: > > + ethqos->link_clk_rate = RGMII_1000_NOM_CLK_FREQ; > > + break; > > - case SPEED_100: > > - ethqos->link_clk_rate = RGMII_ID_MODE_100_LOW_SVS_CLK_FREQ; > > - break; > > + case SPEED_100: > > + ethqos->link_clk_rate = RGMII_ID_MODE_100_LOW_SVS_CLK_FREQ; > > + break; > > - case SPEED_10: > > - ethqos->link_clk_rate = RGMII_ID_MODE_10_LOW_SVS_CLK_FREQ; > > - break; > > - } > > + case SPEED_10: > > + ethqos->link_clk_rate = RGMII_ID_MODE_10_LOW_SVS_CLK_FREQ; > > + break; > > + } > > - clk_set_rate(ethqos->link_clk, ethqos->link_clk_rate); > > + clk_set_rate(ethqos->link_clk, ethqos->link_clk_rate); > > + } > > } > > if (!phy_interface_mode_is_rgmii(ethqos->phy_mode)) > return 0; It is a void function, so no 0, but otherwise this does look less invasive. Andrew