> +int __phy_speed_down(struct phy_device *phydev)
> +{
> +     int min_common_speed = phy_resolve_min_speed(phydev, true);
> +
> +     if (min_common_speed == SPEED_UNKNOWN)
> +             return -EINVAL;
> +
> +     return __set_linkmode_max_speed(phydev, min_common_speed,
> +                                     phydev->advertising);
> +}
> +
>  static void mmd_phy_indirect(struct mii_bus *bus, int phy_addr, int devad,
>                            u16 regnum)
>  {
> diff --git a/include/linux/phy.h b/include/linux/phy.h
> index 781f4810c..4be6d3b47 100644
> --- a/include/linux/phy.h
> +++ b/include/linux/phy.h
> @@ -665,6 +665,7 @@ size_t phy_speeds(unsigned int *speeds, size_t size,
>                 unsigned long *mask);
>  void of_set_phy_supported(struct phy_device *phydev);
>  void of_set_phy_eee_broken(struct phy_device *phydev);
> +int __phy_speed_down(struct phy_device *phydev);

It seems odd having a __ function exported. Can we find a better name
for it, and drop the __?

    Andrew

Reply via email to