History log of /drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
43823c02245a445b5669d43b1ec07b6d8ae710f5 14-Mar-2011 Mike Isely <isely@pobox.com> [media] pvrusb2: Implement support for Terratec Grabster AV400

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.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/pvrusb2/pvrusb2-cx2584x-v4l.c
90135c96869fa0ef3182282b2a661b57fcdb7230 20-Jun-2009 Mike Isely <isely@pobox.com> V4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes

This change does not change any outward behavior; it merely chops down
some large if-conditions with embedded assignments into something a
little more maintainable for others (I of course never had a problem
with this...).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
81e804c9c2e38431c1c01165d06076776c6fcbd6 20-Jun-2009 Mike Isely <isely@pobox.com> V4L/DVB (12121): pvrusb2: Improve handling of routing schemes

The pvrusb2 driver has a concept of "routing scheme" which defines
which physical inputs should be connected based on application's
choice of logical input. The correct "routing scheme" depends on the
specific device since different devices might wire up their muxes

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
5325b4272a53b43f55b82cc369c310c2fcacdca1 02-Apr-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (11380): v4l2-subdev: change s_routing prototype

It is no longer needed to use a struct pointer as argument, since v4l2_subdev
doesn't require that ioctl-like approach anymore. Instead just pass the input,
output and config (new!) arguments directly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
5a3bab8eb02f9413b802540530ea390d8d063e43 08-Mar-2009 Mike Isely <isely@pobox.com> V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now

This change removes the old i2c module controlling layer from the
pvrusb2 driver. This is code that first had appeared in the driver
back in December 2005. It's history. Now we use v4l2-subdev. Please
note also that with this change, the driver will no longer be usable
in kernels older that 2.6.22.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
27764726a8fa72a7e8a7cdccbe9e4425747a96fa 07-Mar-2009 Mike Isely <isely@pobox.com> V4L/DVB (11194): pvrusb2: Implement mechanism to force a full sub-device update

When a pvrusb2 driver instance first initializes, we need to be sure
to send out a complete state update for everything to all attached
modules. The old i2c layer did this by keeping a separate mask of
"stale" bits for each attached module - and setting that mask to all
stale when that module attaches. But the new sub-device adaptation
I've implemented here no longer has per-module stale bits. So instead
there's now a global "force dirty" bit that is set upon instance
initialization, before the sub-devices are attached. After the first
update, this bit is cleared, allowing for normal update-on-dirty
behavior. In this manner, we ensure that all sub-devices have been
properly synchronized at initialization.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
5e430ca5d25e99f99c055bc43f8f140722a643b8 07-Mar-2009 Mike Isely <isely@pobox.com> V4L/DVB (11193): pvrusb2: Correct some trace print inaccuracies

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
634ba268b965b57da1f60edbc57f14299a5326f6 07-Mar-2009 Mike Isely <isely@pobox.com> V4L/DVB (11182): pvrusb2: Tie in cx25840 sub-device support

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
acd92d40ccaf140d27e6bd5b83573294165ebbdf 07-Mar-2009 Mike Isely <isely@pobox.com> V4L/DVB (11157): pvrusb2: whitespace trivial tweaks

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
64723b301846636accbfb1539ebda0835f683a72 25-May-2008 Mike Isely <isely@pobox.com> V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
a6a3a17b7fdaf824e6d73e8e4a94c9d149302f74 29-Apr-2008 Harvey Harrison <harvey.harrison@gmail.com> media: fix integer as NULL pointer warnings

drivers/media/video/v4l2-common.c:719:16: warning: Using plain integer as NULL pointer
drivers/media/video/au0828/au0828-dvb.c:122:19: warning: Using plain integer as NULL pointer
drivers/media/video/ivtv/ivtv-yuv.c:1101:22: warning: Using plain integer as NULL pointer
drivers/media/video/ivtv/ivtv-yuv.c:1102:23: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-audio.c:78:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-video-v4l.c:84:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1264:9: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-context.c:197:28: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:126:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:133:32: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:145:31: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:177:55: warning: Using plain integer as NULL pointer
drivers/media/video/videobuf-core.c:100:9: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
1df59f0b908bfcdc35d1ea2319290ece272bf576 21-Apr-2008 Mike Isely <isely@pobox.com> V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
9e2e3aeb2d2c8bf64b04e1f5747f1d9842df43de 26-Nov-2007 Mike Isely <isely@pobox.com> V4L/DVB (6701): pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardware

This changeset allows the pvrusb2 driver to operate a new device type
("GOTVIEW USB2.0 DVD2"). Changes amount to defining a new routing
scheme for the device and adding appropriate table entries into
pvrusb2-devattr.c.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
f5174af201f2e22c101bb02d06343e4bc5f056de 26-Nov-2007 Mike Isely <isely@pobox.com> V4L/DVB (6698): pvrusb2: Implement signal routing schemes

