]> err.no Git - linux-2.6/log
linux-2.6
16 years agoV4L/DVB (7329): add flag to allow software demux to recognize the output type
Andreas Oberritter [Tue, 22 Apr 2008 17:45:47 +0000 (14:45 -0300)]
V4L/DVB (7329): add flag to allow software demux to recognize the output type

Previously, the macro DVR_FEED, which is used to recognize and filter
out duplicate packets going to the DVR device, used the TS_PAYLOAD_ONLY
flag to identify a packet's destination.

This kind of filtering was introduced by the following two changesets:

Now, that it is possible to record TS PIDs using the demux device by
setting the output type to DMX_OUT_TSDEMUX_TAP, checking TS_PAYLOAD_ONLY
is not sufficient anymore. Therefore another flag, TS_DEMUX, is added to
specify the output type of a feed.

This allows multiple clients to filter the same TS PID on a demux device
simultaneously.

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7327): cx88: Fix memset for tuner-xc3028 control
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:46 +0000 (14:45 -0300)]
V4L/DVB (7327): cx88: Fix memset for tuner-xc3028 control

Fix a cut-and-paste error

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7326): Fix bad whitespaces
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:46 +0000 (14:45 -0300)]
V4L/DVB (7326): Fix bad whitespaces

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7325): cx88-dvb: fix an OOPS for xc3028 devices, when dvb_attach fails
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:46 +0000 (14:45 -0300)]
V4L/DVB (7325): cx88-dvb: fix an OOPS for xc3028 devices, when dvb_attach fails

If dvb_attach fails, dev->dvb.frontend is NULL. This will produce an OOPS, as
reported.

Thanks to Vanessa Ezekowitz <vanessaezekowitz@gmail.com>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7323): pvrusb2: set default video standard to NTSC for OnAir HDTV / Creator
Michael Krufky [Tue, 22 Apr 2008 17:45:45 +0000 (14:45 -0300)]
V4L/DVB (7323): pvrusb2: set default video standard to NTSC for OnAir HDTV / Creator

The pvrusb2 driver normally picks up the default video standard from the
eeprom on Hauppauge devices, but the OnAir HDTV and OnAir Creator are not
Hauppauge devices, and do not store this information in any eeprom.

These devices support NTSC/ATSC, so we should use NTSC by default when in
analog mode.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7322): pvrusb2: Fix storage-class as per C99 spec
Tobias Klauser [Tue, 22 Apr 2008 17:45:45 +0000 (14:45 -0300)]
V4L/DVB (7322): pvrusb2: Fix storage-class as per C99 spec

The C99 specification states in section 6.11.5:

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

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7321): pvrusb2: Rework context handling and initialization
Mike Isely [Tue, 22 Apr 2008 17:45:45 +0000 (14:45 -0300)]
V4L/DVB (7321): pvrusb2: Rework context handling and initialization

This change significantly rearranges pvr2_context level initialization
and operation:

1. A new kernel thread is set up for management of the context.

2. Destruction of the pvr2_context instance is moved into the kernel
   thread.  No other context is able to remove the instance; doing
   this simplifies lock handling.

3. The callback into pvrusb2-main, which is used to trigger
   initialization of each interface, is now issued from this kernel
   thread.  Previously it had been indirectly issued out of the work
   queue thread in pvr2_hdw, which led to deadlock issues if the
   interface needed to change a control setting (which in turn
   requires dispatch of another work queue entry).

4. Callbacks into the interfaces (via the pvr2_channel structure) are
   now issued strictly from this thread.  The net result of this is
   that such callback functions can now also safely operate driver
   controls without deadlocking the work queue.  (At the moment this
   is not actually a problem, but I'm anticipating issues with this in
   the future).

5. There is no longer any need for anyone to enter / exit the
   pvr2_context structure.  Implementation of the kernel thread here
   allows this all to be internal now, simplifying other logic.

6. A very very longstanding issue involving a mutex deadlock between
   the pvrusb2 driver and v4l should now be solved.  The deadlock
   involved the pvr2_context mutex and a globals-protecting mutex in
   v4l.  During initialization the driver would take the pvr2_context
   mutex first then the v4l2 interface would register with v4l and
   implicitly take the v4l mutex.  Later when v4l would call back into
   the driver, the two mutexes could possibly be taken in the opposite
   order, a situation that can lead to deadlock.  In practice this
   really wasn't an issue unless a v4l app tried to start VERY early
   after the driver appeared.  However it still needed to be solved,
   and with the use of the kernel thread relieving need for
   pvr2_context mutex, the problem should be finally solved.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7320): pvrusb2: Eliminate timer race during tear-down
Mike Isely [Tue, 22 Apr 2008 17:45:45 +0000 (14:45 -0300)]
V4L/DVB (7320): pvrusb2: Eliminate timer race during tear-down

The pvrusb2 tear-down logic was clearing two timers before stopping
its internal work queue.  That left a tiny window open where the work
queue might run after the timers are stopped, possibly starting them
again.  This could lead to dangling pointers and an oops.  Solution:
Kill the work queue first, then delete the timers.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7319): pvrusb2: Close potential race condition during initialization
Mike Isely [Tue, 22 Apr 2008 17:45:44 +0000 (14:45 -0300)]
V4L/DVB (7319): pvrusb2: Close potential race condition during initialization

