All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>, Lee Jones <lee@kernel.org>,
	 Linus Walleij <linus.walleij@linaro.org>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	asahi@lists.linux.dev,  Bartosz Golaszewski <brgl@bgdev.pl>,
	Hector Martin <marcan@marcan.st>,
	 linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	 "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	Sven Peter <sven@svenpeter.dev>
Subject: Re: [PATCH 5/6] gpio: Add new gpio-macsmc driver for Apple Macs
Date: Fri, 2 Sep 2022 13:37:14 +0300	[thread overview]
Message-ID: <CAHp75VeO3gxypRTUc9Subvh+NZ7X4_RR=eFUZpPNwBeWk+_ipg@mail.gmail.com> (raw)
In-Reply-To: <YxHVdjYPlIINZ/Wc@shell.armlinux.org.uk>

On Fri, Sep 2, 2022 at 1:05 PM Russell King (Oracle)
<linux@armlinux.org.uk> wrote:
> On Thu, Sep 01, 2022 at 09:55:23PM +0300, Andy Shevchenko wrote:

...

> > > +static int macsmc_gpio_nr(smc_key key)
> > > +{
> > > +       int low = hex_to_bin(key & 0xff);
> > > +       int high = hex_to_bin((key >> 8) & 0xff);
> > > +
> > > +       if (low < 0 || high < 0)
> > > +               return -1;
> > > +
> > > +       return low | (high << 4);
> > > +}
> >
> > NIH hex2bin().
>
> Is using hex2bin really better?

Yes.

> static int macsmc_gpio_nr(smc_key key)
> {
>         char k[2];
>         u8 result;
>         int ret;
>
>         k[0] = key;
>         k[1] = key >> 8;
>
>         ret = hex2bin(&result, k, 2);
>         if (ret < 0)
>                 return ret;
>
>         return result;
> }
>
> This looks to me like it consumes more CPU cycles - because we have to
> write each "character" to the stack, then call a function, only to then
> call the hex_to_bin() function. One can't just pass "key" into hex2bin
> because that will bring with it endian issues.

With one detail missed, why do you need all that if you can use
byteorder helpers()? What's the stack? Just replace this entire
function with the respectful calls to hex2bin().

...

> > > +static int macsmc_gpio_key(unsigned int offset)
> > > +{
> > > +       return _SMC_KEY("gP\0\0") | (hex_asc_hi(offset) << 8) | hex_asc_lo(offset);
> > > +}
> >
> > NIH hex_byte_pack().
>
> This would become:
>
>         char buf[2];
>
>         hex_byte_pack(buf, offset);
>
>         return _SMC_KEY("gP\0\0") | buf[0] << 8 | buf[1];

You have a point here.

> to avoid the endian issues. It just seems to be a more complex way to
> do the conversion. One could then argue that this is just a NIH
> sprintf(), so it could then be written:

No, no. snprintf() is too much here.

> which looks nicer, but involves a lot more code.
>
> Since this is called for every GPIO operation, and you were worred above
> about the layout of the macsmc_gpio structure (which is a micro-
> optimisation), it seems weird to be concerned about the efficiency of
> the structure layout and then suggest less efficient code in each of the
> functional paths of the driver. There seems to be a contradiction.

...

> > > +       /* First try reading the explicit pin mode register */
> > > +       ret = apple_smc_rw_u32(smcgp->smc, key, CMD_PINMODE, &val);
> > > +       if (!ret)
> > > +               return (val & MODE_OUTPUT) ? GPIO_LINE_DIRECTION_OUT : GPIO_LINE_DIRECTION_IN;
> > > +
> > > +       /*
> > > +        * Less common IRQ configs cause CMD_PINMODE to fail, and so does open drain mode.
> > > +        * Fall back to reading IRQ mode, which will only succeed for inputs.
> > > +        */
> > > +       ret = apple_smc_rw_u32(smcgp->smc, key, CMD_IRQ_MODE, &val);
> > > +       return (!ret) ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT;
> >
> > What is the meaning of val in this case?
>
> Reading the comment, it seems that "val" is irrelevant. I'm not sure that
> needs explaining given there's a comment that's already explaining what
> is going on here.