The exact routing of video and audio signals within a device is a
device-specific attribute. Hauppauge devices do it one way; other
types of device may route things differently. Unfortunately it is
rather impractical to define chip-specific routing at the device
attribute level, so instead what happens here is that "schemes" are
defined. Each chip level interface implements its part of a given
scheme and the scheme as a whole is made into a device specific
attribute controlled via a table entry in pvrusb2-devattr.c. The only
scheme defined here is for Hauppauge devices, but clearly this opens
the door for other possibilities to follow.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
681c739944018d80dbcf7f19997eba97676c7116 26-Nov-2007 Mike Isely <isely@pobox.com> V4L/DVB (6691): pvrusb2: Rework pipeline state control

This is a new implementation for video pipeline control within the
pvrusb2 driver. Actual start/stop of the pipeline is moved to the
driver's kernel thread. Pipeline stages are controlled autonomously
based on surrounding pipeline or application control state. Kernel
thread management is also cleaned up and moved into the internal
control structure of the driver, solving a set up / tear down race
along the way. Better failure recovery is implemented with this new
control strategy. Also with this change comes better control of the
cx23416 encoder, building on additional information learned about the
peculiarities of controlling this part (this information was the
original trigger for this rework). With this change, overall encoder
stability should be considerably improved. Yes, this is a large
change for this driver, but due to the nature of the feature being
worked on, the changes are fairly pervasive and would be difficult to
break into smaller pieces with any semblence of step-wise stability.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
27c7b710a4010e10b14500c0b27bb4c2a806de1b 20-Jan-2007 Mike Isely <isely@pobox.com> V4L/DVB (5092): Pvrusb2: Use ARRAY_SIZE wherever possible

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
ca545f7c39476c6c4c6e639452180a2b38342669 20-Jan-2007 Mike Isely <isely@pobox.com> V4L/DVB (5091): Pvrusb2: Use kzalloc in place of kmalloc/memset pairs

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
18103c57b0168ebc0401702d483fe131f0aecc7a 20-Jan-2007 Mike Isely <isely@pobox.com> V4L/DVB (5081): Pvrusb2: VIDIOC_G_TUNER cleanup

Clean up use of VIDIOC_G_TUNER; we now correctly gather info from all
the I2C client modules. Also abide by V4L2_TUNER_CAP_LOW
appropriately.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
2083230084cee50580ee730cd26669704f7939b9 28-Dec-2006 Mike Isely <isely@pobox.com> V4L/DVB (5049): Pvrusb2: Enable radio mode for 24xxx devices

These changes implement correct audio routing for radio mode on a
24xxx device.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
c5a69d57eb48e36f84c0737b5b24ec277d7dbfba 17-Feb-2007 Tobias Klauser <tklauser@distanz.ch> Storage class should be before const qualifier

The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
ff67c614e23bf5a3c16968e2c42ab442121c4beb 20-Nov-2006 Mike Isely <isely@pobox.com> V4L/DVB (4852): Pvrusb2: Fix horizontal resolution setting problem for 24xxx devices

Fix long-standing issue which prevented use of 24xxx devices at any
horizontal resolution other an 720. The problem is in the cx25840
module, if no attempt is made to initialize VBI there. Such a thing
should not be needed, but the pvrusb2 driver is updated now to deal
with this.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
c2625bff997f195e067ae11c9b0aa7217fb32991 29-Oct-2006 Randy Dunlap <randy.dunlap@oracle.com> V4L/DVB (4786): Pvrusb2: use NULL instead of 0

Fix sparse NULL usage warnings:
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:714:14: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:715:16: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1079:10: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:224:58: warning: Using plain integer as NULL pointer

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
784e8fe417d45b526eeb74794b7df43e11000f70 26-Aug-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4546): Add u32 argument to VIDIOC_INT_RESET.

The extra argument makes it possible to reset subsystems of a chip if
that is supported.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
a0fd1cb171e8b17339a9a18ae7cf09c50022010f 30-Jun-2006 Mike Isely <isely@pobox.com> V4L/DVB (4288): Clean out a zillion sparse warnings in pvrusb2

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
b30d244176846de3480ae17097a5f7831ec6aaf6 26-Jun-2006 Mike Isely <isely@pobox.com> V4L/DVB (4244): Implement use of cx2341x module in pvrusb2 driver

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c
d855497edbfbf9e19a17f4a1154bca69cb4bd9ba 27-Jun-2006 Mike Isely <isely@isely.net> V4L/DVB (4228a): pvrusb2 to kernel 2.6.18

Implement V4L2 driver for the Hauppauge PVR USB2 TV tuner.

The Hauppauge PVR USB2 is a USB connected TV tuner with an embedded
cx23416 hardware MPEG2 encoder. There are two major variants of this
device; this driver handles both. Any V4L2 application which
understands MPEG2 video stream data should be able to work with this
device.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c