History log of /drivers/media/video/cx88/cx88-blackbird.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1990d50b58bef127a647005fdcada6d07081d3ef 24-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Stop using linux/version.h on most video drivers

All the modified drivers didn't have any version increment since
Jan, 1 2011. Several of them didn't have any version increment
for a long time, even having new features and important bug fixes
happening.

As we're now filling the QUERYCAP version with the current Kernel
Release, we don't need to maintain a per-driver version control
anymore. So, let's just use the default.

In order to preserve the Kernel module version history, a
KERNEL_VERSION() macro were added to all modified drivers, and
the extraver number were incremented.

I opted to preserve the per-driver version control to a few
pwc, pvrusb2, s2255, s5p-fimc and sh_vou.

A few drivers are still using the legacy way to handle ioctl's.
So, we can't do such change on them, otherwise, they'll break.
Those are: uvc, et61x251 and sn9c102.

The rationale is that the per-driver version control seems to be
actively maintained on those.

Yet, I think that the better for them would be to just use the
default version numbering, instead of doing that by themselves.

While here, removed a few uneeded include linux/version.h

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
f4bd4be8d113534a28e0c9a86cddbabd47b06159 01-May-2011 Jonathan Nieder <jrnieder@gmail.com> [media] cx88: don't use atomic_t for core->mpeg_users

mpeg_users is always read or written with core->lock held except
in mpeg_release (where it looks like a bug). A plain int is simpler
and faster.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
579b2b45120fa33f750cd65150d6d8995938750b 01-May-2011 Jonathan Nieder <jrnieder@gmail.com> [media] cx88: gracefully reject attempts to use unregistered cx88-blackbird driver

It should not be possible to enter mpeg_open and acquire core->lock
without the blackbird driver being registered, so just error out if it
is not. This makes the code more readable and should prevent the bug
fixed by the patch "hold device lock during sub-driver initialization"
from resurfacing again.

Similarly, if we enter mpeg_release and acquire core->lock then either
the blackbird driver is registered (since open files keep it loaded)
or the sysadmin forced the driver's removal. In the latter case the
state will be inconsistent and this is worth a loud warning.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
1d6213ab995c61f7d1d81cf6cf876acf15d6e714 01-May-2011 Jonathan Nieder <jrnieder@gmail.com> [media] cx88: hold device lock during sub-driver initialization

cx8802_blackbird_probe makes a device node for the mpeg sub-device
before it has been added to dev->drvlist. If the device is opened
during that time, the open succeeds but request_acquire cannot be
called, so the reference count remains zero. Later, when the device
is closed, the reference count becomes negative --- uh oh.

Close the race by holding core->lock during probe and not releasing
until the device is in drvlist and initialization finished.
Previously the BKL prevented this race.

Reported-by: Andreas Huber <hobrom@gmx.at>
Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Cc: stable@kernel.org
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
1fe70e963028f34ba5e32488a7870ff4b410b19b 01-May-2011 Jonathan Nieder <jrnieder@gmail.com> [media] cx88: fix locking of sub-driver operations

The BKL conversion of this driver seems to have gone wrong.
Loading the cx88-blackbird driver deadlocks.

The cause: mpeg_ops::open in the cx2388x blackbird driver acquires the
device lock and calls the sub-driver's request_acquire, which tries to
acquire the lock again. Fix it by clarifying the semantics of
request_acquire, request_release, advise_acquire, and advise_release:
now all will rely on the caller to acquire the device lock.

Based on work by Ben Hutchings <ben@decadent.org.uk>.

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=31962

Reported-by: Andi Huber <hobrom@gmx.at>
Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Cc: stable@kernel.org
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
8a317a8760cfffa8185b56ff59fb4b6c58488d79 01-May-2011 Jonathan Nieder <jrnieder@gmail.com> [media] cx88: protect per-device driver list with device lock

The BKL conversion of this driver seems to have gone wrong. Various
uses of the sub-device and driver lists appear to be subject to race
conditions.

In particular, some functions access drvlist without a relevant lock
held, which will race against removal of drivers. Let's start with
that --- clean up by consistently protecting dev->drvlist with
dev->core->lock, noting driver functions that require the device lock
to be held or not to be held.

After this patch, there are still some races --- e.g.,
cx8802_blackbird_remove can run between the time the blackbird driver
is acquired and the time it is used in mpeg_release, and there's a
similar race in cx88_dvb_bus_ctrl. Later patches will address the
remaining known races and the deadlock noticed by Andi. This patch
just makes the semantics clearer in preparation for those later
changes.

Based on work by Ben Hutchings <ben@decadent.org.uk>.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Cc: stable@kernel.org
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
b1dc614a81258eb7ff482892e7bc894f1089c144 15-Nov-2010 Joe Perches <joe@perches.com> [media] drivers/media/video: Remove unnecessary semicolons

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
451a3c24b0135bce54542009b5fde43846c7cf67 17-Nov-2010 Arnd Bergmann <arnd@arndb.de> BKL: remove extraneous #include <smp_lock.h>

The big kernel lock has been removed from all these files at some point,
leaving only the #include.

