[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdahF4uDux1Dh1XSh7nHusyGVD3sNu8TVB8HVu277vGLtg@mail.gmail.com>
Date: Fri, 26 Jul 2024 22:46:40 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Valentin Caron <valentin.caron@...s.st.com>
Cc: Alexandre Belloni <alexandre.belloni@...tlin.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Alexandre Torgue <alexandre.torgue@...s.st.com>, linux-rtc@...r.kernel.org,
devicetree@...r.kernel.org, linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Amelie Delaunay <amelie.delaunay@...s.st.com>
Subject: Re: [PATCH v3 2/4] rtc: stm32: add pinctrl and pinmux interfaces
On Mon, Jul 22, 2024 at 6:02 PM Valentin Caron
<valentin.caron@...s.st.com> wrote:
> STM32 RTC is capable to handle 3 specific pins of the soc.
> "out1, out2 and out2_rmp". To handle this, we use pinctrl framework.
> There is a single pin per group.
>
> Signed-off-by: Valentin Caron <valentin.caron@...s.st.com>
(...)
> +/* STM32 RTC pinctrl helpers */
> +#define STM32_RTC_PINMUX(_name, _action, ...) { \
> + .name = (_name), \
> + .action = (_action), \
> + .groups = ((const char *[]){ __VA_ARGS__ }), \
> + .num_groups = ARRAY_SIZE(((const char *[]){ __VA_ARGS__ })), \
> +}
This is a very clever and clean macro.
We have PINCTRL_PINFUNCTION() in <linux/pinctrl/pinctrl.h> which isn't
smart enough to use VA_ARGS and ARRAY_SIZE.
Now you also need .action but if it wasn't for that I would have asked
for the macro to be made generic.
The implementation is clean and impeccable.
Reviewed-by: Linus Walleij <linus.walleij@...aro.org>
Yours,
Linus Walleij
Powered by blists - more mailing lists