Re: [PATCH] mux: mmio: Fix missing CONFIG_REGMAP_MMIO

From: Andrew Davis
Date: Fri May 16 2025 - 10:31:54 EST


On 5/16/25 3:58 AM, Krzysztof Kozlowski wrote:
On 16/05/2025 10:26, Krzysztof Kozlowski wrote:
On 16/05/2025 10:16, Krzysztof Kozlowski wrote:

On Thu, 15 May 2025 16:05:56 +0200, Krzysztof Kozlowski wrote:
MMIO mux uses now regmap_init_mmio(), so one way or another
CONFIG_REGMAP_MMIO should be enabled, because there are no stubs for
!REGMAP_MMIO case:

ERROR: modpost: "__regmap_init_mmio_clk" [drivers/mux/mux-mmio.ko] undefined!

REGMAP_MMIO should be, because it is a non-visible symbol, but this
causes a circular dependency:

[...]

Applied, thanks!

[1/1] mux: mmio: Fix missing CONFIG_REGMAP_MMIO
https://git.kernel.org/krzk/linux/c/39bff565b40d26cc51f6e85b3b224c86a563367e

And dropped. More recursive dependencies are detected, so my fix here is
incomplete.

error: recursive dependency detected!
symbol REGMAP default is visible depending on REGMAP_MMIO
symbol REGMAP_MMIO is selected by MUX_MMIO
symbol MUX_MMIO depends on MULTIPLEXER
symbol MULTIPLEXER is selected by MDIO_BUS_MUX_MULTIPLEXER
symbol MDIO_BUS_MUX_MULTIPLEXER depends on MDIO_BUS
symbol MDIO_BUS is selected by REGMAP

https://krzk.eu/#/builders/43/builds/4855

That's a mess, I need work on this a bit more.


My branch fails with above error because I do not have Heiner's commit
a3e1c0ad8357 ("net: phy: factor out provider part from mdio_bus.c").
Will it reach current RC (rc7) at some point? I could merge the tag to
my next branch to solve it.



I took a shot at breaking this recursive dependency at the REGMAP config[0].
That should allow REGMAP_MMIO to be selected by MUX_MMIO without touching
stuff here in netdev.

Kconfig is a huge mess at this point, the golden rule of "select should be
used with care" is completely ignored, there are now more uses of select
in Linux Kconfig than the normal "depends on"! Might be time to add that
SAT solver..

Andrew

[0] https://www.spinics.net/lists/kernel/msg5687922.html