[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZDPR7sQj3Mpatici@corigine.com>
Date: Mon, 10 Apr 2023 11:07:58 +0200
From: Simon Horman <simon.horman@...igine.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
netdev <netdev@...r.kernel.org>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <rmk+kernel@...linux.org.uk>
Subject: Re: [PATCH] net: ethernet: Add missing depends on MDIO_DEVRES
On Sun, Apr 09, 2023 at 05:02:04PM +0200, Andrew Lunn wrote:
> A number of MDIO drivers make use of devm_mdiobus_alloc_size(). This
> is only available when CONFIG_MDIO_DEVRES is enabled. Add missing
> depends or selects, depending on if there are circular dependencies or
> not. This avoids linker errors, especially for randconfig builds.
>
> Signed-off-by: Andrew Lunn <andrew@...n.ch>
> ---
> drivers/net/ethernet/freescale/Kconfig | 1 +
> drivers/net/ethernet/freescale/enetc/Kconfig | 1 +
> drivers/net/ethernet/marvell/Kconfig | 1 +
> drivers/net/ethernet/qualcomm/Kconfig | 1 +
> drivers/net/mdio/Kconfig | 3 +++
> 5 files changed, 7 insertions(+)
>
> diff --git a/drivers/net/ethernet/freescale/Kconfig b/drivers/net/ethernet/freescale/Kconfig
> index f1e80d6996ef..1c78f66a89da 100644
> --- a/drivers/net/ethernet/freescale/Kconfig
> +++ b/drivers/net/ethernet/freescale/Kconfig
> @@ -71,6 +71,7 @@ config FSL_XGMAC_MDIO
> tristate "Freescale XGMAC MDIO"
> select PHYLIB
> depends on OF
> + select MDIO_DEVRES
> select OF_MDIO
> help
> This driver supports the MDIO bus on the Fman 10G Ethernet MACs, and
Perhaps this is a good idea, but I'd like to mention that I don't think
it is strictly necessary as:
1. FSL_XGMAC_MDIO selects PHYLIB.
2. And PHYLIB selects MDIO_DEVRES.
Likewise for FSL_ENETC, MV643XX_ETH, QCOM_EMAC.
Is there some combination of N/y/m that defeats my logic here?
I feel like I am missing something obvious.
> diff --git a/drivers/net/ethernet/freescale/enetc/Kconfig b/drivers/net/ethernet/freescale/enetc/Kconfig
> index 9bc099cf3cb1..4d75e6807e92 100644
> --- a/drivers/net/ethernet/freescale/enetc/Kconfig
> +++ b/drivers/net/ethernet/freescale/enetc/Kconfig
> @@ -10,6 +10,7 @@ config FSL_ENETC_CORE
> config FSL_ENETC
> tristate "ENETC PF driver"
> depends on PCI_MSI
> + select MDIO_DEVRES
> select FSL_ENETC_CORE
> select FSL_ENETC_IERB
> select FSL_ENETC_MDIO
> diff --git a/drivers/net/ethernet/marvell/Kconfig b/drivers/net/ethernet/marvell/Kconfig
> index f58a1c0144ba..884d64114bff 100644
> --- a/drivers/net/ethernet/marvell/Kconfig
> +++ b/drivers/net/ethernet/marvell/Kconfig
> @@ -34,6 +34,7 @@ config MV643XX_ETH
> config MVMDIO
> tristate "Marvell MDIO interface support"
> depends on HAS_IOMEM
> + select MDIO_DEVRES
> select PHYLIB
> help
> This driver supports the MDIO interface found in the network
> diff --git a/drivers/net/ethernet/qualcomm/Kconfig b/drivers/net/ethernet/qualcomm/Kconfig
> index a4434eb38950..9210ff360fdc 100644
> --- a/drivers/net/ethernet/qualcomm/Kconfig
> +++ b/drivers/net/ethernet/qualcomm/Kconfig
> @@ -52,6 +52,7 @@ config QCOM_EMAC
> depends on HAS_DMA && HAS_IOMEM
> select CRC32
> select PHYLIB
> + select MDIO_DEVRES
> help
> This driver supports the Qualcomm Technologies, Inc. Gigabit
> Ethernet Media Access Controller (EMAC). The controller
> diff --git a/drivers/net/mdio/Kconfig b/drivers/net/mdio/Kconfig
> index 90309980686e..9ff2e6f22f3f 100644
> --- a/drivers/net/mdio/Kconfig
> +++ b/drivers/net/mdio/Kconfig
> @@ -65,6 +65,7 @@ config MDIO_ASPEED
> tristate "ASPEED MDIO bus controller"
> depends on ARCH_ASPEED || COMPILE_TEST
> depends on OF_MDIO && HAS_IOMEM
> + depends on MDIO_DEVRES
> help
> This module provides a driver for the independent MDIO bus
> controllers found in the ASPEED AST2600 SoC. This is a driver for the
Again, I'm not sure if this is necessary:
1. MDIO_ASPEED depends on OF_MDIO
2. OF_MDIO depends on PHYLIB
3. PHYLIB selects MDIO_DEVRES
Likewise for MDIO_IPQ4019 and MDIO_IPQ8064.
> @@ -170,6 +171,7 @@ config MDIO_IPQ4019
> tristate "Qualcomm IPQ4019 MDIO interface support"
> depends on HAS_IOMEM && OF_MDIO
> depends on COMMON_CLK
> + depends on MDIO_DEVRES
> help
> This driver supports the MDIO interface found in Qualcomm
> IPQ40xx, IPQ60xx, IPQ807x and IPQ50xx series Soc-s.
> @@ -178,6 +180,7 @@ config MDIO_IPQ8064
> tristate "Qualcomm IPQ8064 MDIO interface support"
> depends on HAS_IOMEM && OF_MDIO
> depends on MFD_SYSCON
> + depends on MDIO_DEVRES
> help
> This driver supports the MDIO interface found in the network
> interface units of the IPQ8064 SoC
> --
> 2.40.0
>
Powered by blists - more mailing lists