Em Fri, 10 Aug 2018 09:32:53 +0200 Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > On 08/09/2018 09:55 PM, Mauro Carvalho Chehab wrote: > > Em Sat, 4 Aug 2018 14:44:57 +0200 > > Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > > > >> From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > >> > >> Add media_request_get_by_fd() to find a request based on the file > >> descriptor. > >> > >> The caller has to call media_request_put() for the returned > >> request since this function increments the refcount. > >> > >> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > >> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > >> --- > >> drivers/media/media-request.c | 40 +++++++++++++++++++++++++++++++++++ > >> include/media/media-request.h | 24 +++++++++++++++++++++ > >> 2 files changed, 64 insertions(+) > >> > >> diff --git a/drivers/media/media-request.c b/drivers/media/media-request.c > >> index 253068f51a1f..4b523f3a03a3 100644 > >> --- a/drivers/media/media-request.c > >> +++ b/drivers/media/media-request.c > >> @@ -231,6 +231,46 @@ static const struct file_operations request_fops = { > >> .release = media_request_close, > >> }; > >> > >> +struct media_request * > >> +media_request_get_by_fd(struct media_device *mdev, int request_fd) > >> +{ > >> + struct file *filp; > >> + struct media_request *req; > >> + > >> + if (!mdev || !mdev->ops || > >> + !mdev->ops->req_validate || !mdev->ops->req_queue) > >> + return ERR_PTR(-EPERM); > > > > EPERM? I guess ENOTTY would be better. > > > > Any reason why using EPERM? > > This is called by e.g. VIDIOC_QBUF or VIDIOC_S/G/TRY_EXT_CTRLS where someone > sets request_fd. Then this function is called to obtain the corresponding > media_request struct. If requests are not supported, then EPERM is returned. > > Returning ENOTTY would be wrong, since VIDIOC_QBUF etc. are definitely implemented, > instead they just do not permit the use of requests. > > Let me know if I can add your Reviewed-by after this explanation. Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> > > Regards, > > Hans Thanks, Mauro