There is a callback that is issued to into pvr2_context from pvr2_hdw
after initialization is done.  There was a probability that this
callback could get missed.  Fixed.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7318): pvrusb2: Remove dead code
Mike Isely [Tue, 22 Apr 2008 17:45:43 +0000 (14:45 -0300)]
V4L/DVB (7318): pvrusb2: Remove dead code

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7317): pvrusb2: Increase buffer size for printing video standard strings
Mike Isely [Tue, 22 Apr 2008 17:45:43 +0000 (14:45 -0300)]
V4L/DVB (7317): pvrusb2: Increase buffer size for printing video standard strings

Buffer size for printing pvrusb2 video standard strings was too small
before.  This is cosmetic; the printing logic is not able to overrun a
too-short buffer.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7316): pvrusb2: Handle ATSC video standard bits
Mike Isely [Tue, 22 Apr 2008 17:45:42 +0000 (14:45 -0300)]
V4L/DVB (7316): pvrusb2: Handle ATSC video standard bits

The pvrusb2 driver dynamically generates an enumeration of support
video standard combinations based on which video standard bits are
set.  ATSC modes don't fall into this since they are by nature not
analog.  The pvrusb2 driver has been warning about an inability to
classify ATSC standards.  This change causes the classification
algorithm to ignore any ATSC standards (such things are better handled
elsewhere anyway).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7315): pvrusb2: Add Gotview USB 2.0 DVD Deluxe to supported devices
Mike Isely [Tue, 22 Apr 2008 17:45:42 +0000 (14:45 -0300)]
V4L/DVB (7315): pvrusb2: Add Gotview USB 2.0 DVD Deluxe to supported devices

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7314): pvrusb2: Make device attribute structure more compact
Mike Isely [Tue, 22 Apr 2008 17:45:42 +0000 (14:45 -0300)]
V4L/DVB (7314): pvrusb2: Make device attribute structure more compact

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7313): pvrusb2: Make LED control into a device-specific attribute
Mike Isely [Tue, 22 Apr 2008 17:45:42 +0000 (14:45 -0300)]
V4L/DVB (7313): pvrusb2: Make LED control into a device-specific attribute

The pvrusb2 driver has used hardcoded logic to control the LED on the
device.  However this is really Hauppauge-specific behavior.  This
change defines a new device attribute for LED control and sets things
up appropriately for Hauppauge devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7312): pvrusb2: Indicate streaming status via LED
Mike Isely [Tue, 22 Apr 2008 17:45:41 +0000 (14:45 -0300)]
V4L/DVB (7312): pvrusb2: Indicate streaming status via LED

Most of this originates from Michael Krufky <mkrufky@linuxtv.org>;
these changes move LED control into separate functions.  This is the
first step in new work to make LED control a device-specific attribute.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7311): pvrusb2: Allow digital streaming without encoder firmware
Mike Isely [Tue, 22 Apr 2008 17:45:41 +0000 (14:45 -0300)]
V4L/DVB (7311): pvrusb2: Allow digital streaming without encoder firmware

The encoder is not a part of the pipeline when in digital mode, so
streaming is OK in this case even when the encoder's firmware is not
loaded.  Modify the driver core handling of this scenario to permit
streaming.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7310): pvrusb2: trace print cosmetic cleanup / improvements
Mike Isely [Tue, 22 Apr 2008 17:45:41 +0000 (14:45 -0300)]
V4L/DVB (7310): pvrusb2: trace print cosmetic cleanup / improvements

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7309): pvrusb2: Enhance core logic to also control digital streaming
Mike Isely [Tue, 22 Apr 2008 17:45:40 +0000 (14:45 -0300)]
V4L/DVB (7309): pvrusb2: Enhance core logic to also control digital streaming

This is a major pvrusb2 change.  The driver core has an algorithm that
is used to cleanly sequence the changes needed to enable / disable
video streaming.  The algorithm had originally been written for analog
streaming, but when in digital mode the pipeline is considerably

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7308): pvrusb2: Define digital control scheme device attributes
Mike Isely [Tue, 22 Apr 2008 17:45:40 +0000 (14:45 -0300)]
V4L/DVB (7308): pvrusb2: Define digital control scheme device attributes

Unlike analog control, control of the digital side is not nearly as
uniform among different devices.  So we have to specify the correct
digital control scheme as a new device attribute.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7307): pvrusb2: New functions for additional FX2 digital-related commands
Mike Isely [Tue, 22 Apr 2008 17:45:40 +0000 (14:45 -0300)]
V4L/DVB (7307): pvrusb2: New functions for additional FX2 digital-related commands

This code is actually part of a larger set from Mike Krufky
<mkrufky@linuxtv.org>, to support ATSC streaming from within the
pvrusb2 driver.  More to come...

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7306): pvrusb2: Fix oops possible when claiming a NULL stream
Mike Isely [Tue, 22 Apr 2008 17:45:39 +0000 (14:45 -0300)]
V4L/DVB (7306): pvrusb2: Fix oops possible when claiming a NULL stream

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7305): pvrusb2: whitespace fixup
Mike Isely [Tue, 22 Apr 2008 17:45:39 +0000 (14:45 -0300)]
V4L/DVB (7305): pvrusb2: whitespace fixup

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7304): pvrusb2: add function pvr2_hdw_cmd_powerdown
Michael Krufky [Tue, 22 Apr 2008 17:45:39 +0000 (14:45 -0300)]
V4L/DVB (7304): pvrusb2: add function pvr2_hdw_cmd_powerdown

Call pvr2_hdw_cmd_powerdown to power down the device

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7303): pvrusb2: Ensure that default input selection is actually valid
Mike Isely [Tue, 22 Apr 2008 17:45:39 +0000 (14:45 -0300)]
V4L/DVB (7303): pvrusb2: Ensure that default input selection is actually valid

Previously the pvrusb2 driver just started with the default input to
be "television".  But if the device doesn't support an analog tuner
then this default must be different.  New logic here selects a
reasonable default based on the actual valid set of available inputs.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7302): pvrusb2: Improve control validation for enumerations
Mike Isely [Tue, 22 Apr 2008 17:45:38 +0000 (14:45 -0300)]
V4L/DVB (7302): pvrusb2: Improve control validation for enumerations

When an enumeration control is changed, the pvrusb2 driver assumed
that the enumeration values were continuous.  That is no longer true;
this change allows for properly input validation even when not all
enumeration values are legal (which can happen with input selection
based on what the hardware supports).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7301): pvrusb2: Implement addition sysfs tracing
Mike Isely [Tue, 22 Apr 2008 17:45:38 +0000 (14:45 -0300)]
V4L/DVB (7301): pvrusb2: Implement addition sysfs tracing

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7300): pvrusb2: v4l2 implementation fixes for input selection
Mike Isely [Tue, 22 Apr 2008 17:45:38 +0000 (14:45 -0300)]
V4L/DVB (7300): pvrusb2: v4l2 implementation fixes for input selection

Now that the pvrusb2 driver can dynamically choose which inputs to
make available depending on the hardware, the enumeration of input
choices is no longer a contiguous range of integers.  Unfortunately
this causes a problem in the v4l2 implementation since the input
enumeration requires continuity in the API.  This change implements a
mapping in order to preserve the v4l2 interface requirement.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7299): pvrusb2: Improve logic which handles input choice availability
Mike Isely [Tue, 22 Apr 2008 17:45:37 +0000 (14:45 -0300)]
V4L/DVB (7299): pvrusb2: Improve logic which handles input choice availability

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7298): pvrusb2: Account for dtv choice (a bit) in v4l2 implementation
Mike Isely [Tue, 22 Apr 2008 17:45:37 +0000 (14:45 -0300)]
V4L/DVB (7298): pvrusb2: Account for dtv choice (a bit) in v4l2 implementation

The v4l2 implementation in pvru2b2 must produce a sane answer when
asked, when the input choice is set to dtv.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7297): pvrusb2: Dynamically control range of input selections
Mike Isely [Tue, 22 Apr 2008 17:45:37 +0000 (14:45 -0300)]
V4L/DVB (7297): pvrusb2: Dynamically control range of input selections

This follows from defining the available inputs as device attributes.
This change causes the driver to adjust its list of inputs based on
those attributes.  Now, for example, the FM radio will appear as a
choice only if the hardware supports an FM radio.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7296): pvrusb2: Define device attributes for all input modes
Mike Isely [Tue, 22 Apr 2008 17:45:36 +0000 (14:45 -0300)]
V4L/DVB (7296): pvrusb2: Define device attributes for all input modes

Different devices support different input types.  Up until now we've
really been assuming that everyone has an analog tuner, an FM radio,
composite, and s-video inputs.  But as we add other devices, these
assumptions are no longer true.  The way to deal with this is to
define the available inputs as additional device attributes, so that
the driver can adjust its internal behavior accordingly.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7295): pvrusb2: add device attributes for fm radio and digital tuner
Mike Isely [Tue, 22 Apr 2008 17:45:36 +0000 (14:45 -0300)]
V4L/DVB (7295): pvrusb2: add device attributes for fm radio and digital tuner

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7294): : tuner and radio addresses are missing for the PixelView PlayTV...
Wojciech Migda [Tue, 22 Apr 2008 17:45:36 +0000 (14:45 -0300)]
V4L/DVB (7294): : tuner and radio addresses are missing for the PixelView PlayTV card

The PixelView PlayTV card definition structure was missing initialization of
the tuner_addr and radio_addr fields. As a result it was impossible to have the
tuner initialized using parameters specified while loading the bttv.ko module.

This regression became visible after the v4l rearrangements introduced
somewhere around 2.6.15 kernel version.

The root cause for the tuner initialization failure is located in the
attach_inform function in the bttv-i2c.c file.

There at the very beginning the addr variable holding the tuner device address
is initialized with the value taken from the bttv_tvcards array.

For the PixelView PlayTV card the tuner address field (and the radio address as
well) was uninitialized, and thus equal 0. Later in that function execution of
the TUNER_SET_TYPE_ADDR tuner command is guarded with check for the tuner
address either equal ADDR_UNSET, or client->addr.

Since both are non-zero (the latter in case of the card owned by me at the
runtime is equal 0x61) the TUNER_SET_TYPE_ADDR command is not executed, and
consequently in the tuner_attach function in the tuner-core.c file call to
i2c_attach_client does not result in assigning the tuner type variable with the
requested value.

Providing initialization of the tuner_addr and radio_addr with ADDR_UNSET
values as it is already done for other tv cards defined in bttv-cards.c ensures
that the tuner initialization is done correctly, just as it used to be in the
2.6.14 kernel.

