Age | Commit message (Collapse) | Author |
|
Alan Cox reformatted the code to follow his coding style when
he fixed the merge bugs.
This patch now introduces these coding style changes, so
that we don't wipe out his changes with the next patchset.
|
|
- if the analog module is detected, the saa7113 is initialized and
some more v4l2 ioctls are available. you can use "xawtv" now to
switch between "dvb" and "analog" input. when you are one the
"analog" input, you can tune in analog channels with the cursor
keys via v4l2.
currently, this is a big hack -- tuning is not mutually exclusive,
so "szap" and v4l2 tuning can interfere with each other. the
demodulator address is hardcoded to 0x09.
Other changes:
- changed the saa7146 ioctl parameters, give out the data of the
current device open "fh" (=> "file handle"), not the pointer to the
device structure "dev". It is "dev = fh->dev".
Some stuff does not work:
- analog audio does not work. does the msp3400 need to be reprogrammed?
- one field is "missing", so the picture is very bad and
capturing does not work neither. this needs to be investigated by
looking at the programming the windows driver uses for the saa7146
|
|
driver subsystem.
|
|
needed for 2.4 compilation.
|
|
less dependent on the linux kernel. here is the place to store
additional dvb_* functions, which encapsulate linux kernel functionality
which cannot be expressed as a one-liner
- rename ddelay() to dvb_delay(), move it to dvb_functions.h
- change all files to include dvb_functions.h instead of dvb_compat.h
- compile fix for the saa7111 driver
|
|
- return POLL_ERR in case of filter timeout
|
|
use KBUILD_BASENAME for 2.4 instead
some changes to the i2c core to make it work with both 2.4 and late 2.5
kernels (not done yet -- only interesting for analog drivers)
- add MODULE_DEVICE_TABLE to all drivers, so that pci "hotplug" can detect
the devices automatically. Alan Cox says, that we should use this to load
the firmware (not done yet)
- fix the long standing "insmod/rmmod with multiple budget cards" bug -- it
was a double kfree() call...
|
|
- sync Kconfig and Makefiles with 2.5.65
- fix various things in saa7146 because of latest v4l changes in 2.5.65
- makelinks: removed the compat module from the 2.5.x build process
- makelinks: removed the linkage of ttusb and bt8xx -- enable this again for
the next patches, when ttusb is more stable and the bt8xx related patches
have been applied by Gerd Knorr
- dvb: removed the compat module from the 2.5.x build process, added #ifdefs
around the inclusion of compat.h. this was necessary because having compat
code in the newest 2.5.x kernel is awkward.
- dvb: move around of dvb_usercopy again. because I removed the compat module
from the 2.5.x build process, dvb_usercopy had to be moved to another file
- dvb: change MOD_*_USE_COUNT to module_get/module_put in various files,
but I'm not sure if I did this right. please review these changes.
- dvb: removed the crc32 code from dvb_demux.c, because it's in compat.c, too.
- dvb: removed some cruft from dvd_i2c.c, which is present in compat.h
- all files: apply small fixes to reflect the new location of some header
files
|
|
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Before this patch, vivi were simulating a scatter gather DMA transfer.
While this is academic, showing how stuff really works on a real PCI
device, this means a non-optimized code.
There are only two memory models that vivi implements:
1) kernel alloced memory. This is also used by read() method.
On this case, a vmalloc32 buffer is allocated at kernel;
2) userspace allocated memory. This is used by most userspace apps.
video-buf will store this pointer.
a simple copy_to_user is enough to transfer data.
The third memory model scenario supported by video-buf is overlay mode.
This model is not implemented on vivi and unlikely to be implemented on
newer drivers, since now, most userspace apps do some post-processing
(like de-interlacing).
After this patch, some cleanups may be done at video-buf.c to avoid
allocating pages, when the driver doesn't need a PCI buffer. This is the
case of vivi and usb drivers.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
The direct register access ioctls were defined as kernel internal only,
but they are very useful for debugging hardware from userspace and are
used as such. Officially export them.
VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER
Definition of ioctl and struct v4l2_register is moved from v4l2-common.h
to videodev2.h.
Types used in struct v4l2_register are changed to the userspace
exportable versions (u32 -> __u32, etc).
Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move
the check into the video_ioctl2() dispatcher so it doesn't need to be
duplicated in each driver's call-back function.
CAP_SYS_ADMIN check is added to pvrusb2 (which doesn't use video_ioctl2).
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Add support for these ioctls to the video_ioctl2 system and the cx88
driver.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|