linux-2.6
16 years agoV4L/DVB (7593): em28xx: add a module to handle dvb
Mauro Carvalho Chehab [Fri, 18 Apr 2008 00:36:41 +0000 (21:36 -0300)] 
V4L/DVB (7593): em28xx: add a module to handle dvb

This patch adds em28xx-dvb. This driver is highly based on cx88-dvb and
saa7134-dvb.

This code currently loads and unloads successfully. However, some
changes are needed to properly support the mpeg streams and to setup
em28xx to work on DVB mode.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7591): drivers/media/video: use time_before, time_before_eq, etc
Julia Lawall [Wed, 16 Apr 2008 19:13:15 +0000 (16:13 -0300)] 
V4L/DVB (7591): drivers/media/video: use time_before, time_before_eq, etc

The functions time_before, time_before_eq, time_after, and time_after_eq
are more robust for comparing jiffies against other values.

A simplified version of the semantic patch making this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@ change_compare_np @
expression E;
@@

(
- jiffies <= E
+ time_before_eq(jiffies,E)
|
- jiffies >= E
+ time_after_eq(jiffies,E)
|
- jiffies < E
+ time_before(jiffies,E)
|
- jiffies > E
+ time_after(jiffies,E)
)

@ include depends on change_compare_np @
@@

@ no_include depends on !include && change_compare_np @
@@

  #include <linux/...>
+ #include <linux/jiffies.h>
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7590): ir-common: Adds 3 missing IR keys for FlyVIdeo2000
Ivan Bobyr [Wed, 16 Apr 2008 19:01:55 +0000 (16:01 -0300)] 
V4L/DVB (7590): ir-common: Adds 3 missing IR keys for FlyVIdeo2000

The patch extends the default keymap of FlyVIdeo2000 IR remote control so that
this remote may also serve movie & music players in a better way.

I bought a SAA7130 TV tuner with a remote control having 3 additional button
as the default layout, exactly as:

1) labeled "<<<" : key code 0x19, may be used as "backward"in MPlayer,XMMS etc

2) labeled ">>>" : key code 0x1f, may be used as "forward"...

3) not labeled : key code 0x0a, may be used as "pause"...

Once have added these code definitions to the kernel, me got all these
operations available for viewing movies & listening music.

Signed-off-by : Ivan Bobyr <brefi@yandex.ru>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7589): ibmcam: improve support for the IBM PC Camera Pro
David Hilvert [Wed, 16 Apr 2008 07:27:09 +0000 (04:27 -0300)] 
V4L/DVB (7589): ibmcam: improve support for the IBM PC Camera Pro

This patch modifies Dmitri's original ibmcam driver for Linux to improve
support for the IBM PC Camera Pro.  It may also offer improved support for
other models classified by the driver as 'Model 3', such as the IBM PC Camera
Pro Max.

See http://auricle.dyndns.org/xvp610/

Signed-off-by: David Hilvert <dhilvert@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7584): Fix build that occurs when CONFIG_VIDEO_PMS=y and VIDEO_V4L2_COMMON=m
Mauro Carvalho Chehab [Tue, 15 Apr 2008 21:11:50 +0000 (18:11 -0300)] 
V4L/DVB (7584): Fix build that occurs when CONFIG_VIDEO_PMS=y and VIDEO_V4L2_COMMON=m

This patch removes zoran checks for VIDEO_V4L2, since this API is always
present, when V4L is selected.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7582): proc: switch /proc/driver/radio-typhoon to seq_file interface
Alexey Dobriyan [Fri, 11 Apr 2008 00:34:39 +0000 (21:34 -0300)] 
V4L/DVB (7582): proc: switch /proc/driver/radio-typhoon to seq_file interface

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7580): Fix concurrent read from /proc/videocodecs
Alexey Dobriyan [Sun, 13 Apr 2008 11:48:43 +0000 (08:48 -0300)] 
V4L/DVB (7580): Fix concurrent read from /proc/videocodecs

Observation one: ->write_proc and ->data assignments aren't needed. Removed.
Observation two: codecs lists are unprotected. Patch doesn't fix this.
Observation three:
/proc/videocodecs printout is done to temporary _global_ buffer which
is freed in between. Consequently, two users hitting this file can
screwup each other.

Steps to reproduce:

modprobe videocodec
while true; do cat /proc/videocodecs &>/dev/null; done &
while true; do cat /proc/videocodecs &>/dev/null; done &

The fix is switching to seq_files, this removes code, especially some
line-length "logic".

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7579): bttv: Fix memory leak in radio_release
Robert Fitzsimons [Thu, 10 Apr 2008 12:40:31 +0000 (09:40 -0300)] 
V4L/DVB (7579): bttv: Fix memory leak in radio_release

