phylib currently makes us of a u32 bitmap for advertising, supported, and link partner capabilities. For a long time, this has been sufficient, for devices up to 1Gbps. With more MAC/PHY combinations now supporting speeds greater than 1Gbps, we have run out of bits. There is the need to replace this u32 with an __ETHTOOL_DECLARE_LINK_MODE_MASK, which makes use of linux's generic bitmaps.
This patchset does some of the work preparing for this change. A few cleanups are applied to PHY drivers. Some MAC drivers directly access members of phydev which are going to change type. These patches adds some helpers and swaps MAC drivers to use them, mostly dealing with Pause configuration. --- The full ~25 patch patchset can be found in the unstable branch v4.19-rc1-net-next-phy-link-mask Andrew Lunn (12): net: phy: ste10Xp: Remove wrong SUPPORTED_Pause net: phy: et1011c: Remove incorrect missing 1000 Half net: phy: bcm63xx: Allow to be built with COMPILE_TEST net: ethernet: Use phy_set_max_speed() to limit advertised speed net: ethernet: genet: Fix speed selection net: ethernet: Fix up drivers masking pause support net: ethernet: Add helper to remove a supported link mode net: ethernet: Add helper for MACs which support asym pause net: ethernet: Add helper for MACs which support pause net: ethernet: Add helper for set_pauseparam for Asym Pause net: ethernet: Add helper for set_pauseparam for Pause net: ethernet: Add helper to determine if pause configuration is supported drivers/net/ethernet/8390/ax88796.c | 4 +- drivers/net/ethernet/aeroflex/greth.c | 4 +- drivers/net/ethernet/agere/et131x.c | 12 +- drivers/net/ethernet/allwinner/sun4i-emac.c | 3 +- drivers/net/ethernet/altera/altera_tse_main.c | 5 +- drivers/net/ethernet/amd/au1000_eth.c | 12 +- drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 4 +- .../ethernet/apm/xgene/xgene_enet_ethtool.c | 30 +---- .../net/ethernet/apm/xgene/xgene_enet_hw.c | 10 +- drivers/net/ethernet/aurora/nb8800.c | 9 +- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 16 +-- drivers/net/ethernet/broadcom/genet/bcmmii.c | 9 +- drivers/net/ethernet/broadcom/sb1250-mac.c | 14 +-- drivers/net/ethernet/broadcom/tg3.c | 59 +++------- drivers/net/ethernet/cadence/macb_main.c | 9 +- drivers/net/ethernet/cortina/gemini.c | 5 +- drivers/net/ethernet/dnet.c | 8 +- drivers/net/ethernet/ethoc.c | 5 +- drivers/net/ethernet/faraday/ftgmac100.c | 16 +-- .../net/ethernet/freescale/dpaa/dpaa_eth.c | 3 +- .../ethernet/freescale/dpaa/dpaa_ethtool.c | 30 +---- drivers/net/ethernet/freescale/fec_main.c | 19 +-- drivers/net/ethernet/freescale/gianfar.c | 4 +- .../net/ethernet/freescale/gianfar_ethtool.c | 57 ++++----- drivers/net/ethernet/freescale/ucc_geth.c | 7 +- .../hisilicon/hns3/hns3pf/hclge_main.c | 8 +- .../hisilicon/hns3/hns3pf/hclge_mdio.c | 4 +- drivers/net/ethernet/lantiq_etop.c | 11 +- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 8 +- drivers/net/ethernet/microchip/lan743x_main.c | 7 +- drivers/net/ethernet/nxp/lpc_eth.c | 3 +- drivers/net/ethernet/rdc/r6040.c | 12 +- drivers/net/ethernet/renesas/ravb_main.c | 3 +- .../net/ethernet/samsung/sxgbe/sxgbe_main.c | 4 +- drivers/net/ethernet/smsc/smsc911x.c | 6 +- drivers/net/ethernet/smsc/smsc9420.c | 6 +- drivers/net/ethernet/socionext/sni_ave.c | 15 +-- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 15 ++- drivers/net/ethernet/toshiba/tc35815.c | 2 +- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 3 +- drivers/net/phy/Kconfig | 2 +- drivers/net/phy/et1011c.c | 2 +- drivers/net/phy/phy_device.c | 109 ++++++++++++++++++ drivers/net/phy/ste10Xp.c | 4 +- drivers/net/usb/lan78xx.c | 2 +- drivers/staging/mt7621-eth/mdio.c | 2 +- include/linux/phy.h | 7 ++ 47 files changed, 254 insertions(+), 335 deletions(-) -- 2.19.0.rc1