> -----Original Message----- > From: netdev-ow...@vger.kernel.org <netdev-ow...@vger.kernel.org> On > Behalf Of Andrew Lunn > Sent: 27 July 2020 23:48 > To: netdev <netdev@vger.kernel.org> > Cc: Ioana Ciornei <ioana.cior...@nxp.com>; Florian Fainelli > <f.faine...@gmail.com>; Russell King <rmk+ker...@armlinux.org.uk>; Heiner > Kallweit <hkallwe...@gmail.com>; Andrew Lunn <and...@lunn.ch> > Subject: [PATCH RFC net-next 2/3] net: phy: Move into subdirectories > > Move the PHY drivers into the phy subdirectory
We could keep the PHY drivers in the base drivers/net/phy/ folder, move only mdio to introduce lesser changes. > Move the MDIO bus drivers into the mdio subdirectory > > Take this opportunity to sort the Kconfig entries based on the text > that appears in the menu, and the Makefiles. > > Signed-off-by: Andrew Lunn <and...@lunn.ch> > --- > drivers/net/phy/Kconfig | 481 +----------------- > drivers/net/phy/Makefile | 77 +-- > drivers/net/phy/mdio/Kconfig | 226 ++++++++ > drivers/net/phy/mdio/Makefile | 26 + > drivers/net/phy/{ => mdio}/mdio-aspeed.c | 0 > drivers/net/phy/{ => mdio}/mdio-bcm-iproc.c | 0 > drivers/net/phy/{ => mdio}/mdio-bcm-unimac.c | 0 > drivers/net/phy/{ => mdio}/mdio-bitbang.c | 0 > drivers/net/phy/{ => mdio}/mdio-cavium.c | 0 > drivers/net/phy/{ => mdio}/mdio-cavium.h | 0 > drivers/net/phy/{ => mdio}/mdio-gpio.c | 0 > drivers/net/phy/{ => mdio}/mdio-hisi-femac.c | 0 > drivers/net/phy/{ => mdio}/mdio-ipq4019.c | 0 > drivers/net/phy/{ => mdio}/mdio-ipq8064.c | 0 > drivers/net/phy/{ => mdio}/mdio-moxart.c | 0 > drivers/net/phy/{ => mdio}/mdio-mscc-miim.c | 0 > .../net/phy/{ => mdio}/mdio-mux-bcm-iproc.c | 0 > drivers/net/phy/{ => mdio}/mdio-mux-gpio.c | 0 > .../net/phy/{ => mdio}/mdio-mux-meson-g12a.c | 0 > drivers/net/phy/{ => mdio}/mdio-mux-mmioreg.c | 0 > .../net/phy/{ => mdio}/mdio-mux-multiplexer.c | 0 > drivers/net/phy/{ => mdio}/mdio-mux.c | 0 > drivers/net/phy/{ => mdio}/mdio-mvusb.c | 0 > drivers/net/phy/{ => mdio}/mdio-octeon.c | 0 > drivers/net/phy/{ => mdio}/mdio-sun4i.c | 0 > drivers/net/phy/{ => mdio}/mdio-thunder.c | 0 > drivers/net/phy/{ => mdio}/mdio-xgene.c | 0 > drivers/net/phy/phy/Kconfig | 243 +++++++++ > drivers/net/phy/phy/Makefile | 50 ++ > drivers/net/phy/{ => phy}/adin.c | 0 > drivers/net/phy/{ => phy}/amd.c | 0 > drivers/net/phy/{ => phy}/aquantia.h | 0 > drivers/net/phy/{ => phy}/aquantia_hwmon.c | 0 > drivers/net/phy/{ => phy}/aquantia_main.c | 0 > drivers/net/phy/{ => phy}/at803x.c | 0 > drivers/net/phy/{ => phy}/ax88796b.c | 0 > drivers/net/phy/{ => phy}/bcm-cygnus.c | 0 > drivers/net/phy/{ => phy}/bcm-phy-lib.c | 0 > drivers/net/phy/{ => phy}/bcm-phy-lib.h | 0 > drivers/net/phy/{ => phy}/bcm54140.c | 0 > drivers/net/phy/{ => phy}/bcm63xx.c | 0 > drivers/net/phy/{ => phy}/bcm7xxx.c | 0 > drivers/net/phy/{ => phy}/bcm84881.c | 0 > drivers/net/phy/{ => phy}/bcm87xx.c | 0 > drivers/net/phy/{ => phy}/broadcom.c | 0 > drivers/net/phy/{ => phy}/cicada.c | 0 > drivers/net/phy/{ => phy}/cortina.c | 0 > drivers/net/phy/{ => phy}/davicom.c | 0 > drivers/net/phy/{ => phy}/dp83640.c | 0 > drivers/net/phy/{ => phy}/dp83640_reg.h | 0 > drivers/net/phy/{ => phy}/dp83822.c | 0 > drivers/net/phy/{ => phy}/dp83848.c | 0 > drivers/net/phy/{ => phy}/dp83867.c | 0 > drivers/net/phy/{ => phy}/dp83869.c | 0 > drivers/net/phy/{ => phy}/dp83tc811.c | 0 > drivers/net/phy/{ => phy}/et1011c.c | 0 > drivers/net/phy/{ => phy}/icplus.c | 0 > drivers/net/phy/{ => phy}/intel-xway.c | 0 > drivers/net/phy/{ => phy}/lxt.c | 0 > drivers/net/phy/{ => phy}/marvell.c | 0 > drivers/net/phy/{ => phy}/marvell10g.c | 0 > drivers/net/phy/{ => phy}/meson-gxl.c | 0 > drivers/net/phy/{ => phy}/micrel.c | 0 > drivers/net/phy/{ => phy}/microchip.c | 0 > drivers/net/phy/{ => phy}/microchip_t1.c | 0 > drivers/net/phy/{ => phy}/mscc/Makefile | 0 > drivers/net/phy/{ => phy}/mscc/mscc.h | 0 > .../net/phy/{ => phy}/mscc/mscc_fc_buffer.h | 0 > drivers/net/phy/{ => phy}/mscc/mscc_mac.h | 0 > drivers/net/phy/{ => phy}/mscc/mscc_macsec.c | 0 > drivers/net/phy/{ => phy}/mscc/mscc_macsec.h | 0 > drivers/net/phy/{ => phy}/mscc/mscc_main.c | 0 > drivers/net/phy/{ => phy}/national.c | 0 > drivers/net/phy/{ => phy}/nxp-tja11xx.c | 0 > drivers/net/phy/{ => phy}/qsemi.c | 0 > drivers/net/phy/{ => phy}/realtek.c | 0 > drivers/net/phy/{ => phy}/rockchip.c | 0 > drivers/net/phy/{ => phy}/smsc.c | 0 > drivers/net/phy/{ => phy}/ste10Xp.c | 0 > drivers/net/phy/{ => phy}/teranetics.c | 0 > drivers/net/phy/{ => phy}/uPD60620.c | 0 > drivers/net/phy/{ => phy}/vitesse.c | 0 > 82 files changed, 559 insertions(+), 544 deletions(-) > create mode 100644 drivers/net/phy/mdio/Kconfig > create mode 100644 drivers/net/phy/mdio/Makefile > rename drivers/net/phy/{ => mdio}/mdio-aspeed.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-bcm-iproc.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-bcm-unimac.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-bitbang.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-cavium.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-cavium.h (100%) > rename drivers/net/phy/{ => mdio}/mdio-gpio.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-hisi-femac.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-ipq4019.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-ipq8064.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-moxart.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mscc-miim.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mux-bcm-iproc.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mux-gpio.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mux-meson-g12a.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mux-mmioreg.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mux-multiplexer.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mux.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-mvusb.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-octeon.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-sun4i.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-thunder.c (100%) > rename drivers/net/phy/{ => mdio}/mdio-xgene.c (100%) > create mode 100644 drivers/net/phy/phy/Kconfig > create mode 100644 drivers/net/phy/phy/Makefile > rename drivers/net/phy/{ => phy}/adin.c (100%) > rename drivers/net/phy/{ => phy}/amd.c (100%) > rename drivers/net/phy/{ => phy}/aquantia.h (100%) > rename drivers/net/phy/{ => phy}/aquantia_hwmon.c (100%) > rename drivers/net/phy/{ => phy}/aquantia_main.c (100%) > rename drivers/net/phy/{ => phy}/at803x.c (100%) > rename drivers/net/phy/{ => phy}/ax88796b.c (100%) > rename drivers/net/phy/{ => phy}/bcm-cygnus.c (100%) > rename drivers/net/phy/{ => phy}/bcm-phy-lib.c (100%) > rename drivers/net/phy/{ => phy}/bcm-phy-lib.h (100%) > rename drivers/net/phy/{ => phy}/bcm54140.c (100%) > rename drivers/net/phy/{ => phy}/bcm63xx.c (100%) > rename drivers/net/phy/{ => phy}/bcm7xxx.c (100%) > rename drivers/net/phy/{ => phy}/bcm84881.c (100%) > rename drivers/net/phy/{ => phy}/bcm87xx.c (100%) > rename drivers/net/phy/{ => phy}/broadcom.c (100%) > rename drivers/net/phy/{ => phy}/cicada.c (100%) > rename drivers/net/phy/{ => phy}/cortina.c (100%) > rename drivers/net/phy/{ => phy}/davicom.c (100%) > rename drivers/net/phy/{ => phy}/dp83640.c (100%) > rename drivers/net/phy/{ => phy}/dp83640_reg.h (100%) > rename drivers/net/phy/{ => phy}/dp83822.c (100%) > rename drivers/net/phy/{ => phy}/dp83848.c (100%) > rename drivers/net/phy/{ => phy}/dp83867.c (100%) > rename drivers/net/phy/{ => phy}/dp83869.c (100%) > rename drivers/net/phy/{ => phy}/dp83tc811.c (100%) > rename drivers/net/phy/{ => phy}/et1011c.c (100%) > rename drivers/net/phy/{ => phy}/icplus.c (100%) > rename drivers/net/phy/{ => phy}/intel-xway.c (100%) > rename drivers/net/phy/{ => phy}/lxt.c (100%) > rename drivers/net/phy/{ => phy}/marvell.c (100%) > rename drivers/net/phy/{ => phy}/marvell10g.c (100%) > rename drivers/net/phy/{ => phy}/meson-gxl.c (100%) > rename drivers/net/phy/{ => phy}/micrel.c (100%) > rename drivers/net/phy/{ => phy}/microchip.c (100%) > rename drivers/net/phy/{ => phy}/microchip_t1.c (100%) > rename drivers/net/phy/{ => phy}/mscc/Makefile (100%) > rename drivers/net/phy/{ => phy}/mscc/mscc.h (100%) > rename drivers/net/phy/{ => phy}/mscc/mscc_fc_buffer.h (100%) > rename drivers/net/phy/{ => phy}/mscc/mscc_mac.h (100%) > rename drivers/net/phy/{ => phy}/mscc/mscc_macsec.c (100%) > rename drivers/net/phy/{ => phy}/mscc/mscc_macsec.h (100%) > rename drivers/net/phy/{ => phy}/mscc/mscc_main.c (100%) > rename drivers/net/phy/{ => phy}/national.c (100%) > rename drivers/net/phy/{ => phy}/nxp-tja11xx.c (100%) > rename drivers/net/phy/{ => phy}/qsemi.c (100%) > rename drivers/net/phy/{ => phy}/realtek.c (100%) > rename drivers/net/phy/{ => phy}/rockchip.c (100%) > rename drivers/net/phy/{ => phy}/smsc.c (100%) > rename drivers/net/phy/{ => phy}/ste10Xp.c (100%) > rename drivers/net/phy/{ => phy}/teranetics.c (100%) > rename drivers/net/phy/{ => phy}/uPD60620.c (100%) > rename drivers/net/phy/{ => phy}/vitesse.c (100%) > > diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig > index dd20c2c27c2f..a193236fd65a 100644 > --- a/drivers/net/phy/Kconfig > +++ b/drivers/net/phy/Kconfig > @@ -3,235 +3,7 @@ > # PHY Layer Configuration > # > > -menuconfig MDIO_DEVICE > - tristate "MDIO bus device drivers" > - help > - MDIO devices and driver infrastructure code. > - > -if MDIO_DEVICE > - > -config MDIO_BUS > - tristate > - default m if PHYLIB=m > - default MDIO_DEVICE > - help > - This internal symbol is used for link time dependencies and it > - reflects whether the mdio_bus/mdio_device code is built as a > - loadable module or built-in. > - > -if MDIO_BUS > - > -config MDIO_DEVRES > - tristate > - > -config MDIO_ASPEED > - tristate "ASPEED MDIO bus controller" > - depends on ARCH_ASPEED || COMPILE_TEST > - depends on OF_MDIO && HAS_IOMEM > - help > - This module provides a driver for the independent MDIO bus > - controllers found in the ASPEED AST2600 SoC. This is a driver for > the > - third revision of the ASPEED MDIO register interface - the first > two > - revisions are the "old" and "new" interfaces found in the AST2400 > and > - AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver > - continues to drive the embedded MDIO controller for the AST2400 > and > - AST2500 SoCs, so say N if AST2600 support is not required. > - > -config MDIO_BCM_IPROC > - tristate "Broadcom iProc MDIO bus controller" > - depends on ARCH_BCM_IPROC || COMPILE_TEST > - depends on HAS_IOMEM && OF_MDIO > - default ARCH_BCM_IPROC > - help > - This module provides a driver for the MDIO busses found in the > - Broadcom iProc SoC's. > - > -config MDIO_BCM_UNIMAC > - tristate "Broadcom UniMAC MDIO bus controller" > - depends on HAS_IOMEM > - help > - This module provides a driver for the Broadcom UniMAC MDIO busses. > - This hardware can be found in the Broadcom GENET Ethernet MAC > - controllers as well as some Broadcom Ethernet switches such as the > - Starfighter 2 switches. > - > -config MDIO_BITBANG > - tristate "Bitbanged MDIO buses" > - help > - This module implements the MDIO bus protocol in software, > - for use by low level drivers that export the ability to > - drive the relevant pins. > - > - If in doubt, say N. > - > -config MDIO_BUS_MUX > - tristate > - depends on OF_MDIO > - help > - This module provides a driver framework for MDIO bus > - multiplexers which connect one of several child MDIO busses > - to a parent bus. Switching between child busses is done by > - device specific drivers. > - > -config MDIO_BUS_MUX_BCM_IPROC > - tristate "Broadcom iProc based MDIO bus multiplexers" > - depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST) > - select MDIO_BUS_MUX > - default ARCH_BCM_IPROC > - help > - This module provides a driver for MDIO bus multiplexers found in > - iProc based Broadcom SoCs. This multiplexer connects one of > several > - child MDIO bus to a parent bus. Buses could be internal as well as > - external and selection logic lies inside the same multiplexer. > - > -config MDIO_BUS_MUX_GPIO > - tristate "GPIO controlled MDIO bus multiplexers" > - depends on OF_GPIO && OF_MDIO > - select MDIO_BUS_MUX > - help > - This module provides a driver for MDIO bus multiplexers that > - are controlled via GPIO lines. The multiplexer connects one of > - several child MDIO busses to a parent bus. Child bus > - selection is under the control of GPIO lines. > - > -config MDIO_BUS_MUX_MESON_G12A > - tristate "Amlogic G12a based MDIO bus multiplexer" > - depends on ARCH_MESON || COMPILE_TEST > - depends on OF_MDIO && HAS_IOMEM && COMMON_CLK > - select MDIO_BUS_MUX > - default m if ARCH_MESON > - help > - This module provides a driver for the MDIO multiplexer/glue of > - the amlogic g12a SoC. The multiplexers connects either the > external > - or the internal MDIO bus to the parent bus. > - > -config MDIO_BUS_MUX_MMIOREG > - tristate "MMIO device-controlled MDIO bus multiplexers" > - depends on OF_MDIO && HAS_IOMEM > - select MDIO_BUS_MUX > - help > - This module provides a driver for MDIO bus multiplexers that > - are controlled via a simple memory-mapped device, like an FPGA. > - The multiplexer connects one of several child MDIO busses to a > - parent bus. Child bus selection is under the control of one of > - the FPGA's registers. > - > - Currently, only 8/16/32 bits registers are supported. > - > -config MDIO_BUS_MUX_MULTIPLEXER > - tristate "MDIO bus multiplexer using kernel multiplexer subsystem" > - depends on OF_MDIO > - select MULTIPLEXER > - select MDIO_BUS_MUX > - help > - This module provides a driver for MDIO bus multiplexer > - that is controlled via the kernel multiplexer subsystem. The > - bus multiplexer connects one of several child MDIO busses to > - a parent bus. Child bus selection is under the control of > - the kernel multiplexer subsystem. > - > -config MDIO_CAVIUM > - tristate > - > -config MDIO_GPIO > - tristate "GPIO lib-based bitbanged MDIO buses" > - depends on MDIO_BITBANG > - depends on GPIOLIB || COMPILE_TEST > - help > - Supports GPIO lib-based MDIO busses. > - > - To compile this driver as a module, choose M here: the module > - will be called mdio-gpio. > - > -config MDIO_HISI_FEMAC > - tristate "Hisilicon FEMAC MDIO bus controller" > - depends on HAS_IOMEM && OF_MDIO > - help > - This module provides a driver for the MDIO busses found in the > - Hisilicon SoC that have an Fast Ethernet MAC. > - > -config MDIO_I2C > - tristate > - depends on I2C > - help > - Support I2C based PHYs. This provides a MDIO bus bridged > - to I2C to allow PHYs connected in I2C mode to be accessed > - using the existing infrastructure. > - > - This is library mode. > - > -config MDIO_IPQ4019 > - tristate "Qualcomm IPQ4019 MDIO interface support" > - depends on HAS_IOMEM && OF_MDIO > - help > - This driver supports the MDIO interface found in Qualcomm > - IPQ40xx series Soc-s. > - > -config MDIO_IPQ8064 > - tristate "Qualcomm IPQ8064 MDIO interface support" > - depends on HAS_IOMEM && OF_MDIO > - depends on MFD_SYSCON > - help > - This driver supports the MDIO interface found in the network > - interface units of the IPQ8064 SoC > - > -config MDIO_MOXART > - tristate "MOXA ART MDIO interface support" > - depends on ARCH_MOXART || COMPILE_TEST > - help > - This driver supports the MDIO interface found in the network > - interface units of the MOXA ART SoC > - > -config MDIO_MSCC_MIIM > - tristate "Microsemi MIIM interface support" > - depends on HAS_IOMEM > - select MDIO_DEVRES > - help > - This driver supports the MIIM (MDIO) interface found in the > network > - switches of the Microsemi SoCs; it is recommended to switch on > - CONFIG_HIGH_RES_TIMERS > - > -config MDIO_MVUSB > - tristate "Marvell USB to MDIO Adapter" > - depends on USB > - help > - A USB to MDIO converter present on development boards for > - Marvell's Link Street family of Ethernet switches. > - > -config MDIO_OCTEON > - tristate "Octeon and some ThunderX SOCs MDIO buses" > - depends on (64BIT && OF_MDIO) || COMPILE_TEST > - depends on HAS_IOMEM > - select MDIO_CAVIUM > - help > - This module provides a driver for the Octeon and ThunderX MDIO > - buses. It is required by the Octeon and ThunderX ethernet device > - drivers on some systems. > - > -config MDIO_SUN4I > - tristate "Allwinner sun4i MDIO interface support" > - depends on ARCH_SUNXI || COMPILE_TEST > - help > - This driver supports the MDIO interface found in the network > - interface units of the Allwinner SoC that have an EMAC (A10, > - A12, A10s, etc.) > - > -config MDIO_THUNDER > - tristate "ThunderX SOCs MDIO buses" > - depends on 64BIT > - depends on PCI > - select MDIO_CAVIUM > - help > - This driver supports the MDIO interfaces found on Cavium > - ThunderX SoCs when the MDIO bus device appears as a PCI > - device. > - > -config MDIO_XGENE > - tristate "APM X-Gene SoC MDIO bus controller" > - depends on ARCH_XGENE || COMPILE_TEST > - help > - This module provides a driver for the MDIO busses found in the > - APM X-Gene SoC's. > +source "drivers/net/phy/mdio/Kconfig" > > config MDIO_XPCS > tristate "Synopsys DesignWare XPCS controller" > @@ -239,9 +11,6 @@ config MDIO_XPCS > This module provides helper functions for Synopsys DesignWare XPCS > controllers. > > -endif > -endif > - > config PHYLINK > tristate > depends on NETDEVICES > @@ -292,132 +61,6 @@ config SFP > depends on HWMON || HWMON=n > select MDIO_I2C > > -config ADIN_PHY > - tristate "Analog Devices Industrial Ethernet PHYs" > - help > - Adds support for the Analog Devices Industrial Ethernet PHYs. > - Currently supports the: > - - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY > - - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit > - Ethernet PHY > - > -config AMD_PHY > - tristate "AMD PHYs" > - help > - Currently supports the am79c874 > - > -config AQUANTIA_PHY > - tristate "Aquantia PHYs" > - help > - Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 > - > -config AX88796B_PHY > - tristate "Asix PHYs" > - help > - Currently supports the Asix Electronics PHY found in the X-Surf > 100 > - AX88796B package. > - > -config BCM63XX_PHY > - tristate "Broadcom 63xx SOCs internal PHY" > - depends on BCM63XX || COMPILE_TEST > - select BCM_NET_PHYLIB > - help > - Currently supports the 6348 and 6358 PHYs. > - > -config BCM7XXX_PHY > - tristate "Broadcom 7xxx SOCs internal PHYs" > - select BCM_NET_PHYLIB > - help > - Currently supports the BCM7366, BCM7439, BCM7445, and > - 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. > - > -config BCM87XX_PHY > - tristate "Broadcom BCM8706 and BCM8727 PHYs" > - help > - Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. > - > -config BCM_CYGNUS_PHY > - tristate "Broadcom Cygnus/Omega SoC internal PHY" > - depends on ARCH_BCM_IPROC || COMPILE_TEST > - depends on MDIO_BCM_IPROC > - select BCM_NET_PHYLIB > - help > - This PHY driver is for the 1G internal PHYs of the Broadcom > - Cygnus and Omega Family SoC. > - > - Currently supports internal PHY's used in the BCM11300, > - BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, > - BCM58303 & BCM58305 Broadcom Cygnus SoCs. > - > -config BCM_NET_PHYLIB > - tristate > - > -config BROADCOM_PHY > - tristate "Broadcom PHYs" > - select BCM_NET_PHYLIB > - help > - Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, > BCM5464, > - BCM5481, BCM54810 and BCM5482 PHYs. > - > -config BCM54140_PHY > - tristate "Broadcom BCM54140 PHY" > - depends on PHYLIB > - depends on HWMON || HWMON=n > - select BCM_NET_PHYLIB > - help > - Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. > - > - This driver also supports the hardware monitoring of this PHY and > - exposes voltage and temperature sensors. > - > -config BCM84881_PHY > - tristate "Broadcom BCM84881 PHY" > - depends on PHYLIB > - help > - Support the Broadcom BCM84881 PHY. > - > -config CICADA_PHY > - tristate "Cicada PHYs" > - help > - Currently supports the cis8204 > - > -config CORTINA_PHY > - tristate "Cortina EDC CDR 10G Ethernet PHY" > - help > - Currently supports the CS4340 phy. > - > -config DAVICOM_PHY > - tristate "Davicom PHYs" > - help > - Currently supports dm9161e and dm9131 > - > -config DP83822_PHY > - tristate "Texas Instruments DP83822/825/826 PHYs" > - help > - Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, > - DP83826C and DP83826NC PHYs. > - > -config DP83TC811_PHY > - tristate "Texas Instruments DP83TC811 PHY" > - help > - Supports the DP83TC811 PHY. > - > -config DP83848_PHY > - tristate "Texas Instruments DP83848 PHY" > - help > - Supports the DP83848 PHY. > - > -config DP83867_PHY > - tristate "Texas Instruments DP83867 Gigabit PHY" > - help > - Currently supports the DP83867 PHY. > - > -config DP83869_PHY > - tristate "Texas Instruments DP83869 Gigabit PHY" > - help > - Currently supports the DP83869 PHY. This PHY supports copper and > - fiber connections. > - > config FIXED_PHY > tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" > depends on PHYLIB > @@ -428,123 +71,17 @@ config FIXED_PHY > > Currently tested with mpc866ads and mpc8349e-mitx. > > -config ICPLUS_PHY > - tristate "ICPlus PHYs" > - help > - Currently supports the IP175C and IP1001 PHYs. > - > -config INTEL_XWAY_PHY > - tristate "Intel XWAY PHYs" > - help > - Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. > - These PHYs are marked as standalone chips under the names > - PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel > - SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. > - > -config LSI_ET1011C_PHY > - tristate "LSI ET1011C PHY" > - help > - Supports the LSI ET1011C PHY. > - > -config LXT_PHY > - tristate "Intel LXT PHYs" > - help > - Currently supports the lxt970, lxt971 > - > -config MARVELL_PHY > - tristate "Marvell PHYs" > - help > - Currently has a driver for the 88E1011S > - > -config MARVELL_10G_PHY > - tristate "Marvell Alaska 10Gbit PHYs" > - help > - Support for the Marvell Alaska MV88X3310 and compatible PHYs. > - > -config MESON_GXL_PHY > - tristate "Amlogic Meson GXL Internal PHY" > - depends on ARCH_MESON || COMPILE_TEST > - help > - Currently has a driver for the Amlogic Meson GXL Internal PHY > - > -config MICREL_PHY > - tristate "Micrel PHYs" > - help > - Supports the KSZ9021, VSC8201, KS8001 PHYs. > - > -config MICROCHIP_PHY > - tristate "Microchip PHYs" > - help > - Supports the LAN88XX PHYs. > - > -config MICROCHIP_T1_PHY > - tristate "Microchip T1 PHYs" > - help > - Supports the LAN87XX PHYs. > - > -config MICROSEMI_PHY > - tristate "Microsemi PHYs" > - depends on MACSEC || MACSEC=n > - select CRYPTO_LIB_AES if MACSEC > - help > - Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 > PHYs > - > -config NATIONAL_PHY > - tristate "National Semiconductor PHYs" > - help > - Currently supports the DP83865 PHY. > - > -config NXP_TJA11XX_PHY > - tristate "NXP TJA11xx PHYs support" > - depends on HWMON > - help > - Currently supports the NXP TJA1100 and TJA1101 PHY. > - > -config AT803X_PHY > - tristate "Qualcomm Atheros AR803X PHYs" > - depends on REGULATOR > - help > - Currently supports the AR8030, AR8031, AR8033 and AR8035 model > - > -config QSEMI_PHY > - tristate "Quality Semiconductor PHYs" > - help > - Currently supports the qs6612 > - > -config REALTEK_PHY > - tristate "Realtek PHYs" > - help > - Supports the Realtek 821x PHY. > - > -config RENESAS_PHY > - tristate "Driver for Renesas PHYs" > - help > - Supports the Renesas PHYs uPD60620 and uPD60620A. > - > -config ROCKCHIP_PHY > - tristate "Driver for Rockchip Ethernet PHYs" > - help > - Currently supports the integrated Ethernet PHY. > - > -config SMSC_PHY > - tristate "SMSC PHYs" > - help > - Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs > - > -config STE10XP > - tristate "STMicroelectronics STe10Xp PHYs" > +config MDIO_I2C > + tristate > + depends on I2C > help > - This is the driver for the STe100p and STe101p PHYs. > + Support I2C based PHYs. This provides a MDIO bus bridged > + to I2C to allow PHYs connected in I2C mode to be accessed > + using the existing infrastructure. > > -config TERANETICS_PHY > - tristate "Teranetics PHYs" > - help > - Currently supports the Teranetics TN2020 > + This is library mode. > > -config VITESSE_PHY > - tristate "Vitesse PHYs" > - help > - Currently supports the vsc8244 > +source "drivers/net/phy/phy/Kconfig" > > config XILINX_GMII2RGMII > tristate "Xilinx GMII2RGMII converter driver" > diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile > index d84bab489a53..6bdf04478d34 100644 > --- a/drivers/net/phy/Makefile > +++ b/drivers/net/phy/Makefile > @@ -1,6 +1,8 @@ > # SPDX-License-Identifier: GPL-2.0 > # Makefile for Linux PHY drivers and MDIO bus drivers > > +obj-y += phy/ mdio/ > + > libphy-y := phy.o phy-c45.o phy-core.o phy_device.o \ > linkmode.o > mdio-bus-y += mdio_bus.o mdio_device.o > @@ -23,30 +25,8 @@ libphy-$(CONFIG_LED_TRIGGER_PHY) += > phy_led_triggers.o > > obj-$(CONFIG_PHYLINK) += phylink.o > obj-$(CONFIG_PHYLIB) += libphy.o > +obj-$(CONFIG_FIXED_PHY) += fixed_phy.o > > -obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o > -obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o > -obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o > -obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o > -obj-$(CONFIG_MDIO_BUS_MUX) += mdio-mux.o > -obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o > -obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o > -obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A) += mdio-mux-meson-g12a.o > -obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o > -obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o > -obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o > -obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o > -obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o > -obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o > -obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o > -obj-$(CONFIG_MDIO_IPQ8064) += mdio-ipq8064.o > -obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o > -obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-mscc-miim.o > -obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb.o > -obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o > -obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o > -obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o > -obj-$(CONFIG_MDIO_XGENE) += mdio-xgene.o > obj-$(CONFIG_MDIO_XPCS) += mdio-xpcs.o > > obj-$(CONFIG_NETWORK_PHY_TIMESTAMPING) += mii_timestamper.o > @@ -54,54 +34,7 @@ obj-$(CONFIG_NETWORK_PHY_TIMESTAMPING) += > mii_timestamper.o > obj-$(CONFIG_SFP) += sfp.o > sfp-obj-$(CONFIG_SFP) += sfp-bus.o > obj-y += $(sfp-obj-y) $(sfp-obj-m) > +obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o > > -obj-$(CONFIG_ADIN_PHY) += adin.o > -obj-$(CONFIG_AMD_PHY) += amd.o > -aquantia-objs += aquantia_main.o > -ifdef CONFIG_HWMON > -aquantia-objs += aquantia_hwmon.o > -endif > -obj-$(CONFIG_AQUANTIA_PHY) += aquantia.o > -obj-$(CONFIG_AX88796B_PHY) += ax88796b.o > -obj-$(CONFIG_AT803X_PHY) += at803x.o > -obj-$(CONFIG_BCM63XX_PHY) += bcm63xx.o > -obj-$(CONFIG_BCM7XXX_PHY) += bcm7xxx.o > -obj-$(CONFIG_BCM87XX_PHY) += bcm87xx.o > -obj-$(CONFIG_BCM_CYGNUS_PHY) += bcm-cygnus.o > -obj-$(CONFIG_BCM_NET_PHYLIB) += bcm-phy-lib.o > -obj-$(CONFIG_BROADCOM_PHY) += broadcom.o > -obj-$(CONFIG_BCM54140_PHY) += bcm54140.o > -obj-$(CONFIG_BCM84881_PHY) += bcm84881.o > -obj-$(CONFIG_CICADA_PHY) += cicada.o > -obj-$(CONFIG_CORTINA_PHY) += cortina.o > -obj-$(CONFIG_DAVICOM_PHY) += davicom.o > -obj-$(CONFIG_DP83640_PHY) += dp83640.o > -obj-$(CONFIG_DP83822_PHY) += dp83822.o > -obj-$(CONFIG_DP83TC811_PHY) += dp83tc811.o > -obj-$(CONFIG_DP83848_PHY) += dp83848.o > -obj-$(CONFIG_DP83867_PHY) += dp83867.o > -obj-$(CONFIG_DP83869_PHY) += dp83869.o > -obj-$(CONFIG_FIXED_PHY) += fixed_phy.o > -obj-$(CONFIG_ICPLUS_PHY) += icplus.o > -obj-$(CONFIG_INTEL_XWAY_PHY) += intel-xway.o > -obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o > -obj-$(CONFIG_LXT_PHY) += lxt.o > -obj-$(CONFIG_MARVELL_PHY) += marvell.o > -obj-$(CONFIG_MARVELL_10G_PHY) += marvell10g.o > -obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o > obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o > -obj-$(CONFIG_MICREL_PHY) += micrel.o > -obj-$(CONFIG_MICROCHIP_PHY) += microchip.o > -obj-$(CONFIG_MICROCHIP_T1_PHY) += microchip_t1.o > -obj-$(CONFIG_MICROSEMI_PHY) += mscc/ > -obj-$(CONFIG_NATIONAL_PHY) += national.o > -obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o > -obj-$(CONFIG_QSEMI_PHY) += qsemi.o > -obj-$(CONFIG_REALTEK_PHY) += realtek.o > -obj-$(CONFIG_RENESAS_PHY) += uPD60620.o > -obj-$(CONFIG_ROCKCHIP_PHY) += rockchip.o > -obj-$(CONFIG_SMSC_PHY) += smsc.o > -obj-$(CONFIG_STE10XP) += ste10Xp.o > -obj-$(CONFIG_TERANETICS_PHY) += teranetics.o > -obj-$(CONFIG_VITESSE_PHY) += vitesse.o > -obj-$(CONFIG_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o > + > diff --git a/drivers/net/phy/mdio/Kconfig b/drivers/net/phy/mdio/Kconfig > new file mode 100644 > index 000000000000..f5ea07b84d65 > --- /dev/null > +++ b/drivers/net/phy/mdio/Kconfig > @@ -0,0 +1,226 @@ > +menuconfig MDIO_DEVICE > + tristate "MDIO bus device drivers" > + help > + MDIO devices and driver infrastructure code. > + > +if MDIO_DEVICE > + > +config MDIO_BUS > + tristate > + default m if PHYLIB=m > + default MDIO_DEVICE > + help > + This internal symbol is used for link time dependencies and it > + reflects whether the mdio_bus/mdio_device code is built as a > + loadable module or built-in. > + > +if MDIO_BUS > + > +config MDIO_DEVRES > + tristate > + > +comment "MDIO Multiplexor drivers" > + > +config MDIO_BUS_MUX > + tristate > + depends on OF_MDIO > + help > + This module provides a driver framework for MDIO bus > + multiplexers which connect one of several child MDIO busses > + to a parent bus. Switching between child busses is done by > + device specific drivers. > + > +config MDIO_BUS_MUX_MESON_G12A > + tristate "Amlogic G12a based MDIO bus multiplexer" > + depends on ARCH_MESON || COMPILE_TEST > + depends on OF_MDIO && HAS_IOMEM && COMMON_CLK > + select MDIO_BUS_MUX > + default m if ARCH_MESON > + help > + This module provides a driver for the MDIO multiplexer/glue of > + the amlogic g12a SoC. The multiplexers connects either the > external > + or the internal MDIO bus to the parent bus. > + > +config MDIO_BUS_MUX_BCM_IPROC > + tristate "Broadcom iProc based MDIO bus multiplexers" > + depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST) > + select MDIO_BUS_MUX > + default ARCH_BCM_IPROC > + help > + This module provides a driver for MDIO bus multiplexers found in > + iProc based Broadcom SoCs. This multiplexer connects one of > several > + child MDIO bus to a parent bus. Buses could be internal as well as > + external and selection logic lies inside the same multiplexer. > + > +config MDIO_BUS_MUX_GPIO > + tristate "GPIO controlled MDIO bus multiplexers" > + depends on OF_GPIO && OF_MDIO > + select MDIO_BUS_MUX > + help > + This module provides a driver for MDIO bus multiplexers that > + are controlled via GPIO lines. The multiplexer connects one of > + several child MDIO busses to a parent bus. Child bus > + selection is under the control of GPIO lines. > + > +config MDIO_BUS_MUX_MULTIPLEXER > + tristate "MDIO bus multiplexer using kernel multiplexer subsystem" > + depends on OF_MDIO > + select MULTIPLEXER > + select MDIO_BUS_MUX > + help > + This module provides a driver for MDIO bus multiplexer > + that is controlled via the kernel multiplexer subsystem. The > + bus multiplexer connects one of several child MDIO busses to > + a parent bus. Child bus selection is under the control of > + the kernel multiplexer subsystem. > + > +config MDIO_BUS_MUX_MMIOREG > + tristate "MMIO device-controlled MDIO bus multiplexers" > + depends on OF_MDIO && HAS_IOMEM > + select MDIO_BUS_MUX > + help > + This module provides a driver for MDIO bus multiplexers that > + are controlled via a simple memory-mapped device, like an FPGA. > + The multiplexer connects one of several child MDIO busses to a > + parent bus. Child bus selection is under the control of one of > + the FPGA's registers. > + > + Currently, only 8/16/32 bits registers are supported. > + > +comment "MDIO Bus drivers" > + > +config MDIO_SUN4I > + tristate "Allwinner sun4i MDIO interface support" > + depends on ARCH_SUNXI || COMPILE_TEST > + help > + This driver supports the MDIO interface found in the network > + interface units of the Allwinner SoC that have an EMAC (A10, > + A12, A10s, etc.) > + > +config MDIO_XGENE > + tristate "APM X-Gene SoC MDIO bus controller" > + depends on ARCH_XGENE || COMPILE_TEST > + help > + This module provides a driver for the MDIO busses found in the > + APM X-Gene SoC's. > + > +config MDIO_ASPEED > + tristate "ASPEED MDIO bus controller" > + depends on ARCH_ASPEED || COMPILE_TEST > + depends on OF_MDIO && HAS_IOMEM > + help > + This module provides a driver for the independent MDIO bus > + controllers found in the ASPEED AST2600 SoC. This is a driver for > the > + third revision of the ASPEED MDIO register interface - the first > two > + revisions are the "old" and "new" interfaces found in the AST2400 > and > + AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver > + continues to drive the embedded MDIO controller for the AST2400 > and > + AST2500 SoCs, so say N if AST2600 support is not required. > + > +config MDIO_BITBANG > + tristate "Bitbanged MDIO buses" > + help > + This module implements the MDIO bus protocol in software, > + for use by low level drivers that export the ability to > + drive the relevant pins. > + > + If in doubt, say N. > + > +config MDIO_BCM_IPROC > + tristate "Broadcom iProc MDIO bus controller" > + depends on ARCH_BCM_IPROC || COMPILE_TEST > + depends on HAS_IOMEM && OF_MDIO > + default ARCH_BCM_IPROC > + help > + This module provides a driver for the MDIO busses found in the > + Broadcom iProc SoC's. > + > +config MDIO_BCM_UNIMAC > + tristate "Broadcom UniMAC MDIO bus controller" > + depends on HAS_IOMEM > + help > + This module provides a driver for the Broadcom UniMAC MDIO busses. > + This hardware can be found in the Broadcom GENET Ethernet MAC > + controllers as well as some Broadcom Ethernet switches such as the > + Starfighter 2 switches. > + > +config MDIO_CAVIUM > + tristate > + > +config MDIO_GPIO > + tristate "GPIO lib-based bitbanged MDIO buses" > + depends on MDIO_BITBANG > + depends on GPIOLIB || COMPILE_TEST > + help > + Supports GPIO lib-based MDIO busses. > + > + To compile this driver as a module, choose M here: the module > + will be called mdio-gpio. > + > +config MDIO_HISI_FEMAC > + tristate "Hisilicon FEMAC MDIO bus controller" > + depends on HAS_IOMEM && OF_MDIO > + help > + This module provides a driver for the MDIO busses found in the > + Hisilicon SoC that have an Fast Ethernet MAC. > + > +config MDIO_MVUSB > + tristate "Marvell USB to MDIO Adapter" > + depends on USB > + help > + A USB to MDIO converter present on development boards for > + Marvell's Link Street family of Ethernet switches. > + > +config MDIO_MSCC_MIIM > + tristate "Microsemi MIIM interface support" > + depends on HAS_IOMEM > + select MDIO_DEVRES > + help > + This driver supports the MIIM (MDIO) interface found in the > network > + switches of the Microsemi SoCs; it is recommended to switch on > + CONFIG_HIGH_RES_TIMERS > + > +config MDIO_MOXART > + tristate "MOXA ART MDIO interface support" > + depends on ARCH_MOXART || COMPILE_TEST > + help > + This driver supports the MDIO interface found in the network > + interface units of the MOXA ART SoC > + > +config MDIO_OCTEON > + tristate "Octeon and some ThunderX SOCs MDIO buses" > + depends on (64BIT && OF_MDIO) || COMPILE_TEST > + depends on HAS_IOMEM > + select MDIO_CAVIUM > + help > + This module provides a driver for the Octeon and ThunderX MDIO > + buses. It is required by the Octeon and ThunderX ethernet device > + drivers on some systems. > + > +config MDIO_IPQ4019 > + tristate "Qualcomm IPQ4019 MDIO interface support" > + depends on HAS_IOMEM && OF_MDIO > + help > + This driver supports the MDIO interface found in Qualcomm > + IPQ40xx series Soc-s. > + > +config MDIO_IPQ8064 > + tristate "Qualcomm IPQ8064 MDIO interface support" > + depends on HAS_IOMEM && OF_MDIO > + depends on MFD_SYSCON > + help > + This driver supports the MDIO interface found in the network > + interface units of the IPQ8064 SoC > + > +config MDIO_THUNDER > + tristate "ThunderX SOCs MDIO buses" > + depends on 64BIT > + depends on PCI > + select MDIO_CAVIUM > + help > + This driver supports the MDIO interfaces found on Cavium > + ThunderX SoCs when the MDIO bus device appears as a PCI > + device. > + > +endif > +endif > diff --git a/drivers/net/phy/mdio/Makefile b/drivers/net/phy/mdio/Makefile > new file mode 100644 > index 000000000000..9f52aca3bc60 > --- /dev/null > +++ b/drivers/net/phy/mdio/Makefile > @@ -0,0 +1,26 @@ > +# SPDX-License-Identifier: GPL-2.0 > +# Makefile for Linux MDIO bus drivers > + > +obj-$(CONFIG_MDIO_BUS_MUX) += mdio-mux.o > +obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o > +obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o > +obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A) += mdio-mux-meson-g12a.o > +obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o > +obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o > + > +obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o > +obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o > +obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o > +obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o > +obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o > +obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o > +obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o > +obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o > +obj-$(CONFIG_MDIO_IPQ8064) += mdio-ipq8064.o > +obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o > +obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-mscc-miim.o > +obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb.o > +obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o > +obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o > +obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o > +obj-$(CONFIG_MDIO_XGENE) += mdio-xgene.o > diff --git a/drivers/net/phy/mdio-aspeed.c b/drivers/net/phy/mdio/mdio- > aspeed.c > similarity index 100% > rename from drivers/net/phy/mdio-aspeed.c > rename to drivers/net/phy/mdio/mdio-aspeed.c > diff --git a/drivers/net/phy/mdio-bcm-iproc.c b/drivers/net/phy/mdio/mdio- > bcm-iproc.c > similarity index 100% > rename from drivers/net/phy/mdio-bcm-iproc.c > rename to drivers/net/phy/mdio/mdio-bcm-iproc.c > diff --git a/drivers/net/phy/mdio-bcm-unimac.c > b/drivers/net/phy/mdio/mdio-bcm-unimac.c > similarity index 100% > rename from drivers/net/phy/mdio-bcm-unimac.c > rename to drivers/net/phy/mdio/mdio-bcm-unimac.c > diff --git a/drivers/net/phy/mdio-bitbang.c b/drivers/net/phy/mdio/mdio- > bitbang.c > similarity index 100% > rename from drivers/net/phy/mdio-bitbang.c > rename to drivers/net/phy/mdio/mdio-bitbang.c > diff --git a/drivers/net/phy/mdio-cavium.c b/drivers/net/phy/mdio/mdio- > cavium.c > similarity index 100% > rename from drivers/net/phy/mdio-cavium.c > rename to drivers/net/phy/mdio/mdio-cavium.c > diff --git a/drivers/net/phy/mdio-cavium.h b/drivers/net/phy/mdio/mdio- > cavium.h > similarity index 100% > rename from drivers/net/phy/mdio-cavium.h > rename to drivers/net/phy/mdio/mdio-cavium.h > diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio/mdio- > gpio.c > similarity index 100% > rename from drivers/net/phy/mdio-gpio.c > rename to drivers/net/phy/mdio/mdio-gpio.c > diff --git a/drivers/net/phy/mdio-hisi-femac.c > b/drivers/net/phy/mdio/mdio-hisi-femac.c > similarity index 100% > rename from drivers/net/phy/mdio-hisi-femac.c > rename to drivers/net/phy/mdio/mdio-hisi-femac.c > diff --git a/drivers/net/phy/mdio-ipq4019.c b/drivers/net/phy/mdio/mdio- > ipq4019.c > similarity index 100% > rename from drivers/net/phy/mdio-ipq4019.c > rename to drivers/net/phy/mdio/mdio-ipq4019.c > diff --git a/drivers/net/phy/mdio-ipq8064.c b/drivers/net/phy/mdio/mdio- > ipq8064.c > similarity index 100% > rename from drivers/net/phy/mdio-ipq8064.c > rename to drivers/net/phy/mdio/mdio-ipq8064.c > diff --git a/drivers/net/phy/mdio-moxart.c b/drivers/net/phy/mdio/mdio- > moxart.c > similarity index 100% > rename from drivers/net/phy/mdio-moxart.c > rename to drivers/net/phy/mdio/mdio-moxart.c > diff --git a/drivers/net/phy/mdio-mscc-miim.c b/drivers/net/phy/mdio/mdio- > mscc-miim.c > similarity index 100% > rename from drivers/net/phy/mdio-mscc-miim.c > rename to drivers/net/phy/mdio/mdio-mscc-miim.c > diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c > b/drivers/net/phy/mdio/mdio-mux-bcm-iproc.c > similarity index 100% > rename from drivers/net/phy/mdio-mux-bcm-iproc.c > rename to drivers/net/phy/mdio/mdio-mux-bcm-iproc.c > diff --git a/drivers/net/phy/mdio-mux-gpio.c b/drivers/net/phy/mdio/mdio- > mux-gpio.c > similarity index 100% > rename from drivers/net/phy/mdio-mux-gpio.c > rename to drivers/net/phy/mdio/mdio-mux-gpio.c > diff --git a/drivers/net/phy/mdio-mux-meson-g12a.c > b/drivers/net/phy/mdio/mdio-mux-meson-g12a.c > similarity index 100% > rename from drivers/net/phy/mdio-mux-meson-g12a.c > rename to drivers/net/phy/mdio/mdio-mux-meson-g12a.c > diff --git a/drivers/net/phy/mdio-mux-mmioreg.c > b/drivers/net/phy/mdio/mdio-mux-mmioreg.c > similarity index 100% > rename from drivers/net/phy/mdio-mux-mmioreg.c > rename to drivers/net/phy/mdio/mdio-mux-mmioreg.c > diff --git a/drivers/net/phy/mdio-mux-multiplexer.c > b/drivers/net/phy/mdio/mdio-mux-multiplexer.c > similarity index 100% > rename from drivers/net/phy/mdio-mux-multiplexer.c > rename to drivers/net/phy/mdio/mdio-mux-multiplexer.c > diff --git a/drivers/net/phy/mdio-mux.c b/drivers/net/phy/mdio/mdio-mux.c > similarity index 100% > rename from drivers/net/phy/mdio-mux.c > rename to drivers/net/phy/mdio/mdio-mux.c > diff --git a/drivers/net/phy/mdio-mvusb.c b/drivers/net/phy/mdio/mdio- > mvusb.c > similarity index 100% > rename from drivers/net/phy/mdio-mvusb.c > rename to drivers/net/phy/mdio/mdio-mvusb.c > diff --git a/drivers/net/phy/mdio-octeon.c b/drivers/net/phy/mdio/mdio- > octeon.c > similarity index 100% > rename from drivers/net/phy/mdio-octeon.c > rename to drivers/net/phy/mdio/mdio-octeon.c > diff --git a/drivers/net/phy/mdio-sun4i.c b/drivers/net/phy/mdio/mdio- > sun4i.c > similarity index 100% > rename from drivers/net/phy/mdio-sun4i.c > rename to drivers/net/phy/mdio/mdio-sun4i.c > diff --git a/drivers/net/phy/mdio-thunder.c b/drivers/net/phy/mdio/mdio- > thunder.c > similarity index 100% > rename from drivers/net/phy/mdio-thunder.c > rename to drivers/net/phy/mdio/mdio-thunder.c > diff --git a/drivers/net/phy/mdio-xgene.c b/drivers/net/phy/mdio/mdio- > xgene.c > similarity index 100% > rename from drivers/net/phy/mdio-xgene.c > rename to drivers/net/phy/mdio/mdio-xgene.c > diff --git a/drivers/net/phy/phy/Kconfig b/drivers/net/phy/phy/Kconfig > new file mode 100644 > index 000000000000..51c01e51be34 > --- /dev/null > +++ b/drivers/net/phy/phy/Kconfig > @@ -0,0 +1,243 @@ > +config AMD_PHY > + tristate "AMD PHYs" > + help > + Currently supports the am79c874 > + > +config ADIN_PHY > + tristate "Analog Devices Industrial Ethernet PHYs" > + help > + Adds support for the Analog Devices Industrial Ethernet PHYs. > + Currently supports the: > + - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY > + - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit > + Ethernet PHY > + > +config MESON_GXL_PHY > + tristate "Amlogic Meson GXL Internal PHY" > + depends on ARCH_MESON || COMPILE_TEST > + help > + Currently has a driver for the Amlogic Meson GXL Internal PHY > + > +config AQUANTIA_PHY > + tristate "Aquantia PHYs" > + help > + Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 > + > +config AX88796B_PHY > + tristate "Asix PHYs" > + help > + Currently supports the Asix Electronics PHY found in the X-Surf > 100 > + AX88796B package. > + > +config BCM_NET_PHYLIB > + tristate > + > +config BCM54140_PHY > + tristate "Broadcom BCM54140 PHY" > + depends on PHYLIB > + depends on HWMON || HWMON=n > + select BCM_NET_PHYLIB > + help > + Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. > + > + This driver also supports the hardware monitoring of this PHY and > + exposes voltage and temperature sensors. > + > +config BROADCOM_PHY > + tristate "Broadcom BCM5xxx PHYs" > + select BCM_NET_PHYLIB > + help > + Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, > BCM5464, > + BCM5481, BCM54810 and BCM5482 PHYs. > + > +config BCM63XX_PHY > + tristate "Broadcom 63xx SOCs internal PHY" > + depends on BCM63XX || COMPILE_TEST > + select BCM_NET_PHYLIB > + help > + Currently supports the 6348 and 6358 PHYs. > + > +config BCM7XXX_PHY > + tristate "Broadcom 7xxx SOCs internal PHYs" > + select BCM_NET_PHYLIB > + help > + Currently supports the BCM7366, BCM7439, BCM7445, and > + 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. > + > +config BCM84881_PHY > + tristate "Broadcom BCM84881 PHY" > + depends on PHYLIB > + help > + Support the Broadcom BCM84881 PHY. > + > +config BCM87XX_PHY > + tristate "Broadcom BCM8706 and BCM8727 PHYs" > + help > + Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. > + > +config BCM_CYGNUS_PHY > + tristate "Broadcom Cygnus/Omega SoC internal PHY" > + depends on ARCH_BCM_IPROC || COMPILE_TEST > + depends on MDIO_BCM_IPROC > + select BCM_NET_PHYLIB > + help > + This PHY driver is for the 1G internal PHYs of the Broadcom > + Cygnus and Omega Family SoC. > + > + Currently supports internal PHY's used in the BCM11300, > + BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, > + BCM58303 & BCM58305 Broadcom Cygnus SoCs. > + > +config CICADA_PHY > + tristate "Cicada PHYs" > + help > + Currently supports the cis8204 > + > +config CORTINA_PHY > + tristate "Cortina EDC CDR 10G Ethernet PHY" > + help > + Currently supports the CS4340 phy. > + > +config DAVICOM_PHY > + tristate "Davicom PHYs" > + help > + Currently supports dm9161e and dm9131 > + > +config ICPLUS_PHY > + tristate "ICPlus PHYs" > + help > + Currently supports the IP175C and IP1001 PHYs. > + > +config INTEL_XWAY_PHY > + tristate "Intel XWAY PHYs" > + help > + Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. > + These PHYs are marked as standalone chips under the names > + PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel > + SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. > + > +config LXT_PHY > + tristate "Intel LXT PHYs" > + help > + Currently supports the lxt970, lxt971 > + > +config LSI_ET1011C_PHY > + tristate "LSI ET1011C PHY" > + help > + Supports the LSI ET1011C PHY. > + > +config MARVELL_PHY > + tristate "Marvell Alaska 1Gbit PHYs" > + help > + Currently has a driver for the 88E1011S > + > +config MARVELL_10G_PHY > + tristate "Marvell Alaska 10Gbit PHYs" > + help > + Support for the Marvell Alaska MV88X3310 and compatible PHYs. > + > +config MICREL_PHY > + tristate "Micrel PHYs" > + help > + Supports the KSZ9021, VSC8201, KS8001 PHYs. > + > +config MICROCHIP_PHY > + tristate "Microchip LAN88XX PHYs" > + help > + Supports the LAN88XX PHYs. > + > +config MICROCHIP_T1_PHY > + tristate "Microchip LAN87xx T1 PHYs" > + help > + Supports the LAN87XX PHYs. > + > +config MICROSEMI_PHY > + tristate "Microsemi PHYs" > + depends on MACSEC || MACSEC=n > + select CRYPTO_LIB_AES if MACSEC > + help > + Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 > PHYs > + > +config NATIONAL_PHY > + tristate "National Semiconductor PHYs" > + help > + Currently supports the DP83865 PHY. > + > +config NXP_TJA11XX_PHY > + tristate "NXP TJA11xx PHYs support" > + depends on HWMON > + help > + Currently supports the NXP TJA1100 and TJA1101 PHY. > + > +config AT803X_PHY > + tristate "Qualcomm Atheros AR803X PHYs" > + depends on REGULATOR > + help > + Currently supports the AR8030, AR8031, AR8033 and AR8035 model > + > +config QSEMI_PHY > + tristate "Quality Semiconductor PHYs" > + help > + Currently supports the qs6612 > + > +config REALTEK_PHY > + tristate "Realtek PHYs" > + help > + Supports the Realtek 821x PHY. > + > +config RENESAS_PHY > + tristate "Renesas PHYs" > + help > + Supports the Renesas PHYs uPD60620 and uPD60620A. > + > +config ROCKCHIP_PHY > + tristate "Rockchip Ethernet PHYs" > + help > + Currently supports the integrated Ethernet PHY. > + > +config SMSC_PHY > + tristate "SMSC PHYs" > + help > + Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs > + > +config STE10XP > + tristate "STMicroelectronics STe10Xp PHYs" > + help > + This is the driver for the STe100p and STe101p PHYs. > + > +config TERANETICS_PHY > + tristate "Teranetics PHYs" > + help > + Currently supports the Teranetics TN2020 > + > +config DP83822_PHY > + tristate "Texas Instruments DP83822/825/826 PHYs" > + help > + Supports the DP83822, DP83825I, DP83825CM, DP83825CS, DP83825S, > + DP83826C and DP83826NC PHYs. > + > +config DP83848_PHY > + tristate "Texas Instruments DP83848 PHY" > + help > + Supports the DP83848 PHY. > + > +config DP83867_PHY > + tristate "Texas Instruments DP83867 Gigabit PHY" > + help > + Currently supports the DP83867 PHY. > + > +config DP83869_PHY > + tristate "Texas Instruments DP83869 Gigabit PHY" > + help > + Currently supports the DP83869 PHY. This PHY supports copper and > + fiber connections. > + > +config DP83TC811_PHY > + tristate "Texas Instruments DP83TC811 PHY" > + help > + Supports the DP83TC811 PHY. > + > +config VITESSE_PHY > + tristate "Vitesse PHYs" > + help > + Currently supports the vsc8244 > diff --git a/drivers/net/phy/phy/Makefile b/drivers/net/phy/phy/Makefile > new file mode 100644 > index 000000000000..f0c2b82c03ac > --- /dev/null > +++ b/drivers/net/phy/phy/Makefile > @@ -0,0 +1,50 @@ > +# SPDX-License-Identifier: GPL-2.0 > +# Makefile for Linux PHY drivers > + > +obj-$(CONFIG_ADIN_PHY) += adin.o > +obj-$(CONFIG_AMD_PHY) += amd.o > +aquantia-objs += aquantia_main.o > +ifdef CONFIG_HWMON > +aquantia-objs += aquantia_hwmon.o > +endif > +obj-$(CONFIG_AQUANTIA_PHY) += aquantia.o > +obj-$(CONFIG_AT803X_PHY) += at803x.o > +obj-$(CONFIG_AX88796B_PHY) += ax88796b.o > +obj-$(CONFIG_BCM54140_PHY) += bcm54140.o > +obj-$(CONFIG_BCM63XX_PHY) += bcm63xx.o > +obj-$(CONFIG_BCM7XXX_PHY) += bcm7xxx.o > +obj-$(CONFIG_BCM84881_PHY) += bcm84881.o > +obj-$(CONFIG_BCM87XX_PHY) += bcm87xx.o > +obj-$(CONFIG_BCM_CYGNUS_PHY) += bcm-cygnus.o > +obj-$(CONFIG_BCM_NET_PHYLIB) += bcm-phy-lib.o > +obj-$(CONFIG_BROADCOM_PHY) += broadcom.o > +obj-$(CONFIG_CICADA_PHY) += cicada.o > +obj-$(CONFIG_CORTINA_PHY) += cortina.o > +obj-$(CONFIG_DAVICOM_PHY) += davicom.o > +obj-$(CONFIG_DP83640_PHY) += dp83640.o > +obj-$(CONFIG_DP83822_PHY) += dp83822.o > +obj-$(CONFIG_DP83848_PHY) += dp83848.o > +obj-$(CONFIG_DP83867_PHY) += dp83867.o > +obj-$(CONFIG_DP83869_PHY) += dp83869.o > +obj-$(CONFIG_DP83TC811_PHY) += dp83tc811.o > +obj-$(CONFIG_ICPLUS_PHY) += icplus.o > +obj-$(CONFIG_INTEL_XWAY_PHY) += intel-xway.o > +obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o > +obj-$(CONFIG_LXT_PHY) += lxt.o > +obj-$(CONFIG_MARVELL_10G_PHY) += marvell10g.o > +obj-$(CONFIG_MARVELL_PHY) += marvell.o > +obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o > +obj-$(CONFIG_MICREL_PHY) += micrel.o > +obj-$(CONFIG_MICROCHIP_PHY) += microchip.o > +obj-$(CONFIG_MICROCHIP_T1_PHY) += microchip_t1.o > +obj-$(CONFIG_MICROSEMI_PHY) += mscc/ > +obj-$(CONFIG_NATIONAL_PHY) += national.o > +obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o > +obj-$(CONFIG_QSEMI_PHY) += qsemi.o > +obj-$(CONFIG_REALTEK_PHY) += realtek.o > +obj-$(CONFIG_RENESAS_PHY) += uPD60620.o > +obj-$(CONFIG_ROCKCHIP_PHY) += rockchip.o > +obj-$(CONFIG_SMSC_PHY) += smsc.o > +obj-$(CONFIG_STE10XP) += ste10Xp.o > +obj-$(CONFIG_TERANETICS_PHY) += teranetics.o > +obj-$(CONFIG_VITESSE_PHY) += vitesse.o > diff --git a/drivers/net/phy/adin.c b/drivers/net/phy/phy/adin.c > similarity index 100% > rename from drivers/net/phy/adin.c > rename to drivers/net/phy/phy/adin.c > diff --git a/drivers/net/phy/amd.c b/drivers/net/phy/phy/amd.c > similarity index 100% > rename from drivers/net/phy/amd.c > rename to drivers/net/phy/phy/amd.c > diff --git a/drivers/net/phy/aquantia.h b/drivers/net/phy/phy/aquantia.h > similarity index 100% > rename from drivers/net/phy/aquantia.h > rename to drivers/net/phy/phy/aquantia.h > diff --git a/drivers/net/phy/aquantia_hwmon.c > b/drivers/net/phy/phy/aquantia_hwmon.c > similarity index 100% > rename from drivers/net/phy/aquantia_hwmon.c > rename to drivers/net/phy/phy/aquantia_hwmon.c > diff --git a/drivers/net/phy/aquantia_main.c > b/drivers/net/phy/phy/aquantia_main.c > similarity index 100% > rename from drivers/net/phy/aquantia_main.c > rename to drivers/net/phy/phy/aquantia_main.c > diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/phy/at803x.c > similarity index 100% > rename from drivers/net/phy/at803x.c > rename to drivers/net/phy/phy/at803x.c > diff --git a/drivers/net/phy/ax88796b.c b/drivers/net/phy/phy/ax88796b.c > similarity index 100% > rename from drivers/net/phy/ax88796b.c > rename to drivers/net/phy/phy/ax88796b.c > diff --git a/drivers/net/phy/bcm-cygnus.c b/drivers/net/phy/phy/bcm- > cygnus.c > similarity index 100% > rename from drivers/net/phy/bcm-cygnus.c > rename to drivers/net/phy/phy/bcm-cygnus.c > diff --git a/drivers/net/phy/bcm-phy-lib.c b/drivers/net/phy/phy/bcm-phy- > lib.c > similarity index 100% > rename from drivers/net/phy/bcm-phy-lib.c > rename to drivers/net/phy/phy/bcm-phy-lib.c > diff --git a/drivers/net/phy/bcm-phy-lib.h b/drivers/net/phy/phy/bcm-phy- > lib.h > similarity index 100% > rename from drivers/net/phy/bcm-phy-lib.h > rename to drivers/net/phy/phy/bcm-phy-lib.h > diff --git a/drivers/net/phy/bcm54140.c b/drivers/net/phy/phy/bcm54140.c > similarity index 100% > rename from drivers/net/phy/bcm54140.c > rename to drivers/net/phy/phy/bcm54140.c > diff --git a/drivers/net/phy/bcm63xx.c b/drivers/net/phy/phy/bcm63xx.c > similarity index 100% > rename from drivers/net/phy/bcm63xx.c > rename to drivers/net/phy/phy/bcm63xx.c > diff --git a/drivers/net/phy/bcm7xxx.c b/drivers/net/phy/phy/bcm7xxx.c > similarity index 100% > rename from drivers/net/phy/bcm7xxx.c > rename to drivers/net/phy/phy/bcm7xxx.c > diff --git a/drivers/net/phy/bcm84881.c b/drivers/net/phy/phy/bcm84881.c > similarity index 100% > rename from drivers/net/phy/bcm84881.c > rename to drivers/net/phy/phy/bcm84881.c > diff --git a/drivers/net/phy/bcm87xx.c b/drivers/net/phy/phy/bcm87xx.c > similarity index 100% > rename from drivers/net/phy/bcm87xx.c > rename to drivers/net/phy/phy/bcm87xx.c > diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/phy/broadcom.c > similarity index 100% > rename from drivers/net/phy/broadcom.c > rename to drivers/net/phy/phy/broadcom.c > diff --git a/drivers/net/phy/cicada.c b/drivers/net/phy/phy/cicada.c > similarity index 100% > rename from drivers/net/phy/cicada.c > rename to drivers/net/phy/phy/cicada.c > diff --git a/drivers/net/phy/cortina.c b/drivers/net/phy/phy/cortina.c > similarity index 100% > rename from drivers/net/phy/cortina.c > rename to drivers/net/phy/phy/cortina.c > diff --git a/drivers/net/phy/davicom.c b/drivers/net/phy/phy/davicom.c > similarity index 100% > rename from drivers/net/phy/davicom.c > rename to drivers/net/phy/phy/davicom.c > diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/phy/dp83640.c > similarity index 100% > rename from drivers/net/phy/dp83640.c > rename to drivers/net/phy/phy/dp83640.c > diff --git a/drivers/net/phy/dp83640_reg.h > b/drivers/net/phy/phy/dp83640_reg.h > similarity index 100% > rename from drivers/net/phy/dp83640_reg.h > rename to drivers/net/phy/phy/dp83640_reg.h > diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/phy/dp83822.c > similarity index 100% > rename from drivers/net/phy/dp83822.c > rename to drivers/net/phy/phy/dp83822.c > diff --git a/drivers/net/phy/dp83848.c b/drivers/net/phy/phy/dp83848.c > similarity index 100% > rename from drivers/net/phy/dp83848.c > rename to drivers/net/phy/phy/dp83848.c > diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/phy/dp83867.c > similarity index 100% > rename from drivers/net/phy/dp83867.c > rename to drivers/net/phy/phy/dp83867.c > diff --git a/drivers/net/phy/dp83869.c b/drivers/net/phy/phy/dp83869.c > similarity index 100% > rename from drivers/net/phy/dp83869.c > rename to drivers/net/phy/phy/dp83869.c > diff --git a/drivers/net/phy/dp83tc811.c b/drivers/net/phy/phy/dp83tc811.c > similarity index 100% > rename from drivers/net/phy/dp83tc811.c > rename to drivers/net/phy/phy/dp83tc811.c > diff --git a/drivers/net/phy/et1011c.c b/drivers/net/phy/phy/et1011c.c > similarity index 100% > rename from drivers/net/phy/et1011c.c > rename to drivers/net/phy/phy/et1011c.c > diff --git a/drivers/net/phy/icplus.c b/drivers/net/phy/phy/icplus.c > similarity index 100% > rename from drivers/net/phy/icplus.c > rename to drivers/net/phy/phy/icplus.c > diff --git a/drivers/net/phy/intel-xway.c b/drivers/net/phy/phy/intel- > xway.c > similarity index 100% > rename from drivers/net/phy/intel-xway.c > rename to drivers/net/phy/phy/intel-xway.c > diff --git a/drivers/net/phy/lxt.c b/drivers/net/phy/phy/lxt.c > similarity index 100% > rename from drivers/net/phy/lxt.c > rename to drivers/net/phy/phy/lxt.c > diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/phy/marvell.c > similarity index 100% > rename from drivers/net/phy/marvell.c > rename to drivers/net/phy/phy/marvell.c > diff --git a/drivers/net/phy/marvell10g.c > b/drivers/net/phy/phy/marvell10g.c > similarity index 100% > rename from drivers/net/phy/marvell10g.c > rename to drivers/net/phy/phy/marvell10g.c > diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/phy/meson-gxl.c > similarity index 100% > rename from drivers/net/phy/meson-gxl.c > rename to drivers/net/phy/phy/meson-gxl.c > diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/phy/micrel.c > similarity index 100% > rename from drivers/net/phy/micrel.c > rename to drivers/net/phy/phy/micrel.c > diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/phy/microchip.c > similarity index 100% > rename from drivers/net/phy/microchip.c > rename to drivers/net/phy/phy/microchip.c > diff --git a/drivers/net/phy/microchip_t1.c > b/drivers/net/phy/phy/microchip_t1.c > similarity index 100% > rename from drivers/net/phy/microchip_t1.c > rename to drivers/net/phy/phy/microchip_t1.c > diff --git a/drivers/net/phy/mscc/Makefile > b/drivers/net/phy/phy/mscc/Makefile > similarity index 100% > rename from drivers/net/phy/mscc/Makefile > rename to drivers/net/phy/phy/mscc/Makefile > diff --git a/drivers/net/phy/mscc/mscc.h b/drivers/net/phy/phy/mscc/mscc.h > similarity index 100% > rename from drivers/net/phy/mscc/mscc.h > rename to drivers/net/phy/phy/mscc/mscc.h > diff --git a/drivers/net/phy/mscc/mscc_fc_buffer.h > b/drivers/net/phy/phy/mscc/mscc_fc_buffer.h > similarity index 100% > rename from drivers/net/phy/mscc/mscc_fc_buffer.h > rename to drivers/net/phy/phy/mscc/mscc_fc_buffer.h > diff --git a/drivers/net/phy/mscc/mscc_mac.h > b/drivers/net/phy/phy/mscc/mscc_mac.h > similarity index 100% > rename from drivers/net/phy/mscc/mscc_mac.h > rename to drivers/net/phy/phy/mscc/mscc_mac.h > diff --git a/drivers/net/phy/mscc/mscc_macsec.c > b/drivers/net/phy/phy/mscc/mscc_macsec.c > similarity index 100% > rename from drivers/net/phy/mscc/mscc_macsec.c > rename to drivers/net/phy/phy/mscc/mscc_macsec.c > diff --git a/drivers/net/phy/mscc/mscc_macsec.h > b/drivers/net/phy/phy/mscc/mscc_macsec.h > similarity index 100% > rename from drivers/net/phy/mscc/mscc_macsec.h > rename to drivers/net/phy/phy/mscc/mscc_macsec.h > diff --git a/drivers/net/phy/mscc/mscc_main.c > b/drivers/net/phy/phy/mscc/mscc_main.c > similarity index 100% > rename from drivers/net/phy/mscc/mscc_main.c > rename to drivers/net/phy/phy/mscc/mscc_main.c > diff --git a/drivers/net/phy/national.c b/drivers/net/phy/phy/national.c > similarity index 100% > rename from drivers/net/phy/national.c > rename to drivers/net/phy/phy/national.c > diff --git a/drivers/net/phy/nxp-tja11xx.c b/drivers/net/phy/phy/nxp- > tja11xx.c > similarity index 100% > rename from drivers/net/phy/nxp-tja11xx.c > rename to drivers/net/phy/phy/nxp-tja11xx.c > diff --git a/drivers/net/phy/qsemi.c b/drivers/net/phy/phy/qsemi.c > similarity index 100% > rename from drivers/net/phy/qsemi.c > rename to drivers/net/phy/phy/qsemi.c > diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/phy/realtek.c > similarity index 100% > rename from drivers/net/phy/realtek.c > rename to drivers/net/phy/phy/realtek.c > diff --git a/drivers/net/phy/rockchip.c b/drivers/net/phy/phy/rockchip.c > similarity index 100% > rename from drivers/net/phy/rockchip.c > rename to drivers/net/phy/phy/rockchip.c > diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/phy/smsc.c > similarity index 100% > rename from drivers/net/phy/smsc.c > rename to drivers/net/phy/phy/smsc.c > diff --git a/drivers/net/phy/ste10Xp.c b/drivers/net/phy/phy/ste10Xp.c > similarity index 100% > rename from drivers/net/phy/ste10Xp.c > rename to drivers/net/phy/phy/ste10Xp.c > diff --git a/drivers/net/phy/teranetics.c > b/drivers/net/phy/phy/teranetics.c > similarity index 100% > rename from drivers/net/phy/teranetics.c > rename to drivers/net/phy/phy/teranetics.c > diff --git a/drivers/net/phy/uPD60620.c b/drivers/net/phy/phy/uPD60620.c > similarity index 100% > rename from drivers/net/phy/uPD60620.c > rename to drivers/net/phy/phy/uPD60620.c > diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/phy/vitesse.c > similarity index 100% > rename from drivers/net/phy/vitesse.c > rename to drivers/net/phy/phy/vitesse.c > -- > 2.28.0.rc0