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. Using an array added to the end of the v4l2_fd_result structure rather than a pointer would really make this easier IMHO. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html