Remove this too as a cleanup.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/media/video/cx88/cx88-blackbird.c
0851668fdd97e526b2a41f794b785c204dd3d3e0 28-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (505 commits)
[media] af9015: Fix max I2C message size when used with tda18271
[media] IR: initialize ir_raw_event in few more drivers
[media] Guard a divide in v4l1 compat layer
[media] imon: fix nomouse modprobe option
[media] imon: remove redundant change_protocol call
[media] imon: fix my egregious brown paper bag w/rdev/idev split
[media] cafe_ccic: Configure ov7670 correctly
[media] ov7670: allow configuration of image size, clock speed, and I/O method
[media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016]
[media] af9015: map DigitalNow TinyTwin v2 remote
[media] DigitalNow TinyTwin remote controller
[media] af9015: RC fixes and improvements
videodev2.h.xml: Update to reflect the latest changes at videodev2.h
[media] v4l: document new Bayer and monochrome pixel formats
[media] DocBook/v4l: Add missing formats used on gspca cpia1 and sn9c2028
[media] firedtv: add parameter to fake ca_system_ids in CA_INFO
[media] tm6000: fix a macro coding style issue
tm6000: Remove some ugly debug code
[media] Nova-S-Plus audio line input
[media] [RFC,1/1] V4L2: Use new CAP bits in existing RDS capable drivers
...
08bff03ed697a583612b62a6ac566bd5bce98012 20-Sep-2010 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB: videobuf: add ext_lock argument to the queue init functions

Add an ext_lock argument to the videobuf init functions. This allows
drivers to pass the vdev->lock pointer (or any other externally held lock)
to videobuf. For now all drivers just pass NULL.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
da497e30c161963c413e259438b1b54672055b11 15-Sep-2010 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB: cx88: Remove BKL

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
631dd1a885b6d7e9f6f51b4e5b311c2bb04c323c 18-Oct-2010 Justin P. Mattock <justinmattock@gmail.com> Update broken web addresses in the kernel.

The patch below updates broken web addresses in the kernel

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Dimitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Mike Frysinger <vapier.adi@gmail.com>
Acked-by: Ben Pfaff <blp@cs.stanford.edu>
Acked-by: Hans J. Koch <hjk@linutronix.de>
Reviewed-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
/drivers/media/video/cx88/cx88-blackbird.c
5a0e3ad6af8660be21ca98a971cd00f331318c05 24-Mar-2010 Tejun Heo <tj@kernel.org> include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h

percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.

percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.

http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The script does the followings.

* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.

* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.

* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.

The conversion was done in the following steps.

1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.

2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.

3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.

4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.

5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.

6. percpu.h was updated not to include slab.h.

7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).

* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig

8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.

Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
/drivers/media/video/cx88/cx88-blackbird.c
46b21094cee16bc7e531d7d6cd66fb5ea05065d4 10-Dec-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments

Now that the video_device registration is tested using
video_is_registered(), drivers don't need to initialize the
video_device::minor field to -1 anymore.

Remove those unneeded assignments.

[mchehab.redhat.com: removed tm6000 changes as tm6000 is not ready yet for submission even on staging]

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
50462eb065e12f45851a9959a90d46b758944552 10-Dec-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> V4L/DVB (13555): v4l: Use video_device_node_name() instead of the minor number

Instead of using the minor number in kernel log messages, use the device
node name as returned by the video_device_node_name() function. This
makes debug, informational and error messages easier to understand for
end users.

[mchehab.redhat.com: removed tm6000 changes as tm6000 is not ready yet for submission even on staging]

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
63b0d5ad20365edf8baf96cdbb8e7faf62501286 10-Dec-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> V4L/DVB (13554a): v4l: Use the video_drvdata function in drivers

Fix all device drivers to use the video_drvdata function instead of
maintaining a local list of minor to private data mappings. Call
video_set_drvdata to register the driver private pointer when not
already done.

Where applicable, the local list of mappings is completely removed when
it becomes unused.

[mchehab.redhat.com: removed tm6000 changes as tm6000 is not ready yet for submission even on staging]

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
f0813b4c9f7ffbeaddcba1c08a1812f7ff30e1b7 27-Nov-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> V4L/DVB (13553): v4l: Use the video_is_registered function in device drivers

Fix all device drivers to use the video_is_registered function instead
of checking video_device::minor.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
38c7c036036c6260606a2a833aaad3794ca22499 27-Nov-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> V4L/DVB (13550): v4l: Use the new video_device_node_name function

Fix all device drivers to use the new video_device_node_name function.

This also strips kernel log messages from the "/dev/" prefix, has the device
node location is a userspace policy decision unknown to the kernel.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
31d0f84591b3bf49801a7e3f905a6089d857aa87 17-Jul-2009 Peter Huewe <peterhuewe@gmx.de> trivial: media/video/cx88: add __init/__exit macros to cx88 drivers

Trivial patch which adds the __init and __exit macros to the module_init /
module_exit functions to several files in drivers/media/video/cx88/

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
/drivers/media/video/cx88/cx88-blackbird.c
405f55712dfe464b3240d7816cc4fe4174831be2 11-Jul-2009 Alexey Dobriyan <adobriyan@gmail.com> headers: smp_lock.h redux

* Remove smp_lock.h from files which don't need it (including some headers!)
* Add smp_lock.h to files which do need it
* Make smp_lock.h include conditional in hardirq.h
It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

This will make hardirq.h inclusion cheaper for every PREEMPT=n config
(which includes allmodconfig/allyesconfig, BTW)

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/media/video/cx88/cx88-blackbird.c
b8341e1d2acadf3935fb299a325f569a1c20daa6 29-Mar-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (11300): cx88: convert to v4l2_subdev.

Convert cx88 to use v4l2_subdev since the old i2c autoprobing mechanism
will be removed.

Added code to explicitly load tvaudio where needed. Also fix the rtc-isl1208
support: since that driver no longer supports autoprobing it has to be
loaded using the new i2c API.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
185cda966633fc18b9df09b6d84d5ec2db4a57ff 29-Mar-2009 Trent Piepho <xyzzy@speakeasy.org> V4L/DVB (11269): cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_cap