Fix the leak of the bttv_fh structure allocated in radio_open which
was introduced by commit 5cd3955cb8adfc1edf481e9e1cb2289db50ccacb.

Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7575a): Revert changeset 4c3b01f71181a52ab7735a7c52b1aa2232826075
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:47:03 +0000 (14:47 -0300)] 
V4L/DVB (7575a): Revert changeset 4c3b01f71181a52ab7735a7c52b1aa2232826075

Due to the patch order change, pvrusb2 were broken. So, changeset
4c3b01f71181a52ab7735a7c52b1aa2232826075 were applied at mainstream to fix.
After the pvrusb2 changes, this patch is no longer required and should be
reverted.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7569): Added support for SkyStar2 rev2.7 and ITD1000 DVB-S tuner
Patrick Boettcher [Sun, 13 Apr 2008 18:49:22 +0000 (15:49 -0300)] 
V4L/DVB (7569): Added support for SkyStar2 rev2.7 and ITD1000 DVB-S tuner

This patches adds support for the SkyStar2 rev2.7 with the PN1010/ITD1000 Frontend.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7471): SkyStar2: preparing support for the rev2.8
Patrick Boettcher [Sun, 30 Mar 2008 00:28:07 +0000 (21:28 -0300)] 
V4L/DVB (7471): SkyStar2: preparing support for the rev2.8

Support is prepared, but the CX24113-driver .c-file is missing. After sorting out the NDA problems, the file will be there immediatly.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7575): mt312: add attach-time setting to invert lnb-voltage
Matthias Schwarzott [Sat, 12 Apr 2008 18:04:50 +0000 (15:04 -0300)] 
V4L/DVB (7575): mt312: add attach-time setting to invert lnb-voltage

Add a setting to config struct for inversion of lnb-voltage.
Needed for support of Avermedia A700 cards.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7574): mt312: Add support for zl10313 demod
Matthias Schwarzott [Sat, 12 Apr 2008 18:04:49 +0000 (15:04 -0300)] 
V4L/DVB (7574): mt312: Add support for zl10313 demod

Add zl10313 support to mt312 driver.
zl10313 uses 10.111MHz xtal.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7573): mt312: Supports different xtal frequencies
Matthias Schwarzott [Sat, 12 Apr 2008 18:04:48 +0000 (15:04 -0300)] 
V4L/DVB (7573): mt312: Supports different xtal frequencies

Do not hardcode xtal frequency but allow different values
for future zl10313 support.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7572): mt312: Fix diseqc
Matthias Schwarzott [Sat, 12 Apr 2008 18:04:47 +0000 (15:04 -0300)] 
V4L/DVB (7572): mt312: Fix diseqc

Correct the frequency of the emitted diseqc signal to 22kHz.
Adds sleep(100) to wait for message to be transmitted.

For now the only user of mt312 is b2c2-flexcop, and it
does overwrite all diseqc related functions with own code.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7571): mt312: Cleanup buffer variables of read/write functions
Matthias Schwarzott [Sat, 12 Apr 2008 18:04:46 +0000 (15:04 -0300)] 
V4L/DVB (7571): mt312: Cleanup buffer variables of read/write functions

Change type of buffer variables from void* to u8* to save some casts.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7568): Support for DVB-S demod PN1010 (clone of S5H1420) added
Patrick Boettcher [Sun, 13 Apr 2008 18:47:53 +0000 (15:47 -0300)] 
V4L/DVB (7568): Support for DVB-S demod PN1010 (clone of S5H1420) added

This device is a clone of the PN1010 used by SkyStar2 rev2.7 .

This patch adds support for the flexcop-device and makes the driver look a little bit nicer.

It needs to be checked whether the driver is still ok for the budget-cards.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7567): em28xx: Some cleanups
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:11:08 +0000 (15:11 -0300)] 
V4L/DVB (7567): em28xx: Some cleanups

Removes some fields from data structs.

There are some fields that are just caching some calculus for buffer
size. The calculus were moved to the places it were needed and the now
unused fields were removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7566): videobuf-dvb: allow its usage with videobuf-vmalloc
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:10:00 +0000 (15:10 -0300)] 
V4L/DVB (7566): videobuf-dvb: allow its usage with videobuf-vmalloc

videobuf-dvb were still using a function that were videobuf-dma-sg
dependent. This patch creates a generic handler for this function. This
way, videobuf-dvb can now work with all videobuf implementations.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7565): em28xx: fix buffer underrun handling
Aidan Thornton [Sun, 13 Apr 2008 18:09:36 +0000 (15:09 -0300)] 
V4L/DVB (7565): em28xx: fix buffer underrun handling

