X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fnet%2Fgianfar.c;h=f92690555dd9c0cd46c314e2e53e36c967e87cf3;hb=ae292dbd2e9385d4c63f0c7099ab73b60d1b26d3;hp=d7a1a58de7669b3bfefbf062ccb0fd8d98ec60b9;hpb=bf22f6fe2d72b4d7e9035be8ceb340414cf490e3;p=linux-2.6 diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index d7a1a58de7..f92690555d 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -420,8 +420,18 @@ static phy_interface_t gfar_get_interface(struct net_device *dev) if (ecntrl & ECNTRL_REDUCED_MODE) { if (ecntrl & ECNTRL_REDUCED_MII_MODE) return PHY_INTERFACE_MODE_RMII; - else + else { + phy_interface_t interface = priv->einfo->interface; + + /* + * This isn't autodetected right now, so it must + * be set by the device tree or platform code. + */ + if (interface == PHY_INTERFACE_MODE_RGMII_ID) + return PHY_INTERFACE_MODE_RGMII_ID; + return PHY_INTERFACE_MODE_RGMII; + } } if (priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT)