Re: [PATCH v3 2/6] mux: Add helper functions for getting optional and selected mux-state

Ulf Hansson
2025-12-29T14:47:10Z

On Mon, 29 Dec 2025 at 12:30, Josua Mayer <josua@solid-run.com> wrote:
>
> Am 22.12.25 um 15:47 schrieb Ulf Hansson:
> > On Sun, 21 Dec 2025 at 11:38, Josua Mayer <josua@solid-run.com> wrote:
> >> Hi Ulf,
> >>
> >> Am 17.12.25 um 14:38 schrieb Ulf Hansson:
> >>> On Wed, 10 Dec 2025 at 18:39, Josua Mayer <josua@solid-run.com> wrote:
> >> cut
> >>
> >>>> /*
> >>>> * Using subsys_initcall instead of module_init here to try to ensure - for
> >>>> * the non-modular case - that the subsystem is initialized when mux consumers
> >>>> diff --git a/include/linux/mux/consumer.h b/include/linux/mux/consumer.h
> >>>> index 2e25c838f8312..a5da2e33a45c0 100644
> >>>> --- a/include/linux/mux/consumer.h
> >>>> +++ b/include/linux/mux/consumer.h
> >>>> @@ -60,5 +60,9 @@ struct mux_control *devm_mux_control_get(struct device *dev,
> >>>> const char *mux_name);
> >>>> struct mux_state *devm_mux_state_get(struct device *dev,
> >>>> const char *mux_name);
> >>>> +struct mux_state *devm_mux_state_get_optional(struct device *dev,
> >>>> + const char *mux_name);
> >>>> +struct mux_state *devm_mux_state_get_optional_selected(struct device *dev,
> >>>> + const char *mux_name);
> >>> Seems like we need stub-functions of these too. Otherwise
> >>> subsystems/drivers need to have a "depends on MULTIPLEXER" in their
> >>> Kconfigs.
> >> Currently the drivers that can use a mux select MULTIPLEXER in Kconfig.
> > Yes, but that's not generally how we do this. The driver may not need
> > MULTIPLEXER for all platforms that driver is being used on.
> >
> >> There already exist a few mux helpers both for mux-state and for mux-control,
> >> and they might all need stubs.
> > Correct. I think we should add subs for all of them.
> >
> >> I'd prefer the restructuring of kconfig dependencies being independent from
> >> adding mux-state functionality to renesas sdhi driver.
> > I understand your point, but adding the stubs isn't really a big thing
> > - unless someone has some good arguments not to!?
> >
> > Moreover, since the series changes the mux-core anyways - and
> > subsequent changes depend on it, I don't see an issue to fold in yet
> > another patch to add the stubs.
> Would this also cause changing all the Kconfig "select MULTIPLEXER"?
> If it is only the stubs - sure.
>
> And then in the renesas sdhi patch I can drop my change to kconfig.

Correct!

Typically, it's better to do a "select MULTIPLEXER" in the platform's
Kconfig for those platforms that really need it.

Kind regards
Uffe