This patch fixes three related issues and a fourth trivial one:

- Use buffers even if no-one's currently waiting for them (fixes
  underrun issues);

- Don't return incomplete/mangled frames at the start of streaming and
  in the case of buffer underruns;

- Fix an issue which could cause the driver to write to a buffer that's
  been freed after videobuf_queue_cancel is called (exposed by the
  previous two fixes - for some reason, ignoring buffers that weren't
  being waited on worked around the issue);

- Fix a bug which could cause only one field to be filled in the first
  buffer (or first few buffers) after streaming is started.

Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7564): em28xx: Some fixes to display logic
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:09:14 +0000 (15:09 -0300)] 
V4L/DVB (7564): em28xx: Some fixes to display logic

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7563): em28xx: Add missing checks
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:08:55 +0000 (15:08 -0300)] 
V4L/DVB (7563): em28xx: Add missing checks

There are some cases where nobody is waiting for a buffer. Due to the
lack of check, if you try to abort the userspace app, machine were
hanging, since IRQ were trying to use a buffer that were disallocated.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7562): videobuf: Require spinlocks for all videobuf users
Brandon Philips [Fri, 28 Mar 2008 17:18:33 +0000 (10:18 -0700)] 
V4L/DVB (7562): videobuf: Require spinlocks for all videobuf users

A spinlock is necessary for queue_cancel to work with every driver in the tree.
Otherwise a race exists between IRQ handlers removing buffers from the queue
and queue_cancel invalidating the queue.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7561): videobuf-vmalloc: stop streaming before unmap
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:07:56 +0000 (15:07 -0300)] 
V4L/DVB (7561): videobuf-vmalloc: stop streaming before unmap

Before the patch, there were a risk of freeing and unmapping userspace memory,
while there were pending requests.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7560): videodev: Some printk fixes
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:07:16 +0000 (15:07 -0300)] 
V4L/DVB (7560): videodev: Some printk fixes

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7559): em28xx: Fills the entire buffer, before getting another one
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:06:52 +0000 (15:06 -0300)] 
V4L/DVB (7559): em28xx: Fills the entire buffer, before getting another one

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7558): videobuf: Improve command output for debug purposes
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:06:24 +0000 (15:06 -0300)] 
V4L/DVB (7558): videobuf: Improve command output for debug purposes

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7557): em28xx: honour video_debug modprobe parameter
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:05:47 +0000 (15:05 -0300)] 
V4L/DVB (7557): em28xx: honour video_debug modprobe parameter

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7556): em28xx: fix locking on vidioc_s_fmt_cap
Aidan Thornton [Sun, 13 Apr 2008 18:02:24 +0000 (15:02 -0300)] 
V4L/DVB (7556): em28xx: fix locking on vidioc_s_fmt_cap

Currently, vidioc_s_fmt_cap is allowed even if streaming is running on some
other fh. This is likely to cause issues.

Block use of vidioc_s_fmt_cap if someone else has claimed access to the device.

Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7555): em28xx: remove timeout
Mauro Carvalho Chehab [Sun, 13 Apr 2008 18:01:12 +0000 (15:01 -0300)] 
V4L/DVB (7555): em28xx: remove timeout

It seems that we don't need a timeout for em28xx.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7554): videobuf-dma-sg: Remove unused flag
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:59:29 +0000 (14:59 -0300)] 
V4L/DVB (7554): videobuf-dma-sg: Remove unused flag

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7553): videobuf-vmalloc: fix STREAMOFF/STREAMON
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:58:43 +0000 (14:58 -0300)] 
V4L/DVB (7553): videobuf-vmalloc: fix STREAMOFF/STREAMON

There were a small bug on videobuf-vmalloc that were preventing STREAMOFF to
work. The issue is that vmalloc'ed mmaped memory should only be freed after
being sure that there aren't any mmap usage. Otherwise, the memory remap will
stop working, and the userspace won't receive any frames.

This bug were affecting some userspace applications, like tvtime.

After this patch, tvtime started to work again with the drivers that use
videobuf-vmalloc.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7552): videbuf-vmalloc: Corrects mmap code
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:58:21 +0000 (14:58 -0300)] 
V4L/DVB (7552): videbuf-vmalloc: Corrects mmap code

There were some bugs on videobuf-vmalloc.

Basically, remap were called with a wrong parameter. Due to that, a later remap
were needed, generating the need of some hacks on videobuf-vmalloc and
videobuf-core.

This patch fixes the remap and removes the hacks.

TODO:

- V4L2_MEMORY_USERPTR is not implemented yet. This method should be
  properly implemented, in order to work with a few userspace applications.

