[RFC PATCH v1 5/7] media: v4l2: introduce two IOCTLs for face detection
Ming Lei
ming.lei at canonical.com
Tue Dec 6 08:11:08 EST 2011
On Tue, Dec 6, 2011 at 8:55 PM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Tuesday 06 December 2011, Ming Lei wrote:
>> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
>> index 073eb4d..8aeaa1e 100644
>> --- a/include/linux/videodev2.h
>> +++ b/include/linux/videodev2.h
>> @@ -2214,7 +2214,12 @@ struct v4l2_fd_result {
>> __u32 buf_index;
>> __u32 face_cnt;
>> __u32 reserved[6];
>> - struct v4l2_fd_detection *fd;
>> +
>> + /*make 64/32 compatible*/
>> + union {
>> + struct v4l2_fd_detection *fd;
>> + __u64 dummy;
>> + };
>> };
>>
>
> That's not compatible, at least not on any big-endian architecture.
> If you want to have an indirect pointer, you have to cast it to the
> __u64 member in user space and back in kernel space.
Looks like it is a bit ugly.
>
> Using an array added to the end of the v4l2_fd_result structure
> rather than a pointer would really make this easier IMHO.
I have tried to do this, but video_usercopy needs a few changes
to handle array args if no indirect pointer is passed to kernel.
I am not sure if media guys are happy to accept the changes, :-)
thanks,
--
Ming Lei
More information about the linux-arm-kernel
mailing list