From: Lee Jones <lee@kernel.org>
To: Hector Martin <marcan@marcan.st>
Cc: Russell King <rmk+kernel@armlinux.org.uk>,
Arnd Bergmann <arnd@arndb.de>,
Linus Walleij <linus.walleij@linaro.org>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
asahi@lists.linux.dev, Bartosz Golaszewski <brgl@bgdev.pl>,
linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org,
Sven Peter <sven@svenpeter.dev>
Subject: Re: [PATCH 4/6] platform/apple: Add new Apple Mac SMC driver
Date: Fri, 9 Sep 2022 08:50:07 +0100 [thread overview]
Message-ID: <YxrwLwVihe/s9wxN@google.com> (raw)
In-Reply-To: <82088b05-2a0d-69cc-ba2c-d61c74c9d855@marcan.st>
On Thu, 08 Sep 2022, Hector Martin wrote:
> On 08/09/2022 22.36, Lee Jones wrote:
> > On Thu, 08 Sep 2022, Hector Martin wrote:
> >
> >> On 08/09/2022 21.31, Lee Jones wrote:
> >>> The long and the short of it is; if you wish to treat this device, or
> >>> at least a section of it, as a type of MFD, then please draft that
> >>> part of it as an MFD driver, residing in drivers/mfd. If it's "not
> >>> really an MFD", then find another way to represent the conglomeration
> >>> please.
> >>>
> >>> If the MFD route is the best, then you can register each of the
> >>> devices, including the *-core from drivers/mfd. Grep for "cross-ec"
> >>> as a relatively recently good example.
> >>
> >> I think cros-ec is similar enough, yeah. As long as you don't mind
> >> having the core codebase in mfd/ (4 files: core, rtkit backend, and
> >> future T2 and legacy backends) we can do that.
> >
> > That's actually not what I'm suggesting.
> >
> > You *only* need to move the subsequent-device-registration handling
> > into drivers/mfd. The remainder really should be treated as Platform
> > (not to be confused with Arch Platform) code and should reside in
> > drivers/platform. Just as we do with cros-ec.
>
> That's... an interesting approach.
How you decide to initially architect it would be your choice.
We can then discuss any potential improvements / suggestions.
> Is the code in drivers/mfd supposed
> to be a subdevice itself? That seems to be what's going on with
> cros_ec_dev.c, but do we really need that layer of indirection?
Ideally not. The evolution of cros-ec happened over many iterations
and much time. Initially it was almost entirely implemented in
drivers/mfd until I requested for a lot of the truly platform code to
be moved out, as it grew beyond the bounds of, and was therefore no
longer relevant to MFD.
If we were to design and build it up again from scratch, I'd suggest
that the MFD part would be the core-driver / entry-point. That driver
should request and initialise shared resources and register the other
devices, which is essentially the MFD's mantra.
> What's the point of just having effectively an array of mfd_cell and
> wrappers to call into the mfd core in the drivers/mfd/ tree and the
> rest of the driver elsewhere?
They should be separate drivers, with MFD registering the Platform.
--
Lee Jones [李琼斯]
next prev parent reply other threads:[~2022-09-09 7:53 UTC|newest]
Thread overview: 171+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-01 13:54 [PATCH 0/6] Add Apple Mac System Management Controller GPIOs Russell King (Oracle)
2022-09-01 13:54 ` [PATCH 1/6] dt-bindings: mfd: add binding for Apple Mac System Management Controller Russell King (Oracle)
2022-09-01 15:06 ` Krzysztof Kozlowski
2022-09-01 15:12 ` Russell King (Oracle)
2022-09-01 15:15 ` Krzysztof Kozlowski
2022-09-01 15:24 ` Russell King (Oracle)
2022-09-01 15:45 ` Krzysztof Kozlowski
2022-09-01 15:56 ` Russell King (Oracle)
2022-09-01 16:25 ` Krzysztof Kozlowski
2022-09-01 16:47 ` Russell King (Oracle)
2022-09-01 22:33 ` Rob Herring
2022-09-02 15:06 ` Mark Kettenis
2022-09-02 17:28 ` Rob Herring
2022-09-05 10:24 ` Russell King (Oracle)
2022-09-06 9:04 ` Russell King (Oracle)
2022-09-06 9:31 ` Mark Kettenis
2022-09-06 11:22 ` Linus Walleij
2022-09-06 11:36 ` Hector Martin
2022-09-06 11:57 ` Linus Walleij
2022-09-06 13:28 ` Hector Martin
2022-09-06 13:43 ` Russell King (Oracle)
2022-09-06 13:53 ` Hector Martin
2022-09-06 14:25 ` Mark Kettenis
2022-09-06 14:54 ` Russell King (Oracle)
2022-09-06 15:38 ` Mark Kettenis
2022-09-06 15:55 ` Rob Herring
2022-09-06 13:46 ` Linus Walleij
2022-09-06 15:34 ` Rob Herring
2022-09-06 16:10 ` Rob Herring
2022-09-06 17:00 ` Hector Martin
2022-09-06 17:35 ` Rob Herring
2022-09-06 17:40 ` Sven Peter
2022-09-06 18:38 ` Hector Martin
2022-09-07 9:39 ` Mark Kettenis
2022-09-01 22:26 ` Rob Herring
2022-09-02 14:49 ` Mark Kettenis
2022-09-02 17:04 ` Rob Herring
2022-09-01 19:14 ` Rob Herring
2022-09-01 13:54 ` [PATCH 2/6] dt-bindings: gpio: add binding for the GPIO block for Apple Mac SMC Russell King (Oracle)
2022-09-01 15:11 ` Krzysztof Kozlowski
2022-09-01 15:14 ` Russell King (Oracle)
2022-09-01 13:54 ` [PATCH 3/6] soc: apple: rtkit: Add apple_rtkit_poll Russell King
2022-09-01 17:00 ` Sven Peter
2022-09-01 17:25 ` Eric Curtin
2022-09-01 13:54 ` [PATCH 4/6] platform/apple: Add new Apple Mac SMC driver Russell King
2022-09-01 17:50 ` Sven Peter
2022-09-05 10:55 ` Russell King (Oracle)
2022-09-05 16:53 ` Hector Martin
2022-09-01 19:26 ` Andy Shevchenko
2022-09-02 6:45 ` Sven Peter
2022-09-05 14:45 ` Hector Martin
2022-09-05 15:00 ` Andy Shevchenko
2022-09-08 10:58 ` Lee Jones
2022-09-08 11:28 ` Hector Martin
2022-09-08 12:31 ` Lee Jones
2022-09-08 12:58 ` Hector Martin
2022-09-08 13:29 ` Linus Walleij
2022-09-08 13:36 ` Lee Jones
2022-09-08 13:58 ` Hector Martin
2022-09-09 7:50 ` Lee Jones [this message]
2022-09-12 10:03 ` Russell King (Oracle)
2022-09-12 10:55 ` Lee Jones
2022-10-28 15:36 ` Russell King (Oracle)
2022-10-31 8:46 ` Lee Jones
2022-10-31 9:03 ` Hector Martin
2022-10-31 9:44 ` Russell King (Oracle)
2022-10-31 17:24 ` Lee Jones
2022-10-31 19:47 ` Russell King (Oracle)
2022-11-01 9:59 ` Lee Jones
2022-10-29 6:40 ` Hector Martin
2022-10-31 8:48 ` Lee Jones
2022-10-31 8:58 ` Hector Martin
2022-10-31 9:29 ` Lee Jones
2022-10-31 9:44 ` Hector Martin
2022-10-31 17:23 ` Lee Jones
2022-10-31 19:34 ` Russell King (Oracle)
2022-11-02 13:12 ` Lee Jones
2022-11-02 15:54 ` Russell King (Oracle)
2022-09-01 13:54 ` [PATCH 5/6] gpio: Add new gpio-macsmc driver for Apple Macs Russell King
2022-09-01 18:55 ` Andy Shevchenko
2022-09-01 21:51 ` Martin Povišer
2022-09-02 6:31 ` Andy Shevchenko
[not found] ` <3B649A66-8116-432D-B88A-B5CE493EF930@cutebit.org>
[not found] ` <CAHp75VeB3_sZ2vsSxMSsLeJSkyemDh9iOPHXJCN1mhodA13LNQ@mail.gmail.com>
2022-09-02 11:12 ` Martin Povišer
2022-09-02 13:33 ` Andy Shevchenko
2022-09-02 13:36 ` Andy Shevchenko
2022-09-02 13:37 ` Martin Povišer
2022-09-02 14:41 ` Andy Shevchenko
2022-09-02 14:45 ` Russell King (Oracle)
2022-09-02 10:05 ` Russell King (Oracle)
2022-09-02 10:37 ` Andy Shevchenko
2022-09-02 11:32 ` Russell King (Oracle)
2022-09-02 13:39 ` Andy Shevchenko
2022-09-02 14:46 ` Russell King (Oracle)
2022-09-02 14:53 ` Andy Shevchenko
2022-09-02 15:34 ` Russell King (Oracle)
2022-09-02 15:43 ` Andy Shevchenko
2022-09-05 10:20 ` Russell King (Oracle)
2022-09-05 10:32 ` Andy Shevchenko
2022-09-05 13:10 ` Russell King (Oracle)
2022-09-05 13:16 ` Andy Shevchenko
2022-09-05 14:01 ` Russell King (Oracle)
2022-09-05 14:02 ` Russell King (Oracle)
2022-09-05 14:42 ` Andy Shevchenko
2022-09-05 14:53 ` Russell King (Oracle)
2022-09-05 14:50 ` Andy Shevchenko
2022-09-05 15:52 ` Hector Martin
2022-09-05 15:56 ` Russell King (Oracle)
2022-09-05 15:32 ` Russell King (Oracle)
2022-09-05 15:44 ` Martin Povišer
2022-09-05 15:58 ` Hector Martin
2022-09-05 16:13 ` Russell King (Oracle)
2022-09-05 19:10 ` Linus Walleij
2022-09-06 6:51 ` Hector Martin
2022-09-05 15:47 ` Hector Martin
2022-09-05 15:39 ` Hector Martin
2022-09-05 15:16 ` Hector Martin
2022-09-05 15:04 ` Hector Martin
2022-09-02 9:42 ` Linus Walleij
2022-09-01 13:54 ` [PATCH 6/6] gpio: macsmc: Add IRQ support Russell King
2022-09-01 18:03 ` Andy Shevchenko
2022-09-05 11:54 ` Russell King (Oracle)
[not found] ` <CAHp75VeDGCp8J6wnmCqGpV++vs2Zur9Mfp71Dk8dVXcuHFnCrQ@mail.gmail.com>
2022-09-05 13:21 ` Andy Shevchenko
2022-09-02 13:21 ` Linus Walleij
2022-09-05 12:47 ` Russell King (Oracle)
2022-09-05 13:19 ` Fwd: " Andy Shevchenko
2022-09-05 21:43 ` Russell King (Oracle)
2022-09-05 13:27 ` Linus Walleij
2022-09-06 7:00 ` Hector Martin
2022-09-06 7:47 ` Russell King (Oracle)
2022-09-06 8:00 ` Hector Martin
2022-09-01 15:12 ` [PATCH 0/6] Add Apple Mac System Management Controller GPIOs Krzysztof Kozlowski
2022-10-27 15:35 ` Russell King (Oracle)
2022-11-08 16:32 ` [PATCH v3 0/7] " Russell King (Oracle)
2022-11-08 16:33 ` [PATCH v3 1/7] mfd: Add core Apple Mac SMC driver Russell King
2022-11-14 9:52 ` Lee Jones
2022-11-14 10:35 ` Andy Shevchenko
2022-11-08 16:33 ` [PATCH v3 2/7] lib/vsprintf: Add support for generic FOURCCs by extending %p4cc Russell King
2022-11-14 15:34 ` Petr Mladek
2022-11-14 15:46 ` Andy Shevchenko
2022-11-14 16:18 ` Petr Mladek
2022-11-14 16:15 ` Russell King (Oracle)
2022-11-14 16:46 ` Russell King (Oracle)
2022-11-22 12:43 ` Petr Mladek
2022-11-22 14:49 ` Petr Mladek
2022-11-08 16:33 ` [PATCH v3 3/7] dt-bindings: mfd: add binding for Apple Mac System Management Controller Russell King (Oracle)
2022-11-08 20:42 ` Linus Walleij
2022-11-08 20:55 ` Krzysztof Kozlowski
2022-11-08 22:22 ` Russell King (Oracle)
2022-11-09 8:35 ` Krzysztof Kozlowski
2022-11-09 22:17 ` Rob Herring
2022-11-10 11:35 ` Hector Martin
2022-11-10 11:48 ` Russell King (Oracle)
2022-11-10 14:00 ` Krzysztof Kozlowski
2022-11-10 14:14 ` Russell King (Oracle)
2022-11-10 14:21 ` Krzysztof Kozlowski
2022-11-10 14:23 ` Russell King (Oracle)
2022-11-10 14:36 ` Krzysztof Kozlowski
2022-11-10 14:43 ` Russell King (Oracle)
2022-11-14 10:05 ` Lee Jones
2022-11-08 22:30 ` Rob Herring
2022-11-08 16:33 ` [PATCH v3 4/7] platform/apple: Add new Apple Mac SMC driver Russell King
2022-11-08 16:33 ` [PATCH v3 5/7] arm64: dts: apple: Add SMC node to t8103 devicetrees Russell King
2022-11-08 16:33 ` [PATCH v3 6/7] dt-bindings: gpio: add binding for the GPIO block for Apple Mac SMC Russell King (Oracle)
2022-11-08 20:56 ` Krzysztof Kozlowski
2022-11-08 22:09 ` Russell King (Oracle)
2022-11-09 7:31 ` Hector Martin
2022-11-09 8:36 ` Krzysztof Kozlowski
2022-11-09 9:12 ` Russell King (Oracle)
2022-11-09 9:19 ` Krzysztof Kozlowski
2022-11-08 22:30 ` Rob Herring
2022-11-08 16:33 ` [PATCH v3 7/7] gpio: Add new gpio-macsmc driver for Apple Macs Russell King
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=YxrwLwVihe/s9wxN@google.com \
--to=lee@kernel.org \
--cc=alyssa@rosenzweig.io \
--cc=arnd@arndb.de \
--cc=asahi@lists.linux.dev \
--cc=brgl@bgdev.pl \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=rmk+kernel@armlinux.org.uk \
--cc=sven@svenpeter.dev \
/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;
as well as URLs for NNTP newsgroup(s).