Good afternoon, This set 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.9. Thanks, Mathieu [1]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=338335 ------ New for V2: - Created new RPMSG types (Guennadi). - Re-worked byte conversion functions(Guennadi). - Added a single ->is_little_endian() operation (Arnaud). - Fixed byte conversion before making name service modular. 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 (5): rpmsg: Move rpmsg_endpoint_ops to rpmsg.h rpmsg: Introduce __rpmsg{16|32|64} types rpmsg: virtio: Move from virtio to rpmsg byte conversion rpmsg: Move rpmsg_hr and 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 | 27 +--- drivers/rpmsg/rpmsg_ns.c | 110 +++++++++++++++++ drivers/rpmsg/virtio_rpmsg_bus.c | 206 ++++++++++--------------------- include/linux/rpmsg.h | 93 ++++++++++++-- include/linux/rpmsg_byteorder.h | 67 ++++++++++ include/linux/rpmsg_ns.h | 79 ++++++++++++ include/uapi/linux/rpmsg.h | 3 + include/uapi/linux/rpmsg_types.h | 11 ++ 11 files changed, 481 insertions(+), 168 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