[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM6PR04MB3976B8E1672E74D127BAD833EC4D0@AM6PR04MB3976.eurprd04.prod.outlook.com>
Date: Mon, 3 Aug 2020 14:11:10 +0000
From: "Madalin Bucur (OSS)" <madalin.bucur@....nxp.com>
To: Andrew Lunn <andrew@...n.ch>, netdev <netdev@...r.kernel.org>
CC: Ioana Ciornei <ioana.ciornei@....com>,
Florian Fainelli <f.fainelli@...il.com>,
Russell King <rmk+kernel@...linux.org.uk>,
Heiner Kallweit <hkallweit1@...il.com>
Subject: RE: [PATCH RFC net-next 2/3] net: phy: Move into subdirectories
> -----Original Message-----
> From: netdev-owner@...r.kernel.org <netdev-owner@...r.kernel.org> On
> Behalf Of Andrew Lunn
> Sent: 27 July 2020 23:48
> To: netdev <netdev@...r.kernel.org>
> Cc: Ioana Ciornei <ioana.ciornei@....com>; Florian Fainelli
> <f.fainelli@...il.com>; Russell King <rmk+kernel@...linux.org.uk>; Heiner
> Kallweit <hkallweit1@...il.com>; Andrew Lunn <andrew@...n.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 <andrew@...n.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
Powered by blists - more mailing lists