The following changes since commit 26291c54e111ff6ba87a164d85d4a4e134b7315c: Linux 5.17-rc2 (2022-01-30 15:37:07 +0200) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git tags/rpmsg-v5.18 for you to fetch changes up to 8109517b394e6deab5fd21cc5460e82ffed229c6: rpmsg: ctrl: Introduce new RPMSG_CREATE/RELEASE_DEV_IOCTL controls (2022-03-13 11:49:53 -0500) ---------------------------------------------------------------- rpmsg updates for v5.18 The major part of the rpmsg changes for v5.18 relates to improvements in the rpmsg char driver, which now allow automatically attaching to rpmsg channels as well as initiating new communication channels from the Linux side. The SMD driver is moved to arch_initcall with the purpose of registering root clocks earlier during boot. Also in the SMD driver, a workaround for the resource power management (RPM) channel is introduced to resolve an issue where both the RPM and Linux side waits for the other to close the communication established by the bootloader - this unblocks support for clocks and regulators on some older Qualcomm platforms. ---------------------------------------------------------------- AngeloGioacchino Del Regno (1): rpmsg: qcom_smd: Fix redundant channel->registered assignment Arnaud Pouliquen (8): rpmsg: char: Export eptdev create and destroy functions rpmsg: Create the rpmsg class in core instead of in rpmsg char rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl rpmsg: Update rpmsg_chrdev_register_device function rpmsg: char: Refactor rpmsg_chrdev_eptdev_create function rpmsg: char: Add possibility to use default endpoint of the rpmsg device rpmsg: char: Introduce the "rpmsg-raw" channel rpmsg: ctrl: Introduce new RPMSG_CREATE/RELEASE_DEV_IOCTL controls Konrad Dybcio (1): rpmsg: qcom_smd: Promote to arch_initcall Luca Weiss (1): rpmsg: smd: allow opening rpm_requests even if already opened Minghao Chi (CGEL ZTE) (1): rpmsg: use struct_size over open coded arithmetic Tim Blechmann (1): rpmsg: char: treat rpmsg_trysend() ENOMEM as EAGAIN drivers/rpmsg/Kconfig | 8 ++ drivers/rpmsg/Makefile | 1 + drivers/rpmsg/qcom_glink_native.c | 4 +- drivers/rpmsg/qcom_smd.c | 13 +- drivers/rpmsg/rpmsg_char.c | 238 ++++++++++++++----------------------- drivers/rpmsg/rpmsg_char.h | 46 ++++++++ drivers/rpmsg/rpmsg_core.c | 15 ++- drivers/rpmsg/rpmsg_ctrl.c | 243 ++++++++++++++++++++++++++++++++++++++ drivers/rpmsg/rpmsg_internal.h | 10 +- drivers/rpmsg/virtio_rpmsg_bus.c | 2 +- include/uapi/linux/rpmsg.h | 10 ++ 11 files changed, 428 insertions(+), 162 deletions(-) create mode 100644 drivers/rpmsg/rpmsg_char.h create mode 100644 drivers/rpmsg/rpmsg_ctrl.c