Signed-off-by: Wojciech Migda <wojtek.golf@interia.pl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7293): DMX_OUT_TSDEMUX_TAP: record two streams from same mux, resend
Peter Hartley [Tue, 22 Apr 2008 17:45:36 +0000 (14:45 -0300)]
V4L/DVB (7293): DMX_OUT_TSDEMUX_TAP: record two streams from same mux, resend

Currently (in linux-2.6.24, but linux-dvb hg looks similar), the
dmx_output_t in the dmx_pes_filter_params decides two things: whether
output is sent to demux0 or dvr0 (in dmxdev.c:dvb_dmxdev_ts_callback),
*and* whether to depacketise TS (in dmxdev.c:dvb_dmxdev_filter_start).
As it stands, those two things can't be set independently: output
destined for demux0 is depacketised, output for dvr0 isn't.

This is what you want for capturing multiple audio streams from the same
multiplex simultaneously: open demux0 several times and send
depacketised output there. And capturing a single video stream is fine
not what you want: you want multi-open (so demux0, not dvr0), but you
want the TS nature preserved (because that's what you want on output, as
you're going to re-multiplex it with the audio).

At least one existing solution -- GStreamer -- sends all its streams
simultaneously via dvr0 and demuxes again in userland, but it seems a
bit of a shame to pick out all the PIDs in kernel, stick them back
together in kernel, and send them to userland only to get unpicked
again, when the alternative is such a small API addition.

The attached patch adds a new value for dmx_output_t:
DMX_OUT_TSDEMUX_TAP, which sends TS to the demux0 device. With this
patch and a dvb-usb-dib0700 (and UK Freeview from Sandy Heath), I can
successfully capture an audio/video PID pair into a TS file that mplayer
can play back.

Signed-off-by: Peter Hartley <pdh@utter.chaos.org.uk>
Acked-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7289): cx88: enable IR receiver and real time clock on FusionHDTV7 Gold
Michael Krufky [Tue, 22 Apr 2008 17:45:35 +0000 (14:45 -0300)]
V4L/DVB (7289): cx88: enable IR receiver and real time clock on FusionHDTV7 Gold

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7288): cx88: fix GPIO for FusionHDTV 7 Gold input selection
Michael Krufky [Tue, 22 Apr 2008 17:45:35 +0000 (14:45 -0300)]
V4L/DVB (7288): cx88: fix GPIO for FusionHDTV 7 Gold input selection

Fix GPIO for FusionHDTV 7 Gold tv / s-video / composite input selection.
Fix card textual name to match other FusionHDTV device names.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7287): cx88: add analog support for DVICO FusionHDTV7 Gold
Steven Toth [Tue, 22 Apr 2008 17:45:34 +0000 (14:45 -0300)]
V4L/DVB (7287): cx88: add analog support for DVICO FusionHDTV7 Gold

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7286): limit stack usage of ir-kbd-i2c.c
Marcin Slusarz [Tue, 22 Apr 2008 17:45:33 +0000 (14:45 -0300)]
V4L/DVB (7286): limit stack usage of ir-kbd-i2c.c

ir_probe allocated struct i2c_client on stack;
it's pretty big structure, so allocate it with kzalloc

make checkstack output without this patch:
x059d ir_probe [ir-kbd-i2c]:                           1000

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7283): videobuf-dma-sg: Remove unused variable
Douglas Schilling Landgraf [Tue, 22 Apr 2008 17:45:33 +0000 (14:45 -0300)]
V4L/DVB (7283): videobuf-dma-sg: Remove unused variable

Removed warning message:

 - videobuf-dma-sg.c: In function 'videobuf_dma_unmap':
 - videobuf-dma-sg.c:281: warning: unused variable 'dev'

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7281): v4l: Deadlock in videobuf-core for DQBUF waiting on QBUF
Brandon Philips [Tue, 22 Apr 2008 17:45:32 +0000 (14:45 -0300)]
V4L/DVB (7281): v4l: Deadlock in videobuf-core for DQBUF waiting on QBUF

Avoid a deadlock where DQBUF is holding the vb_lock while waiting on a QBUF
which also needs the vb_lock.  Reported by Hans Verkuil <hverkuil@xs4all.nl>.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7276): soc-camera: deactivate cameras when not used
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:45:32 +0000 (14:45 -0300)]
V4L/DVB (7276): soc-camera: deactivate cameras when not used

Only attach cameras to the host interface for probing, then detach until
open. This allows platforms with several cameras on an interface,
physically supporting only one camera, to handle multiple cameras and
activate them selectively after initial probing. The first attach during
probe is needed to activate the host interface to be able to physically
communicate with cameras.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7274): dabusb: fix shadowed variable warning in dabusb.c
Harvey Harrison [Tue, 22 Apr 2008 17:45:32 +0000 (14:45 -0300)]
V4L/DVB (7274): dabusb: fix shadowed variable warning in dabusb.c

drivers/media/video/dabusb.c:208:6: warning: symbol 'buffers' shadows an earlier one
drivers/media/video/dabusb.c:63:12: originally declared here

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7273): suppress compound statement warning in dvb-bt8xx.c
Harvey Harrison [Tue, 22 Apr 2008 17:45:32 +0000 (14:45 -0300)]
V4L/DVB (7273): suppress compound statement warning in dvb-bt8xx.c

Prevailing kernel style seems to prefer always using braces
for do {} while ().

Add braces to dprintk to suppress the sparse warnings:
drivers/media/dvb/bt8xx/dvb-bt8xx.c:73:2: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:93:2: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:529:2: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:614:4: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:629:4: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:639:4: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:883:2: warning: do-while statement is not a compound statement
drivers/media/dvb/bt8xx/dvb-bt8xx.c:917:2: warning: do-while statement is not a compound statement

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7271): cx88-cards: Fix powerangel gpio1
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:31 +0000 (14:45 -0300)]
V4L/DVB (7271): cx88-cards: Fix powerangel gpio1

With this gpio, audio works properly.

Thanks to Daniel Fraga <fragabr@gmail.com> for helping on fixing the code for
Powerangel Real board.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7270): cx88-dvb: Renames pci_nano callback
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:31 +0000 (14:45 -0300)]
V4L/DVB (7270): cx88-dvb: Renames pci_nano callback

This callback is specific to pci_nano, since supports only dvb. Renames it
to avoid future mistakes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7269): cx88: Powercolor Angel works only with firmware version 2.5
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:30 +0000 (14:45 -0300)]
V4L/DVB (7269): cx88: Powercolor Angel works only with firmware version 2.5

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7266): cx88-dvb: convert attach_xc3028 into a function
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:30 +0000 (14:45 -0300)]
V4L/DVB (7266): cx88-dvb: convert attach_xc3028 into a function

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7265): cx88: prints an info when xc2028 is set or is attached
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:30 +0000 (14:45 -0300)]
V4L/DVB (7265): cx88: prints an info when xc2028 is set or is attached

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7264): cx88-cards: always use a level on printk messages
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:29 +0000 (14:45 -0300)]
V4L/DVB (7264): cx88-cards: always use a level on printk messages

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7263): Some cleanups at cx88 callback methods
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:28 +0000 (14:45 -0300)]
V4L/DVB (7263): Some cleanups at cx88 callback methods

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7262): Add support for xc3028-based boards
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:27 +0000 (14:45 -0300)]
V4L/DVB (7262): Add support for xc3028-based boards

This patch adds support for the following saa7134 xc3028 based boards:
132 -> AVerMedia Cardbus TV/Radio (E506R)       [1461:f436]
133 -> AVerMedia Hybrid TV/Radio (A16D)         [1461:f936]
134 -> Avermedia M115                           [1461:a836]
135 -> Compro VideoMate T750                    [185b:c900]

This is based on a original patch thanks to Markus Rechberger that added xc3028
gpio init code for the above boards.

This patch moves saa7134_tuner_callback to saa7134-cards, originally used only
by tda8290 DVB-S boards. The callback was made more generic to support other
tuners.

Currently, it supports both tda8290 and xc2028/xc3028 tuners. Added also the
basis for xc5000 tuner callback.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7261): Use the same callback argument as xc3028 and xc5000
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:20 +0000 (14:45 -0300)]
V4L/DVB (7261): Use the same callback argument as xc3028 and xc5000

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7260): tuner-xc3028: Don't check return code for clock reset
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:20 +0000 (14:45 -0300)]
V4L/DVB (7260): tuner-xc3028: Don't check return code for clock reset

Only tm6000 needs to be aware when a frequency is being changed. This seems
to improve channel change detection. Other bridges don't need this.
So, better to discard any errors if this fails, and proceed changing the
channels.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7259): FusionHDTV DVB-T Pro tuning problem fixes
Chris Pascoe [Tue, 22 Apr 2008 17:45:15 +0000 (14:45 -0300)]
V4L/DVB (7259): FusionHDTV DVB-T Pro tuning problem fixes

It seems that on this board, the demodulator provides the pullup on the I2C
bus, which means that calling i2c_gate_ctrl crashes the bus.  Turn this off
and the xc3028 can talk OK.  Also fix some GPIO related settings that
became more clear through working on this.

Some changes made by Mauro Chehab to allow merging it with some
other xc3028 patches.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7258): Support DVB-T tuning on the DViCO FusionHDTV DVB-T Pro
Chris Pascoe [Tue, 22 Apr 2008 17:45:15 +0000 (14:45 -0300)]
V4L/DVB (7258): Support DVB-T tuning on the DViCO FusionHDTV DVB-T Pro

Add support for tuning DVB-T channels on DViCO's FusionHDTV DVB-T Pro board.

The IR remote and analog tuner are not supported at this time.

Some changes made by Mauro Chehab to allow merging it with some other xc3028
patches.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7257): cx88: Add xc2028/3028 boards
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:15 +0000 (14:45 -0300)]
V4L/DVB (7257): cx88: Add xc2028/3028 boards

This patch ports a patch from Markus Rechberger to work with tuner-xc2028.
It adds entries for several cx88 boards with xc2038/3028 tuners.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7256): cx88: Add support for tuner-xc3028
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:45:14 +0000 (14:45 -0300)]
V4L/DVB (7256): cx88: Add support for tuner-xc3028

Callback gpio's based on Markus Rechberger, Christopher Pascoe and Steven Toth
patches.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7254): cx88: fix FusionHDTV 5 PCI nano name and enable IR support
Michael Krufky [Tue, 22 Apr 2008 17:45:14 +0000 (14:45 -0300)]
V4L/DVB (7254): cx88: fix FusionHDTV 5 PCI nano name and enable IR support

