profile/ivi/kernel-x86-ivi.git
14 years agoV4L/DVB: drivers/media/IR - improve keytable code
David Härdeman [Fri, 2 Apr 2010 18:58:28 +0000 (15:58 -0300)]
V4L/DVB: drivers/media/IR - improve keytable code

The attached patch rewrites much of the keytable code in
drivers/media/IR/ir-keytable.c.

The scancodes are now inserted into the array in sorted
order which allows for a binary search on lookup.

The code has also been shrunk by about 150 lines.

In addition it fixes the following bugs:

Any use of ir_seek_table() was racy.

ir_dev->driver_name is leaked between ir_input_register() and
ir_input_unregister().

ir_setkeycode() unconditionally does clear_bit() on dev->keybit
when removing a mapping, but there might be another mapping with
a different scancode and the same keycode.

This version has been updated to incorporate patch feedback from
Mauro Carvalho Chehab.

[mchehab@redhat.com: Fix a conflict with RC keytable breakup patches and input changes]

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: Add support for both positive and negative edge IRQ
Mauro Carvalho Chehab [Sat, 3 Apr 2010 14:26:01 +0000 (11:26 -0300)]
V4L/DVB: saa7134: Add support for both positive and negative edge IRQ

The code that enables IRQ for the Remote Controller on saa7134 is a little
messy: it is outside saa7134-input, it checks if RC is GPIO based, and
it mixes both serial raw decode with parallel reads from a hardware-based
IR decoder.

Also, currently, it doesn't allow to trigger both transition edges at GPIO16
and GPIO18 lines. A rework on the code is needed to provide a better way
to specify what saa7134-input needs, maybe even moving part of the code from
saa7134-core and saa7134-cards into saa7134-input.

Yet, as a large rework is happening at RC core, it is better to wait until
the core changes stablize, in order to rework saa7134 RC internals.While
this don't happen, let's just change the logic a little bit to allow
enabling IRQ to be generated on both edge transitions, in order to better
support pulse/space raw decoders.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: Fix IRQ2 bit names for the register map
Mauro Carvalho Chehab [Sat, 3 Apr 2010 04:43:36 +0000 (01:43 -0300)]
V4L/DVB: saa7134: Fix IRQ2 bit names for the register map

There's an error at the IRQ2 bit map registers. Also, it doesn't
show what bits are needed for positive and for negative edge.

In the case of IR raw decoding, for some protocols, it is important
to detect both positive and negative edges. So, a latter patch
will need to use the other values.

Also, the code that detects problems on IRQ handling is incomplete,
as it disables only one of the IRQ bits for GPIO16 and GPIO18.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-common: remove keymap tables from the module
Mauro Carvalho Chehab [Fri, 2 Apr 2010 23:11:45 +0000 (20:11 -0300)]
V4L/DVB: ir-common: remove keymap tables from the module

Now that the remote keymaps were broken into separate modules,
get rid of the keycode tables that were hardcoded into ir-common.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: Make use of the new IR keymap modules
Mauro Carvalho Chehab [Fri, 2 Apr 2010 23:01:00 +0000 (20:01 -0300)]
V4L/DVB: ir-core: Make use of the new IR keymap modules

Instead of using the ugly keymap sequences, use the new rc-*.ko keymap
files. For now, it is still needed to have one keymap loaded, for the
RC code to work. Later patches will remove this depenency.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir: prepare IR code for a parameter change at register function
Mauro Carvalho Chehab [Fri, 2 Apr 2010 16:18:42 +0000 (13:18 -0300)]
V4L/DVB: ir: prepare IR code for a parameter change at register function

A latter patch will reuse the ir_input_register with a different meaning.
Before it, change all occurrences to a temporary name.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: Break Remote Controller keymaps into modules
Mauro Carvalho Chehab [Fri, 2 Apr 2010 06:05:46 +0000 (03:05 -0300)]
V4L/DVB: Break Remote Controller keymaps into modules

The original Remote Controller approach were very messy: a big file,
that were part of ir-common kernel module, containing 64 different
RC keymap tables, used by the V4L/DVB drivers.

Better to break each RC keymap table into a separate module,
registering them into rc core on a process similar to the fs/nls tables.

As an userspace program is now in charge of loading those tables,
adds an option to allow the complete removal of those tables from
kernelspace.

Yet, on embedded devices like Set Top Boxes and TV sets, maybe the
only available input device is the IR. So, we should keep allowing
the usage of in-kernel tables, but a latter patch should change
the default to 'n', after giving some time for distros to add
the v4l-utils with the ir-keytable program, to allow the table
load via userspace.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: Add support for RC map code register
Mauro Carvalho Chehab [Fri, 2 Apr 2010 05:33:35 +0000 (02:33 -0300)]
V4L/DVB: ir-core: Add support for RC map code register

