Em Sat, 4 Aug 2018 14:44:54 +0200 Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > Define the public request API. > > This adds the new MEDIA_IOC_REQUEST_ALLOC ioctl to allocate a request > and two ioctls that operate on a request in order to queue the > contents of the request to the driver and to re-initialize the > request. > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > include/uapi/linux/media.h | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h > index 36f76e777ef9..cf77f00a0f2d 100644 > --- a/include/uapi/linux/media.h > +++ b/include/uapi/linux/media.h > @@ -364,11 +364,23 @@ struct media_v2_topology { > > /* ioctls */ > > +struct __attribute__ ((packed)) media_request_alloc { > + __s32 fd; > +}; > + > #define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info) > #define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc) > #define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum) > #define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc) > #define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology) > +#define MEDIA_IOC_REQUEST_ALLOC _IOWR('|', 0x05, struct media_request_alloc) Same comment as in patch 1: keep it simpler: just pass a s32 * as the argument for this ioctl. > + > +/* > + * These ioctls are called on the request file descriptor as returned > + * by MEDIA_IOC_REQUEST_ALLOC. > + */ > +#define MEDIA_REQUEST_IOC_QUEUE _IO('|', 0x80) > +#define MEDIA_REQUEST_IOC_REINIT _IO('|', 0x81) > > #ifndef __KERNEL__ > Thanks, Mauro