K 10 svn:author V 7 glebius K 8 svn:date V 27 2015-04-26T16:44:59.635070Z K 7 svn:log V 1304 Convert miibus(4) to new ifmedia KPI. This requires some changes. o miibus(4) gets rid of interface knowledge entirely. It includes only if_media.h, to get media macros. It doesn't include if.h. o Argument list to mii_attach() is reduced by the function pointers, that now live in ifops. o struct mii_data now stores mii_media, which caches value of currently selected media. XXX: it might be, that mii_media, mii_media_active and mii_media_status can be collapsed into one word, but that's not entirely clear. So take conservative approach. o struct mii_data now stores array of available mediae, accessible by the NIC driver. XXX: since miibus can hold several phys, the array is allocated dynamically. The size of array MII_MAX_MEDIAE might need a bump in future, in case if new phys ever appear. Or a more smart allocation method should be coded. However, it looks like future NICs aren't going to use miibus(4), and definitely aren't going to carry > 1 phys. o phy_status, phy_service and phy_reset now take media as argument, and so do some internal functions. Before, this functions used to take current media from struct ifmedia, and ifmedia_ioctl() used to restore it to previous value, in case of and error. Sponsored by: Netflix Sponsored by: Nginx, Inc. END