Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: dvb/cvs: _SFBUF must be called? doh!
Michael Hunold <hunold@convergence.de> writes:
> If you use the "build-2.4" dir of the "dvb-kernel" CVS driver then the
> main Video4Linux-1 module "videodev.o" gets replaced by its
> Video4Linux-2 counterpart, which was backported from 2.5.
>
> The device registering interface has been changed, so any old 2.4
> Video4Linux-1 drivers (ie. ov511 for USB webcams or the 2.4 bttv
> driver) will *not* work any more. You can load the drivers, but the
> kernel will oops on the first open.
That shouldn't be needed ...
> > As of late, however, I learned that linux >= 2.4.19 has
> > a V4L2 layer and all calls to V4L1 are mapped to the
> > new api.
>
> That is not true. A vanilla >= 2.4.19 kernel only has the
> Video4Linux-1
> interface build in.
Trying to get that a bit more clear ...
There are *two* ways to register video4linux drivers within videodev.o
(no matter which API version they support):
#1 (old) using a set of function pointers in struct video_device.
#2 (new) using a struct file_operations in struct video_device.
#1 is supported by all 2.2.x and 2.4.x kernels.
#2 is supported by current 2.5.x and 2.4.x kernels >= 2.4.19.
That means that 2.4.x kernels >= 2.4.19 can handle *both* ways of
registering video4linux devices. It also means that videodev patches
for 2.4.19 don't fit into 2.4.18 and visa versa.
The v4l2 driver build page lists 2.4.19 as minimum because:
(1) I don't maintain patches for 2.4.18 and older kernels.
(2) all v4l2 drivers I'm aware of are using method #2 to register
them in videodev.o.
(3) starting with 2.4.19 it is possible to build (v4l2) drivers using
register method #2 fully modular without patching the kernel and
without replacing videodev.o. That should also work for dvb-kernel.
> You can either patch your kernel to have the same infrastructure as
> 2.5 or you can build the V4L2 videodev.o module outside the kernel
> (like the "build-2.4" stuff does)
videodev.o infrastructure is already present in 2.4.19+ (videodev2.h
isn't through ...).
These days the v4l2 tarball from bytesex.org contains the v4l2-common
and v4l1-compat modules only (and also a copy of the videodev2.h
header file ...).
> > What do you think, should it be possible to
> > compile dvb-kernel drivers for linux >= 2.4.19 _without_
> > replacing some of the original modules?
Yes.
Gerd
--
sigfault
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index