- The driver also doesn't implement V4L2_MEMORY_OVERLAY. This method is used
  only by a few applications, and are becaming obsolete, due to the increment
  of cpu performance. So, most apps prefer to retrieve data to an internal
  buffer, doing some processing like de-interlacing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7551): vivi: Add a missing \n
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:57:44 +0000 (14:57 -0300)] 
V4L/DVB (7551): vivi: Add a missing \n

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7550): em28xx: Fix a possible memory leak
Brandon Philips [Sun, 13 Apr 2008 17:57:01 +0000 (14:57 -0300)] 
V4L/DVB (7550): em28xx: Fix a possible memory leak

I did notice a possible memory leak since iolock is could possibly be
called before a buffer has been freed.

This ensure s_fmt isn't called while the queue is busy thereby avoiding
iolock on already allocated buffers.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7549): em28xx: some small cleanups
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:56:25 +0000 (14:56 -0300)] 
V4L/DVB (7549): em28xx: some small cleanups

- Remove dead code;
- Fix a few CodingStyle issues;
- Prints frame number, if debug is enabled.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7548): Various fixes for the em28xx videobuf code
Aidan Thornton [Sun, 13 Apr 2008 17:56:02 +0000 (14:56 -0300)] 
V4L/DVB (7548): Various fixes for the em28xx videobuf code

- Aborting buffer_filled if no-one's waiting on the waitqueue probably isn't
  what we want, since just because no-one's waiting for it now doesn't mean they
  wouldn't dequeue it in time. (vivi gets away with this, possibly because it
  can fill each buffer much faster.)

- The first BUG_ON(lencopy <= 0); really isn't worth causing a kernel panic
  over, especially since there are some reasons why it could trigger in normal use.

- The top and botom frames are actually the wrong way around.

Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7547): em28xx: Fix a broken lock
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:55:38 +0000 (14:55 -0300)] 
V4L/DVB (7547): em28xx: Fix a broken lock

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7545): em28xx: Fix CodingStyle errors and most warnings introduced by videobuf
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:41:23 +0000 (14:41 -0300)] 
V4L/DVB (7545): em28xx: Fix CodingStyle errors and most warnings introduced by videobuf

The last videobuf changes introduced several CodingStyle errors. Fixes all those
errors, as reported by checkpatch.pl

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7544): em28xx: Fix timeout code
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:40:36 +0000 (14:40 -0300)] 
V4L/DVB (7544): em28xx: Fix timeout code

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7543): Fix capture start/stop and timeout
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:40:10 +0000 (14:40 -0300)] 
V4L/DVB (7543): Fix capture start/stop and timeout

Also removes the dead restart_video_queue() function

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7542): em28xx: Fix some warnings
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:39:29 +0000 (14:39 -0300)] 
V4L/DVB (7542): em28xx: Fix some warnings

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7541): em28xx: Some fixes to videobuf
Aidan Thornton [Sun, 13 Apr 2008 17:38:47 +0000 (14:38 -0300)] 
V4L/DVB (7541): em28xx: Some fixes to videobuf

It fixes a couple of minor bugs, comments out a bogus BUG_ON, sets fh->type
correctly, uses dev->width and dev->height for now, and adds a missing spinlock
init (nasty - caused a system lockup). It also adds some debug code which
probably isn't all that useful. I haven't tested this version of the patch yet,
though, so I'm not sure what you can expect if you try it.

Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7540): em28xx: convert to use videobuf-vmalloc
Mauro Carvalho Chehab [Sun, 13 Apr 2008 17:37:52 +0000 (14:37 -0300)] 
V4L/DVB (7540): em28xx: convert to use videobuf-vmalloc

The usage of videobuf-vmalloc allows to cleanup em28xx logic.

Also, it reduced its size by about 5.42% on i386 arch (and about 7.5% on x86_64):

  39113    4876      40   44029    abfd old/em28xx.ko
  36731    4868      40   41639    a2a7 /home/v4l/master/v4l/em28xx.ko

Also, the preliminary tests, made on a single core 1.5 MHz Centrino showed
that CPU usage reduced from 42%-75% to 28%-33% (reports from "top") command.

A test with time command presented an even better result:

This is the performance tests I did, running code_example to get 1,000 frames
@29.995 Hz (about 35 seconds of stream), tested on a i386 machine, running at
1,5GHz:

The old driver:

$ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example
0:34.21: 8.22s User time, 25.16s Kernel time, 97% CPU used

The videobuf-based driver:

$ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example
0:35.36: 0.01s User time, 0.05s Kernel time, 0% CPU used

Conclusion:

