Re: [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver

From: Shenwei Wang

Date: Fri Feb 20 2026 - 12:10:06 EST




> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Friday, February 20, 2026 10:19 AM
> To: Shenwei Wang <shenwei.wang@xxxxxxx>
> Cc: Arnaud POULIQUEN <arnaud.pouliquen@xxxxxxxxxxx>; Linus Walleij
> <linusw@xxxxxxxxxx>; Bartosz Golaszewski <brgl@xxxxxxxxxx>; Jonathan Corbet
> <corbet@xxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Bjorn Andersson
> <andersson@xxxxxxxxxx>; Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>; Frank Li
> <frank.li@xxxxxxx>; Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>; Shuah Khan
> <skhan@xxxxxxxxxxxxxxxxxxx>; linux-gpio@xxxxxxxxxxxxxxx; linux-
> doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Pengutronix Kernel Team
> <kernel@xxxxxxxxxxxxxx>; Fabio Estevam <festevam@xxxxxxxxx>; Peng Fan
> <peng.fan@xxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-
> remoteproc@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; Bartosz
> Golaszewski <brgl@xxxxxxxx>
> Subject: [EXT] Re: [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
> > Example: 32‑bit ARM vs 64‑bit ARM (AArch32 vs AArch64) Consider this
> > message header:
> > struct msg_hdr {
> > u8 id;
> > u32 size;
> > u8 flags;
> > };
>
> That is just a bad design. The point of not allowing __packed is that it forces you
> to design your structures correctly. Maybe AI has no idea of taste, but Maintainer
> do and would not allow a u32 to be unaligned like this.
>

Let’s keep the discussion technical instead of taste. 😊

My point with the earlier example was simply to illustrate how layout differences can
happen across architectures or compilers. I’m more interested in understanding how
you would prefer this specific structure to be defined so that it avoids unaligned fields
while still maintaining a stable on‑wire format.

For the rpmsg‑gpio driver specifically, I can drop the __packed annotation if that is the
consensus, since the known configurations work without requiring it.

Thanks,
Shenwei

> Andrew