[PATCH v4 0/4] Restructure the rpmsg char to decorrelate the control part.

From: Arnaud Pouliquen
Date: Mon May 17 2021 - 13:16:02 EST


Main update from V3 [1]
- suppress patches related to the creation of a rpmsg device for the rpmsg_chdev. this will
be sent in a sperated patchset.
- add patch to clean-up useless include of rpmsg_internal.h file[3].

This series can be applied on git/andersson/remoteproc.git
for-next branch (dc0e14fa833b).

Series description:
This series is the second step in the division of the series [2]:
"Introducing a Generic IOCTL Interface for RPMsg Channel Management".

The purpose of this patchset is to split the code related to the control
and the endpoint. The code related to the control part is moved in the rpmsg_ctrl.c.
This split is an intermediate step to extend the controls to allow user applications to
instantiate rpmsg devices.

Notice that this patchset does not modify the behavior for using the RPMSG_CREATE_EPT_IOCTL
and RPMSG_DESTROY_EPT_IOCTL controls.

The next step should be to add the capability to:
- instantiate rpmsg_chrdev from the remote side (NS announcement),
- instantiate rpmsg_chrdev from local user application by introducing the
IOCTLs RPMSG_CREATE_DEV_IOCTL and RPMSG_DESTROY_DEV_IOCTL to instantiate the rpmsg devices,
- send a NS announcement to the remote side on rpmsg_chrdev local instantiation.

[1]: https://patchwork.kernel.org/project/linux-remoteproc/list/?series=475217
[2]: https://patchwork.kernel.org/project/linux-remoteproc/list/?series=435523
[3]: https://patchwork.kernel.org/project/linux-remoteproc/patch/20210429080639.6379-1-arnaud.pouliquen@xxxxxxxxxxx/

Arnaud Pouliquen (4):
rpmsg: char: Remove useless include
rpmsg: char: Export eptdev create an destroy functions
rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl
rpmsg: Update rpmsg_chrdev_register_device function

drivers/rpmsg/Kconfig | 9 ++
drivers/rpmsg/Makefile | 1 +
drivers/rpmsg/qcom_glink_native.c | 2 +-
drivers/rpmsg/qcom_smd.c | 2 +-
drivers/rpmsg/rpmsg_char.c | 184 ++-----------------------
drivers/rpmsg/rpmsg_char.h | 51 +++++++
drivers/rpmsg/rpmsg_ctrl.c | 215 ++++++++++++++++++++++++++++++
drivers/rpmsg/rpmsg_internal.h | 8 +-
drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
9 files changed, 293 insertions(+), 181 deletions(-)
create mode 100644 drivers/rpmsg/rpmsg_char.h
create mode 100644 drivers/rpmsg/rpmsg_ctrl.c

--
2.17.1