The time consumption to receive the stream where reduced from about 33.38
seconds to 0.05 seconds.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7538): Adds selectable adapter numbers as per module option
Janne Grunau [Wed, 9 Apr 2008 22:13:13 +0000 (19:13 -0300)] 
V4L/DVB (7538): Adds selectable adapter numbers as per module option

The adapter_nr module options can be used to allocate static adapter
numbers on a driver level. It avoids problems with changing DVB apapter
numbers after warm/cold boot or device unplugging and repluging.

Each driver holds DVB_MAX_ADAPTER long array of the preferred order of
adapter numbers.

options dvb-usb-dib0700 adapter_nr=7,6,5,4,3,2,1,0 would result in a
reversed allocation of adapter numbers.

With adapter_nr=2,5 it tries first to get adapter number 2 and 5. If
both are already in use it will allocate the lowest free adapter number.

Signed-off-by: Janne Grunau <janne-dvb@grunau.be>
Acked-by: Hermann Pitton <hermann.pitton@arcor.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7537): cx88/saa7134: Fix: avoid OOPS on module unload
Mauro Carvalho Chehab [Fri, 11 Apr 2008 14:29:44 +0000 (11:29 -0300)] 
V4L/DVB (7537): cx88/saa7134: Fix: avoid OOPS on module unload

If frontend is not attached, both cx88-dvb and saa7134-dvb don't
register DVB. However, dvb unregister were inconditionally called.

Due to that, an OOPS is generated.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7535): saa717x: add new audio/video decoder i2c driver
Hans Verkuil [Wed, 9 Apr 2008 09:26:17 +0000 (06:26 -0300)] 
V4L/DVB (7535): saa717x: add new audio/video decoder i2c driver

Added the last remaining out-of-tree kernel driver from the ivtv project.
The saa717x is used in several Japanese cards and a Russian card. The
driver is not complete in that only NTSC is supported and no PAL/SECAM.

Hopefully this will be added in the future.

Signed-off-by: Takahiro Adachi <tadachi@tadachi-net.com>
Signed-off-by: Kyuma Ohta <whatisthis@jcom.home.ne.jp>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7534): ivtv: the upd* modules have to be probed to properly autodetect some...
Hans Verkuil [Mon, 7 Apr 2008 11:32:14 +0000 (08:32 -0300)] 
V4L/DVB (7534): ivtv: the upd* modules have to be probed to properly autodetect some cards

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7532): budget: Add support for Fujitsu Siemens DVB-T Activy Budget
Oliver Endriss [Wed, 9 Apr 2008 20:49:55 +0000 (17:49 -0300)] 
V4L/DVB (7532): budget: Add support for Fujitsu Siemens DVB-T Activy Budget

Implement support for Fujitsu Siemens DVB-T Activy Budget, sub-system id 0x1131:0x5f61.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7531): budget-av: Fix CI interface on (some) KNC1 DVBS cards
Christoph Pfister [Wed, 9 Apr 2008 20:37:36 +0000 (17:37 -0300)] 
V4L/DVB (7531): budget-av: Fix CI interface on (some) KNC1 DVBS cards

Quoting the commit introducing reinitialise_demod (3984 / by adq):
"These cards [KNC1 DVBT and DVBC] need special handling for CI - reinitialising the frontend
device when the CI module is reset."
Apparently my 1894:0010 also needs that fix, because once you initialise CI/CAM you lose lock.

Signed-off-by: Christoph Pfister <pfister@linuxtv.org>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7530): budget-av: Fix support for certain cams
Christoph Pfister [Wed, 9 Apr 2008 20:34:09 +0000 (17:34 -0300)] 
V4L/DVB (7530): budget-av: Fix support for certain cams

The current ci implementation doesn't accept 0xff when reading data bytes (address == 0),
thus breaks cams which report a buffer size of 0x--ff like my orion one.
Remove the 0xff check altogether, because validation is really the job of a higher layer.