Instead of having all RC tables hardcoded on one file with
all tables there, add infrastructure for registering and dynamically
load the table(s) when needed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file
Mauro Carvalho Chehab [Fri, 2 Apr 2010 01:43:29 +0000 (22:43 -0300)]
V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file

Instead of having one big file with lots of keytables, create one include
file for each IR keymap.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-common: Use macros to define the keytables
Mauro Carvalho Chehab [Fri, 2 Apr 2010 01:23:38 +0000 (22:23 -0300)]
V4L/DVB: ir-common: Use macros to define the keytables

The usage of macros ensures that the proper namespace is being used
by all tables. It also makes easier to associate a keytable with
the name used inside the drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: rename all *_rc_keys to ir_codes_*_nec_table
Mauro Carvalho Chehab [Fri, 2 Apr 2010 00:35:32 +0000 (21:35 -0300)]
V4L/DVB: rename all *_rc_keys to ir_codes_*_nec_table

Several DVB drivers use a different name convention. As we're moving
the keytables, we need to use the same convention on all places.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir: use IR_KEYTABLE where an IR table is needed
Mauro Carvalho Chehab [Fri, 2 Apr 2010 00:27:04 +0000 (21:27 -0300)]
V4L/DVB: ir: use IR_KEYTABLE where an IR table is needed

Replaces most of the occurences of IR keytables on V4L drivers by a macro
that evaluates to provide the name of the exported symbol.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-common: re-order keytables by name and remove duplicates
Mauro Carvalho Chehab [Fri, 2 Apr 2010 00:10:58 +0000 (21:10 -0300)]
V4L/DVB: ir-common: re-order keytables by name and remove duplicates

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-common: Use a function to declare an IR table
Mauro Carvalho Chehab [Fri, 2 Apr 2010 00:05:21 +0000 (21:05 -0300)]
V4L/DVB: ir-common: Use a function to declare an IR table

This is the first patch of a series of changes that will break the IR
tables into a series of small modules that can be dynamically loaded,
or just loaded from userspace.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: Add CHIP ID of the uPD61151
Dmitri Belimov [Thu, 18 Mar 2010 07:00:19 +0000 (04:00 -0300)]
V4L/DVB: Add CHIP ID of the uPD61151

Add CHIP ID of the NEC MPEG2 encoders uPD61151 and uPD61152.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov511: Fix continuation lines
Joe Perches [Wed, 7 Apr 2010 05:59:26 +0000 (02:59 -0300)]
V4L/DVB: ov511: Fix continuation lines

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: fix GPIO HW-404M7
Vladimir Ermakov [Wed, 7 Apr 2010 05:23:31 +0000 (02:23 -0300)]
V4L/DVB: saa7134: fix GPIO HW-404M7

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
Reviewed-by: hermann pitton <hermann-pitton@arcor.de>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: drivers/media/video: avoid NULL dereference
Julia Lawall [Tue, 6 Apr 2010 05:51:04 +0000 (02:51 -0300)]
V4L/DVB: drivers/media/video: avoid NULL dereference

It seems impossible for ov to be NULL at this point.

The semantic match that finds the problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression E, E1;
identifier f;
statement S1,S3;
iterator iter;
@@

if ((E == NULL && ...) || ...)
{
  ... when != false ((E == NULL && ...) || ...)
      when != true  ((E != NULL && ...) || ...)
      when != iter(E,...) S1
      when != E = E1
(
  sizeof(E->f)
|
* E->f
)
  ... when any
  return ...;
}
else S3
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx88-dvb: fix on switch identation
Ricardo Maraschini [Tue, 6 Apr 2010 05:40:43 +0000 (02:40 -0300)]
V4L/DVB: cx88-dvb: fix on switch identation

[dougsland@redhat.com: fixed reject due changes in cx88-dvb.c]
Signed-off-by: Ricardo Maraschini <ricardo.maraschini@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx23885: strcpy() => strlcpy()
Dan Carpenter [Tue, 6 Apr 2010 05:26:48 +0000 (02:26 -0300)]
V4L/DVB: cx23885: strcpy() => strlcpy()

cap->driver is a 16 char buffer and dev->name is a 32 char buffer.
I don't see an actual problem, but we may as well make the static
checkers happy.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx25821: fix coding style issues in cx25821-video-upstream.c
Olimpiu Pascariu [Tue, 6 Apr 2010 05:09:00 +0000 (02:09 -0300)]
V4L/DVB: cx25821: fix coding style issues in cx25821-video-upstream.c

This is a patch to cx25821-video-upstream.c file that fixes up warnings
and errors found by the checkpatch.pl tool

Signed-off-by: Olimpiu Pascariu <olimpiu.pascariu@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx88: Only start IR if the input device is opened
Mauro Carvalho Chehab [Wed, 31 Mar 2010 19:07:49 +0000 (16:07 -0300)]
V4L/DVB: cx88: Only start IR if the input device is opened

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: Add callbacks for input/evdev open/close on IR core
Mauro Carvalho Chehab [Wed, 31 Mar 2010 17:40:35 +0000 (14:40 -0300)]
V4L/DVB: ir-core: Add callbacks for input/evdev open/close on IR core