The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on
VIDEO_CAPTURE buffers. Thus, there is no need to check or set the 'type'
field since it must already be set to VIDEO_CAPTURE.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
bec43661b1dc0075b7445223ba775674133b164d 30-Dec-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10135): v4l2: introduce v4l2_file_operations.

Introduce a struct v4l2_file_operations for v4l2 drivers.

Remove the unnecessary inode argument.

Move compat32 handling (and llseek) into the v4l2-dev core: this is now
handled in the v4l2 core and no longer in the drivers themselves.

Note that this changeset reverts an earlier patch that changed the return
type of__video_ioctl2 from int to long. This change will be reinstated
later in a much improved version.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
793927372626bae48b32db24dddde40d73923a9c 18-Dec-2008 Darron Broad <darron@kewl.org> V4L/DVB (9918): cx88: advise/acquire clean-up for HVR-1300/3000/4000

This cleans-up the advise/acquire methods.

This has been tested on the hvr-1300/4000 and assumed to be
correct on the hvr-3000.

This update also fixes analogue tuning on the hvr-1300
when in blackbird mode.

Signed-off-by: Darron Broad <darron@kewl.org>
Cc: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
f8de18d4308317a1c088fb8852ed0516124521b1 20-Nov-2008 Jelle Foks <jelle-v4l@foks.us> V4L/DVB (9654): new email address

Please accept this patch to refer to my new email address

Signed-off-by: Jelle Foks <jelle@foks.us>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
9c8e0a260ed7c8935d7ee8dd51cd1971ef516385 30-Oct-2008 Frederic CAND <frederic.cand@anevia.com> V4L/DVB (9496): cx88-blackbird: bugfix: cx88-blackbird-mpeg-users

Allows multiple access to the mpeg device

Signed-off-by: Frederic CAND <frederic.cand@anevia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
a2482377c9df89daa0cb94252bd1e8829c0e9c2f 30-Oct-2008 Frederic CAND <frederic.cand@anevia.com> V4L/DVB (9495): cx88-blackbird: bugfix: cx88-blackbird-poll-fix

Starts encoder not only on a read call but also on a poll command.

Signed-off-by: Frederic CAND <frederic.cand@anevia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
c6330fb86fd0fed98b7e0d5792881a77b778fefc 19-Oct-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d

The kernel number of a v4l2 node (e.g. videoX, radioX or vbiX) is now
independent of the minor number. So instead of using the minor field
of the video_device struct one has to use the num field: this always
contains the kernel number of the device node.

I forgot about this when I did the v4l2 core change, so this patch
converts all drivers that use it in one go. Luckily the change is
trivial.

Cc: michael@mihu.de
Cc: mchehab@infradead.org
Cc: corbet@lwn.net
Cc: luca.risolia@studio.unibo.it
Cc: isely@pobox.com
Cc: pe1rxq@amsat.org
Cc: royale@zerezo.com
Cc: mkrufky@linuxtv.org
Cc: stoth@linuxtv.org
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
da703d6262b5d168a4ceb427255cfcf3771b8f96 03-Sep-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8904): cx88: add missing unlock_kernel

sparse found an unbalanced BKL usage.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
d56dc61265d2527a63ab5b0f03199a43cd89ca36 30-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8613): v4l: move BKL down to the driver level.

The BKL is now moved from the video_open function in v4l2-dev.c to the
various drivers. It seems about a third of the drivers already has a
lock of some sort protecting the open(), another third uses
video_exclusive_open (yuck!) and the last third required adding the
BKL in their open function.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
e09e6e2b6a5daf653794926ab50a784b14b6de53 07-Oct-2008 Linus Torvalds <torvalds@linux-foundation.org> Revert "V4L/DVB (8904): cx88: add missing unlock_kernel"

This reverts commit 135aedc38e812b922aa56096f36a3d72ffbcf2fb, as
requested by Hans Verkuil.

It was a patch for 2.6.28 where the BKL was pushed down from v4l core to
the drivers, not for 2.6.27!

Requested-by: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-of-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/media/video/cx88/cx88-blackbird.c
135aedc38e812b922aa56096f36a3d72ffbcf2fb 03-Sep-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8904): cx88: add missing unlock_kernel

sparse found an unbalanced BKL usage.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx88/cx88-blackbird.c
0ea6bc8d43c9ee3c5384bea184eab020927a5b2c 26-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8523): v4l2-dev: remove unused type and type2 field from video_device

The type and type2 fields were unused and so could be removed.
Instead add a vfl_type field that contains the type of the video
device.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
a399810ca69d9d4bd30ab8c1678c7439e567f90b 21-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8482): videodev: move all ioctl callbacks to a new v4l2_ioctl_ops struct

All ioctl callbacks are now stored in a new v4l2_ioctl_ops struct. Drivers fill in
a const struct v4l2_ioctl_ops and video_device just contains a const pointer to it.

This ensures a clean separation between the const ops struct and the non-const
video_device struct.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
35ea11ff84719b1bfab2909903a9640a86552fd1 20-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8430): videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.h

The functions in a header should not belong to another module. The prio functions
belong to v4l2-common.c, so move them to v4l2-common.h.

The ioctl functions belong to v4l2-ioctl.c, so create a new v4l2-ioctl.h header
and move those functions to it.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
e0e31cdb91cddc4cfbf6d5ffa8212f694723269b 22-Jun-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8105): cx2341x: add TS capability

