Re: [PATCH v1] mfd: core: Support auxiliary device

From: Lee Jones
Date: Fri Apr 04 2025 - 11:36:03 EST


On Thu, 03 Apr 2025, Raag Jadav wrote:

> Extend MFD subsystem to support auxiliary child device. This is useful for
> MFD usecases where parent device is on a discoverable bus and doesn't fit
> into the platform device criteria. Current support is limited to just PCI
> devices, but this can be further extended to support other types like USB
> in the future.
>
> Signed-off-by: Raag Jadav <raag.jadav@xxxxxxxxx>
> ---
>
> I've been cooking this on my spare time during merge window. I'm not
> very confident about this but thought I'd share it. It might be
> controversial since I stole quite a bit from platform infrastructure,
> so please consider this an RFC and let's discuss how to approach this.
>
> More discussion at [*].
> [*] https://lore.kernel.org/r/2025032609-query-limit-491b@gregkh
>
> A few things that are still open,
>
> 1. Since we're doing it for PCI devices (Greg's recommendation), how do
> we force the existing ones to use their original platform path?
>
> 2. Should we allow auxiliary drivers to manage their own resources
> (MEM, IO, IRQ etc)?
>
> drivers/base/auxiliary.c | 23 ++++++
> drivers/mfd/mfd-core.c | 137 +++++++++++++++++++++++++++++++---
> include/linux/auxiliary_bus.h | 7 ++
> 3 files changed, 156 insertions(+), 11 deletions(-)

Honestly, I thought I was going to hate this more than I do.

Besides the obvious duplication of existing code, I think the premise is okay.

I have always viewed the auxiliary bus as an alternative to MFD, rather
than an alternative to platform, but I see where you're coming from with this.

--
Lee Jones [李琼斯]