From: Josua Mayer <josua@solid-run.com>
To: Ulf Hansson <ulf.hansson@linaro.org>, Peter Rosin <peda@axentia.se>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>,
Vincent Mailhol <mailhol@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Aaro Koskinen <aaro.koskinen@iki.fi>,
Andreas Kemnade <andreas@kemnade.info>,
Kevin Hilman <khilman@baylibre.com>,
Roger Quadros <rogerq@kernel.org>,
Tony Lindgren <tony@atomide.com>,
Janusz Krzysztofik <jmkrzyszt@gmail.com>,
Vignesh R <vigneshr@ti.com>, Andi Shyti <andi.shyti@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Magnus Damm <magnus.damm@gmail.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
Yazan Shhady <yazan.shhady@solid-run.com>,
Jon Nettleton <jon@solid-run.com>,
Vladimir Oltean <olteanv@gmail.com>,
Mikhail Anikin <mikhail.anikin@solid-run.com>,
"linux-can@vger.kernel.org" <linux-can@vger.kernel.org>,
"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-renesas-soc@vger.kernel.org"
<linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH v10 8/9] mux: add prompt and help text to CONFIG_MULTIPLEXER making it visible
Date: Thu, 26 Feb 2026 09:49:17 +0000 [thread overview]
Message-ID: <038f9ffa-b77c-4bbb-96db-d6adefb84594@solid-run.com> (raw)
In-Reply-To: <CAPDyKFoDZr33tQXofsZzPrJbZM=3VhpeeOk1GqvRA1UK=LO5Ww@mail.gmail.com>
Am 25.02.26 um 13:24 schrieb Ulf Hansson:
> On Wed, 25 Feb 2026 at 12:35, Josua Mayer <josua@solid-run.com> wrote:
>> The multiplexer subsystem was initially designed only for use by drivers
>> that require muxes, and did in particular not consider optional muxes or
>> to compile as a module.
>>
>> Over time several drivers have added a "select MULTIPLEXER" dependency,
>> some of which require a mux and some consider it optional. v7.0-rc1
>> shows 15 such occurrences in Kconfig files, in a variety of subsystems.
>>
>> Further some drivers such as gpio-mux are useful on their own (e.g.
>> through device-tree idle-state property), but can not currently be
>> selected through menuconfig unless another driver selecting MULTIPLEXER
>> symbol was enabled first.
>>
>> The natural step forward to allow enabling mux core and drivers would be
>> adding prompt and help text to the existing symbol.
>>
>> This violates the general kbuild advice to avoid selecting visible
>> symbols.
>>
>> Alternatively addition of a wrapper symbol MUX_CORE was considered,
>> which in turn would "select MULTIPLEXER". This however creates new
>> issues and confusion as MULTIPLEXER and MUX_CORE need to share the same
>> state, i.e. MUX_CORE in menuconfig must not be set to m while
>> MULTIPLEXER was selected builtin. Further confusion occurs with Kconfig
>> "depends on" relationships that could reference either MUX_CORE or
>> MULTIPLEXER.
>>
>> It is common across the tree for subsystem symbols to be both visible
>> and selected, e.g. I2C & SPI. In the same spirit multiplexer needs to
>> ignore this particular kbuild rule.
>>
>> Add prompt and help text to the existing MULTIPLEXER symbol, making it
>> visible in (menu)config without breaking existing "select MULTIPLEXER"
>> occurrences in the tree.
>>
>> Select it by default when COMPILE_TEST is set for better coverage.
>>
>> Signed-off-by: Josua Mayer <josua@solid-run.com>
>> ---
>> drivers/mux/Kconfig | 9 ++++++++-
>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mux/Kconfig b/drivers/mux/Kconfig
>> index c68132e38138..4f7c6bb86fc6 100644
>> --- a/drivers/mux/Kconfig
>> +++ b/drivers/mux/Kconfig
>> @@ -4,7 +4,14 @@
>> #
>>
>> config MULTIPLEXER
>> - tristate
>> + tristate "Generic Multiplexer Support"
>> + default m if COMPILE_TEST
> Allowing the core being a module makes things/code a bit unnecessarily
> complicated, I think.
>
> Similar to other subsystems (like regulators/clk/etc), the core is a
> bool and the menu below it for its provider drivers depends on it to
> be configurable, allowing them to be tristate.
This seems reasonable.
Before revising this patch I'd appreciate input from Peter Rosin,
who had strong opinions on v9.
>> + help
>> + This framework is designed to abstract multiplexer handling for
>> + devices via various GPIO-, MMIO/Regmap or specific multiplexer
>> + controller chips.
>> +
>> + If unsure, say no.
>>
> continuing from the above comment, this would instead be:
>
> if MULTIPLEXER
>
> menu "Multiplexer drivers"
>
>
>> menu "Multiplexer drivers"
>> depends on MULTIPLEXER
>>
>> --
>> 2.43.0
>>
> Kind regards
> Uffe
WARNING: multiple messages have this Message-ID (diff)
From: Josua Mayer <josua@solid-run.com>
To: Ulf Hansson <ulf.hansson@linaro.org>, Peter Rosin <peda@axentia.se>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>,
Vincent Mailhol <mailhol@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Aaro Koskinen <aaro.koskinen@iki.fi>,
Andreas Kemnade <andreas@kemnade.info>,
Kevin Hilman <khilman@baylibre.com>,
Roger Quadros <rogerq@kernel.org>,
Tony Lindgren <tony@atomide.com>,
Janusz Krzysztofik <jmkrzyszt@gmail.com>,
Vignesh R <vigneshr@ti.com>, Andi Shyti <andi.shyti@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Magnus Damm <magnus.damm@gmail.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
Yazan Shhady <yazan.shhady@solid-run.com>,
Jon Nettleton <jon@solid-run.com>,
Vladimir Oltean <olteanv@gmail.com>,
Mikhail Anikin <mikhail.anikin@solid-run.com>,
"linux-can@vger.kernel.org" <linux-can@vger.kernel.org>,
"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-renesas-soc@vger.kernel.org"
<linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH v10 8/9] mux: add prompt and help text to CONFIG_MULTIPLEXER making it visible
Date: Thu, 26 Feb 2026 09:49:17 +0000 [thread overview]
Message-ID: <038f9ffa-b77c-4bbb-96db-d6adefb84594@solid-run.com> (raw)
In-Reply-To: <CAPDyKFoDZr33tQXofsZzPrJbZM=3VhpeeOk1GqvRA1UK=LO5Ww@mail.gmail.com>
Am 25.02.26 um 13:24 schrieb Ulf Hansson:
> On Wed, 25 Feb 2026 at 12:35, Josua Mayer <josua@solid-run.com> wrote:
>> The multiplexer subsystem was initially designed only for use by drivers
>> that require muxes, and did in particular not consider optional muxes or
>> to compile as a module.
>>
>> Over time several drivers have added a "select MULTIPLEXER" dependency,
>> some of which require a mux and some consider it optional. v7.0-rc1
>> shows 15 such occurrences in Kconfig files, in a variety of subsystems.
>>
>> Further some drivers such as gpio-mux are useful on their own (e.g.
>> through device-tree idle-state property), but can not currently be
>> selected through menuconfig unless another driver selecting MULTIPLEXER
>> symbol was enabled first.
>>
>> The natural step forward to allow enabling mux core and drivers would be
>> adding prompt and help text to the existing symbol.
>>
>> This violates the general kbuild advice to avoid selecting visible
>> symbols.
>>
>> Alternatively addition of a wrapper symbol MUX_CORE was considered,
>> which in turn would "select MULTIPLEXER". This however creates new
>> issues and confusion as MULTIPLEXER and MUX_CORE need to share the same
>> state, i.e. MUX_CORE in menuconfig must not be set to m while
>> MULTIPLEXER was selected builtin. Further confusion occurs with Kconfig
>> "depends on" relationships that could reference either MUX_CORE or
>> MULTIPLEXER.
>>
>> It is common across the tree for subsystem symbols to be both visible
>> and selected, e.g. I2C & SPI. In the same spirit multiplexer needs to
>> ignore this particular kbuild rule.
>>
>> Add prompt and help text to the existing MULTIPLEXER symbol, making it
>> visible in (menu)config without breaking existing "select MULTIPLEXER"
>> occurrences in the tree.
>>
>> Select it by default when COMPILE_TEST is set for better coverage.
>>
>> Signed-off-by: Josua Mayer <josua@solid-run.com>
>> ---
>> drivers/mux/Kconfig | 9 ++++++++-
>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mux/Kconfig b/drivers/mux/Kconfig
>> index c68132e38138..4f7c6bb86fc6 100644
>> --- a/drivers/mux/Kconfig
>> +++ b/drivers/mux/Kconfig
>> @@ -4,7 +4,14 @@
>> #
>>
>> config MULTIPLEXER
>> - tristate
>> + tristate "Generic Multiplexer Support"
>> + default m if COMPILE_TEST
> Allowing the core being a module makes things/code a bit unnecessarily
> complicated, I think.
>
> Similar to other subsystems (like regulators/clk/etc), the core is a
> bool and the menu below it for its provider drivers depends on it to
> be configurable, allowing them to be tristate.
This seems reasonable.
Before revising this patch I'd appreciate input from Peter Rosin,
who had strong opinions on v9.
>> + help
>> + This framework is designed to abstract multiplexer handling for
>> + devices via various GPIO-, MMIO/Regmap or specific multiplexer
>> + controller chips.
>> +
>> + If unsure, say no.
>>
> continuing from the above comment, this would instead be:
>
> if MULTIPLEXER
>
> menu "Multiplexer drivers"
>
>
>> menu "Multiplexer drivers"
>> depends on MULTIPLEXER
>>
>> --
>> 2.43.0
>>
> Kind regards
> Uffe
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2026-02-26 9:49 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-25 11:34 [PATCH v10 0/9] mmc: host: renesas_sdhi_core: support configuring an optional sdio mux Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 1/9] phy: can-transceiver: rename temporary helper function to avoid conflict Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 2/9] phy: renesas: rcar-gen3-usb2: rename local mux helper " Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 3/9] mux: Add helper functions for getting optional and selected mux-state Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-26 10:46 ` Josua Mayer
2026-02-26 10:46 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 4/9] phy: can-transceiver: drop temporary helper getting optional mux-state Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 5/9] phy: renesas: rcar-gen3-usb2: drop " Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 6/9] i2c: omap: switch to new generic helper for getting selected mux-state Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 7/9] dt-bindings: mmc: renesas,sdhi: Add mux-states property Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 8/9] mux: add prompt and help text to CONFIG_MULTIPLEXER making it visible Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 12:07 ` Geert Uytterhoeven
2026-02-25 12:07 ` Geert Uytterhoeven
2026-02-26 13:19 ` Josua Mayer
2026-02-26 13:19 ` Josua Mayer
2026-02-25 12:24 ` Ulf Hansson
2026-02-25 12:24 ` Ulf Hansson
2026-02-26 9:49 ` Josua Mayer [this message]
2026-02-26 9:49 ` Josua Mayer
2026-02-25 11:34 ` [PATCH v10 9/9] mmc: host: renesas_sdhi_core: support selecting an optional mux Josua Mayer
2026-02-25 11:34 ` Josua Mayer
2026-02-25 12:14 ` [PATCH v10 0/9] mmc: host: renesas_sdhi_core: support configuring an optional sdio mux Josua Mayer
2026-02-25 12:14 ` Josua Mayer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=038f9ffa-b77c-4bbb-96db-d6adefb84594@solid-run.com \
--to=josua@solid-run.com \
--cc=aaro.koskinen@iki.fi \
--cc=andi.shyti@kernel.org \
--cc=andreas@kemnade.info \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=jmkrzyszt@gmail.com \
--cc=jon@solid-run.com \
--cc=khilman@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mailhol@kernel.org \
--cc=mikhail.anikin@solid-run.com \
--cc=mkl@pengutronix.de \
--cc=neil.armstrong@linaro.org \
--cc=olteanv@gmail.com \
--cc=peda@axentia.se \
--cc=robh@kernel.org \
--cc=rogerq@kernel.org \
--cc=tony@atomide.com \
--cc=ulf.hansson@linaro.org \
--cc=vigneshr@ti.com \
--cc=vkoul@kernel.org \
--cc=wsa+renesas@sang-engineering.com \
--cc=yazan.shhady@solid-run.com \
--cc=yoshihiro.shimoda.uh@renesas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.