[linux-dvb] webcam and v4l-dvb related modules
xyzzy at speakeasy.org
Mon Jan 29 02:17:45 CET 2007
On Sat, 27 Jan 2007, Brandon Drummond wrote:
> Hmm, it looks like the headers supplied by v4l-dvb are more "up-to-date"
> than the ones in the default ubuntu kernel (2.6.17-10-generic). In the
There are two main differences between the code from v4l-dvb Hg and the
code in the kernel.
1. v4l-dvb is the development version of the code that will go into the
kernel. Basically, it's what will be in the next kernel (2.6.20). The
patches from v4l-dvb Hg don't necessary go into the kernel at the same time
or in the same order, but that's the idea.
2. The code in v4l-dvb is designed to compile and work with older kernels.
There is a header called compat.h that isn't part of the kernel source that
handles a lot of this, and there are many #if checks in the code for
different kernel versions. When the v4l-dvb code goes to the kernel, all
this is stripped out.
> file uvc_compat.h a check is performed to decide which version of the
> headers you have based on the LINUX_VERSION_CODE. So my kernel reports
> that it's at a version lower than 2.6.18 and the uvc_compat.h file then
> tries to define some things that are already in the headers supplied by
> v4l-dvb. So I changed the check so that I pass for a more up-to-date
> kernel and the module then builds fine without complaints. However, when
> loading the module I still get complaints about unresolved symbols?
It sounds like from what Hermann said the uvc driver doesn't work with the
newest kernels yet. When you try to compile it with the v4l-dvb code
linked into the kernel, you're basically trying to compile it with a mixed
2.6.17 / 2.6.20 kernel. The uvc might not have been updated to work with
the code that will go into 2.6.20 yet. This is a typical problem with
out-of-tree drivers, they are never as up to date as in kernel drivers are.
More information about the linux-dvb