Especially when IR needs to do polling, it generates lots of wakeups per
second. This makes no sense, if the input event device is closed.

Adds a callback handler to the IR hardware driver, to allow registering
an open/close ops.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: rename sysfs remote controller class from ir to rc
Mauro Carvalho Chehab [Sat, 27 Mar 2010 01:45:16 +0000 (22:45 -0300)]
V4L/DVB: ir-core: rename sysfs remote controller class from ir to rc

IR is an alias for Infrared Remote, while RC is an alias for Remote
Controller.

While currently all implementations are with Infrared Remote Controller,
this subsystem is not meant to be used only by IR type of RC's. So,
as discussed on both linux-media and linux-input, the better is to
rename the subsystem as Remote Controller.

While, currently, the only application that uses the /sys/class/irrcv is
ir-keytable application, and its sysfs support works only with the
current linux-next code, it is still possible to change the userspace API
without the risk of breaking applications. So, better to rename this
sooner than later.

Later patches will be needed to rename the files and to move them away
from drivers/media, but this is not a critical issue. So, for now,
let's just change the name of the sysfs class/nodes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: clear warning noise
Mauro Carvalho Chehab [Sat, 27 Mar 2010 01:39:29 +0000 (22:39 -0300)]
V4L/DVB: saa7134: clear warning noise

drivers/media/video/saa7134/saa7134-input.c: In function ‘saa7134_raw_decode_irq’:
drivers/media/video/saa7134/saa7134-input.c:957: warning: unused variable ‘oldpulse’
drivers/media/video/saa7134/saa7134-input.c:957: warning: unused variable ‘count’

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-nec-decoder: Add sysfs node to enable/disable per irrcv
Mauro Carvalho Chehab [Fri, 26 Mar 2010 02:49:46 +0000 (23:49 -0300)]
V4L/DVB: ir-nec-decoder: Add sysfs node to enable/disable per irrcv

With the help of raw_register/raw_unregister, adds a sysfs group
associated with the decoder, inside the corresponding irrcv node.

Writing 1 to nec_decoder/enabled enables the decoder, while
writing 0 disables it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: prepare to add more operations for ir decoders
Mauro Carvalho Chehab [Fri, 26 Mar 2010 00:13:43 +0000 (21:13 -0300)]
V4L/DVB: ir-core: prepare to add more operations for ir decoders

Some decoders and a lirc_dev interface may need some other operations to work.
For example: IR device register/unregister and ir_keydown events may need to
be tracked.

As some operations can occur in interrupt time, and a lock is needed to prevent
un-registering a decode while decoding a key, the lock needed to be convert
into a spin lock.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: dynamically load the compiled IR protocols
Mauro Carvalho Chehab [Wed, 24 Mar 2010 23:47:53 +0000 (20:47 -0300)]
V4L/DVB: ir-core: dynamically load the compiled IR protocols

Instead of hardcoding the protocols into ir-core, add a register interface
for the IR protocol decoders, and convert ir-nec-decoder into a client of
ir-core.

With this approach, it is possible to dynamically load the needed IR protocols,
and to add a RAW IR interface module, registered as one IR raw protocol decoder.

This patch opens a way to register a lirc_dev interface to work as an userspace
IR protocol decoder.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: don't wait too much to generate an IR event on raw_decode
Mauro Carvalho Chehab [Sun, 21 Mar 2010 16:00:55 +0000 (13:00 -0300)]
V4L/DVB: saa7134: don't wait too much to generate an IR event on raw_decode

At raw_decode mode, the key is processed after the end of a timer. The
previous code resets the timer every time something is received at the IR
port. While this works fine with IR's that don't implement repeat, like
Avermedia RM-JX IR, it keeps waiting until keydown, on IR's that implement
NEC repeat command, like the Terratec yellow.

The solution is to change the behaviour to do the timeout after the first
received data.

The timeout is currently set to 15 ms, as it works fine with NEC protcocol.
It may need some adjustments to support other protocols and to better handle
spurious detections that may happen with some IR sensors.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core/saa7134: Move ir keyup/keydown code to the ir-core
Mauro Carvalho Chehab [Sun, 21 Mar 2010 15:24:24 +0000 (12:24 -0300)]
V4L/DVB: ir-core/saa7134: Move ir keyup/keydown code to the ir-core

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: add two functions to report keyup/keydown events
Mauro Carvalho Chehab [Sun, 21 Mar 2010 15:15:16 +0000 (12:15 -0300)]
V4L/DVB: ir-core: add two functions to report keyup/keydown events

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: Add logic to decode IR protocols at the IR core
Mauro Carvalho Chehab [Sat, 20 Mar 2010 23:59:44 +0000 (20:59 -0300)]
V4L/DVB: ir-core: Add logic to decode IR protocols at the IR core