Signed-off-by: Christoph Pfister <pfister@linuxtv.org>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7529): media/video/zc0301 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7529): media/video/zc0301 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>
16 years agoV4L/DVB (7528): media/video/usbvideo replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7528): media/video/usbvideo 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>
16 years agoV4L/DVB (7527): media/video/sn9c102 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7527): media/video/sn9c102 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>
16 years agoV4L/DVB (7526): media/video/saa7134 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7526): media/video/saa7134 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>
16 years agoV4L/DVB (7525): media/video/pwc replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7525): media/video/pwc 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>
16 years agoV4L/DVB (7524): media/video/ovcamchip replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7524): media/video/ovcamchip 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>
16 years agoV4L/DVB (7523): media/video/et61x251 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7523): media/video/et61x251 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>
16 years agoV4L/DVB (7522): media/video/em28xx replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7522): media/video/em28xx 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>
16 years agoV4L/DVB (7521): media/video/cx88 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
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>
16 years agoV4L/DVB (7520): media/video/cx23885 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7520): media/video/cx23885 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>
16 years agoV4L/DVB (7519): media/video/cpia2 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7519): media/video/cpia2 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>
16 years agoV4L/DVB (7518): media/video/ replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7518): media/video/ 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>
16 years agoV4L/DVB (7517): media/dvb/ttusb-dec replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7517): media/dvb/ttusb-dec 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>
16 years agoV4L/DVB (7516): media/dvb/ttusb-budget replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7516): media/dvb/ttusb-budget 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>
16 years agoV4L/DVB (7515): media/dvb/ttpci replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7515): media/dvb/ttpci replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7514): media/dvb/frontends replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7514): media/dvb/frontends replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7513): media/dvb/dvb-usb replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7513): media/dvb/dvb-usb 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>
16 years agoV4L/DVB (7512): media/dvb/dvb-core replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7512): media/dvb/dvb-core replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7511): media/dvb/cinergyT2 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7511): media/dvb/cinergyT2 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>
16 years agoV4L/DVB (7510): media/dvb/bt8xx replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7510): media/dvb/bt8xx 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>
16 years agoV4L/DVB (7509): media/dvb/b2c2 replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7509): media/dvb/b2c2 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>
16 years agoV4L/DVB (7508): media/common/ replace remaining __FUNCTION__ occurrences
Harvey Harrison [Wed, 9 Apr 2008 02:20:00 +0000 (23:20 -0300)] 
V4L/DVB (7508): media/common/ replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7507): saa7134: add analog support for Avermedia A700 cards
Matthias Schwarzott [Wed, 9 Apr 2008 00:45:08 +0000 (21:45 -0300)] 
V4L/DVB (7507): saa7134: add analog support for Avermedia A700 cards

Add support for composite and s-video inputs on
Avermedia DVB-S Pro and DVB-S Hybrid+FM cards
(both labled A700) to the saa7134 driver.

XC2028 support for Hybrid+FM is still missing.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Reviewed-by: Hermann Pitton <hermann.pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7506): Powercolor Real Angel 330 (remote control support)
Dâniel Fraga [Tue, 8 Apr 2008 22:56:44 +0000 (19:56 -0300)] 
V4L/DVB (7506): Powercolor Real Angel 330 (remote control support)

The attached patch adds complete remote control support for Powercolor Real
Angel 330.

Signed-off-by: Daniel Fraga <fragabr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7505): Powercolor Real Angel 330 (fixes gpio references)
Dâniel Fraga [Tue, 8 Apr 2008 22:54:49 +0000 (19:54 -0300)] 
V4L/DVB (7505): Powercolor Real Angel 330 (fixes gpio references)

The attached patch fixes gpio references for Powercolor Real Angel 330.

Signed-off-by: Daniel Fraga <fragabr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7503): usbvision: rename __PRETTY_FUNCTION__ occurrences
Thierry MERLE [Sat, 5 Apr 2008 00:00:57 +0000 (21:00 -0300)] 
V4L/DVB (7503): usbvision: rename __PRETTY_FUNCTION__ occurrences

__PRETTY_FUNCTION__ has no sense in C lang context. Rename it as __func__

Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7502): v4l: video/usbvision replace remaining __FUNCTION__ occurrences
Harvey Harrison [Fri, 4 Apr 2008 23:50:07 +0000 (20:50 -0300)] 
V4L/DVB (7502): v4l: video/usbvision replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7501): soc-camera: use a spinlock for videobuffer queue
Guennadi Liakhovetski [Fri, 4 Apr 2008 16:46:34 +0000 (13:46 -0300)] 
V4L/DVB (7501): soc-camera: use a spinlock for videobuffer queue

All drivers should provide a spinlock to be used in videobuf operations.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Reviewed-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7500): soc-camera: extract function pointers from host object into operations
Guennadi Liakhovetski [Fri, 4 Apr 2008 16:41:25 +0000 (13:41 -0300)] 
V4L/DVB (7500): soc-camera: extract function pointers from host object into operations

Function pointers and the driver owner are not expected to change
throughout soc-camera host's life. Extract them into an operations struct.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7494): videobuf-dma-sg.c: Avoid NULL dereference and add comment about backw...
Brandon Philips [Wed, 2 Apr 2008 21:10:59 +0000 (18:10 -0300)] 
V4L/DVB (7494): videobuf-dma-sg.c: Avoid NULL dereference and add comment about backwards compatibility

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty...
Brandon Philips [Wed, 2 Apr 2008 21:10:59 +0000 (18:10 -0300)] 
V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue

