[PATCH v13 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
Shenwei Wang
shenwei.wang at nxp.com
Tue Apr 28 08:24:59 PDT 2026
> -----Original Message-----
> From: Andrew Lunn <andrew at lunn.ch>
> Sent: Monday, April 27, 2026 3:49 PM
> To: Shenwei Wang <shenwei.wang at nxp.com>
> Cc: Padhi, Beleswar <b-padhi at ti.com>; Linus Walleij <linusw at kernel.org>;
> Bartosz Golaszewski <brgl at kernel.org>; Jonathan Corbet <corbet at lwn.net>;
> Rob Herring <robh at kernel.org>; Krzysztof Kozlowski <krzk+dt at kernel.org>;
> Conor Dooley <conor+dt at kernel.org>; Bjorn Andersson
> <andersson at kernel.org>; Mathieu Poirier <mathieu.poirier at linaro.org>; Frank Li
> <frank.li at nxp.com>; Sascha Hauer <s.hauer at pengutronix.de>; Shuah Khan
> <skhan at linuxfoundation.org>; linux-gpio at vger.kernel.org; linux-
> doc at vger.kernel.org; linux-kernel at vger.kernel.org; Pengutronix Kernel Team
> <kernel at pengutronix.de>; Fabio Estevam <festevam at gmail.com>; Peng Fan
> <peng.fan at nxp.com>; devicetree at vger.kernel.org; linux-
> remoteproc at vger.kernel.org; imx at lists.linux.dev; linux-arm-
> kernel at lists.infradead.org; dl-linux-imx <linux-imx at nxp.com>; Bartosz
> Golaszewski <brgl at bgdev.pl>
> Subject: [EXT] Re: [PATCH v13 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
> > > struct virtio_gpio_response {
> > > __u8 status;
> > > __u8 value;
> > > };
>
> > It is the same message format. Please see the message definition
> (GET_DIRECTION) below:
>
> > + +-----+-----+-----+-----+-----+----+
> > + |0x00 |0x01 |0x02 |0x03 |0x04 |0x05|
> > + | 1 | 2 |port |line | err | dir|
> > + +-----+-----+-----+-----+-----+----+
>
> Sorry, but i don't see how two u8 vs six u8 are the same message format.
>
Some changes to the message format are necessary.
Virtio uses two communication channels (virtqueues): one for requests and replies, and a second one for events.
In contrast, rpmsg provides only a single communication channel, so a type field is required to distinguish between
different kinds of messages.
Since rpmsg replies and events share the same message format, an additional line is introduced to handle both cases.
Finally, rpmsg supports multiple GPIO controllers, so a port field is added to uniquely identify the target controller.
Shenwei
> Andrew
More information about the linux-arm-kernel
mailing list