Re: [PATCH v3 3/8] rpmsg: Move structure rpmsg_ns_msg to header file

From: Arnaud POULIQUEN
Date: Tue Oct 20 2020 - 03:07:12 EST




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
>