+static int phy_power_on(struct stm32_dwmac *bsp_priv, bool enable)I find this function name confusing, since 50% of the time it does not
actually power the PHY on. You never call it with anything other than
a static true/false value. So it might was well be two functions,
phy_power_on() and phy_power_off().
+{Not all PHYs are usable in 0 picoseconds. You probably want a delay
+ int ret;
+ struct device *dev = bsp_priv->dev;
+
+ if (!bsp_priv->regulator)
+ return 0;
+
+ if (enable) {
+ ret = regulator_enable(bsp_priv->regulator);
+ if (ret)
+ dev_err(dev, "fail to enable phy-supply\n");
here. Otherwise the first few accesses to it might not work.
Andrew