Signed-off-by: Dale Farnsworth <[EMAIL PROTECTED]>
Index: linux-2.6.13-rc6-mm2-mv643xx-enet/drivers/net/mii.c =================================================================== --- linux-2.6.13-rc6-mm2-mv643xx-enet.orig/drivers/net/mii.c +++ linux-2.6.13-rc6-mm2-mv643xx-enet/drivers/net/mii.c @@ -207,6 +207,20 @@ return 0; } +int mii_check_gmii_support(struct mii_if_info *mii) +{ + int reg; + + reg = mii->mdio_read(mii->dev, mii->phy_id, MII_BMSR); + if (reg & BMSR_ESTATEN) { + reg = mii->mdio_read(mii->dev, mii->phy_id, MII_ESTATUS); + if (reg & (ESTATUS_1000_TFULL | ESTATUS_1000_THALF)) + return 1; + } + + return 0; +} + int mii_link_ok (struct mii_if_info *mii) { /* first, a dummy read, needed to latch some MII phys */ @@ -394,5 +408,6 @@ EXPORT_SYMBOL(mii_ethtool_sset); EXPORT_SYMBOL(mii_check_link); EXPORT_SYMBOL(mii_check_media); +EXPORT_SYMBOL(mii_check_gmii_support); EXPORT_SYMBOL(generic_mii_ioctl); Index: linux-2.6.13-rc6-mm2-mv643xx-enet/include/linux/mii.h =================================================================== --- linux-2.6.13-rc6-mm2-mv643xx-enet.orig/include/linux/mii.h +++ linux-2.6.13-rc6-mm2-mv643xx-enet/include/linux/mii.h @@ -158,6 +158,7 @@ extern int mii_nway_restart (struct mii_if_info *mii); extern int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd); extern int mii_ethtool_sset(struct mii_if_info *mii, struct ethtool_cmd *ecmd); +extern int mii_check_gmii_support(struct mii_if_info *mii); extern void mii_check_link (struct mii_if_info *mii); extern unsigned int mii_check_media (struct mii_if_info *mii, unsigned int ok_to_print, - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html