The cx18 can support transport streams with newer firmwares. Add a TS
capability to the generic cx2341x module.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
78b526a43561d7e5e702ba27948e422dfbc4bea1 28-May-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (7949): videodev: renamed the vidioc_*_fmt_* callbacks

The naming for the callbacks that handle the VIDIOC_ENUM_FMT and
VIDIOC_S/G/TRY_FMT ioctls was very confusing. Renamed it to match
the v4l2_buf_type name.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
50fa46b25490039ef51ef0dc8afdded60c4d3b59 26-Apr-2008 Roel Kluin <12o3l@tiscali.nl> V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec()

dev->mailbox is unsigned. so a negative return goes unnoticed

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
32d83efc1c9e290b3d4627c6ec40529eafa89b46 09-Apr-2008 Harvey Harrison <harvey.harrison@gmail.com> V4L/DVB (7521): media/video/cx88 replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
6d04203c7f49a4d93304b5754de5457297fa04eb 24-Mar-2008 Frej Drejhammar <frej.drejhammar@gmail.com> V4L/DVB (7451): cx88: Add user control for chroma AGC

The cx2388x family has support for chroma AGC. This patch implements a
the V4L2_CID_CHROMA_AGC control for the cx2388x family. By default
chroma AGC is disabled, as in previous versions of the driver.

Signed-off-by: "Frej Drejhammar <frej.drejhammar@gmail.com>"
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
0705135e59f8503e4dade4b3580fed77b1743b7c 22-Apr-2008 Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API

videobuf-dma-sg does not need to depend on PCI. Switch it to using generic
DMA API, convert all affected drivers, relax Kconfig restriction, improve
compile-time type checking, fix some Coding Style violations while at it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
ff699e6bd02eb1c6d02c7c2b576c2ee6caab201c 22-Apr-2008 Douglas Schilling Landgraf <dougsland@gmail.com> V4L/DVB (7094): static memory

- Static memory is always initialized with 0.
- Replaced in some cases C99 comments for /* */

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
ea48c13ad0e5626b827bd7076c22df1a352e3983 12-Dec-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (6861): cx2341x: command argument should be u32 instead of int

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
d8f69971d8d6c137e42928492f8d469078113db9 17-Dec-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6836): Fix CodingStyle troubles caused by the previous cx88 commits

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
6a0bc9a0162d10c551bb916a1a21bfede4db3203 14-Oct-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (6832): cx88-blackbird: don't mute audio when stopping the codec

We should not mute the audio input when we stop the codec,
because it will interfere with the live uncompressed stream.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
4423a9a3395ef652d80d848161444b417f1f78c0 21-May-2007 Jelle Foks <jelle@foks.8m.com> V4L/DVB (6830): cx88-blackbird: remove unnecessary encoder unmute

Remove the unnecessary BLACKBIRD_UNMUTE calls to the mpeg encoder in
cx88-blackbird.c

The encoder is never muted, hence unmuting should then only be necessary
once after hardware initialization.

I tested this from warm boots and cold boots (with long power down time
to ensure the sram in the chip is emptied), and found that after the
firmware upload the encoder is apparently not muted, making the unmutes
unnecessary.

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
e21a5c68deab7cd300e8502488f844f77e0f26d0 21-May-2007 Jelle Foks <jelle@foks.8m.com> V4L/DVB (6829): cx88-blackbird: remove unnecessary msleep()'s

Remove the unnecessary msleep()'s in cx88-blackbird.c

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
f9e54e0c84da869ad9bc372fb4eab26d558dbfc2 21-May-2007 Jelle Foks <jelle@foks.8m.com> V4L/DVB (6828): cx88-blackbird: audio improvements

This patch should fix the 'muted audio' and 'raspy audio' problem for
mpeg2 streams out of cx88-blackbird devices.

Especially mythtv users would find that the audio would often sound bad
(aliased, or 'raspy'), mainly related to channel changes, many (all?)
other users would find that there was no audio at all in the mpeg data
from the encoder chip, unless the audio was manually unmuted.

The patch includes the following modifications:

Don't actually start the mpeg2 encoder until the device is read from
by the application.

Wait until the audio is stable for at least 400ms before starting the
mpeg encoder.

Mute/Unmute the audio when starting/stopping the mpeg encoder.

Stop the mpeg encoder when changing parameters and when changing tuner
frequency.

Add a variable 'mpeg_active' to struct cx8802_dev to allow tracking of
whether or not the mpeg2 encoder is active.

Load the firmware on cx88-blackbird driver load.

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
053fcb6014eef31c2674d344c704118e0ac229ef 14-Nov-2007 Brandon Philips <brandon@ifup.org> V4L/DVB (6602): V4L: Convert videobuf drivers to videobuf_stop

Drivers were using cookie cutter code for stopping the read/stream. Use the
new videobuf_stop function which is lock safe.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
3bcc95760c9ee7adb8509173b78914339baa7f4f 11-Oct-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls

Remove the obsolete VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP ioctls from
the V4L2 API as per the removal schedule (October 2007).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
c1accaa21bdef38ec0f36eaaf7ce3384fff9d0c5 23-Aug-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6252): Adapt drivers to use the newer videobuf modules

PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo.

Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct.
So, to access it, a subroutine call is needed.

This patch renames all occurences of those function calls to be
consistent with the video-buf split.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981
Reviewed-by: Ricardo Cerqueira <v4l@cerqueira.org>
/drivers/media/video/cx88/cx88-blackbird.c
b930e1d851c3ffbf82127bd0e4d72ffe94d4b7f2 27-Aug-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs

There were many instances of 7-space indents spread throughout
the v4l-dvb tree.

