This revision addresses comments received from the previous revision, i.e V4. Please see details below. It starts by making the RPMSG protocol transport agnostic by moving the headers it uses to generic types and using those in the current implementation. From there it re-uses the work that Arnaud published[1] to make the name service modular. Tested on stm32mp157 with the RPMSG client sample application. Applies cleanly on v5.10-rc2. Thanks, Mathieu [1]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=338335 ------- New for V5: - Moved include/linux/rpms_ns.h to include/linux/rpmsg/ns.h - Moved include/linux/rpmsg_byteorder.h to include/linux/rpmsg/byteorder.h - Sorted header files alphabetically in ns.h - Added include for rpmsg.h in ns.h - Rebased to v5.10-rc2 Arnaud Pouliquen (4): rpmsg: virtio: Rename rpmsg_create_channel rpmsg: core: Add channel creation internal API rpmsg: virtio: Add rpmsg channel device ops rpmsg: Turn name service into a stand alone driver Mathieu Poirier (4): rpmsg: Introduce __rpmsg{16|32|64} types rpmsg: virtio: Move from virtio to rpmsg byte conversion rpmsg: Move structure rpmsg_ns_msg to header file rpmsg: Make rpmsg_{register|unregister}_device() public drivers/rpmsg/Kconfig | 8 ++ drivers/rpmsg/Makefile | 1 + drivers/rpmsg/rpmsg_core.c | 44 ++++++++ drivers/rpmsg/rpmsg_internal.h | 14 ++- drivers/rpmsg/rpmsg_ns.c | 108 ++++++++++++++++++ drivers/rpmsg/virtio_rpmsg_bus.c | 185 +++++++++++-------------------- include/linux/rpmsg.h | 63 ++++++++++- include/linux/rpmsg/byteorder.h | 67 +++++++++++ include/linux/rpmsg/ns.h | 60 ++++++++++ include/uapi/linux/rpmsg_types.h | 11 ++ 10 files changed, 434 insertions(+), 127 deletions(-) create mode 100644 drivers/rpmsg/rpmsg_ns.c create mode 100644 include/linux/rpmsg/byteorder.h create mode 100644 include/linux/rpmsg/ns.h create mode 100644 include/uapi/linux/rpmsg_types.h -- 2.25.1