On 10/19/20 10:34 PM, Mathieu Poirier wrote: > Move structure rpmsg_ns_msg to its own header file so that > it can be used by other entities. > > Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Thanks, Arnaud > --- > drivers/rpmsg/virtio_rpmsg_bus.c | 32 +----------------------- > include/linux/rpmsg_ns.h | 42 ++++++++++++++++++++++++++++++++ > 2 files changed, 43 insertions(+), 31 deletions(-) > create mode 100644 include/linux/rpmsg_ns.h > > diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c > index 8927bcad56fd..1f8154ee1e90 100644 > --- a/drivers/rpmsg/virtio_rpmsg_bus.c > +++ b/drivers/rpmsg/virtio_rpmsg_bus.c > @@ -20,6 +20,7 @@ > #include <linux/of_device.h> > #include <linux/rpmsg.h> > #include <linux/rpmsg_byteorder.h> > +#include <linux/rpmsg_ns.h> > #include <linux/scatterlist.h> > #include <linux/slab.h> > #include <linux/sched.h> > @@ -93,34 +94,6 @@ struct rpmsg_hdr { > u8 data[]; > } __packed; > > -/** > - * struct rpmsg_ns_msg - dynamic name service announcement message > - * @name: name of remote service that is published > - * @addr: address of remote service that is published > - * @flags: indicates whether service is created or destroyed > - * > - * This message is sent across to publish a new service, or announce > - * about its removal. When we receive these messages, an appropriate > - * rpmsg channel (i.e device) is created/destroyed. In turn, the ->probe() > - * or ->remove() handler of the appropriate rpmsg driver will be invoked > - * (if/as-soon-as one is registered). > - */ > -struct rpmsg_ns_msg { > - char name[RPMSG_NAME_SIZE]; > - __rpmsg32 addr; > - __rpmsg32 flags; > -} __packed; > - > -/** > - * enum rpmsg_ns_flags - dynamic name service announcement flags > - * > - * @RPMSG_NS_CREATE: a new remote service was just created > - * @RPMSG_NS_DESTROY: a known remote service was just destroyed > - */ > -enum rpmsg_ns_flags { > - RPMSG_NS_CREATE = 0, > - RPMSG_NS_DESTROY = 1, > -}; > > /** > * @vrp: the remote processor this channel belongs to > @@ -162,9 +135,6 @@ struct virtio_rpmsg_channel { > */ > #define RPMSG_RESERVED_ADDRESSES (1024) > > -/* Address 53 is reserved for advertising remote services */ > -#define RPMSG_NS_ADDR (53) > - > static void virtio_rpmsg_destroy_ept(struct rpmsg_endpoint *ept); > static int virtio_rpmsg_send(struct rpmsg_endpoint *ept, void *data, int len); > static int virtio_rpmsg_sendto(struct rpmsg_endpoint *ept, void *data, int len, > diff --git a/include/linux/rpmsg_ns.h b/include/linux/rpmsg_ns.h > new file mode 100644 > index 000000000000..bb479f430080 > --- /dev/null > +++ b/include/linux/rpmsg_ns.h > @@ -0,0 +1,42 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > + > +#ifndef _LINUX_RPMSG_NS_H > +#define _LINUX_RPMSG_NS_H > + > +#include <linux/mod_devicetable.h> > +#include <linux/types.h> > +#include <linux/rpmsg_byteorder.h> > + > +/** > + * struct rpmsg_ns_msg - dynamic name service announcement message > + * @name: name of remote service that is published > + * @addr: address of remote service that is published > + * @flags: indicates whether service is created or destroyed > + * > + * This message is sent across to publish a new service, or announce > + * about its removal. When we receive these messages, an appropriate > + * rpmsg channel (i.e device) is created/destroyed. In turn, the ->probe() > + * or ->remove() handler of the appropriate rpmsg driver will be invoked > + * (if/as-soon-as one is registered). > + */ > +struct rpmsg_ns_msg { > + char name[RPMSG_NAME_SIZE]; > + __rpmsg32 addr; > + __rpmsg32 flags; > +} __packed; > + > +/** > + * enum rpmsg_ns_flags - dynamic name service announcement flags > + * > + * @RPMSG_NS_CREATE: a new remote service was just created > + * @RPMSG_NS_DESTROY: a known remote service was just destroyed > + */ > +enum rpmsg_ns_flags { > + RPMSG_NS_CREATE = 0, > + RPMSG_NS_DESTROY = 1, > +}; > + > +/* Address 53 is reserved for advertising remote services */ > +#define RPMSG_NS_ADDR (53) > + > +#endif >