Adds a method to pass IR raw pulse/code events into ir-core. This is
needed in order to support LIRC. It also helps to move common code
from the drivers into the core.

In order to allow testing, it implements a simple NEC protocol decoder
at ir-nec-decoder.c file. The logic is about the same used at saa7134
driver that handles Avermedia M135A and Encore FM53 boards.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: add code to allow changing IR protocol
Mauro Carvalho Chehab [Sat, 20 Mar 2010 03:25:37 +0000 (00:25 -0300)]
V4L/DVB: saa7134: add code to allow changing IR protocol

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: use a full scancode table for M135A
Mauro Carvalho Chehab [Sat, 20 Mar 2010 03:23:30 +0000 (00:23 -0300)]
V4L/DVB: saa7134: use a full scancode table for M135A

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ir-core: be less pedantic with RC protocol name
Mauro Carvalho Chehab [Sat, 20 Mar 2010 03:17:58 +0000 (00:17 -0300)]
V4L/DVB: ir-core: be less pedantic with RC protocol name

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: uvcvideo: Use POLLOUT and POLLWRNORM for output devices
Laurent Pinchart [Wed, 31 Mar 2010 15:29:26 +0000 (12:29 -0300)]
V4L/DVB: uvcvideo: Use POLLOUT and POLLWRNORM for output devices

The V4L2 specification requires drivers to use the write events in the
file operations poll handler for output devices. The uvcvideo driver
erroneously used read events for all devices. Fix this.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: uvcvideo: Support iris absolute and relative controls
Laurent Pinchart [Wed, 20 Jan 2010 15:13:46 +0000 (12:13 -0300)]
V4L/DVB: uvcvideo: Support iris absolute and relative controls

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
Laurent Pinchart [Wed, 20 Jan 2010 15:12:57 +0000 (12:12 -0300)]
V4L/DVB: v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls

Those control, as their names imply, control the camera aperture
settings.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 integrated webcam
Laurent Pinchart [Sat, 13 Mar 2010 21:12:15 +0000 (18:12 -0300)]
V4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 integrated webcam

The camera requires the STREAM_NO_FID quirk. Add a corresponding entry
in the device IDs list.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams
Laurent Pinchart [Thu, 4 Mar 2010 10:51:25 +0000 (07:51 -0300)]
V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams

The camera requires the PROBE_DEF quirk. Add a corresponding entry in
the device IDs list.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: sn9c102 / zc0301: Handle webcams when no gspca subdriver conflict
Jean-François Moine [Mon, 29 Mar 2010 06:51:18 +0000 (03:51 -0300)]
V4L/DVB: sn9c102 / zc0301: Handle webcams when no gspca subdriver conflict

Some webcams handled by both sn9c102 or zc0301 and some gspca subdrivers
(sonixb, sonixj and zc3xx) were not handled when gspca was generated but
not the associated subdrivers.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca - t613: Add color controls
Costantino Leandro [Tue, 23 Mar 2010 15:31:16 +0000 (12:31 -0300)]
V4L/DVB: gspca - t613: Add color controls

- Rename controls to fit real behaviour
- Add global gain , r/b balance.

Signed-off-by: Costantino Leandro <lcostantino@gmail.com>
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: tvp514x: Add Powerup sequence during s_input to lock the signal properly
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:54 +0000 (09:37 -0300)]
V4L/DVB: V4L: tvp514x: Add Powerup sequence during s_input to lock the signal properly

For the sequence streamon -> streamoff and again s_input, it fails
to lock the signal, since streamoff puts TVP514x into power off state
which leads to failure in sub-sequent s_input.

So add powerup sequence in s_routing (if disabled), since it is
important to lock the signal at this stage.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: vpfe_capture: Add support for USERPTR mode of operation
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:23 +0000 (09:37 -0300)]
V4L/DVB: V4L: vpfe_capture: Add support for USERPTR mode of operation

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: dm644x_ccdc: Add Suspend/Resume Support
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:19 +0000 (09:37 -0300)]
V4L/DVB: V4L: dm644x_ccdc: Add Suspend/Resume Support

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: vpfe_capture: Return 0 from suspend/resume
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:16 +0000 (09:37 -0300)]
V4L/DVB: V4L: vpfe_capture: Return 0 from suspend/resume

Now Suspend/Resume functionality is being handled by respective CCDC
code, so return true (0) from bridge suspend/resume function.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: dm644x_ccdc: Add 10bit BT support
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:12 +0000 (09:37 -0300)]
V4L/DVB: V4L: dm644x_ccdc: Add 10bit BT support

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: vpfe_capture: Add call back function for interrupt clear for vpfe_cfg
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:07 +0000 (09:37 -0300)]
V4L/DVB: V4L: vpfe_capture: Add call back function for interrupt clear for vpfe_cfg

