Re: [PATCH] v4l: fix build error for et61x251 driver
Mauro Carvalho Chehab <[email protected]>
| Newsgroups | gmane.linux.usb.devel,gmane.comp.video.video4linux,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
> through ioctl()? It's not as immediate and safe as controlling the device > registers through /sysfs (not /proc). However, the sysfs interface in those > drivers appeared before V4L2 had its own ioctls and we agreed to keep and > export the interface to the only users selecting CONFIG_VIDEO_ADV_DEBUG (ok, > this is actually valid for the sn9c102, I'll submit a patch for the et61x251 > in the future). Direct register access for debug ok, but not this is not ok for normal usage. > > >> From my POV, a driver that is creating its own userspace API is not >> fully compliant with V4L2 API. > > Isn't Video4Linux2 ioctl() supersedeing sysfs in this case? It should be. However, things like direct register access (for non-debug mode) may allow some controls that weren't visible via ioctl. That's why the sysfs usage may be evil: a driver may have some parts accessible only via sysfs interface, on a non-standard way, without offering the official API support. So, some device functionalities may be hidden from userspace apps that are compliant with V4L2. Summarizing: Linus patch seems to be the better solution to solve the V4L1_COMPAT bug. I would also convert the other container_of stuff to to_video_device (to have code uniformity). et61x251 direct register interfaces should be available only if CONFIG_VIDEO_ADV_DEBUG is selected to avoid its miss-usage. If there are other device configurations that needs specific register settings not yet provided, this should be provided via V4L2 standard ioctls. This way, et61x251 will be compliant with V4L2. I still think that we should work at the remaining sysfs classes to make them coherent on all V4L devices. Cheers, Mauro. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel