Hi Mathieu, Arnaud, I've tried the patch set with my VirtIO / vhost audio implementation, in general it worked quite well, but I did need one chamge, which should be improved in this patch: On Tue, Oct 27, 2020 at 11:52:18AM -0600, Mathieu Poirier wrote: > From: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> > > Make the RPMSG name service announcement a stand alone driver so that it > can be reused by other subsystems. It is also the first step in making the > functionatlity transport independent, i.e that is not tied to virtIO. > > Co-developed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> > Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> > --- [snip] > diff --git a/include/linux/rpmsg_ns.h b/include/linux/rpmsg_ns.h > index bb479f430080..42786bb759b5 100644 > --- a/include/linux/rpmsg_ns.h > +++ b/include/linux/rpmsg_ns.h > @@ -39,4 +39,21 @@ enum rpmsg_ns_flags { > /* Address 53 is reserved for advertising remote services */ > #define RPMSG_NS_ADDR (53) > > +/** > + * rpmsg_ns_register_device() - register name service device based on rpdev > + * @rpdev: prepared rpdev to be used for creating endpoints > + * > + * This function wraps rpmsg_register_device() preparing the rpdev for use as > + * basis for the rpmsg name service device. > + */ > +static inline int rpmsg_ns_register_device(struct rpmsg_device *rpdev) > +{ > + strcpy(rpdev->id.name, "rpmsg_ns"); you need to #include <linux/rpmsg.h> in this file for rpdev definition. Or you could leave this function in rpmsg_ns.c, then it's enough to forward-declare struct rpdev here. Thanks Guennadi > + rpdev->driver_override = "rpmsg_ns"; > + rpdev->src = RPMSG_NS_ADDR; > + rpdev->dst = RPMSG_NS_ADDR; > + > + return rpmsg_register_device(rpdev); > +} > + > #endif > -- > 2.25.1 >