load ir-kbd-i2c for IR remote control support on DViCO FusionHDTV 5 PCI nano

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7252): cx88: Add support for the Dvico PCI Nano
Steven Toth [Tue, 22 Apr 2008 17:45:14 +0000 (14:45 -0300)]
V4L/DVB (7252): cx88: Add support for the Dvico PCI Nano

ATSC is known to work.
SVideo / Composite should work (I have no cable to test).
Analog tuner support does not work.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7250): Clean up pxa-camera driver, remove non-functional and never tested...
Guennadi Liakhovetski [Tue, 15 Apr 2008 05:57:48 +0000 (02:57 -0300)]
V4L/DVB (7250): Clean up pxa-camera driver, remove non-functional and never tested pm-support

This patch addresses most issues pointed out by Russell and Erik, moves
recently introduced into pxa-regs.h camera-specific defines into
pxa_camera.c, removes dummy power-management functions, improves
function-naming, etc.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7249): Fix advertised pixel formats in mt9m001 and mt9v022
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:45:13 +0000 (14:45 -0300)]
V4L/DVB (7249): Fix advertised pixel formats in mt9m001 and mt9v022

Only advertise pixel formats, that we actually can support in the
present configuration.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7248): dabfirmware.h add missing license
maximilian attems [Tue, 22 Apr 2008 17:45:13 +0000 (14:45 -0300)]
V4L/DVB (7248): dabfirmware.h add missing license

Received written ack from the dabusb author
that the firmware is BSD licensed.
As bonus clarify copyright holder.

Signed-off-by: maximilian attems <max@stro.at>
Acked-by: Deti Fliegl <deti@fliegl.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7245): ivtv: start timer for each DMA transfer
Hans Verkuil [Tue, 22 Apr 2008 17:42:16 +0000 (14:42 -0300)]
V4L/DVB (7245): ivtv: start timer for each DMA transfer

The DMA timeout timer was started once for each set of DMA transfers,
but it should be started for each single DMA transfer.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7244): ivtv: CROP is not supported for video capture
Hans Verkuil [Tue, 22 Apr 2008 17:42:15 +0000 (14:42 -0300)]
V4L/DVB (7244): ivtv: CROP is not supported for video capture

CROPCAP suggests that video capture supports cropping, but this is not the
case.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7243): ivtv: yuv framebuffer tracking
Ian Armstrong [Tue, 22 Apr 2008 17:42:14 +0000 (14:42 -0300)]
V4L/DVB (7243): ivtv: yuv framebuffer tracking

The existing yuv code limits output to the display area occupied by the
framebuffer. This patch allows the yuv output to be 'detached' via
V4L2_FBUF_FLAG_OVERLAY.

By default, the yuv output window will be restricted to the framebuffer
dimensions and the output position is relative to the top left corner of the
framebuffer. This matches the behaviour of previous versions.

If V4L2_FBUF_FLAG_OVERLAY is cleared, the yuv output will no longer be linked
to the framebuffer. The maximum dimensions are either 720x576 or 720x480
depending on the current broadcast standard, with the output position
relative to the top left corner of the display. The framebuffer itself can be
resized, moved and panned without affecting the yuv output.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7241): cx25840: code cleanup
Tyler Trafford [Tue, 22 Apr 2008 17:42:14 +0000 (14:42 -0300)]
V4L/DVB (7241): cx25840: code cleanup

- Use min()
- Eliminate extraneous variables

Signed-off-by: Tyler Trafford <ttrafford@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7240): tveeprom: remove obsolete i2c driver code
Hans Verkuil [Tue, 22 Apr 2008 17:42:14 +0000 (14:42 -0300)]
V4L/DVB (7240): tveeprom: remove obsolete i2c driver code

The i2c driver code was once added for the out-of-tree ivtv driver,
but the ivtv driver hasn't used that for a long time so this code can
now be removed.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7238): make stk_camera_{suspend,resume}() static
Adrian Bunk [Tue, 22 Apr 2008 17:42:13 +0000 (14:42 -0300)]
V4L/DVB (7238): make stk_camera_{suspend,resume}() static

This patch makes the needlessly global stk_camera_{suspend,resume}()
static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:13 +0000 (14:42 -0300)]
V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API

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

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7235): tuner-simple: fix a buffer overflow
Mauro Carvalho Chehab [Tue, 22 Apr 2008 17:42:13 +0000 (14:42 -0300)]
V4L/DVB (7235): tuner-simple: fix a buffer overflow

simple_set_tv() creates a buffer with 4 elements, and calls
simple_std_setup(), passing &buffer[1]. This makes the 5th element of buffer to
be initialized to 0, overriding some area outside the buffer.

Also, simple_std_setup() receives a buffer as parameter, but the buffer is
just overriden after the call, so, it doesn't make much sense to pass it as a
parameter.

This patch removes buffer[] from the function call, creating, instead, a local
var to be used internally.

Thanks to Axel Rometsch <axel.rometsch@freenet.de> for pointing the issue.

Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7230): saa7134: add support for the MSI TV@nywhere A/D v1.1 card
Russell Kliese [Tue, 22 Apr 2008 17:42:12 +0000 (14:42 -0300)]
V4L/DVB (7230): saa7134: add support for the MSI TV@nywhere A/D v1.1 card

