Re: [PATCH v2 2/2] mfd: Add initial synology microp driver

From: Lee Jones

Date: Mon Mar 09 2026 - 05:44:06 EST


On Mon, 09 Mar 2026, Greg Kroah-Hartman wrote:

> On Sun, Mar 08, 2026 at 07:15:16PM +0000, Markus Probst wrote:
> > On Sun, 2026-03-08 at 19:55 +0100, Greg Kroah-Hartman wrote:
> > > On Sun, Mar 08, 2026 at 06:41:20PM +0000, Markus Probst wrote:
> > > > Add a initial synology microp driver, written in Rust.
> > > > The driver targets a microcontroller found in Synology NAS devices. It
> > > > currently only supports controlling of the power led, status led, alert
> > > > led and usb led. Other components such as fan control or handling
> > > > on-device buttons will be added once the required rust abstractions are
> > > > there.
> > >
> > > Why is this a mfd device? Shouldn't it be an aux device?
> > >
> > > But this is just a serial port connection, so why is a kernel driver
> > > needed at all?
> > I am not sure what you mean.
>
> Can't this just be controlled from userspace over the tty device to the
> uart this device uses? Why is a kernel driver needed at all?
>
> > It has multiple functions (leds, hwmon, power/reset, input etc.) and
> > does is a multifunction device (mfd).
> >
> > It does not however use mfd-core or anything from the auxiliary device
> > and instead implements its functionality directly in this driver.
>
> If it does not use mfd-core, then it should not be in drivers/mfd/
> right? Instead, use the aux bus code to split this up into different
> devices and attach them that way, as that's what the aux bus code was
> created for.

Correct.

If the MFD APIs are not used, your device is not a Linux MFD.

MFD is not a dumping ground for devices with more than one function.

Please place all of the relevant pieces into their respective subsystems.

--
Lee Jones [李琼斯]