From: Markus Probst <markus.probst@posteo.de>
To: Lee Jones <lee@kernel.org>
Cc: "Danilo Krummrich" <dakr@kernel.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Boqun Feng" <boqun@kernel.org>, "Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v2 2/2] mfd: Add initial synology microp driver
Date: Mon, 09 Mar 2026 15:20:07 +0000 [thread overview]
Message-ID: <2b04fdc5abc18f4344b2f15353be8d3092c60913.camel@posteo.de> (raw)
In-Reply-To: <20260309151555.GU183676@google.com>
[-- Attachment #1: Type: text/plain, Size: 2814 bytes --]
On Mon, 2026-03-09 at 15:15 +0000, Lee Jones wrote:
> On Mon, 09 Mar 2026, Markus Probst wrote:
>
> > On Mon, 2026-03-09 at 14:32 +0100, Danilo Krummrich wrote:
> > > On Mon Mar 9, 2026 at 1:52 PM CET, Markus Probst wrote:
> > > > Yes. I will split it into multiple drivers using the aux bus in the
> > > > next revision.
> > >
> > > Independent of the other discussion whether this belongs into the kernel in the
> > > first place, reading over the cover letter and commit message I understood the
> > > following.
> > >
> > > "Synology uses a microcontroller in their NAS devices connected to a serial
> > > port [...]" controlling LEDs, fan speeds, a beeper, etc.
> > >
> > > I.e. it muliplexes several physical functions that belong to different
> > > subsystems, such as hwmon, input, etc. over a single serial port.
> > >
> > > This sounds like a textbook candidate for MFD to me.
>
> Then you do not know what a textbook candidate for MFD is. :)
>
> What part of the MFD API does this device utilise?
>
> > > I.e. there is a very loose coupling of the different functions that make up for
> > > entirely independent drivers, except that they share the same serial port
> > > connection.
> > >
> > > Whereas the auxiliary bus is more for very complicated devices to be broken down
> > > into more managable (sometimes optional) sub-domains, where the corresponding
> > > drivers usually have driver specific APIs to interact with each other.
> > >
> > > - Danilo
> >
> > QNAP and Synology do things very similarly.
> > There is already a driver for QNAP devices:
> >
> > drivers/mfd/qnap-mcu.c
> > drivers/leds/leds-qnap-mcu.c
> > drivers/input/misc/qnap-mcu-input.c
> > drivers/hwmon/qnap-mcu-hwmon.c
> > drivers/nvmem/qnap-mcu-eeprom.c
> >
> > drivers/power/reset/qnap-poweroff.c (this one is not part of the mfd)
> >
> > and I try to implement the equivalent for Synology devices.
> > Given its a MFD I would assume the same applies to this driver?
>
> Of course not.
>
> The QNAP driver above calls devm_mfd_add_devices().
>
> This one uses none of the MFD functionality provided.
>
> Linux supports 10's if not 100's of devices which do more than one
> thing. Only a fraction of them are Linux MFDs. MFD in Linux is an API,
> not a type of device.
>
> Don't get me wrong, you could probably code up this device as a Linux
> MFD, but you have chosen not to, so therefore it cannot reside here.
From what I have read so far, the way its written it probably can't
live anywhere inside the kernel right now. So it will be restructured
to either use mfd or auxiliary, which both involve splitting the driver
up into multiple pieces. From what Danilo is writing, it will likely be
mfd.
Thanks
- Markus Probst
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 870 bytes --]
next prev parent reply other threads:[~2026-03-09 15:20 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-08 18:41 [PATCH v2 0/2] Introduce Synology Microp driver Markus Probst
2026-03-08 18:41 ` [PATCH v2 1/2] dt-bindings: mfd: Add synology,microp device Markus Probst
2026-03-09 7:17 ` Krzysztof Kozlowski
2026-03-08 18:41 ` [PATCH v2 2/2] mfd: Add initial synology microp driver Markus Probst
2026-03-08 18:55 ` Greg Kroah-Hartman
2026-03-08 19:15 ` Markus Probst
2026-03-09 5:56 ` Greg Kroah-Hartman
2026-03-09 9:43 ` Lee Jones
2026-03-09 12:52 ` Markus Probst
2026-03-09 13:07 ` Greg Kroah-Hartman
2026-03-09 13:34 ` Markus Probst
2026-03-09 13:32 ` Danilo Krummrich
2026-03-09 13:38 ` Markus Probst
2026-03-09 15:15 ` Lee Jones
2026-03-09 15:20 ` Markus Probst [this message]
2026-03-09 15:27 ` Lee Jones
2026-03-09 15:37 ` Danilo Krummrich
2026-03-09 15:50 ` Lee Jones
2026-03-08 18:56 ` Greg Kroah-Hartman
2026-03-08 19:23 ` Markus Probst
2026-03-09 5:55 ` Greg Kroah-Hartman
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=2b04fdc5abc18f4344b2f15353be8d3092c60913.camel@posteo.de \
--to=markus.probst@posteo.de \
--cc=a.hindborg@kernel.org \
--cc=aliceryhl@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun@kernel.org \
--cc=conor+dt@kernel.org \
--cc=dakr@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=ojeda@kernel.org \
--cc=robh@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®