Add a waitqueue to wait on when there are no buffers in the buffer queue.
DQBUF waits on this queue without holding vb_lock to allow a QBUF to happen.
Once a buffer has been queued we recheck that the queue is still streaming and
wait on the new buffer's waitqueue while holding the vb_lock.  The driver
should come along in a timely manner and put the buffer into its next state
finishing the DQBUF.

By implementing this waitqueue it also brings the videobuf DQBUF up to spec and
it now blocks on O_NONBLOCK even when no buffers have been queued via QBUF:

"By default VIDIOC_DQBUF blocks when no buffer is in the outgoing queue."
 - V4L2 spec

Signed-off-by: Brandon Philips <bphilips@suse.de>
CC: Trent Piepho <xyzzy@speakeasy.org>
CC: Carl Karsten <carl@personnelware.com>
CC: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7492): vivi: Simplify the vivi driver and avoid deadlocks
Brandon Philips [Wed, 2 Apr 2008 21:10:59 +0000 (18:10 -0300)] 
V4L/DVB (7492): vivi: Simplify the vivi driver and avoid deadlocks

vivi previously had a very complex queuing system and held spinlocks while
doing copy_to_user, kmalloc, etc.  This caused the driver to easily deadlock
when a multi-threaded application used it and revealed bugs in videobuf too.

This replaces the copy_to_user with memcpy since we were never copying to user
space addresses.  And makes the kmalloc atomic.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7491): vivi: make vivi openable only once
Brandon Philips [Wed, 2 Apr 2008 21:10:59 +0000 (18:10 -0300)] 
V4L/DVB (7491): vivi: make vivi openable only once

vivi currently doesn't have the infrastructure to handle being opened more than
one time and will crash if it is.  So, make it openable only once.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7489): videobuf-vmalloc.c: Remove buf_release from videobuf_vm_close
Brandon Philips [Wed, 2 Apr 2008 21:10:59 +0000 (18:10 -0300)] 
V4L/DVB (7489): videobuf-vmalloc.c: Remove buf_release from videobuf_vm_close

Remove the buf_release on vm_close because it will lead to a buffer being
released multiple times since all buffers are already freed under the two
possible cases: device close or STREAMOFF.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7488): videobuf: Simplify videobuf_waiton logic and possibly avoid missed...
Brandon Philips [Wed, 2 Apr 2008 21:10:59 +0000 (18:10 -0300)] 
V4L/DVB (7488): videobuf: Simplify videobuf_waiton logic and possibly avoid missed wakeup

Possible missed wakeup- use kernel helpers for wait queues
  http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg27983.html

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7487): videobuf: Wakeup queues after changing the state to ERROR
Brandon Philips [Wed, 2 Apr 2008 21:10:57 +0000 (18:10 -0300)] 
V4L/DVB (7487): videobuf: Wakeup queues after changing the state to ERROR

The waitqueues must be woken up every time state changes.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7483): tuner-simple: fix broken build dependency
Michael Krufky [Sun, 30 Mar 2008 20:00:45 +0000 (17:00 -0300)] 
V4L/DVB (7483): tuner-simple: fix broken build dependency

tuner-simple is the only module that uses tuner-types - these will be
merged to a single module in the future.  For now, build both of them
if TUNER_SIMPLE is selected.

This fixes the following build warning, if tuner-simple is selected
without tuner-types:

WARNING: "tuner_count" [tuner-simple.ko] undefined!
WARNING: "tuners" [tuner-simple.ko] undefined!

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7481): tda18271: fix standard map debug
Michael Krufky [Sun, 30 Mar 2008 22:40:20 +0000 (19:40 -0300)] 
V4L/DVB (7481): tda18271: fix standard map debug

Show IF level and rf agc top settings in standard map dumps.

Dump standard map during attach if DBG_MAP or DBG_ADV is set.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7480): make sn9c102_i2c_try_write() static
Adrian Bunk [Mon, 31 Mar 2008 02:29:02 +0000 (23:29 -0300)] 
V4L/DVB (7480): make sn9c102_i2c_try_write() static

This patch makes the needlessly global sn9c102_i2c_try_write() static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
CC: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7479): proper prototype for zoran_device.c:zr36016_write()
Adrian Bunk [Mon, 31 Mar 2008 02:28:59 +0000 (23:28 -0300)] 
V4L/DVB (7479): proper prototype for zoran_device.c:zr36016_write()

