On Mon 12 Jul 05:37 PDT 2021, Arnaud Pouliquen wrote: > Main update from V4 [1] > - complete commit messages with Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> > - rebased on kernel V.14-rc1. > > This series can be applied and tested on "Linux 5.14-rc1"(e73f0f0ee754) branch > > 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. I'm not convinced about the merits for this refactoring, you're creating yet another kernel module which is fairly tightly coupled with the rpmsg_char kernel module and the only case I can see where this would be useful is if you want to be able to create reach RPMSG_CREATE_DEV_IOCTL and RPMSG_DESTROY_EPT_IOCTL without having to include the rpmsg_char part in your kernel. > This split is an intermediate step to extend the controls to allow user applications to > instantiate rpmsg devices. > Can you give a concrete example of when this would be used? Per our previous discussions I believe you intend to use this to bind your rpmsg_tty driver to arbitrary channels in runtime, which to me sounds like you're reinventing the bind/unbind sysfs attrs. Regards, Bjorn > 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=483793 > [2]: https://patchwork.kernel.org/project/linux-remoteproc/list/?series=435523 > > 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 >