Signed-off-by: Russell Kliese <russell@kliese.wattle.id.au>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7229): saa7134: add support for the Creatix CTX953_V.1.4.3 Hybrid
Hermann Pitton [Tue, 22 Apr 2008 17:42:12 +0000 (14:42 -0300)]
V4L/DVB (7229): saa7134: add support for the Creatix CTX953_V.1.4.3 Hybrid

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7227): saa7134: fixed DVB-S support for Medion/Creatix CTX948
Hartmut Hackmann [Tue, 22 Apr 2008 17:42:12 +0000 (14:42 -0300)]
V4L/DVB (7227): saa7134: fixed DVB-S support for Medion/Creatix CTX948

The I2C bus interface of the LNB supply sits behind the i2c gate of the
tda10086, so wrappers were necessary for the set_voltage functions.

For the time being, the board will show up as MD8800

Many thanks to Hermann Pitton for his help

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7226): saa7134: add support for the NXP Snake DVB-S reference design
Hartmut Hackmann [Tue, 22 Apr 2008 17:42:11 +0000 (14:42 -0300)]
V4L/DVB (7226): saa7134: add support for the NXP Snake DVB-S reference design

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7224): Initial DVB-S support for MD8800 /CTX948
Hartmut Hackmann [Tue, 22 Apr 2008 17:42:09 +0000 (14:42 -0300)]
V4L/DVB (7224): Initial DVB-S support for MD8800 /CTX948

Support is not complete yet and untested.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7223): Add support for the ISL6405 dual LNB supply chip
Hartmut Hackmann [Tue, 22 Apr 2008 17:42:09 +0000 (14:42 -0300)]
V4L/DVB (7223): Add support for the ISL6405 dual LNB supply chip

The chip can control 2 LNBs independently.
The driver distinguishes them by evaluating the MSB of the override_set
parameter of the isl6405_attach function.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7220): drivers/media/video/sn9c102/sn9c102_core.c Fix Unlikely(x) == y
Roel Kluin [Tue, 22 Apr 2008 17:42:08 +0000 (14:42 -0300)]
V4L/DVB (7220): drivers/media/video/sn9c102/sn9c102_core.c Fix Unlikely(x) == y

Fix Unlikely(x) == y

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Reviewed-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7218): Fix breakage in mt9m001 and mt9v022 driver if "CONFIG_GENERIC_GPIO...
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:08 +0000 (14:42 -0300)]
V4L/DVB (7218): Fix breakage in mt9m001 and mt9v022 driver if "CONFIG_GENERIC_GPIO is not set"

Both camera drivers can function without GPIO support, in which case they
will only support the 10 bit data width mode. But the two respective switch
have to depend on CONFIG_GENERIC_GPIO. Additionally remove redundant
gpio_is_valid tests - they are repeated in bus_switch_request() functions.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7217): Replace NO_GPIO with gpio_is_valid()
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:08 +0000 (14:42 -0300)]
V4L/DVB (7217): Replace NO_GPIO with gpio_is_valid()

Upon suggestion by David Brownell use a gpio_is_valid() predicate
instead of an explicit NO_GPIO macro. The respective patch to
include/asm-generic/gpio.h has been accepted upstream.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7214): tda18271: move init functions to directly above tda18271_tune
Michael Krufky [Tue, 22 Apr 2008 17:42:07 +0000 (14:42 -0300)]
V4L/DVB (7214): tda18271: move init functions to directly above tda18271_tune

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7213): tda18271: consolidate tune functions
Michael Krufky [Tue, 22 Apr 2008 17:42:07 +0000 (14:42 -0300)]
V4L/DVB (7213): tda18271: consolidate tune functions

combine tda18271c1_tune and tda18271c2_tune into a single function

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7212): tda18271: move rf calibration code from tda18271c1_tune into a new...
Michael Krufky [Tue, 22 Apr 2008 17:42:07 +0000 (14:42 -0300)]
V4L/DVB (7212): tda18271: move rf calibration code from tda18271c1_tune into a new function

move rf calibration code from tda18271c1_tune into a new function,
tda18271c1_rf_tracking_filter_calibration

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7211): tda18271: remove duplicated channel configuration code from tda18271c...
Michael Krufky [Tue, 22 Apr 2008 17:42:06 +0000 (14:42 -0300)]
V4L/DVB (7211): tda18271: remove duplicated channel configuration code from tda18271c1_tune

remove duplicated channel configuration code from tda18271c1_tune, instead
call function tda18271_channel_configuration

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7204): remove V4L2_CID_SHARPNESS from meye.h and report private control...
Brandon Philips [Tue, 22 Apr 2008 17:42:06 +0000 (14:42 -0300)]
V4L/DVB (7204): remove V4L2_CID_SHARPNESS from meye.h and report private control as DISABLED

- Continue to support the V4L2_CID_PRIVATE_BASE + 1 control in the ABI
 - Report the same control as V4L2_CID_SHARPNESS
 - Report the private control disabled via QUERYCTRL

Signed-off-by: Brandon Philips <bphilips@suse.de>
Acked-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7196): Lift videobuf-dma-sg's PCI dependency, until it is fixed
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:06 +0000 (14:42 -0300)]
V4L/DVB (7196): Lift videobuf-dma-sg's PCI dependency, until it is fixed

videobuf-dma-sg.c should be converted to the generic DMA API to make it
also useful for non-PCI configurations. Even now it can be used thanks
to compatibility macros in include/asm-generic/pci-dma-compat.h. This
has been verified to work on PXA270 CPU with the pxa_camera.c soc-camera
driver. For this the following temporary work-around is needed.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7184): make hybrid_tuner_request_state tolerant of devices without i2c adapters
Michael Krufky [Tue, 22 Apr 2008 17:42:05 +0000 (14:42 -0300)]
V4L/DVB (7184): make hybrid_tuner_request_state tolerant of devices without i2c adapters