This patch adds a proper prototype for zr36016_write() in
drivers/media/video/zoran_card.h

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7476): New USB ID for Leadtek DVB-T USB
Darryl Green [Sun, 30 Mar 2008 00:47:43 +0000 (21:47 -0300)] 
V4L/DVB (7476): New USB ID for Leadtek DVB-T USB

Detect Leadtek Winfast USB DTV Dongle with ID of 0x6f01

Signed-off-by: Darryl Green <darryl.green@aanet.com.au>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7475): Added support for Terratec Cinergy T USB XXS
Alexander Simon [Sun, 30 Mar 2008 00:37:54 +0000 (21:37 -0300)] 
V4L/DVB (7475): Added support for Terratec Cinergy T USB XXS

Alexander Simon found out that the Terratec Cinergy T USB XXS is just a clone of another DiB7070P-based device.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7474): support key repeat with dib0700 ir receiver
Patrick Boettcher [Sun, 30 Mar 2008 00:37:01 +0000 (21:37 -0300)] 
V4L/DVB (7474):  support key repeat with dib0700 ir receiver

This patch enables support for repeating last event when a key is holded
down with dib0700 devices. It works with rc5 and nec remotes.
It also fixes an annoying bug that floods kernel log with "Unknown key"
messages after each keypress. This happened because the driver was not
resetting infrared register after each poll so it kept polling last key
even if nothing was being pressed. Fixing this, (calling rc_setup after
each poll), permits to implement key repeat.

Signed-off-by: Filippo Argiolas <filippo.argiolas at gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7473): PATCH for various Dibcom based devices
Albert Comerma [Sun, 30 Mar 2008 00:35:57 +0000 (21:35 -0300)] 
V4L/DVB (7473): PATCH for various Dibcom based devices

This patch introduces support for dvb-t for the following DiBcom based cards:

- Terratec Cinergy HT USB XE (USB-ID: 0ccd:0058)
- Terratec Cinergy HT Express (USB-ID: 0ccd:0060)
- Pinnacle 320CX (USB-ID: 2304:022e)
- Pinnacle PCTV72e (USB-ID: 2304:0236)
- Pinnacle PCTV73e (USB-ID: 2304:0237)
- Yuan EC372S (USB-ID: 1164:1edc)

Signed-off-by: Hans-Frieder Vogt <hfvogt@gmx.net>
Signed-off-by: Felix Apitzsch <F.Apitzsch@soz.uni-frankfurt.de>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Albert Comerma <albert.comerma@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7472): reworked patch to support TT connect S-2400
Andre Weidemann [Sun, 30 Mar 2008 00:30:49 +0000 (21:30 -0300)] 
V4L/DVB (7472):  reworked patch to support TT connect S-2400

Added support for Technotrend connect S-2400.

Signed-off-by: Andre Weidemann <Andre.Weidemann@web.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7470): CX24123: preparing support for CX24113 tuner
Patrick Boettcher [Sun, 30 Mar 2008 00:01:12 +0000 (21:01 -0300)] 
V4L/DVB (7470): CX24123: preparing support for CX24113 tuner

To support a new device based on CX24123 (using the CX24113-tuner) the following was done:

- added two parameters to de-select the internal PLL-driver (for CX24108) and a AGC-function callback.
- added a virtual i2c-adapter which allow simple access behind the i2c-gate
- cleanup up some code

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7469): Preparation for supporting new devices, cleanup and saneness
Patrick Boettcher [Sat, 29 Mar 2008 23:49:57 +0000 (20:49 -0300)] 
V4L/DVB (7469): Preparation for supporting new devices, cleanup and saneness

To prepare the support for new device to the flexcop-family some preparation and cleanups was done + some saneness:

- created an i2c-adapter for each i2c-port available. Easier usage for devices with several device on different i2c-busses
- initialize i2c before doing the eeprom read
- changed the way to attach the different frontends, easier to read now
- enabled support for i2c-devices having no register address (1-byte access)

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7463): cx88: Enable color killer by default
Frej Drejhammar [Mon, 24 Mar 2008 01:43:25 +0000 (22:43 -0300)] 
V4L/DVB (7463): cx88: Enable color killer by default

An enabled color killer will not degrade picture quality for color
input signals, only suppress bogus color information on
black-and-white input. Therefore enable it by default.

Signed-off-by: Frej Drejhammar <frej.drejhammar@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7462): bttv: Fix some API non-compliances for some audio/input V4L2 calls
Mauro Carvalho Chehab [Tue, 1 Apr 2008 23:30:24 +0000 (20:30 -0300)] 
V4L/DVB (7462): bttv: Fix some API non-compliances for some audio/input V4L2 calls

Thanks to Cyrill Gorcunov <gorcunov@gmail.com> for pointing this
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>