[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ec48be5-9245-4e19-b704-59c8e0ac46d1@alliedtelesis.co.nz>
Date: Sun, 27 Apr 2025 20:49:37 +0000
From: Chris Packham <Chris.Packham@...iedtelesis.co.nz>
To: Arnd Bergmann <arnd@...nel.org>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, "Heiner
Kallweit" <hkallweit1@...il.com>, Jacob Keller <jacob.e.keller@...el.com>
CC: Arnd Bergmann <arnd@...db.de>, Claudiu Manoil <claudiu.manoil@....com>,
Vladimir Oltean <vladimir.oltean@....com>, Wei Fang <wei.fang@....com>,
"Clark Wang" <xiaoning.wang@....com>, Russell King <linux@...linux.org.uk>,
Frank Li <Frank.Li@....com>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mdio: fix CONFIG_MDIO_DEVRES selects
Hi Arnd,
On 25/04/2025 23:27, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> The newly added rtl9300 driver needs MDIO_DEVRES:
>
> x86_64-linux-ld: drivers/net/mdio/mdio-realtek-rtl9300.o: in function `rtl9300_mdiobus_probe':
> mdio-realtek-rtl9300.c:(.text+0x941): undefined reference to `devm_mdiobus_alloc_size'
> x86_64-linux-ld: mdio-realtek-rtl9300.c:(.text+0x9e2): undefined reference to `__devm_mdiobus_register'
> Since this is a hidden symbol, it needs to be selected by each user,
> rather than the usual 'depends on'. I see that there are a few other
> drivers that accidentally use 'depends on', so fix these as well for
> consistency and to avoid dependency loops.
>
> Fixes: 37f9b2a6c086 ("net: ethernet: Add missing depends on MDIO_DEVRES")
> Fixes: 24e31e474769 ("net: mdio: Add RTL9300 MDIO driver")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
Thanks for catching this
Reviewed-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> ---
> drivers/net/ethernet/freescale/enetc/Kconfig | 3 ++-
> drivers/net/mdio/Kconfig | 7 ++++---
> 2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/enetc/Kconfig b/drivers/net/ethernet/freescale/enetc/Kconfig
> index 6c2779047dcd..5367e8af1e1a 100644
> --- a/drivers/net/ethernet/freescale/enetc/Kconfig
> +++ b/drivers/net/ethernet/freescale/enetc/Kconfig
> @@ -73,7 +73,8 @@ config FSL_ENETC_IERB
>
> config FSL_ENETC_MDIO
> tristate "ENETC MDIO driver"
> - depends on PCI && MDIO_DEVRES && MDIO_BUS
> + depends on PCI && MDIO_BUS
> + select MDIO_DEVRES
> help
> This driver supports NXP ENETC Central MDIO controller as a PCIe
> physical function (PF) device.
> diff --git a/drivers/net/mdio/Kconfig b/drivers/net/mdio/Kconfig
> index 38a4901da32f..f680ed676797 100644
> --- a/drivers/net/mdio/Kconfig
> +++ b/drivers/net/mdio/Kconfig
> @@ -66,7 +66,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
> + select 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
> @@ -172,7 +172,7 @@ config MDIO_IPQ4019
> tristate "Qualcomm IPQ4019 MDIO interface support"
> depends on HAS_IOMEM && OF_MDIO
> depends on COMMON_CLK
> - depends on MDIO_DEVRES
> + select MDIO_DEVRES
> help
> This driver supports the MDIO interface found in Qualcomm
> IPQ40xx, IPQ60xx, IPQ807x and IPQ50xx series Soc-s.
> @@ -181,7 +181,7 @@ config MDIO_IPQ8064
> tristate "Qualcomm IPQ8064 MDIO interface support"
> depends on HAS_IOMEM && OF_MDIO
> depends on MFD_SYSCON
> - depends on MDIO_DEVRES
> + select MDIO_DEVRES
> help
> This driver supports the MDIO interface found in the network
> interface units of the IPQ8064 SoC
> @@ -189,6 +189,7 @@ config MDIO_IPQ8064
> config MDIO_REALTEK_RTL9300
> tristate "Realtek RTL9300 MDIO interface support"
> depends on MACH_REALTEK_RTL || COMPILE_TEST
> + select MDIO_DEVRES
> help
> This driver supports the MDIO interface found in the Realtek
> RTL9300 family of Ethernet switches with integrated SoC.
Powered by blists - more mailing lists