All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [v2] net: dsa: microchip: ptp: fix up PTP dependency
@ 2023-01-30 13:17 Arnd Bergmann
  2023-01-31 14:30 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2023-01-30 13:17 UTC (permalink / raw)
  To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Florian Fainelli,
	Vladimir Oltean, Jakub Kicinski, Richard Cochran
  Cc: Arnd Bergmann, David S. Miller, Eric Dumazet, Paolo Abeni,
	Arun Ramadoss, Jacob Keller, Christian Eggers, netdev,
	linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

When NET_DSA_MICROCHIP_KSZ_COMMON is built-in but PTP is a loadable
module, the ksz_ptp support still causes a link failure:

ld.lld-16: error: undefined symbol: ptp_clock_index
>>> referenced by ksz_ptp.c
>>>               drivers/net/dsa/microchip/ksz_ptp.o:(ksz_get_ts_info) in archive vmlinux.a

This can happen if NET_DSA_MICROCHIP_KSZ8863_SMI is enabled, or
even if none of the KSZ9477_I2C/KSZ_SPI/KSZ8863_SMI ones are active
but only the common module is.

The most straightforward way to address this is to move the
dependency to NET_DSA_MICROCHIP_KSZ_PTP itself, which can now
only be enabled if both PTP_1588_CLOCK support is reachable
from NET_DSA_MICROCHIP_KSZ_COMMON. Alternatively, one could make
NET_DSA_MICROCHIP_KSZ_COMMON a hidden Kconfig symbol and extend the
PTP_1588_CLOCK_OPTIONAL dependency to NET_DSA_MICROCHIP_KSZ8863_SMI as
well, but that is a little more fragile.

Fixes: eac1ea20261e ("net: dsa: microchip: ptp: add the posix clock support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
v2: avoid the build regression also if none of the three drivers
are active and only NET_DSA_MICROCHIP_KSZ_COMMON is built-in.
---
 drivers/net/dsa/microchip/Kconfig | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/dsa/microchip/Kconfig b/drivers/net/dsa/microchip/Kconfig
index 0546c573668a..394ca8678d2b 100644
--- a/drivers/net/dsa/microchip/Kconfig
+++ b/drivers/net/dsa/microchip/Kconfig
@@ -11,7 +11,6 @@ menuconfig NET_DSA_MICROCHIP_KSZ_COMMON
 config NET_DSA_MICROCHIP_KSZ9477_I2C
 	tristate "KSZ series I2C connected switch driver"
 	depends on NET_DSA_MICROCHIP_KSZ_COMMON && I2C
-	depends on PTP_1588_CLOCK_OPTIONAL
 	select REGMAP_I2C
 	help
 	  Select to enable support for registering switches configured through I2C.
@@ -19,7 +18,6 @@ config NET_DSA_MICROCHIP_KSZ9477_I2C
 config NET_DSA_MICROCHIP_KSZ_SPI
 	tristate "KSZ series SPI connected switch driver"
 	depends on NET_DSA_MICROCHIP_KSZ_COMMON && SPI
-	depends on PTP_1588_CLOCK_OPTIONAL
 	select REGMAP_SPI
 	help
 	  Select to enable support for registering switches configured through SPI.
@@ -27,6 +25,7 @@ config NET_DSA_MICROCHIP_KSZ_SPI
 config NET_DSA_MICROCHIP_KSZ_PTP
 	bool "Support for the PTP clock on the KSZ9563/LAN937x Ethernet Switch"
 	depends on NET_DSA_MICROCHIP_KSZ_COMMON && PTP_1588_CLOCK
+	depends on NET_DSA_MICROCHIP_KSZ_COMMON=m || PTP_1588_CLOCK=y
 	help
 	  Select to enable support for timestamping & PTP clock manipulation in
 	  KSZ8563/KSZ9563/LAN937x series of switches. KSZ9563/KSZ8563 supports
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] [v2] net: dsa: microchip: ptp: fix up PTP dependency
  2023-01-30 13:17 [PATCH] [v2] net: dsa: microchip: ptp: fix up PTP dependency Arnd Bergmann
@ 2023-01-31 14:30 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-01-31 14:30 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: woojung.huh, UNGLinuxDriver, andrew, f.fainelli, olteanv, kuba,
	richardcochran, arnd, davem, edumazet, pabeni, arun.ramadoss,
	jacob.e.keller, ceggers, netdev, linux-kernel

Hello:

This patch was applied to netdev/net-next.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Mon, 30 Jan 2023 14:17:51 +0100 you wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> When NET_DSA_MICROCHIP_KSZ_COMMON is built-in but PTP is a loadable
> module, the ksz_ptp support still causes a link failure:
> 
> ld.lld-16: error: undefined symbol: ptp_clock_index
> >>> referenced by ksz_ptp.c
> >>>               drivers/net/dsa/microchip/ksz_ptp.o:(ksz_get_ts_info) in archive vmlinux.a
> 
> [...]

Here is the summary with links:
  - [v2] net: dsa: microchip: ptp: fix up PTP dependency
    https://git.kernel.org/netdev/net-next/c/562c65486cf1

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-31 14:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-30 13:17 [PATCH] [v2] net: dsa: microchip: ptp: fix up PTP dependency Arnd Bergmann
2023-01-31 14:30 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.