linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Lee Jones <lee@kernel.org>
Cc: Hector Martin <marcan@marcan.st>, 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: Mon, 31 Oct 2022 19:47:49 +0000	[thread overview]
Message-ID: <Y2AmZQtttiGwpvth@shell.armlinux.org.uk> (raw)
In-Reply-To: <Y2AE5a/5fY4Pl7YF@google.com>

On Mon, Oct 31, 2022 at 05:24:53PM +0000, Lee Jones wrote:
> On Mon, 31 Oct 2022, Russell King (Oracle) wrote:
> 
> > On Mon, Oct 31, 2022 at 08:46:25AM +0000, Lee Jones wrote:
> > > On Fri, 28 Oct 2022, Russell King (Oracle) wrote:
> > > 
> > > > On Mon, Sep 12, 2022 at 11:55:14AM +0100, Lee Jones wrote:
> > > > > > I'm guessing this series is now dead, and Hector needs to re-spin the
> > > > > > patch set according to your views. I'm guessing this is going to take
> > > > > > a major re-work of the patch series.
> > > > > > 
> > > > > > I suspect my attempt and trying to get this upstream has made things
> > > > > > more complicated, because I doubt Hector has updated his patch set
> > > > > > with the review comments that have been made so far... so this is
> > > > > > now quite a mess. I think, once this is sorted, the entire series
> > > > > > will need to be re-reviewed entirely afresh.
> > > > > 
> > > > > I have no insight into what Hector is doing, or plans to do.
> > > > 
> > > > It seems there's no plans by Hector to address this, so it comes down
> > > > to me.
> > > > 
> > > > So, guessing what you're after, would something like the following
> > > > work for you? I don't see *any* point in creating more yet more
> > > > platform devices unless we're on a mission to maximise wasted memory
> > > > resources (which this split will already be doing by creating two
> > > > small modules instead of one.)
> > > > 
> > > > Obviously, this is not an official patch yet, it's just to find out
> > > > what code structure you are looking for.
> > > > 
> > > > diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> > > > index 78c6d9d99c3f..8d4c0508a2c8 100644
> > > > --- a/drivers/mfd/Makefile
> > > > +++ b/drivers/mfd/Makefile
> > > > @@ -18,6 +18,8 @@ obj-$(CONFIG_MFD_ENE_KB3930)	+= ene-kb3930.o
> > > >  obj-$(CONFIG_MFD_EXYNOS_LPASS)	+= exynos-lpass.o
> > > >  obj-$(CONFIG_MFD_GATEWORKS_GSC)	+= gateworks-gsc.o
> > > >  
> > > > +obj-$(CONFIG_APPLE_SMC)		+= apple-smc.o
> > > > +
> > > >  obj-$(CONFIG_HTC_PASIC3)	+= htc-pasic3.o
> > > >  obj-$(CONFIG_HTC_I2CPLD)	+= htc-i2cpld.o
> > > >  
> > > > diff --git a/drivers/mfd/apple-smc.c b/drivers/mfd/apple-smc.c
> > > > new file mode 100644
> > > > index 000000000000..bc59d1c5e13d
> > > > --- /dev/null
> > > > +++ b/drivers/mfd/apple-smc.c
> > > > @@ -0,0 +1,38 @@
> > > > +#include <linux/mfd/core.h>
> > > > +#include <linux/mfd/apple-smc.h>
> > > > +
> > > > +static const struct mfd_cell apple_smc_devs[] = {
> > > > +	{
> > > > +		.name = "macsmc-gpio",
> > > > +		.of_compatible = "apple,smc-gpio",
> > > > +	},
> > > > +	{
> > > > +		.name = "macsmc-hid",
> > > > +	},
> > > > +	{
> > > > +		.name = "macsmc-power",
> > > > +	},
> > > > +	{
> > > > +		.name = "macsmc-reboot",
> > > > +	},
> > > > +	{
> > > > +		.name = "macsmc-rtc",
> > > > +	},
> > > > +};
> > > > +
> > > > +int apple_smc_mfd_probe(struct device *dev)
> > > > +{
> > > > +	return mfd_add_devices(dev, -1, apple_smc_devs,
> > > > +			       ARRAY_SIZE(apple_smc_devs), NULL, 0, NULL);
> > > > +}
> > > > +EXPORT_SYMBOL(apple_smc_mfd_probe);
> > > > +
> > > > +void apple_smc_mfd_remove(struct device *dev)
> > > > +{
> > > > +	mfd_remove_devices(dev);
> > > > +}
> > > > +EXPORT_SYMBOL(apple_smc_mfd_remove);
> > > > +
> > > > +MODULE_AUTHOR("Hector Martin <marcan@marcan.st>");
> > > > +MODULE_LICENSE("Dual MIT/GPL");
> > > > +MODULE_DESCRIPTION("Apple SMC MFD core");
> > > 
> > > Conceptually interesting, not seen this one before, but clearly a
> > > hack, no?  Pretty sure all of the other cores in MFD are represented
> > > by a Platform Device.
> > 
> > No one seems to understand what you actually want to see with the
> > smc-core.c part, so I'm trying to find out what code structure
> > would suit you.
> > 
> > It seemed from the thread that moving smc-core.c to drivers/mfd
> > wasn't desirable, but there was the desire to move the mfd bits
> > into there - so that's what I've done with this patch. It doesn't
> > make any sense what so ever to add yet another platform device
> > into this structure with all of the complication around what happens
> > if the user forces it to unbind, so I didn't.
> > 
> > > Why not implement the inverse?
> > 
> > What do you mean "the inverse" ? The inverse of this patch is moving
> > everything of smc-core.c except the MFD bits into drivers/mfd leaving
> > the MFD bits in drivers/platform/apple, which makes no sense.
> > 
> > > The Apple SMC is clearly an MFD, in
> > > Linux terms, so why not move the Platform Device into here, fetch all
> > > of the global resources, register the sub-devices, then call into the
> > > rtkit implementation in drivers/platform? 
> > 
> > I thought you had previously ruled out the idea of moving the contents
> > of drivers/platform/apple into drivers/mfd, but maybe your position on
> > that had changed through the course of the discussion. It's really not
> > obvious to me what you want from what's been said in this thread.
> > 
> > So, I ask the direct question - would moving the code that is in this
> > patch set from drivers/platform/apple to drivers/mfd then make it
> > acceptable to you? In other words:
> > 
> >  drivers/platform/apple/smc_core.c
> >  drivers/platform/apple/smc.h
> >  drivers/platform/apple/smc_rtkit.c
> > 
> > If not, then please clearly and fully state what you want to see.
> 
> Sorry Russell, I'm out of time today.  Please see my recent reply to
> Hector for now and I'll get back to you first thing.

Hi Lee,

Thanks - I look forward to it. Having read your response to Hector, I
am wondering whether there's a misunderstanding of the code, so I'm
hoping that my attempt in my reply helps to clear up any code
misunderstandings.

If you want to ask questions about the code, you know where to find
me on irc, and I'll more than happily answer anything you want to
know about the code structure.

Russell.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-10-31 19:49 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
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) [this message]
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=Y2AmZQtttiGwpvth@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=alyssa@rosenzweig.io \
    --cc=arnd@arndb.de \
    --cc=asahi@lists.linux.dev \
    --cc=brgl@bgdev.pl \
    --cc=lee@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=marcan@marcan.st \
    --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).