This patch replaces the 7-space indents with tabs. The whitespace cleaner
script doesn't catch these, because it assumes that all indents are 8-space.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
01f1e44fe8455b6c6c557a62119b8622fb99f5f2 21-Aug-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy

The driver should now pass the 'busy' state of the device to the cx2341x
module whenever controls are set or tried. -EBUSY will be returned if
the device is busy and the user attempts to modify certain 'dangerous'
controls. It concerns controls that change the audio or video
compression mode and bitrates.

The cx88-blackbird and pvrusb2 drivers currently always pass '0' (not busy)
to the cx2341x, effectively keeping the old behavior for now.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
9c12224a607a4b22ab86784e3394b52810b9507c 21-Aug-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files

Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This
patch removes all occurences of moduleparm.h from drivers/media files.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
6a59d64c5cc302e0139ddb1f5e57afceecb14368 15-Aug-2007 Trent Piepho <xyzzy@speakeasy.org> V4L/DVB (6021): cx88: Copy board information into card state

The cx88 driver state stored the ID of the board type in core->board. Every
time the driver need to get some information about the board configuration, it
uses the board number as an index into board configuration array.

This patch changes it so that the board number is in core->boardnr, and
core->board is a copy of the board configuration information. This allows
access to board information without the extra indirection. e.g.
cx88_boards[core->board].mpeg becomes core->board.mpeg.

This has a number of advantages:
- The code is simpler to write.

- It compiles to be smaller and faster, without needing the extra array lookup
to get at the board information.

- The cx88_boards array no longer needs to be exported to all cx88 modules.

- The boards array can be made const

- It should be possible to avoid keeping the (large) cx88_boards array around
after the module is loaded.

- If module parameters or eeprom info override some board configuration
setting, it's not necessary to modify the boards array, which would
affect all boards of the same type.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
e0099e9edabd855bf83d3f57b1843f0b06bfb19d 30-May-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (5734): Cx88: kill dev->fw_size

Now that cx88-blackbird is only accepting the official firmware image,
we no longer have any need to store the size of the firmware inside the
cx88 data structure.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
25472237320b4979d38eb15bc842f592c94d20f5 30-May-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (5733): Blackbird should accept only new cx2341x encoding firmwares

Remove temporary support for older 256 kB firmwares.
ivtv, pvrusb2 and blackbird can now all handle the newer larger firmwares,
so support for the older (buggier) firmware can be removed.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
f057131fb6eb2c45f6023e3da41ccd6e4e71aee9 21-May-2007 Jelle Foks <jelle@foks.8m.com> V4L/DVB (5816): Cx88-blackbird: fix vidioc_g_tuner never ending list of tuners

v4l-info and other programs would loop indefinitely while querying the
tuners for cx88-blackbird cards.

The cause was that vidioc_g_tuner didn't return an error value for
qctrl->id != 0, making the application think there is a never ending
list of tuners...

This patch adds the same index check as done in vidioc_g_tuner() in
cx88-video.

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
af70dbd3346999570db73b3bc3d4f7b7c004f2ea 03-Mar-2007 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (5260): Cx88-blackbird: allow usage of both 376836 and 262144 sized firmware images

This updates the cx88-blackbird driver to be able to use the new cx23416
firmware image released by Hauppauge Computer Works, while retaining
compatibility with the older firmware images.
cx2341x firmware can be downloaded at: http://dl.ivtvdriver.org/ivtv/firmware/

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
a4b662f736c7919207da113814c35cad340c67fd 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5110): Keep the previous tvnorm default for cx88 and cx88-blackbird

The video_ioctl2 conversion replaced the default from NTSC to PAL_BG.
This broke cx88-blackbird. Probably, there are some badness at this
driver, not doing all required stuff to change video standard.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
b3c4ee7016ad9d4c51887591b8a62c05f59cc498 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5109): Convert cx88-blackbird to use video_ioctl2

This patch finishes cx88-blackbird conversion to use video_ioctl2. Video
standards are generated automatically inside videodev.c. the big ioctl
parser is removed, using, instead, video_ioctl2.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
7730bef9c5eaaecc3f441cd389ae189b17759117 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5108): Remove_cx88_ioctl

cx88_ioctl were merged at the master ioctl handler on cx88-blackbird

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
84f1b6783a8f7057f3d7a5388c5f3f4a8bce7b0b 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5107): Use cx88_set_freq() on cx88-blackbird.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
1571720c5ecfb9b5f27aff0678e3bef0cb1821ca 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5106): Do some cleanups at cx88-blackbird

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
23154f2f3b8c3c7c58548c518f28195b0d0a6c64 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5105): Reorder some ioctl handlers

Reorder some ioctl handlers to make easy to convert to video_ioctl2

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
ed10b06d8da204ce5f8d1b5b1a9d4df6565847c9 20-Jan-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (5104): Moved several stuff that were at cx88-video to cx88-blackbird.c

cx88-blackbird were using some ioctl handling that were previously on
cx88-video.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
fa027c2a0a0d6d1df6b29ee99048502c93da0dd4 12-Feb-2007 Arjan van de Ven <arjan@linux.intel.com> [PATCH] mark struct file_operations const 4

Many struct file_operations in the kernel can be "const". Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data. In addition it'll catch accidental writes at compile time to
these shared resources.

[akpm@sdl.org: dvb fix]
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/media/video/cx88/cx88-blackbird.c
49c6b46a05ade5e1c572431844b77755527a152c 18-Nov-2006 Jelle Foks <jelle@foks.8m.com> V4L/DVB (4838): Fix cx88-blackbird null pointer

