On 6/15/21 7:38 PM, Mathieu Poirier wrote: > Good day, > > On Fri, Jun 04, 2021 at 11:14:04AM +0200, Arnaud Pouliquen wrote: >> Implement the RPMSG_RELEASE_DEV_IOCTL to allow the user application to >> release a rpmsg device created either by the remote processor or with >> the RPMSG_CREATE_DEV_IOCTL call. >> Depending on the back-end implementation, the associated rpmsg driver is >> removed and a NS destroy rpmsg can be sent to the remote processor. >> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx> >> --- >> drivers/rpmsg/rpmsg_ctrl.c | 7 +++++++ >> include/uapi/linux/rpmsg.h | 5 +++++ >> 2 files changed, 12 insertions(+) >> >> diff --git a/drivers/rpmsg/rpmsg_ctrl.c b/drivers/rpmsg/rpmsg_ctrl.c >> index 4aa962df3661..cb19e32d05e1 100644 >> --- a/drivers/rpmsg/rpmsg_ctrl.c >> +++ b/drivers/rpmsg/rpmsg_ctrl.c >> @@ -98,6 +98,13 @@ static long rpmsg_ctrldev_ioctl(struct file *fp, unsigned int cmd, >> } >> break; >> >> + case RPMSG_RELEASE_DEV_IOCTL: >> + ret = rpmsg_release_channel(ctrldev->rpdev, &chinfo); >> + if (ret) >> + dev_err(&ctrldev->dev, "failed to release %s channel (%d)\n", >> + chinfo.name, ret); >> + break; >> + > > Please move the content of this patch in 1/4. ok > >> default: >> ret = -EINVAL; >> } >> diff --git a/include/uapi/linux/rpmsg.h b/include/uapi/linux/rpmsg.h >> index f9d5a74e7801..38639ba37438 100644 >> --- a/include/uapi/linux/rpmsg.h >> +++ b/include/uapi/linux/rpmsg.h >> @@ -38,4 +38,9 @@ struct rpmsg_endpoint_info { >> */ >> #define RPMSG_CREATE_DEV_IOCTL _IOW(0xb5, 0x3, struct rpmsg_endpoint_info) >> >> +/** >> + * Release a local rpmsg device. >> + */ >> +#define RPMSG_RELEASE_DEV_IOCTL _IOW(0xb5, 0x4, struct rpmsg_endpoint_info) >> + >> #endif >> -- >> 2.17.1 >>