> -----Original Message-----
> From: Mathieu Poirier <[email protected]>
> Sent: Tuesday, February 24, 2026 12:10 PM
> To: Shenwei Wang <[email protected]>
> Cc: Bjorn Andersson <[email protected]>; Arnaud POULIQUEN
> <[email protected]>; Linus Walleij <[email protected]>; Andrew
> Lunn <[email protected]>; Bartosz Golaszewski <[email protected]>; Jonathan
> Corbet <[email protected]>; Rob Herring <[email protected]>; Krzysztof Kozlowski
> <[email protected]>; Conor Dooley <[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 v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
> On Tue, 24 Feb 2026 at 08:56, Shenwei Wang <[email protected]> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Bjorn Andersson <[email protected]>
> > > Sent: Monday, February 23, 2026 8:43 AM
> > > To: Arnaud POULIQUEN <[email protected]>
> > > Cc: Linus Walleij <[email protected]>; Shenwei Wang
> > > <[email protected]>; Andrew Lunn <[email protected]>; Bartosz
> > > Golaszewski <[email protected]>; Jonathan Corbet <[email protected]>; Rob
> > > Herring <[email protected]>; Krzysztof Kozlowski <[email protected]>;
> > > Conor Dooley <[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 v8 3/4] gpio: rpmsg: add generic rpmsg
> > > GPIO driver On Mon, Feb 23, 2026 at 03:24:43PM +0100, Arnaud POULIQUEN
> wrote:
> > > > On 2/22/26 15:48, Linus Walleij wrote:
> > > > > On Fri, Feb 20, 2026 at 7:57 PM Shenwei Wang
> > > > > <[email protected]>
> > > wrote:
> > > [..]
> > > > >
> > > > > Is it generic? If it is not, let's call it "NXP rpmsg GPIO driver"
> > > > > and rename files etc accordingly. Maybe it can share code with
> > > > > the actual generic RPMSG driver once that arrives, that is more
> > > > > of a library
> > > question.
> > > >
> > > > I would like to (re)express my concerns regarding the creation of
> > > > an NXP-specific driver. To clarify my concerns, ST, like probably
> > > > some other SoC vendors, has rpmsg-gpio and rpmsg-i2c drivers in
> > > > downstream with plans to upstream them.
> > > >
> > > > If we proceed in this direction:
> > > >
> > > > -Any vendor wishing to upstream an rpmsg-gpio driver might submit
> > > > their own platform-specific version.
> > > >
> > > > - If NXP upstreams other rpmsg drivers, these will likely remain
> > > > NXP-centric to maintain compatibility with their legacy firmware
> > > > and the nxp-rpmsg-gpio driver, leading to platform-specific
> > > > versions in several
> > > frameworks.
> > > >
> > > > - The implementation will impact not only the Linux side but also
> > > > the remote side. Indeed, some operating systems like Zephyr or
> > > > NuttX implement the rpmsg device side (Zephyr already implements
> > > > the
> > > > rpmsg-tty)
> > > >
> > > > Maintaining a generic approach for RPMsg, similar to what is done
> > > > for Virtio, seems to me a more reliable solution, even though it
> > > > may induce some downstream costs (ST would also need to break
> > > > compatibility with legacy ST remote proc firmware).
> > > >
> > >
> > > Could the virtio-based mechanism be used directly (without rpmsg)?
> > >
> >
> > Technically, yes—it's possible to use the virtio mechanism directly without
> rpmsg.
> > It’s a bit like talking straight to the IP layer without involving TCP
> > or UDP: doable, but at a lower‑level approach.
> >
> > As for the idea of gpio‑virtio, which could be an optional solution
> > that certain customers might prefer. I recall hearing this idea from
> > Mathieu originally, though I’m not sure whether he plans to implement it.
> >
> 
> As Daniel pointed out, gpio-virtio is already available and already includes a
> protocol that is generic - no need to redefine a new one as this set is 
> trying to.
> 
> As mentioned in a previous email, I understand some implementations will have
> restricted memory and need to use RPMSG.  For those cases a generic rpmsg-gpio

I think this highlights why some customers prefer RPMSG over using virtio 
directly. Limited 
system resources and development efficiency are the two main reasons that make 
RPMSG 
a better fit for certain environments.

> protocol should be derived from gpio-virtio that would only deal with breaking
> down the standard gpio-virtio protocol into something digestible by RPMSG.  
> That
> was Bjorn's point in an earlier message.  This will allow to use the same 
> interface
> and be flexible in how we want to talk to the transport medium, i.e pure gpio-
> virtio or rpmsg-gpio.
> 

Once the remoteproc chooses to expose devices through an RPMSG‑based protocol, 
deriving another driver from gpio‑virtio doesn’t really make sense. That would 
essentially 
mean re‑implementing parts of RPMSG yourself instead of using existing one.

> Fortunately RPMSG already uses channels to differentiate between traffic, no
> need to multiplex everything on the same channel.  That too needs to go.
> 
> > As the chip vendor, NXP’s role is to provide all possible options and
> > let customers choose the approach that best fits their needs; we don’t make
> that decision for them.
> 
> As kernel maintainers, our role is to advise on designs that are generic, 
> simple,
> maintainable and stand the test of time.
> 

These adjectives only make sense within the context of a specific use case. 
Different
 systems have different constraints, and people choose a particular solution 
for valid 
reasons based on their requirements.

Please respect their efforts.

Thanks,
Shenwei

> >
> > Thanks,
> > Shenwei
> >
> > >
> > > If not, it would be good to derive a generic rpmsg-gpio protocol
> > > from the virtio protocol, and land implementations of this in e.g.
> > > Linux and Zephyr to establish that option.
> > >
> > > Regards,
> > > Bjorn
> > >
> > > >
> > > > In the end, I am just trying to influence the direction for RPMsg,
> > > > but based on the discussions in this thread, it seems others share
> > > > similar expectations, which should probably be taken into account as 
> > > > well.
> > > >
> > > > Thanks and Regards,
> > > > Arnaud
> > > >
> > > >
> > > > I just want to
> > > >
> > > > >
> > > > > Yours,
> > > > > Linus Walleij
> > > >

Reply via email to