Allows 'debug=1' for cx88-blackbird module (dev needs to be valid for
dprintk). Fixes a null-pointer dereference when using debug=1.

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
6c5be74c86f102c2d4e123bc51d2fa93155fd794 03-Dec-2006 Steven Toth <stoth@hauppauge.com> V4L/DVB (4676): Dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support.

A series of patches to change the cx88 framework to allow the
PCI mpeg port to be shared dynamically between different
types of drivers or applications. This patch changes the cx88-dvb
and cx88-blackbird drivers to become 'sub drivers' of a higher
single cx88-mpeg driver.
The cx88-mpeg driver is a superset of the previous cx88-mpeg/blackbird
drivers and now owns the IRQ. cx88-dvb/blackbird now become mini drivers,
registering themselves with cx88-mpeg through a standard interface with
callbacks.
Sub drivers request access to hardware via the cx88-mpeg driver. In turn
the cx88-mpeg driver determines whether the hardware is busy and accepts
or refuses the request, grant access using callbacks into the sub drivers.
The net effect is that you are no longer able to tamper with the mpeg port
from multiple different applications at the same time, potentially breaking
a live mpeg2 hardware encoding or dvb stream.
The mechanism extends to enable multiple dvb frontends to be registered
and share the single resource.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
ab9caf9e221ee1b13186a9144da26ac358f2a6f4 28-Sep-2006 Randy Dunlap <rdunlap@xenotime.net> V4L/DVB (4674): Use NULL instead of 0 for ptrs

Use NULL instead of 0 for pointer value, eliminate sparse warnings.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
48d5e8031e45545d353cb81a8f52c727deea88c0 25-Sep-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (4668): Cx88: rename mpeg capability flags from CX88_BOARD_FOO to CX88_MPEG_FOO

The flags for mpeg capabilities are sub-optimally named as
CX88_BOARD_DVB and CX88_BOARD_BLACKBIRD, which creates some confusion.
This patch renames the above to CX88_MPEG_DVB and CX88_MPEG_BLACKBIRD.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
3a5ba52a1a1981c51af8f3559c16feaa238b2fec 25-Sep-2006 Steven Toth <stoth@hauppauge.com> V4L/DVB (4667): Changed cx88_board .dvb and .register to an enum.