For the devices like AM3517, it is expected that driver clears the
interrupt in ISR. Since this is device spcific, callback function
added to the platform_data.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: V4L: dm644x_ccdc: Debug register read prints removed
Vaibhav Hiremath [Sat, 27 Mar 2010 12:37:03 +0000 (09:37 -0300)]
V4L/DVB: V4L: dm644x_ccdc: Debug register read prints removed

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: arv: convert to V4L2
Hans Verkuil [Mon, 29 Mar 2010 19:05:33 +0000 (16:05 -0300)]
V4L/DVB: arv: convert to V4L2

Converted this old V4L1 driver to V4L2.
I would like to thank Takeo Takahashi who very kindly tested this
driver for me. Much appreciated!

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Tested-by: Takeo Takahashi <takahashi.takeo@renesas.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: zoran: remove V4L1 videodev.h include
Hans Verkuil [Mon, 22 Mar 2010 08:25:46 +0000 (05:25 -0300)]
V4L/DVB: zoran: remove V4L1 videodev.h include

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: meye: remove last V4L1 remnants from the code and add v4l2_device
Hans Verkuil [Mon, 22 Mar 2010 08:22:34 +0000 (05:22 -0300)]
V4L/DVB: meye: remove last V4L1 remnants from the code and add v4l2_device

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: w9966: remove camelCase
Hans Verkuil [Mon, 22 Mar 2010 08:15:14 +0000 (05:15 -0300)]
V4L/DVB: w9966: remove camelCase

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: w9966: reorganize the order of functions
Hans Verkuil [Mon, 22 Mar 2010 08:13:17 +0000 (05:13 -0300)]
V4L/DVB: w9966: reorganize the order of functions

Get rid of completely unnecessary function prototypes.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: pms: remove unnecessary exclusive open/close
Hans Verkuil [Mon, 22 Mar 2010 08:09:07 +0000 (05:09 -0300)]
V4L/DVB: pms: remove unnecessary exclusive open/close

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: v4l: add V4L2_PIX_FMT_Y4 and V4L2_PIX_FMT_Y6 pixelformats
Hans Verkuil [Mon, 22 Mar 2010 07:52:21 +0000 (04:52 -0300)]
V4L/DVB: v4l: add V4L2_PIX_FMT_Y4 and V4L2_PIX_FMT_Y6 pixelformats

Old 4 and 6 bit greyscale pixel formats for the old bw-qcam webcam.
This is needed to convert it to V4L2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: w9966: coding style cleanup
Hans Verkuil [Mon, 22 Mar 2010 07:47:27 +0000 (04:47 -0300)]
V4L/DVB: w9966: coding style cleanup

Clean up the coding style before we convert this driver to V4L2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: arv: coding style cleanup
Hans Verkuil [Mon, 22 Mar 2010 07:44:29 +0000 (04:44 -0300)]
V4L/DVB: arv: coding style cleanup

Clean up the coding style before we convert this driver to V4L2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: bw-qcam: coding style cleanup
Hans Verkuil [Mon, 22 Mar 2010 07:36:04 +0000 (04:36 -0300)]
V4L/DVB: bw-qcam: coding style cleanup

Clean up the coding style before we convert this driver to V4L2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: c-qcam: coding style cleanup
Hans Verkuil [Mon, 22 Mar 2010 07:33:56 +0000 (04:33 -0300)]
V4L/DVB: c-qcam: coding style cleanup

Clean up the coding style before we convert this driver to V4L2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: silence some compiler warnings
Jonathan Corbet [Fri, 26 Mar 2010 16:09:34 +0000 (13:09 -0300)]
V4L/DVB: ov7670: silence some compiler warnings

Get rid of some "unused variable" warnings.  These were the result of
sloppiness and should not have happened; I'll go stand in the corner now.

Reported-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: Always rewrite clkrc when setting format
Jonathan Corbet [Thu, 18 Mar 2010 22:10:18 +0000 (19:10 -0300)]
V4L/DVB: ov7670: Always rewrite clkrc when setting format

That makes frame rate configuration persistent.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: Restore SMBUS I/O for the XO 1.0
Jonathan Corbet [Fri, 19 Mar 2010 16:16:28 +0000 (13:16 -0300)]
V4L/DVB: ov7670: Restore SMBUS I/O for the XO 1.0

The Cafe controller doesn't do non-SMBUS I/O, so we have to use it there.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: wire up controls for exposure and autoexposure
Jonathan Corbet [Fri, 5 Mar 2010 19:48:39 +0000 (16:48 -0300)]
V4L/DVB: ov7670: wire up controls for exposure and autoexposure

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: Wire up V4L2_CID_GAIN and V4L2_CID_AUTOGAIN
Jonathan Corbet [Thu, 4 Mar 2010 21:50:34 +0000 (18:50 -0300)]
V4L/DVB: ov7670: Wire up V4L2_CID_GAIN and V4L2_CID_AUTOGAIN

Allow applications to play with the gain settings.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: Don't use SMBUS I/O
Jonathan Corbet [Mon, 1 Mar 2010 00:02:55 +0000 (21:02 -0300)]
V4L/DVB: ov7670: Don't use SMBUS I/O

Contrary to my earlier belief, the ov7670 is not actually an SMBUS device,
though it will pretend to be one if it's in a good mood.  Unfortunately,
it's rarely in a good mood, especially on the XO 1.5.  So use low-level i2c
I/O instead.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: Avoid reading clkrc
Jonathan Corbet [Sun, 20 Dec 2009 14:39:47 +0000 (11:39 -0300)]
V4L/DVB: ov7670: Avoid reading clkrc

Reading the clkrc register creates flaky behavior in some situations, and
we can easily track its state separately.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ov7670: Use CCIR601 in all video modes
Jonathan Corbet [Sun, 21 Mar 2010 20:33:50 +0000 (17:33 -0300)]
V4L/DVB: ov7670: Use CCIR601 in all video modes

Also provide for a longer delay after reset - the XO 1.5 needs it.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: em28xx: "Empia Em28xx Audio" too long
Dan Carpenter [Tue, 23 Mar 2010 11:40:43 +0000 (08:40 -0300)]
V4L/DVB: em28xx: "Empia Em28xx Audio" too long

card->driver is 15 characters and a NULL.  The original code
goes past the end of the array.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx231xx: card->driver "Conexant cx231xx Audio" too long
Dan Carpenter [Mon, 22 Mar 2010 15:39:09 +0000 (12:39 -0300)]
V4L/DVB: cx231xx: card->driver "Conexant cx231xx Audio" too long

card->driver is 15 characters and a NULL, the original code could
cause a buffer overflow.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx25821: prepend cx25821_ to video exported symbols
Mauro Carvalho Chehab [Wed, 24 Mar 2010 19:33:40 +0000 (16:33 -0300)]
V4L/DVB: cx25821: prepend cx25821_ to video exported symbols

As reported by Randy Dunlap <randy.dunlap@oracle.com>:
drivers/staging/cx25821/cx25821-video.c:89:struct cx25821_fmt *format_by_fourcc(unsigned int fourcc)
(not static)

conflicts with (has the same non-static name as)

drivers/media/common/saa7146_video.c:87:struct saa7146_format* format_by_fourcc(struct saa7146_dev *dev, int fourcc)

To solve, add cx25821_ prefix to the exported functions found on cx25821-video.h.

This patch were generated by this little shell/perl script:

cat drivers/staging/cx25821/cx25821-video.h|perl -ne \
'if (m/extern.* ([^\s\*]+)\(/) { $n=$1; print "s/([^\d\w_\.])$1/\\1cx25821_$1/g;\n" if (!($n =~ m/cx25821/)); }' \
>changes; for i in drivers/staging/cx25821/*.[ch]; do sed -r -f changes $i >a && mv a $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
14 years agoV4L/DVB: cx25821-video.c: fix table indent
Mauro Carvalho Chehab [Wed, 24 Mar 2010 17:23:25 +0000 (14:23 -0300)]
V4L/DVB: cx25821-video.c: fix table indent

Table indent were likely damaged by Lindent. Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
14 years agoV4L/DVB: cx25821: fix coding style issues in cx25821-i2c.c
Olimpiu Pascariu [Sun, 21 Mar 2010 17:52:31 +0000 (14:52 -0300)]
V4L/DVB: cx25821: fix coding style issues in cx25821-i2c.c

Fixes up warnings and errors found by the checkpatch.pl tool
on cx25821-i2c.c

Signed-off-by: Olimpiu Pascariu <olimpiu.pascariu@gmail.com>
Cc: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx25821: fix coding style issues in cx25821-medusa-video.c
Olimpiu Pascariu [Sun, 21 Mar 2010 18:46:26 +0000 (15:46 -0300)]
V4L/DVB: cx25821: fix coding style issues in cx25821-medusa-video.c

Fixes up warnings and errors found by the checkpatch.pl tool on
cx25821-medusa-video.c

Signed-off-by: Olimpiu Pascariu <olimpiu.pascariu@gmail.com>
Acked-by: Dan Carpenter <error27@gmail.com>
Cc: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx25821: fix coding style issues in cx25821-gpio.c
Olimpiu Pascariu [Sun, 21 Mar 2010 17:44:01 +0000 (14:44 -0300)]
V4L/DVB: cx25821: fix coding style issues in cx25821-gpio.c

Fixes up warnings and errors found by the checkpatch.pl tool on
cx25821-gpio.c.

Signed-off-by: Olimpiu Pascariu <olimpiu.pascariu@gmail.com>
Cc: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx25821: fix coding style issues in cx25821-core.c
Olimpiu Pascariu [Sun, 21 Mar 2010 17:18:19 +0000 (14:18 -0300)]
V4L/DVB: cx25821: fix coding style issues in cx25821-core.c

Fixes up warnings and errors found by the checkpatch.pl tool on
cx25821-core.c.

Signed-off-by: Olimpiu Pascariu <olimpiu.pascariu@gmail.com>
CC: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: cx25821-audio-upstream.c: Fixed some checkpatch.pl warnings/errors
Mauro Carvalho Chehab [Tue, 18 May 2010 03:51:02 +0000 (00:51 -0300)]
V4L/DVB: cx25821-audio-upstream.c: Fixed some checkpatch.pl warnings/errors

This patch fixes up some warnings&errors found by the checkpatch.pl script

Signed-off-by: Olimpiu Pascariu <olimpiu.pascariu@gmail.com>
CC: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: ivtv: sizeof() => ARRAY_SIZE()
Dan Carpenter [Wed, 17 Mar 2010 15:11:56 +0000 (12:11 -0300)]
V4L/DVB: ivtv: sizeof() => ARRAY_SIZE()

This fixes a smatch warning:
drivers/media/video/ivtv/ivtv-vbi.c +138 ivtv_write_vbi(43)
error: buffer overflow 'vi->cc_payload' 256 <= 1023

Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Andy Walls <awalls@radix.net>
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: v4l: videobuf: code cleanup
Pawel Osciak [Wed, 17 Mar 2010 07:01:04 +0000 (04:01 -0300)]
V4L/DVB: v4l: videobuf: code cleanup

Make videobuf pass checkpatch; minor code cleanups.

Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: Add SPI support to V4L2
Dmitri Belimov [Tue, 23 Mar 2010 14:23:29 +0000 (11:23 -0300)]
V4L/DVB: Add SPI support to V4L2

Add support SPI bus to v4l2. Useful for control some device with SPI bus like
hardware MPEG2 encoders and etc.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: em28xx: add em286x/tvp5150 reference design
Devin Heitmueller [Sat, 20 Mar 2010 02:53:12 +0000 (23:53 -0300)]
V4L/DVB: em28xx: add em286x/tvp5150 reference design

Add support for design which has an em2863/tvp5150 and uses the standard
empia USB ID.  In Sander's case, it was branded as an "Eminent model EM3705"

Thanks to Sander Van Ginkel for testing and help debugging the support.

[mchehab@redhat.com: move it to a vague card number slot (card=29)]
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca: fixes compilation when input is not selected
Mauro Carvalho Chehab [Wed, 24 Mar 2010 12:36:32 +0000 (09:36 -0300)]
V4L/DVB: gspca: fixes compilation when input is not selected

It seems that I merged a wrong version of the patch or that
changeset 4d770eeb926d0bc44c0bd68d051d3d2a5568ef41 got mangled somehow:

It were missed the #else to avoid compilation troubles.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: stv0900: Whitespace cleanup
Mauro Carvalho Chehab [Wed, 24 Mar 2010 12:35:47 +0000 (09:35 -0300)]
V4L/DVB: stv0900: Whitespace cleanup

Fixes sync with -hg tree

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7134: Use the same name on CARDLIST as found at the driver
Mauro Carvalho Chehab [Wed, 24 Mar 2010 12:34:39 +0000 (09:34 -0300)]
V4L/DVB: saa7134: Use the same name on CARDLIST as found at the driver

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: Fix cx88 and em28xx cardlists
Mauro Carvalho Chehab [Mon, 22 Mar 2010 17:37:52 +0000 (14:37 -0300)]
V4L/DVB: Fix cx88 and em28xx cardlists

There are some missing entries there

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: v4l2-common: add ability to use v4l2_ctrl_query_fill for chroma gain
Devin Heitmueller [Fri, 12 Mar 2010 01:00:13 +0000 (22:00 -0300)]
V4L/DVB: v4l2-common: add ability to use v4l2_ctrl_query_fill for chroma gain

Add the ability to use the v4l2_ctrl_query_fill() function for the newly
introduced chroma gain control.

Also, make use of the centralized function by the one caller.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa115: add support for chroma AGC and chroma gain
Devin Heitmueller [Fri, 12 Mar 2010 00:49:24 +0000 (21:49 -0300)]
V4L/DVB: saa115: add support for chroma AGC and chroma gain

Add support for chroma agc and gain to the saa7115 driver.  This allows for
users to do manual adjustment for abnormal signal conditions.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: videodev2: introduce a common control for chroma gain
Devin Heitmueller [Fri, 12 Mar 2010 00:27:59 +0000 (21:27 -0300)]
V4L/DVB: videodev2: introduce a common control for chroma gain

Introduce a new control for modifying the chroma gain.  This allows for user
intervention in abnormal signal conditions cases where the decoder's chroma
AGC cannot compensate and the value needs to be adjusted manually.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: saa7115: enable anti-alias filter
Devin Heitmueller [Wed, 3 Feb 2010 03:33:48 +0000 (00:33 -0300)]
V4L/DVB: saa7115: enable anti-alias filter

This patch enables the anti-alias filter, which was originally enabled for
the saa7113, but the saa7115_init_misc was trampling the value.  Without this
patch, there would be visible vertical bands in the chroma.

Thanks to Andy Walls for helping test this change against other ivtv products.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: em28xx: rework buffer pointer tracking for offset to start of video
Devin Heitmueller [Fri, 22 Jan 2010 05:34:32 +0000 (02:34 -0300)]
V4L/DVB: em28xx: rework buffer pointer tracking for offset to start of video

Rework the logic for tracking the amount of data copied to the VBI buffer, to
address problem found where the video lines are several bytes shifted to the
right (and the leading pixels in the first line rendered are garbage).  This
would occur because the copy function would advance the pointer when detecting
headers, but the caller would not adjust the length actually copied.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: em28xx: reduce cropping for VBI area
Devin Heitmueller [Fri, 22 Jan 2010 05:05:24 +0000 (02:05 -0300)]
V4L/DVB: em28xx: reduce cropping for VBI area

It turns up we can reduce the starting line for the active area, which results
in more data being captured when under PAL (while the full VBI capture window
still stays properly encoded).

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: em28xx: adjust number of packets per URB
Devin Heitmueller [Fri, 22 Jan 2010 04:53:17 +0000 (01:53 -0300)]
V4L/DVB: em28xx: adjust number of packets per URB

Increase the packets per URB count from 40 to 64.  I suspect that whoever was
looking at the usbsnoop captures saw "0x40" packets and mistook it for "40".

As a result of this change, I can see a 25% reduction in the number of
interrupts generated via powertop.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: sn9c102: Make hv7131d sensor code also recognize the HV7131E
Hans de Goede [Thu, 11 Mar 2010 09:12:39 +0000 (06:12 -0300)]
V4L/DVB: sn9c102: Make hv7131d sensor code also recognize the HV7131E

The hv7131d sensor code also works for the hv7131e, this patch changes
it to also recognize the hv7131e sensor id.

Tested-by: Frank Danapfel <fdanapfe@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca_spca561: Add support for camera button
Hans de Goede [Sun, 28 Feb 2010 12:41:04 +0000 (09:41 -0300)]
V4L/DVB: gspca_spca561: Add support for camera button

gspca_spca561: Add support for camera button

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca_spca561: Fix LED on rev12a cameras
Hans de Goede [Sat, 27 Feb 2010 10:18:14 +0000 (07:18 -0300)]
V4L/DVB: gspca_spca561: Fix LED on rev12a cameras

Fix LED control on rev12a cameras and remove the unneeded
sd_stop0 callback function.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca - sn9c20x: Fix bug with OV9655 code
Brian Johnson [Tue, 16 Mar 2010 16:58:28 +0000 (13:58 -0300)]
V4L/DVB: gspca - sn9c20x: Fix bug with OV9655 code

Fixed buggy init sequence for the OV9655 sensor.
Tested with a 0c45:6288 and 0c45:62b3.

Signed-off-by: Brian Johnson <brijohn@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca - sn9c20x: Add support for cameras using the MT9M112 sensor
Brian Johnson [Tue, 16 Mar 2010 16:58:28 +0000 (13:58 -0300)]
V4L/DVB: gspca - sn9c20x: Add support for cameras using the MT9M112 sensor

Adds the following models:
- 0c45:624c
- 0c45:628c
- 0458:704a
- 0458:704c

Signed-off-by: Brian Johnson <brijohn@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca - sn9c20x: Add upside down detection
Brian Johnson [Tue, 16 Mar 2010 16:58:27 +0000 (13:58 -0300)]
V4L/DVB: gspca - sn9c20x: Add upside down detection

Add support for detecting webcams that are mounted
upside down in laptops. Currently the only two known
are two MSI modesl using the 0c45:624f.

Signed-off-by: Brian Johnson <brijohn@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca - sn9c20x: Add support for camera LEDs
Brian Johnson [Tue, 16 Mar 2010 16:58:27 +0000 (13:58 -0300)]
V4L/DVB: gspca - sn9c20x: Add support for camera LEDs

Signed-off-by: Brian Johnson <brijohn@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB: gspca - sn9c20x: use gspca's input device handling
Mauro Carvalho Chehab [Tue, 18 May 2010 03:49:44 +0000 (00:49 -0300)]
V4L/DVB: gspca - sn9c20x: use gspca's input device handling

Drop custom code for handling the input button in
favor of using gspca's input hanlding mechinism.

Signed-off-by: Brian Johnson <brijohn@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>