From: James Calligeros <jcalligeros99@gmail.com>
To: Lee Jones <lee@kernel.org>
Cc: Sven Peter <sven@kernel.org>, Janne Grunau <j@jannau.net>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Neal Gompa <neal@gompa.dev>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Jonathan Corbet <corbet@lwn.net>,
asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rtc@vger.kernel.org, linux-hwmon@vger.kernel.org,
linux-input@vger.kernel.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH v5 05/11] mfd: macsmc: Add new __SMC_KEY macro
Date: Fri, 28 Nov 2025 20:36:56 +1000 [thread overview]
Message-ID: <1938104.tdWV9SEqCh@setsuna> (raw)
In-Reply-To: <20251120134445.GC661940@google.com>
On Thursday, 20 November 2025 11:44:45 pm Australian Eastern Standard Time Lee
Jones wrote:
> On Wed, 12 Nov 2025, James Calligeros wrote:
> > When using the _SMC_KEY macro in switch/case statements, GCC 15.2.1 errors
> > out with 'case label does not reduce to an integer constant'. Introduce
> > a new __SMC_KEY macro that can be used instead.
> >
> > Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
> > ---
> >
> > include/linux/mfd/macsmc.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/include/linux/mfd/macsmc.h b/include/linux/mfd/macsmc.h
> > index 6b13f01a8592..f6f80c33b5cf 100644
> > --- a/include/linux/mfd/macsmc.h
> > +++ b/include/linux/mfd/macsmc.h
> > @@ -41,6 +41,7 @@ typedef u32 smc_key;
> >
> > */
> >
> > #define SMC_KEY(s) (smc_key)(_SMC_KEY(#s))
> > #define _SMC_KEY(s) (((s)[0] << 24) | ((s)[1] << 16) | ((s)[2] << 8) |
> > (s)[3])>
> > +#define __SMC_KEY(a, b, c, d) (((u32)(a) << 24) | ((u32)(b) << 16) |
> > ((u32)(c) << 8) | ((u32)(d)))
> Are we expecting users/consumers to be able to tell the difference
> between SMC_KEY and __SMC_KEY (assuming that _SMC_KEY is just an
> internal)?
_SMC_KEY is used in the gpio driver, and I would have used it here too if not
for GCC complaining about it. I wouldn't expect anyone to want to use
__SMC_KEY outside of the specific use case this commit addresses given the
suboptimal ergonomics.
> I have not tested this and it is just off the top of my head, but does
> this work:
>
> #define _SMC_KEY(s) __SMC_KEY((s)[0], (s)[1], (s)[2], (s)[3])
This works fine on a smattering of M1 and M2 series machines. I can submit a
v6 with this and the hwmon driver dropped if need be.
Regards,
James
next prev parent reply other threads:[~2025-11-28 10:37 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-12 11:16 [PATCH v5 00/11] mfd: macsmc: add rtc, hwmon and hid subdevices James Calligeros
2025-11-12 11:16 ` [PATCH v5 01/11] dt-bindings: rtc: Add Apple SMC RTC James Calligeros
2025-11-12 11:16 ` [PATCH v5 02/11] dt-bindings: hwmon: Add Apple System Management Controller hwmon schema James Calligeros
2026-05-25 13:33 ` Guenter Roeck
2025-11-12 11:16 ` [PATCH v5 03/11] rtc: Add new rtc-macsmc driver for Apple Silicon Macs James Calligeros
2025-11-12 11:16 ` [PATCH v5 04/11] mfd: macsmc: Wire up Apple SMC RTC subdevice James Calligeros
2025-11-12 11:16 ` [PATCH v5 05/11] mfd: macsmc: Add new __SMC_KEY macro James Calligeros
2025-11-20 13:44 ` Lee Jones
2025-11-28 10:36 ` James Calligeros [this message]
2025-11-12 11:16 ` [PATCH v5 06/11] hwmon: Add Apple Silicon SMC hwmon driver James Calligeros
2025-11-17 19:00 ` Guenter Roeck
2025-11-28 8:10 ` Dan Carpenter
2025-11-12 11:16 ` [PATCH v5 07/11] mfd: macsmc: Wire up Apple SMC hwmon subdevice James Calligeros
2025-11-12 11:16 ` [PATCH v5 08/11] input: macsmc-input: New driver to handle the Apple Mac SMC buttons/lid James Calligeros
2025-12-22 13:50 ` Nick Chan
2025-11-12 11:16 ` [PATCH v5 09/11] mfd: macsmc: Wire up Apple SMC input subdevice James Calligeros
2025-11-12 11:16 ` [PATCH v5 10/11] arm64: dts: apple: t8103,t60xx,t8112: Add SMC RTC node James Calligeros
2025-11-12 11:16 ` [PATCH v5 11/11] arm64: dts: apple: t8103, t8112, t60xx: Add hwmon SMC subdevice James Calligeros
2025-11-20 13:47 ` [PATCH v5 00/11] mfd: macsmc: add rtc, hwmon and hid subdevices Lee Jones
2025-12-08 22:09 ` (subset) " Alexandre Belloni
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=1938104.tdWV9SEqCh@setsuna \
--to=jcalligeros99@gmail.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alyssa@rosenzweig.io \
--cc=asahi@lists.linux.dev \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=j@jannau.net \
--cc=jdelvare@suse.com \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=neal@gompa.dev \
--cc=robh@kernel.org \
--cc=sven@kernel.org \
/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.