Some basic cleanup in preperation for a future patch where
the cx88-mpeg functions have to deal with the port being
used by multiple frontends in (mpeg2 hw encoder and dvb demod).

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
17bc98a41ae0ef82bab502ec1f9224ec5fcbe764 13-Aug-2006 Alexey Dobriyan <adobriyan@gmail.com> V4L/DVB (4499): CONFIG_PM=n slim: drivers/media/video/*

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
73ca66b97b73257a7d832d502c36fc19fe847809 10-Jul-2006 Magnus Damm <magnus@valinux.co.jp> [PATCH] release_firmware() fixes

Use release_firmware() to free requested resources.

According to Documentation/firmware_class/README the request_firmware()
call should be followed by a release_firmware(). Some drivers do not
however free the firmware previously allocated with request_firmware().
This patch tries to fix this by making sure that release_firmware() is used
as expected.

Signed-off-by: Magnus Damm <magnus@valinux.co.jp>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
38a2713ada91d5e7e4c0a1a0b12e45e2ec7079c3 27-Jun-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (4264): Cx88-blackbird: implement VIDIOC_QUERYCTRL and VIDIOC_QUERYMENU

This patch implements the newer v4l2 control features to make the
standard user controls and mpeg encoder controls of cx88-blackbird
video encoder boards available to userspace.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
99eb44fe941b35b28914881774515005fa2ab7f6 26-Jun-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4259): Pass an explicit log prefix to cx2341x_log_status

A card number is not unique enough. Instead, let the caller specify the
prefix of the status messages.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
4656fb63716af240452adf7b1aab3a9573452fd9 25-Jun-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (4229): Cx88-blackbird: implement VIDIOC_LOG_STATUS

implemented VIDIOC_LOG_STATUS in the cx88-blackbird driver
to show the status of i2c clients and the cx23416 mpeg encoder.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
dff47bf21be002b3f0a6562d368474c41971b448 25-Jun-2006 Adrian Bunk <bunk@stusta.de> V4L/DVB (4213): Cx88: cleanups

remove the following unused hooks:
- cx88-blackbird.c: cx88_ioctl_hook()
- cx88-blackbird.c: cx88_ioctl_translator()
make the following needlessly global functions static:
- cx88-tvaudio.c: cx88_detect_nicam()
remove the following unused EXPORT_SYMBOL's:
- cx88-cards.c: cx88_bcount
- cx88-cards.c: cx88_subids
- cx88-cards.c: cx88_idcount
- cx88-cards.c: cx88_card_list
- cx88-cards.c: cx88_card_setup
- cx88-core.c: cx88_start_audio_dma
- cx88-core.c: cx88_stop_audio_dma
- cx88-i2c.c: cx88_i2c_init

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
45f87a21735804760dd7db0e2e3c609c332b15e3 23-Jun-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (4206): Cx88-blackbird: always set encoder height based on tvnorm->id

Removed the switch..case block in blackbird_probe for setting encoder height
based on video standard. All blackbird devices can rely on tvnorm->id to
retrieve this information from the cx2388x video decoder - tuner_formats
should not be used to determine the encoding video standard.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
45ad9f8b44b06bf1e91b4b3c338406c2233f0482 21-Jun-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4202): allow selecting CX2341x port mode

CX2341X port was always set to 'memory', but 'streaming' is also possible

ivtv uses the memory (DMA) interface with the CX2341X, while pvrusb2 and
cx88-blackbird use the streaming interface. This setting is now selectable
by the driver.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
f81cf7533b4b8411a0d2fa943adcede340dfdab6 18-Jun-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4198): Avoid newer usages of obsoleted experimental MPEGCOMP API

Put old MPEGCOMP API under #if __KERNEL__ and issue warnings when used.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
f022156b33ffa32c26a86540fe4f6fe56cff0963 18-Jun-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4196): Port cx88-blackbird to the new MPEG API.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
48c35756a762e2d569dfd9ab2f24d1b63ea657b9 22-May-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3982): Cx88-blackbird: use encoder firmware filename defined in cx2341x.h

Since the filename of the cx23416 encoder firmware image
is defined in cx2341x.h, we don't need to explicitly define
it in cx88-blackbird.c anymore.
This changeset removes BLACKBIRD_FIRM_ENC_FILENAME,
replacing all occurrances with CX2341X_FIRM_ENC_FILENAME.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
2544bf2d619d09b564fbdd451fe4b1ba798f9c03 22-May-2006 Valentin Zagura <puthre@gmail.com> V4L/DVB (3973): Cx88-blackbird: pause the encoder during frequency change

Added code to cx88-blackbird.c to treat the VIDIOC_S_FREQUENCY ioctl
to stop mpeg stream before changing the frequency and restart it after.
It seems that the mpeg stream needs to be paused while changing the
channel frequency, otherwise the mpeg encoder enters into a bad state,
producing artifacts.

Signed-off-by: Valentin Zagura <puthre@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
861018a6a9b55ca1a5bf8cd0ff2d47944ce88827 22-May-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3971): Cx88-blackbird: use standard filename for cx23416 firmware

cx88-blackbird uses the same encoder firmware for the cx23416 chip that is
used by ivtv and pvrusb2.
This patch alters the driver to expect the cx23416 encoder firmware to be
located in the file, "v4l-cx2341x-enc.fw", instead of using
"blackbird-fw-enc.bin"

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
855dbada9b551d12a63754b92f67e34c113adf34 22-May-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3970): Cx88-blackbird: use firmware api commands defined in cx2341x.h

This patch removes all of the BLACKBIRD_API #define's, instead
using the equivalent CX2341X_ENC #define's in cx2341x.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
0b5f56d67821587495eb47014750e2ae7373d635 21-Apr-2006 Valentin Zagura <puthre@gmail.com> V4L/DVB (3827): Cx88-blackbird: clean up the buffers when closing the MPEG stream

This patch cleans up the buffer queue when the MPEG stream is closed,
preventing the message, 'cx8802_timeout'

Signed-off-by: Valentin Zagura <puthre@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
01a9cd99cfd5b91ca38df74db60629d76e83cb94 18-Apr-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3817): KWorld HardwareMpegTV XPert: set encoder video standard based on tvnorm

The KWorld HardwareMpegTV XPert uses a multistandard tuner, tda8290 + tda8275.
Without checking the video standard in blackbird_probe, the encoder defaults
to PAL, even if the incoming video stream is NTSC. This patch checks the video
standard set by the cx2388x decoder, and sets the encoding height and frame
accordingly.
This patch is designed to only affect the KWorld HardwareMpegTV XPert.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
3febc04d42d4a0bda64af0c929fdb871370e2a7a 16-Apr-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3810): KWorld HardwareMpegTV XPert: Enable Blackbird MPEG encoder support

- clear I2SIN to deliver the audio stream to the cx23416 mpeg encoder.
- enable blackbird support on the KWorld HardwareMpegTV XPert

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
8a17ef975648ce96b6a83b872b6ff4be6fdcd2a4 13-Apr-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3807): Cx88-blackbird: fix typo

BLACKBIRD_FIELD1_SAA7115 was repeated. Corrected version reads:
blackbird_api_cmd(dev, BLACKBIRD_API_SET_CAPTURE_LINES, 2, 0,
BLACKBIRD_FIELD1_SAA7115,
BLACKBIRD_FIELD2_SAA7115
)

Thanks-to: Valentin Zagura <puthre@gmail.com> for pointing this out.
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
707f813729a87e4368532e0a53349192ddabb2e1 13-Apr-2006 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (3806): Cx88-blackbird: allow proper detection of PAL vs. NTSC video standard

- removed test for CX88_BOARD_HAUPPAUGE_ROSLYN prior to determining whether
the video standard in use is NTSC or PAL.
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
c7b0ac0546985fc6361a8d92cf808d46da797677 10-Mar-2006 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (3516): Make video_buf more generic

Video_buf were concerned to allow PCI devices to be used as
video capture devices. This patch extends video_buf features
by virtualizing pci-dependent functions and allowing other
type of devices to use it.
It is still DMA centric, although it may be used also by
devices that emulates scatter/gather behavior or a DMA device

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
7408187d223f63d46a13b6a35b8f96b032c2f623 11-Jan-2006 Panagiotis Issaris <takis@issaris.org> V4L/DVB (3344a): Conversions from kmalloc+memset to k(z|c)alloc


Conversions from kmalloc+memset to k(z|c)alloc.

Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx88/cx88-blackbird.c
5e453dc757385ec892a818e4e3b5de027987ced9 09-Jan-2006 Michael Krufky <mkrufky@m1k.net> V4L/DVB (3269): ioctls cleanups.


- Now, all internal ioctls are at v4l2-common.h
- removed unused ioctl at saa6752hs.h
- all debug ioctl code moved to v4l2-common.c
- removed duplicated stuff from other cards

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/cx88/cx88-blackbird.c
d21838dd7d098e102ced2fafed62dcb133c4d71c 09-Jan-2006 Mauro Carvalho Chehab <mchehab@brturbo.com.br> V4L/DVB (3123b): syncs V4L subsystem tree with kernel

- This patch makes kernel in sync with v4l subsystem tree.
- some lines reordered to be sync.
- some reduntant codes removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/cx88/cx88-blackbird.c
0345c387de72b5d7fbfeda9d92818fa7013a6d1c 09-Jan-2006 Steven Toth <stoth@hauppauge.com> V4L/DVB (3112): Several fixes for Hauppauge Roselyn Design (blackbird)

- This patch adds eeprom awareness for the Roslyn. In effect, the
blackbird will query the tuner V4L2_STD_xxxx definitions to determine
whether it's connected to a NTSC or PAL tuner. Based on that, various
default values will change for blackbird encoding.
- Fixes back panel SVIDEO/COMPOSITE with audio, work properly.
- Fixes a problem with lip sync issues, due to bad framerate vs
audio rate assumptions.
- Fixed a problem with the GPIO configuration in cx88-cards.
- Removed the comments in cx88-cards that made no sense.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/cx88/cx88-blackbird.c
674434c691e10015660022fc00b04985a23ef87b 12-Dec-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 4

Clean up whitespaces at v4l/dvb files

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
4ac97914c6c35f6bf132071c718e034d0846b9f5 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 800: whitespace cleanups

- Whitespace Cleanups.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
c5df599b67b5a061d28a2154a49f9704e0d1040b 09-Nov-2005 Catalin Climov <catalin@climov.com> [PATCH] v4l: 649: fixed gcc 4 0 compile warnings by moving var declarations to the top of the function or block

- Fixed gcc 4.0 compile warnings by moving var declarations to the top of
the function or block.

Signed-off-by: Catalin Climov <catalin@climov.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
31629424132c87f7c8bd79d7ed4d014354a06427 09-Nov-2005 Catalin Climov <catalin@climov.com> [PATCH] v4l: 631: implemented the v4l2 mpeg api for blackbird cards

- Implemented the v4l2 mpeg api for blackbird cards.

Signed-off-by: Catalin Climov <catalin@climov.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
e52e98a7eccfb0e7e91630d01690fb11d77db77d 09-Sep-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: CX88 updates and card additions

- Remove $Id CVS logs for V4L files
- add ioctl indirection via cx88_ioctl_hook and cx88_ioctl_translator to
cx88-blackbird.c.
- declare the indirection hooks from cx88-blackbird.c.
- dcprintk macro which uses core instead of dev->core on cx88-video.c.
- replace dev->core occurances with core on cx88-video.c.
- CodingStyle fixes.
- MaxInput replaced by a define.
- cx8801 structures moved from cx88.h.
- The output_mode needs to be set for the Hauppauge Nova-T DVB-T
for versions after 2.6.12.
- Corrected GPIO values for cx88 cards #28 & #31 for s-video and composite.
- Updated DViCO FusionHDTV5 Gold & added DVB support.
- Fixed DViCO FusionHDTV 3 Gold-Q GPIO.
- Some clean up in cx88-tvaudio.c
- replaced hex values when writing to AUD_CTL to EN_xx for better reading.
- Allow select by hand between Mono, Lang1, Lang2 and Stereo for BTSC.
- Support for stereo NICAM and BTSC improved.
- Broken stereo check removed.
- Added support for remote control to Cinergy DVBT-1400.
- local var renamed from rc5 to a better name (ircode).
- LGDT330X QAM lock bug fixes.
- Some reorg: move some bits to struct cx88_core, factor out common ioctl's
to cx88_do_ioctl.
- Get rid of '//' comments, replace them with #if 0 and /**/.
- Minor clean-ups: remove dcprintk and replace all instances of "dev->core"
with "core".
- Added some registers to control PCI controller at CX2388x chips.
- New tuner standby API.
- Small mpeg fixes and cleanups for blackbird.
- fix mpeg packet size & count
- add VIDIOC_QUERYCAP ioctl for the mpeg stream
- return more information in struct v4l2_format
- fix default window height
- small cleanups

