> +static int dp83822_config_init(struct phy_device *phydev)
> +{
> +     struct dp83822_private *dp83822 = phydev->priv;
> +     int err = 0;
> +
> +     if (dp83822->fx_enabled) {
> +             linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT,
> +                              phydev->supported);
> +             linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT,
> +                              phydev->advertising);
> +
> +             /*  Auto negotiation is not available in fiber mode */
> +             phydev->autoneg = AUTONEG_DISABLE;
> +             phydev->speed = SPEED_100;
> +             phydev->duplex = DUPLEX_FULL;

Hi Dan

This is normally determined by reading the ability registers,
genphy_read_abilities(). When strapped to fibre mode, does it still
indicate all the usual copper capabilities, which it can not actually
do?

        Andrew

Reply via email to