OK.
Just convert then (!ret) --> ret.

...

> > > +       if (ret == GPIO_LINE_DIRECTION_OUT)
> > > +               ret = apple_smc_rw_u32(smcgp->smc, key, CMD_OUTPUT, &val);
> > > +       else
> > > +               ret = apple_smc_rw_u32(smcgp->smc, key, CMD_INPUT, &val);
> >
> > > +
> >
> > Unnecessary blank line.
>
> I think that's personal style preference, it isn't mentioned in the coding
> style. However, the following is much nicer and likely produces better
> code:
>
>         if (ret == GPIO_LINE_DIRECTION_OUT)
>                 cmd = CMD_OUTPUT;
>         else
>                 cmd = CMD_INPUT;
>
>         ret = apple_smc_rw_u32(smcgp->smc, key, cmd, &val);
>         if (ret < 0)
>                 return ret;

Go for it!

...

> > > +       if (count > MAX_GPIO)
> > > +               count = MAX_GPIO;
> >
> > Hmm... When can it be the case?
>
> That's a question for the Asahi folk - it's not obvious whether it could
> or could not be from the code. I think it depends on firmware.

If it's the case, why does the code not support higher GPIOs? Needs at
least a comment.

...

> > > +       bitmap_zero(valid_mask, ngpios);
> > > +
> > > +       for (i = 0; i < count; i++) {
> > > +               smc_key key;
> > > +               int gpio_nr;
> >
> > > +               int ret = apple_smc_get_key_by_index(smcgp->smc, smcgp->first_index + i, &key);
> >
> > Ditto.
>
> What does "ditto" here mean, because I don't think you mean "Hmm...
> When can it be the case?" and "I would split this assignment and move
> it closer to the first user." doesn't seem to be relevant either.

Split

  int ret = foo();

to

    int ret;
    ret = foo();

...

> > > +       pdev->dev.of_node = of_get_child_by_name(pdev->dev.parent->of_node, "gpio");
> >
> > Can we use fwnode APIs instead?
> > Or do you really need this?
>
> Ouch, that's not nice. I can change this to:

(Some background on why my eye caught this. We as GPIO SIG in the
kernel want to move the library to be fwnode one without looking into
the underneath property provider. This kind of lines makes driver look
a bit ugly from that perspective)

>         fwnode = device_get_named_child_node(pdev->dev.parent, "gpio");
>         device_set_node(&pdev->dev, fwnode);
>
> but even that isn't _that_ nice. I'd like to hear comments from the Asahi
> folk about whether these sub-blocks of the SMC can have compatibles, so
> that the MFD layer can automatically fill in the firmware nodes on the
> struct device before the probe function gets called.

> If not, then I think it would be reasonable to have a discussion with
> Lee about extending MFD to be able to have mfd cells name a child, so
> that MFD can do the above instead of having it littered amongst drivers.

MFD cells can be matched by compatible strings.

-- 
With Best Regards,
Andy Shevchenko

WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>, Lee Jones <lee@kernel.org>,
	 Linus Walleij <linus.walleij@linaro.org>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	asahi@lists.linux.dev,  Bartosz Golaszewski <brgl@bgdev.pl>,
	Hector Martin <marcan@marcan.st>,
	 linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
	 "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	Sven Peter <sven@svenpeter.dev>
Subject: Re: [PATCH 5/6] gpio: Add new gpio-macsmc driver for Apple Macs
Date: Fri, 2 Sep 2022 13:37:14 +0300	[thread overview]
Message-ID: <CAHp75VeO3gxypRTUc9Subvh+NZ7X4_RR=eFUZpPNwBeWk+_ipg@mail.gmail.com> (raw)
In-Reply-To: <YxHVdjYPlIINZ/Wc@shell.armlinux.org.uk>

On Fri, Sep 2, 2022 at 1:05 PM Russell King (Oracle)
<linux@armlinux.org.uk> wrote:
> On Thu, Sep 01, 2022 at 09:55:23PM +0300, Andy Shevchenko wrote:

...

> > > +static int macsmc_gpio_nr(smc_key key)
> > > +{
> > > +       int low = hex_to_bin(key & 0xff);
> > > +       int high = hex_to_bin((key >> 8) & 0xff);
> > > +
> > > +       if (low < 0 || high < 0)
> > > +               return -1;
> > > +
> > > +       return low | (high << 4);
> > > +}
> >
> > NIH hex2bin().
>
> Is using hex2bin really better?

Yes.

> static int macsmc_gpio_nr(smc_key key)
> {
>         char k[2];
>         u8 result;
>         int ret;
>
>         k[0] = key;
>         k[1] = key >> 8;
>
>         ret = hex2bin(&result, k, 2);
>         if (ret < 0)
>                 return ret;
>
>         return result;
> }
>
> This looks to me like it consumes more CPU cycles - because we have to
> write each "character" to the stack, then call a function, only to then
> call the hex_to_bin() function. One can't just pass "key" into hex2bin
> because that will bring with it endian issues.

With one detail missed, why do you need all that if you can use
byteorder helpers()? What's the stack? Just replace this entire
function with the respectful calls to hex2bin().

...

> > > +static int macsmc_gpio_key(unsigned int offset)
> > > +{
> > > +       return _SMC_KEY("gP\0\0") | (hex_asc_hi(offset) << 8) | hex_asc_lo(offset);
> > > +}
> >
> > NIH hex_byte_pack().
>
> This would become:
>
>         char buf[2];
>
>         hex_byte_pack(buf, offset);
>
>         return _SMC_KEY("gP\0\0") | buf[0] << 8 | buf[1];

You have a point here.

> to avoid the endian issues. It just seems to be a more complex way to
> do the conversion. One could then argue that this is just a NIH
> sprintf(), so it could then be written:

No, no. snprintf() is too much here.

> which looks nicer, but involves a lot more code.
>
> Since this is called for every GPIO operation, and you were worred above
> about the layout of the macsmc_gpio structure (which is a micro-
> optimisation), it seems weird to be concerned about the efficiency of
> the structure layout and then suggest less efficient code in each of the
> functional paths of the driver. There seems to be a contradiction.

...

> > > +       /* First try reading the explicit pin mode register */
> > > +       ret = apple_smc_rw_u32(smcgp->smc, key, CMD_PINMODE, &val);
> > > +       if (!ret)
> > > +               return (val & MODE_OUTPUT) ? GPIO_LINE_DIRECTION_OUT : GPIO_LINE_DIRECTION_IN;
> > > +
> > > +       /*
> > > +        * Less common IRQ configs cause CMD_PINMODE to fail, and so does open drain mode.
> > > +        * Fall back to reading IRQ mode, which will only succeed for inputs.
> > > +        */
> > > +       ret = apple_smc_rw_u32(smcgp->smc, key, CMD_IRQ_MODE, &val);
> > > +       return (!ret) ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT;
> >
> > What is the meaning of val in this case?
>
> Reading the comment, it seems that "val" is irrelevant. I'm not sure that
> needs explaining given there's a comment that's already explaining what
> is going on here.

OK.
Just convert then (!ret) --> ret.

...

> > > +       if (ret == GPIO_LINE_DIRECTION_OUT)
> > > +               ret = apple_smc_rw_u32(smcgp->smc, key, CMD_OUTPUT, &val);
> > > +       else
> > > +               ret = apple_smc_rw_u32(smcgp->smc, key, CMD_INPUT, &val);
> >
> > > +
> >
> > Unnecessary blank line.
>
> I think that's personal style preference, it isn't mentioned in the coding
> style. However, the following is much nicer and likely produces better
> code:
>
>         if (ret == GPIO_LINE_DIRECTION_OUT)
>                 cmd = CMD_OUTPUT;
>         else
>                 cmd = CMD_INPUT;
>
>         ret = apple_smc_rw_u32(smcgp->smc, key, cmd, &val);
>         if (ret < 0)
>                 return ret;

Go for it!

...

> > > +       if (count > MAX_GPIO)
> > > +               count = MAX_GPIO;
> >
> > Hmm... When can it be the case?
>
> That's a question for the Asahi folk - it's not obvious whether it could
> or could not be from the code. I think it depends on firmware.

If it's the case, why does the code not support higher GPIOs? Needs at
least a comment.

...

> > > +       bitmap_zero(valid_mask, ngpios);
> > > +
> > > +       for (i = 0; i < count; i++) {
> > > +               smc_key key;
> > > +               int gpio_nr;
> >
> > > +               int ret = apple_smc_get_key_by_index(smcgp->smc, smcgp->first_index + i, &key);
> >
> > Ditto.
>
> What does "ditto" here mean, because I don't think you mean "Hmm...
> When can it be the case?" and "I would split this assignment and move
> it closer to the first user." doesn't seem to be relevant either.

Split

  int ret = foo();

to

    int ret;
    ret = foo();

...

> > > +       pdev->dev.of_node = of_get_child_by_name(pdev->dev.parent->of_node, "gpio");
> >
> > Can we use fwnode APIs instead?
> > Or do you really need this?
>
> Ouch, that's not nice. I can change this to:

(Some background on why my eye caught this. We as GPIO SIG in the
kernel want to move the library to be fwnode one without looking into
the underneath property provider. This kind of lines makes driver look
a bit ugly from that perspective)

>         fwnode = device_get_named_child_node(pdev->dev.parent, "gpio");
>         device_set_node(&pdev->dev, fwnode);
>
> but even that isn't _that_ nice. I'd like to hear comments from the Asahi
> folk about whether these sub-blocks of the SMC can have compatibles, so
> that the MFD layer can automatically fill in the firmware nodes on the
> struct device before the probe function gets called.

> If not, then I think it would be reasonable to have a discussion with
> Lee about extending MFD to be able to have mfd cells name a child, so
> that MFD can do the above instead of having it littered amongst drivers.

MFD cells can be matched by compatible strings.

-- 
With Best Regards,
Andy Shevchenko

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

  reply	other threads:[~2022-09-02 10:37 UTC|newest]

Thread overview: 342+ 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 ` 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 13:54   ` Russell King (Oracle)
2022-09-01 15:06   ` Krzysztof Kozlowski
2022-09-01 15:06     ` Krzysztof Kozlowski
2022-09-01 15:12     ` Russell King (Oracle)
2022-09-01 15:12       ` Russell King (Oracle)
2022-09-01 15:15       ` Krzysztof Kozlowski
2022-09-01 15:15         ` Krzysztof Kozlowski
2022-09-01 15:24         ` Russell King (Oracle)
2022-09-01 15:24           ` Russell King (Oracle)
2022-09-01 15:45           ` Krzysztof Kozlowski
2022-09-01 15:45             ` Krzysztof Kozlowski
2022-09-01 15:56             ` Russell King (Oracle)
2022-09-01 15:56               ` Russell King (Oracle)
2022-09-01 16:25               ` Krzysztof Kozlowski
2022-09-01 16:25                 ` Krzysztof Kozlowski
2022-09-01 16:47                 ` Russell King (Oracle)
2022-09-01 16:47                   ` Russell King (Oracle)
2022-09-01 22:33                   ` Rob Herring
2022-09-01 22:33                     ` Rob Herring
2022-09-02 15:06                     ` Mark Kettenis
2022-09-02 15:06                       ` Mark Kettenis
2022-09-02 17:28                       ` Rob Herring
2022-09-02 17:28                         ` Rob Herring
2022-09-05 10:24                         ` Russell King (Oracle)
2022-09-05 10:24                           ` Russell King (Oracle)
2022-09-06  9:04                         ` Russell King (Oracle)
2022-09-06  9:04                           ` Russell King (Oracle)
2022-09-06  9:31                           ` Mark Kettenis
2022-09-06  9:31                             ` Mark Kettenis
2022-09-06 11:22                             ` Linus Walleij
2022-09-06 11:22                               ` Linus Walleij
2022-09-06 11:36                               ` Hector Martin
2022-09-06 11:36                                 ` Hector Martin
2022-09-06 11:57                                 ` Linus Walleij
2022-09-06 11:57                                   ` Linus Walleij
2022-09-06 13:28                                   ` Hector Martin
2022-09-06 13:28                                     ` Hector Martin
2022-09-06 13:43                                     ` Russell King (Oracle)
2022-09-06 13:43                                       ` Russell King (Oracle)
2022-09-06 13:53                                       ` Hector Martin
2022-09-06 13:53                                         ` Hector Martin
2022-09-06 14:25                                         ` Mark Kettenis
2022-09-06 14:25                                           ` Mark Kettenis
2022-09-06 14:54                                           ` Russell King (Oracle)
2022-09-06 14:54                                             ` Russell King (Oracle)
2022-09-06 15:38                                             ` Mark Kettenis
2022-09-06 15:38                                               ` Mark Kettenis
2022-09-06 15:55                                             ` Rob Herring
2022-09-06 15:55                                               ` Rob Herring
2022-09-06 13:46                                     ` Linus Walleij
2022-09-06 13:46                                       ` Linus Walleij
2022-09-06 15:34                                 ` Rob Herring
2022-09-06 15:34                                   ` Rob Herring
2022-09-06 16:10                           ` Rob Herring
2022-09-06 16:10                             ` Rob Herring
2022-09-06 17:00                             ` Hector Martin
2022-09-06 17:00                               ` Hector Martin
2022-09-06 17:35                               ` Rob Herring
2022-09-06 17:35                                 ` Rob Herring
2022-09-06 17:40                                 ` Sven Peter
2022-09-06 17:40                                   ` Sven Peter
2022-09-06 18:38                                 ` Hector Martin
2022-09-06 18:38                                   ` Hector Martin
2022-09-07  9:39                                   ` Mark Kettenis
2022-09-07  9:39                                     ` Mark Kettenis
2022-09-01 22:26               ` Rob Herring
2022-09-01 22:26                 ` Rob Herring
2022-09-02 14:49                 ` Mark Kettenis
2022-09-02 14:49                   ` Mark Kettenis
2022-09-02 17:04                   ` Rob Herring
2022-09-02 17:04                     ` Rob Herring
2022-09-01 19:14   ` 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 13:54   ` Russell King (Oracle)
2022-09-01 15:11   ` Krzysztof Kozlowski
2022-09-01 15:11     ` Krzysztof Kozlowski
2022-09-01 15:14     ` Russell King (Oracle)
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 13:54   ` Russell King
2022-09-01 17:00   ` Sven Peter
2022-09-01 17:00     ` Sven Peter
2022-09-01 17:25   ` Eric Curtin
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 13:54   ` Russell King
2022-09-01 17:50   ` Sven Peter
2022-09-01 17:50     ` Sven Peter
2022-09-05 10:55     ` Russell King (Oracle)
2022-09-05 10:55       ` Russell King (Oracle)
2022-09-05 16:53       ` Hector Martin
2022-09-05 16:53         ` Hector Martin
2022-09-01 19:26   ` Andy Shevchenko
2022-09-01 19:26     ` Andy Shevchenko
2022-09-02  6:45     ` Sven Peter
2022-09-02  6:45       ` Sven Peter
2022-09-05 14:45     ` Hector Martin
2022-09-05 14:45       ` Hector Martin
2022-09-05 15:00       ` Andy Shevchenko
2022-09-05 15:00         ` Andy Shevchenko
2022-09-08 10:58   ` Lee Jones
2022-09-08 10:58     ` Lee Jones
2022-09-08 11:28     ` Hector Martin
2022-09-08 11:28       ` Hector Martin
2022-09-08 12:31       ` Lee Jones
2022-09-08 12:31         ` Lee Jones
2022-09-08 12:58         ` Hector Martin
2022-09-08 12:58           ` Hector Martin
2022-09-08 13:29           ` Linus Walleij
2022-09-08 13:29             ` Linus Walleij
2022-09-08 13:36           ` Lee Jones
2022-09-08 13:36             ` Lee Jones
2022-09-08 13:58             ` Hector Martin
2022-09-08 13:58               ` Hector Martin
2022-09-09  7:50               ` Lee Jones
2022-09-09  7:50                 ` Lee Jones
2022-09-12 10:03                 ` Russell King (Oracle)
2022-09-12 10:03                   ` Russell King (Oracle)
2022-09-12 10:55                   ` Lee Jones
2022-09-12 10:55                     ` Lee Jones
2022-10-28 15:36                     ` Russell King (Oracle)
2022-10-28 15:36                       ` Russell King (Oracle)
2022-10-31  8:46                       ` Lee Jones
2022-10-31  8:46                         ` Lee Jones
2022-10-31  9:03                         ` Hector Martin
2022-10-31  9:03                           ` Hector Martin
2022-10-31  9:44                         ` Russell King (Oracle)
2022-10-31  9:44                           ` Russell King (Oracle)
2022-10-31 17:24                           ` Lee Jones
2022-10-31 17:24                             ` Lee Jones
2022-10-31 19:47                             ` Russell King (Oracle)
2022-10-31 19:47                               ` Russell King (Oracle)
2022-11-01  9:59                               ` Lee Jones
2022-11-01  9:59                                 ` Lee Jones
2022-10-29  6:40                 ` Hector Martin
2022-10-29  6:40                   ` Hector Martin
2022-10-31  8:48                   ` Lee Jones
2022-10-31  8:48                     ` Lee Jones
2022-10-31  8:58                     ` Hector Martin
2022-10-31  8:58                       ` Hector Martin
2022-10-31  9:29                       ` Lee Jones
2022-10-31  9:29                         ` Lee Jones
2022-10-31  9:44                         ` Hector Martin
2022-10-31  9:44                           ` Hector Martin
2022-10-31 17:23                           ` Lee Jones
2022-10-31 17:23                             ` Lee Jones
2022-10-31 19:34                             ` Russell King (Oracle)
2022-10-31 19:34                               ` Russell King (Oracle)
2022-11-02 13:12                               ` Lee Jones
2022-11-02 13:12                                 ` Lee Jones
2022-11-02 15:54                                 ` Russell King (Oracle)
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 13:54   ` Russell King
2022-09-01 18:55   ` Andy Shevchenko
2022-09-01 18:55     ` Andy Shevchenko
2022-09-01 21:51     ` Martin Povišer
2022-09-01 21:51       ` Martin Povišer
2022-09-02  6:31       ` Andy Shevchenko
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 11:12               ` Martin Povišer
2022-09-02 13:33               ` Andy Shevchenko
2022-09-02 13:33                 ` Andy Shevchenko
2022-09-02 13:36                 ` Andy Shevchenko
2022-09-02 13:36                   ` Andy Shevchenko
2022-09-02 13:37                 ` Martin Povišer
2022-09-02 13:37                   ` Martin Povišer
2022-09-02 14:41                   ` Andy Shevchenko
2022-09-02 14:41                     ` Andy Shevchenko
2022-09-02 14:45                   ` Russell King (Oracle)
2022-09-02 14:45                     ` Russell King (Oracle)
2022-09-02 10:05     ` Russell King (Oracle)
2022-09-02 10:05       ` Russell King (Oracle)
2022-09-02 10:37       ` Andy Shevchenko [this message]
2022-09-02 10:37         ` Andy Shevchenko
2022-09-02 11:32         ` Russell King (Oracle)
2022-09-02 11:32           ` Russell King (Oracle)
2022-09-02 13:39           ` Andy Shevchenko
2022-09-02 13:39             ` Andy Shevchenko
2022-09-02 14:46             ` Russell King (Oracle)
2022-09-02 14:46               ` Russell King (Oracle)
2022-09-02 14:53               ` Andy Shevchenko
2022-09-02 14:53                 ` Andy Shevchenko
2022-09-02 15:34                 ` Russell King (Oracle)
2022-09-02 15:34                   ` Russell King (Oracle)
2022-09-02 15:43                   ` Andy Shevchenko
2022-09-02 15:43                     ` Andy Shevchenko
2022-09-05 10:20                     ` Russell King (Oracle)
2022-09-05 10:20                       ` Russell King (Oracle)
2022-09-05 10:32                       ` Andy Shevchenko
2022-09-05 10:32                         ` Andy Shevchenko
2022-09-05 13:10                         ` Russell King (Oracle)
2022-09-05 13:10                           ` Russell King (Oracle)
2022-09-05 13:16                           ` Andy Shevchenko
2022-09-05 13:16                             ` Andy Shevchenko
2022-09-05 14:01                             ` Russell King (Oracle)
2022-09-05 14:01                               ` Russell King (Oracle)
2022-09-05 14:02                               ` Russell King (Oracle)
2022-09-05 14:02                                 ` Russell King (Oracle)
2022-09-05 14:42                                 ` Andy Shevchenko
2022-09-05 14:42                                   ` Andy Shevchenko
2022-09-05 14:53                                   ` Russell King (Oracle)
2022-09-05 14:53                                     ` Russell King (Oracle)
2022-09-05 14:50                               ` Andy Shevchenko
2022-09-05 14:50                                 ` Andy Shevchenko
2022-09-05 15:52                               ` Hector Martin
2022-09-05 15:52                                 ` Hector Martin
2022-09-05 15:56                                 ` Russell King (Oracle)
2022-09-05 15:56                                   ` Russell King (Oracle)
2022-09-05 15:32                             ` Russell King (Oracle)
2022-09-05 15:32                               ` Russell King (Oracle)
2022-09-05 15:44                               ` Martin Povišer
2022-09-05 15:44                                 ` Martin Povišer
2022-09-05 15:58                                 ` Hector Martin
2022-09-05 15:58                                   ` Hector Martin
2022-09-05 16:13                                   ` Russell King (Oracle)
2022-09-05 16:13                                     ` Russell King (Oracle)
2022-09-05 19:10                                     ` Linus Walleij
2022-09-05 19:10                                       ` Linus Walleij
2022-09-06  6:51                                       ` Hector Martin
2022-09-06  6:51                                         ` Hector Martin
2022-09-05 15:47                             ` Hector Martin
2022-09-05 15:47                               ` Hector Martin
2022-09-05 15:39                       ` Hector Martin
2022-09-05 15:39                         ` Hector Martin
2022-09-05 15:16       ` Hector Martin
2022-09-05 15:16         ` Hector Martin
2022-09-05 15:04     ` Hector Martin
2022-09-05 15:04       ` Hector Martin
2022-09-02  9:42   ` Linus Walleij
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 13:54   ` Russell King
2022-09-01 18:03   ` Andy Shevchenko
2022-09-01 18:03     ` Andy Shevchenko
2022-09-05 11:54     ` Russell King (Oracle)
2022-09-05 11:54       ` Russell King (Oracle)
     [not found]       ` <CAHp75VeDGCp8J6wnmCqGpV++vs2Zur9Mfp71Dk8dVXcuHFnCrQ@mail.gmail.com>
2022-09-05 13:21         ` Andy Shevchenko
2022-09-05 13:21           ` Andy Shevchenko
2022-09-02 13:21   ` Linus Walleij
2022-09-02 13:21     ` Linus Walleij
2022-09-05 12:47     ` Russell King (Oracle)
2022-09-05 12:47       ` Russell King (Oracle)
2022-09-05 13:19       ` Fwd: " Andy Shevchenko
2022-09-05 13:19         ` Andy Shevchenko
2022-09-05 21:43         ` Russell King (Oracle)
2022-09-05 21:43           ` Russell King (Oracle)
2022-09-05 13:27       ` Linus Walleij
2022-09-05 13:27         ` Linus Walleij
2022-09-06  7:00     ` Hector Martin
2022-09-06  7:00       ` Hector Martin
2022-09-06  7:47       ` Russell King (Oracle)
2022-09-06  7:47         ` Russell King (Oracle)
2022-09-06  8:00         ` Hector Martin
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-09-01 15:12   ` Krzysztof Kozlowski
2022-10-27 15:35 ` Russell King (Oracle)
2022-10-27 15:35   ` Russell King (Oracle)
2022-11-08 16:32 ` [PATCH v3 0/7] " Russell King (Oracle)
2022-11-08 16:32   ` Russell King (Oracle)
2022-11-08 16:33   ` [PATCH v3 1/7] mfd: Add core Apple Mac SMC driver Russell King
2022-11-08 16:33     ` Russell King
2022-11-14  9:52     ` Lee Jones
2022-11-14  9:52       ` Lee Jones
2022-11-14 10:35     ` Andy Shevchenko
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-08 16:33     ` Russell King
2022-11-14 15:34     ` Petr Mladek
2022-11-14 15:34       ` Petr Mladek
2022-11-14 15:46       ` Andy Shevchenko
2022-11-14 15:46         ` Andy Shevchenko
2022-11-14 16:18         ` Petr Mladek
2022-11-14 16:18           ` Petr Mladek
2022-11-14 16:15       ` Russell King (Oracle)
2022-11-14 16:15         ` Russell King (Oracle)
2022-11-14 16:46         ` Russell King (Oracle)
2022-11-14 16:46           ` Russell King (Oracle)
2022-11-22 12:43         ` Petr Mladek
2022-11-22 12:43           ` Petr Mladek
2022-11-22 14:49     ` 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 16:33     ` Russell King (Oracle)
2022-11-08 20:42     ` Linus Walleij
2022-11-08 20:42       ` Linus Walleij
2022-11-08 20:55     ` Krzysztof Kozlowski
2022-11-08 20:55       ` Krzysztof Kozlowski
2022-11-08 22:22       ` Russell King (Oracle)
2022-11-08 22:22         ` Russell King (Oracle)
2022-11-09  8:35         ` Krzysztof Kozlowski
2022-11-09  8:35           ` Krzysztof Kozlowski
2022-11-09 22:17         ` Rob Herring
2022-11-09 22:17           ` Rob Herring
2022-11-10 11:35           ` Hector Martin
2022-11-10 11:35             ` Hector Martin
2022-11-10 11:48           ` Russell King (Oracle)
2022-11-10 11:48             ` Russell King (Oracle)
2022-11-10 14:00             ` Krzysztof Kozlowski
2022-11-10 14:00               ` Krzysztof Kozlowski
2022-11-10 14:14               ` Russell King (Oracle)
2022-11-10 14:14                 ` Russell King (Oracle)
2022-11-10 14:21                 ` Krzysztof Kozlowski
2022-11-10 14:21                   ` Krzysztof Kozlowski
2022-11-10 14:23                   ` Russell King (Oracle)
2022-11-10 14:23                     ` Russell King (Oracle)
2022-11-10 14:36                     ` Krzysztof Kozlowski
2022-11-10 14:36                       ` Krzysztof Kozlowski
2022-11-10 14:43                       ` Russell King (Oracle)
2022-11-10 14:43                         ` Russell King (Oracle)
2022-11-14 10:05           ` Lee Jones
2022-11-14 10:05             ` Lee Jones
2022-11-08 22:30     ` Rob Herring
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     ` 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     ` 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 16:33     ` Russell King (Oracle)
2022-11-08 20:56     ` Krzysztof Kozlowski
2022-11-08 20:56       ` Krzysztof Kozlowski
2022-11-08 22:09       ` Russell King (Oracle)
2022-11-08 22:09         ` Russell King (Oracle)
2022-11-09  7:31         ` Hector Martin
2022-11-09  7:31           ` Hector Martin
2022-11-09  8:36         ` Krzysztof Kozlowski
2022-11-09  8:36           ` Krzysztof Kozlowski
2022-11-09  9:12           ` Russell King (Oracle)
2022-11-09  9:12             ` Russell King (Oracle)
2022-11-09  9:19             ` Krzysztof Kozlowski
2022-11-09  9:19               ` Krzysztof Kozlowski
2022-11-08 22:30     ` Rob Herring
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
2022-11-08 16:33     ` 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='CAHp75VeO3gxypRTUc9Subvh+NZ7X4_RR=eFUZpPNwBeWk+_ipg@mail.gmail.com' \
    --to=andy.shevchenko@gmail.com \
    --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=linux@armlinux.org.uk \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.