Signed-off-by: Uli Luckas <luckas@musoft.de>
Signed-off-by: Torsten Seeboth <Torsten.Seeboth@t-online.de>
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Patrick Boettcher <patrick.boettcher@desy.de>
Signed-off-by: Catalin Climov <catalin@climov.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
41ef7c1ed48cb273c7b7a9ffd48a262a22f84483 12-Jul-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: CX88 Update

- Removed unused structures.
- Removed BTTV version check.
- Some debug structs moved to their own .c file and converted to static
- Comment changed to express better when attach_inform is running
- set_freq removed from set_mode at tuner-core.c.
- I2C cleanups and converged to a basic reference structure.
- Rename tuner structures fields.
- It calls VIDIOC_G_FREQUENCY to get tuner freq from tuner.
- added missing contrast offset value, set to 0.
- Let Kconfig decide whether to include frontend-specific code.

Signed-Off-By: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
b45009b0288a96a3458f4f8e93cb776678d41875 24-Jun-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: CX88 cards update

This patch adds support for various CX88 cards and allows specifying
card addresses.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: cybercide@f2s.com <cybercide@f2s.com>
Signed-off-by: Catalin Climov <catalin@climov.com>
Signed-off-by: Nickolay V Shmyrev <nshmyrev@yandex.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/cx88/cx88-blackbird.c
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
/drivers/media/video/cx88/cx88-blackbird.c