On Tue, Apr 28, 2026 at 03:24:59PM +0000, Shenwei Wang wrote: > > > > -----Original Message----- > > From: Andrew Lunn <[email protected]> > > Sent: Monday, April 27, 2026 3:49 PM > > To: Shenwei Wang <[email protected]> > > Cc: Padhi, Beleswar <[email protected]>; Linus Walleij <[email protected]>; > > Bartosz Golaszewski <[email protected]>; Jonathan Corbet <[email protected]>; > > Rob Herring <[email protected]>; Krzysztof Kozlowski <[email protected]>; > > Conor Dooley <[email protected]>; Bjorn Andersson > > <[email protected]>; Mathieu Poirier <[email protected]>; Frank > > Li > > <[email protected]>; Sascha Hauer <[email protected]>; Shuah Khan > > <[email protected]>; [email protected]; linux- > > [email protected]; [email protected]; Pengutronix Kernel Team > > <[email protected]>; Fabio Estevam <[email protected]>; Peng Fan > > <[email protected]>; [email protected]; linux- > > [email protected]; [email protected]; linux-arm- > > [email protected]; dl-linux-imx <[email protected]>; Bartosz > > Golaszewski <[email protected]> > > 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.
I have commented on this before - RPMSG is already providing multiplexing capability by way of endpoints. There is no need for a port field. One endpoint, one GPIO controller. > > Shenwei > > > Andrew