Some dvb demodulators access the tuner directly without using i2c.
In these cases, i2c_adap may be NULL.  This patch fixes
hybrid_tuner_request_state to allow for NULL i2c_adapters.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7178): Add two new fourcc codes for 16bpp formats
Steven Whitehouse [Tue, 22 Apr 2008 17:42:05 +0000 (14:42 -0300)]
V4L/DVB (7178): Add two new fourcc codes for 16bpp formats

This adds two new fourcc codes (as per info at fourcc.org)
for 16bpp mono and 16bpp Bayer formats.

Signed-off-by: Steven Whitehouse <steve@chygwyn.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7174): Add support for the MT9V022 camera
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:04 +0000 (14:42 -0300)]
V4L/DVB (7174): Add support for the MT9V022 camera

This driver supports Micron MT9V022 colour camera.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7173): Add support for the MT9M001 camera
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:04 +0000 (14:42 -0300)]
V4L/DVB (7173): Add support for the MT9M001 camera

This driver supports Micron MT9M001 monochrome and colour cameras.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7578a): V4L: V4L2 soc_camera driver for PXA270
Guennadi Liakhovetski [Mon, 7 Apr 2008 00:24:56 +0000 (21:24 -0300)]
V4L/DVB (7578a): V4L: V4L2 soc_camera driver for PXA270

This patch adds a driver for the Quick Capture Interface on the PXA270.
It is based on the original driver from Intel, but has been re-worked
multiple times since then, now it also supports the V4L2 API. This patch
depends on a complementary patch, submitted to the ARM tree, providing
PXA270 camera platform bindings.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7170): soc_camera V4L2 driver for directly-connected SoC-based cameras
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:03 +0000 (14:42 -0300)]
V4L/DVB (7170): soc_camera V4L2 driver for directly-connected SoC-based cameras

This driver provides an interface between platform-specific camera
busses and camera devices. It should be used if the camera is connected
not over a "proper" bus like PCI or USB, but over a special bus, like,
for example, the Quick Capture interface on PXA270 SoCs. Later it should
also be used for i.MX31 SoCs from Freescale.  It can handle multiple
cameras and / or multiple busses, which can be used, e.g., in
stereo-vision applications.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7169): Add chip IDs for Micron mt9m001 and mt9v022 CMOS cameras
Guennadi Liakhovetski [Tue, 22 Apr 2008 17:42:03 +0000 (14:42 -0300)]
V4L/DVB (7169): Add chip IDs for Micron mt9m001 and mt9v022 CMOS cameras

Add V4L2_IDENT chip IDs for mt9m001 and mt9v022 cameras, will be used by
future patches, primarily to implement the g_chip_ident ioctl.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7167): [v4l] Add camera class control definitions
Brandon Philips [Tue, 22 Apr 2008 17:42:02 +0000 (14:42 -0300)]
V4L/DVB (7167): [v4l] Add camera class control definitions

Add all of the recently proposed camera class controls.  These controls
should appear in the next version of the v4l2spec.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7166): [v4l] Add new user class controls and deprecate others
Brandon Philips [Tue, 22 Apr 2008 17:42:02 +0000 (14:42 -0300)]
V4L/DVB (7166): [v4l] Add new user class controls and deprecate others

These changes should appear in the next update of the v4l2spec.

HCENTER and VCENTER are unused in the tree so I added a _DEPRECATED
postfix so applications can remove their use.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7140): constify function pointer tables
Jan Engelhardt [Tue, 22 Apr 2008 17:42:01 +0000 (14:42 -0300)]
V4L/DVB (7140): constify function pointer tables

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7137): tuner: return number of instances remaining after hybrid_tuner_releas...
Michael Krufky [Tue, 22 Apr 2008 17:42:00 +0000 (14:42 -0300)]
V4L/DVB (7137): tuner: return number of instances remaining after hybrid_tuner_release_state

Assign the number of instances remaining as the return value of
hybrid_tuner_release_state, in case there is any extra cleanup that
the tuner driver needs to do after an instance has been destroyed.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7136): tda18271: use hybrid_tuner_request_state to manage tuner instances
Michael Krufky [Tue, 22 Apr 2008 17:41:54 +0000 (14:41 -0300)]
V4L/DVB (7136): tda18271: use hybrid_tuner_request_state to manage tuner instances

Convert tda18271 to use the new hybrid_tuner_request_state and
hybrid_tuner_release_state macros to manage state sharing between
hybrid tuner instances.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros
Michael Krufky [Tue, 22 Apr 2008 17:41:53 +0000 (14:41 -0300)]
V4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros

Store a pointer to the device name in the name field of
struct tuner_i2c_props, so that we can remove the
printk macros defined in tuner-i2c.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7134): tuner: create a macro for sharing state between hybrid tuner instances
Michael Krufky [Tue, 22 Apr 2008 17:41:52 +0000 (14:41 -0300)]
V4L/DVB (7134): tuner: create a macro for sharing state between hybrid tuner instances

Create a macro implementing a standard method to share state amongst
multiple instances of a hybrid tuner object.

Also, prepare tuner_foo printk macros for the removal of PREFIX

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>