History log of /drivers/media/video/em28xx/em28xx-cards.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fa5527cd3f428845d7950e6b2bab6babcbcd907b 20-Mar-2012 Ivan Kalvachev <ikalvachev@gmail.com> [media] em28xx: support for 2304:0242 PCTV QuatroStick (510e)

It is mostly copy/paste of the 520e code with setting GPIO7 removed
(no LED light).

I've worked on just released vanilla linux-3.3.0 kernel, so there may
be 1/2 lines offset to the internal working source, but most of the
code should apply cleanly.

I was able to get the DVB-C working (tuned and watched TV). Haven't
tested DVB-T (no signal atm).

Special thanks to everybody who worked on the code and to Antti
Palosaari and Devin Heitmueller who provided essential support on irc.

Hardware is based of:
Empia EM2884
Micronas DRX 3926K
NXP TDA18271HDC2
AVF4910 (not used atm)

Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c247d7b107c6654bb73d539485df649db5c0796f 19-Mar-2012 Antti Palosaari <crope@iki.fi> [media] em28xx: support for 2013:0251 PCTV QuatroStick nano (520e)

Hardware is based of:
Empia EM2884
Micronas DRX 3926K
NXP TDA18271HDC2

... + analog parts.
Analog is not supported currently. Only DVB-T and DVB-C.

There seems to be still problems for locking DVB-C channels which have
strong signal. Attenuator helps. I think it is demodulator IF/RF AGC
issue. Lets fix it later. Patches are welcome.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
3553085cb47b10762e77ca783683dbf8142f9762 18-Mar-2012 Antti Palosaari <crope@iki.fi> [media] em28xx: support for 1b80:e425 MaxMedia UB425-TC

Hardware is based of:
Empia EM2874B
Micronas DRX 3913KA2
NXP TDA18271HDC2

Only DVB-C supported currently since missing firmware.
According to my tests, DRX 3913KA2 demodulator requires firmware
in order to support DVB-T mode.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
401a582f869d64a4a5c3fb03926ffa54920a168d 13-Mar-2012 Ezequiel García <elezegarcia@gmail.com> [media] media: em28xx: Paranoic stack save

This patch saves 255 bytes of stack on usb_probe() by removing
a char array. In some platforms this is represents a substantial save.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
86d38d1e0e0f66ec3973b718d35a590e04fb32fa 13-Feb-2012 Gianluca Gennari <gennarone@gmail.com> [media] em28xx: pre-allocate DVB isoc transfer buffers

On MIPS/ARM set-top-boxes, as well as old x86 PCs, memory allocation failures
in the em28xx driver are common, due to memory fragmentation over time, that
makes impossible to allocate large chunks of coherent memory.
A typical system with 256/512 MB of RAM fails after just 1 day of uptime (see
the old thread for detailed reports and crashlogs).

In fact, the em28xx driver allocates memory for USB isoc transfers at runtime,
as opposite to the dvb-usb drivers that allocates the USB buffers when the
device is initialized, and frees them when the device is disconnected.

Moreover, in digital mode the USB isoc transfer buffers are freed, allocated
and cleared every time the user selects a new channel, wasting time and
resources.

This patch solves both problems by allocating DVB isoc transfer buffers in
em28xx_usb_probe(), and freeing them in em28xx_usb_disconnect().
In fact, the buffers size and number depend only on the max USB packet size
that is parsed from the USB descriptors in em28xx_usb_probe(), so it can
never change for a given device.

This approach makes no sense in analog mode (as the buffer size depends on
the alternate mode selected at runtime), the patch creates two separate sets
of buffers for digital and analog modes.

For digital-only devices, USB buffers are created when the device is probed
and freed when the device is disconnected.
For analog-only devices, nothing changes: isoc buffers are created at runtime.
For hybrid devices, two sets of buffers are maintained: the digital-mode
buffers are created when the device is probed, and freed when the device is
disconnected; analog-mode buffers are created/destroyed at runtime as before.
So, in analog mode, digital and analog buffers coexists at the same time: this
can be justified by the fact that digital mode is by far more commonly used
nowadays, so it makes sense to optimize the driver for this use case scenario.

The patch has been tested in the last few days on a x86 PC and a MIPS
set-top-box, with the PCTV 290e (digital only) and the Terratec Hybrid XS
(hybrid device). With the latter, I switched several times between analog and
digital mode (Kaffeine/TvTime) with no issue at all.
I unplugged/plugged the devices several times with no problem.
Also, after over 3 days of normal usage in the MPIS set-top-box, the PCTV 290e
was still up and running.

Signed-off-by: Gianluca Gennari <gennarone@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
122804ecb59493fbb4d31b3ba9ac59faaf45276f 15-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (655 commits)
[media] revert patch: HDIC HD29L2 DMB-TH USB2.0 reference design driver
mb86a20s: Add a few more register settings at the init seq
mb86a20s: Group registers into the same line
[media] [PATCH] don't reset the delivery system on DTV_CLEAR
[media] [BUG] it913x-fe fix typo error making SNR levels unstable
[media] cx23885: Query the CX25840 during enum_input for status
[media] cx25840: Add support for g_input_status
[media] rc-videomate-m1f.c Rename to match remote controler name
[media] drivers: media: au0828: Fix dependency for VIDEO_AU0828
[media] convert drivers/media/* to use module_platform_driver()
[media] drivers: video: cx231xx: Fix dependency for VIDEO_CX231XX_DVB
[media] Exynos4 JPEG codec v4l2 driver
[media] doc: v4l: selection: choose pixels as units for selection rectangles
[media] v4l: s5p-tv: mixer: fix setup of VP scaling
[media] v4l: s5p-tv: mixer: add support for selection API
[media] v4l: emulate old crop API using extended crop/compose API
[media] doc: v4l: add documentation for selection API
[media] doc: v4l: add binary images for selection API
[media] v4l: add support for selection api
[media] hd29l2: fix review findings
...
53b667eb12edd1bb33beca73ab14dbdf4d536c37 08-Jan-2012 Sascha Sommer <saschasommer@freenet.de> [media] em28xx: Fix tuner_type for Terratec Cinergy 200 USB

The card definition of the Terratec Cinergy 200 USB uses the
wrong tuner type. Therefore some channels are currently missing.
Attached patch fixes this problem.

Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ca80cf60489508792e97a7703ed35756f4d62943 08-Jan-2012 Sascha Sommer <saschasommer@freenet.de> [media] em28xx: Do not modify EM28XX_R06_I2C_CLK for em2800

writing the EM28XX_R06_I2C_CLK register leads to the problem that the
i2c bus on the Terratec Cinergy 200 USB is no longer usable when the
system is rebooted.

The device needs to be unplugged in order to bring it back to life.
Attached patch conditionally disables the write in
em28xx_pre_card_setup() like it is already done in em28xx_card_setup().

Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0903bb540e5bb99a9e58d583a596a30620f65702 08-Jan-2012 Sascha Sommer <saschasommer@freenet.de> [media] em28xx: Fix: I2C_CLK write error message checks wrong return code

It looks like the return value check that is done after setting the I2C
speed checks the wrong return code.

Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
622c2fc1f2613bef953d2af908e7b83f4de4b994 07-Jan-2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [media] em28xx: simplify argument passing to em28xx_init_dev()

The 'struct em28xx *' pointer was passed by reference to the
em28xx_init_dev() function, for no reason. Instead, just pass it by
value, which is much more logical and simple.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
2f78604a433a12571ec3e54054fbfacc7525b307 06-Jan-2012 Mario Ceresa <mrceresa@gmail.com> [media] Added model Sveon STV40

Signed-off-by: Mario Ceresa <mrceresa@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
74e07f3e309599864656fb4560c498478d22d43c 02-Jan-2012 Don Kramer <dgkramer@comcast.net> [media] [resend] em28xx: Add Plextor ConvertX PX-AV100U to em28xx-cards.c

Adds support for the Plextor ConvertX PX-AV100U, which uses the
eMPIA EM2820 chip. The device has a device_id of '0x093b, 0xa003'. I
am using the existing EM2820_BOARD_PINNACLE_DVC_90 board profile, as
the Pinnacle Dazzle DVC 90/100/101/107, Kaiser Baas Video to DVD
maker, and Kworld DVD Maker 2 were already mapped to it. Some more
background on the device and my testing can be found at
http://www.donkramer.net/plextor_122710.pdf

Signed-off-by: Don Kramer <dgkramer@comcast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8ab3362665a699bd54fc489ff7fb6372678b94c1 28-Dec-2011 Holger Nelson <hnelson@hnelson.de> [media] em28xx: Reworked probe code to get rid of some hacks

Reworked device probing to get rid of hacks to guess the maximum size of
dvb iso transfer packets. The new code also selects the first alternate
config which supports the largest possible iso transfers for dvb.

[mchehab@redhat.com: Fix a few checkpatch.pl CodingStyle compliants]
Signed-off-by: Holger Nelson <hnelson@hnelson.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
4d28d3d9978b84326a4608c25bda484973bba0a6 24-Dec-2011 Gareth Williams <gareth@garethwilliams.me.uk> [media] Added USB Id & configuration array for Honestech Vidbox NW03

Adds support for the Honestech Vidbox NW03 USB capture device.

Signed-off-by: Gareth Williams <gareth@garethwilliams.me.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
6c3b906cc9f73144ceb4ebbb193bebc596063d38 24-Dec-2011 Holger Nelson <hnelson@hnelson.de> [media] em28xx: Add Terratec Cinergy HTC USB XS to em28xx-cards.c

This adds support for the Terratec Cinergy HTC USB XS which is similar to
the Terratec H5 by adding the USB-ids to the table. According to
http://linux.terratec.de it uses the same ICs and DVB-C works for me
using the firmware of the H5.

Signed-off-by: Holger Nelson <hnelson@hnelson.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1985f6fb8965a813aabd53a6b64ec54dd23bfdfb 11-Dec-2011 Aivar Päkk <aivar11@gmail.com> [media] KWorld 355U and 380U support

This patch adds Kworld 355U and 380U support

Signed-off-by: Aivar Päkk <aivar11@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a1ed02e9f1a0fa34e5b5e978209204033bb9cf4f 16-Nov-2011 Andreas Oberritter <obi@linuxtv.org> [media] em28xx: Add Terratec Cinergy HTC Stick

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8503232f2e9604d844d8f52ddea2e55ccc6c38f6 24-Nov-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Fix a few warnings due to HVR-930C addition

drivers/media/video/em28xx/em28xx-cards.c:339:30: warning: ‘hauppauge_930c_gpio’ defined but not used [-Wunused-variable]
drivers/media/video/em28xx/em28xx-dvb.c: In function ‘em28xx_dvb_init’:
drivers/media/video/em28xx/em28xx-dvb.c:886:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
dfbbf5da6c2266580df8b8aab0b43595bed55e48 20-Nov-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Add IR support for HVR-930C

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
de72405f6fc1aaedc0412f88cf681ed33519c49a 20-Nov-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Fix CodingStyle issues introduced by changeset 82e7dbb

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
82e7dbbd4a16274b0a7038978734fc11bbf9f4b6 19-Nov-2011 Eddi De Pieri <eddi@depieri.net> [media] em28xx: initial support for HAUPPAUGE HVR-930C again

With this patch I try again to add initial support for HVR930C.

Tested only DVB-T, since in Italy Analog service is stopped.

Actually "scan -a0 -f1", find only about 50 channel while 400 should
be available.

[mchehab@redhat.com: Tested with DVB-C and fixed a few whitespace issues]
Tested-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ecb3b2b35db49778b6d89e3ffd0c400776c20735 18-Nov-2011 Greg Kroah-Hartman <gregkh@suse.de> USB: convert drivers/media/* to use module_usb_driver()

This converts the drivers in drivers/media/* to use the
module_usb_driver() macro which makes the code smaller and a bit
simpler.

Added bonus is that it removes some unneeded kernel log messages about
drivers loading and/or unloading.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Luca Risolia <luca.risolia@studio.unibo.it>
Cc: Jean-Francois Moine <moinejf@free.fr>
Cc: Frank Zago <frank@zago.net>
Cc: Olivier Lorin <o.lorin@laposte.net>
Cc: Erik Andren <erik.andren@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Brian Johnson <brijohn@gmail.com>
Cc: Leandro Costantino <lcostantino@gmail.com>
Cc: Antoine Jacquet <royale@zerezo.com>
Cc: Jarod Wilson <jarod@redhat.com>
Cc: Florian Mickler <florian@mickler.org>
Cc: Antti Palosaari <crope@iki.fi>
Cc: Michael Krufky <mkrufky@kernellabs.com>
Cc: "David Härdeman" <david@hardeman.nu>
Cc: Florent Audebert <florent.audebert@anevia.com>
Cc: Sam Doshi <sam@metal-fish.co.uk>
Cc: Manu Abraham <manu@linuxtv.org>
Cc: Olivier Grenie <olivier.grenie@dibcom.fr>
Cc: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Cc: "Igor M. Liplianin" <liplianin@me.by>
Cc: Derek Kelly <user.vdr@gmail.com>
Cc: Malcolm Priestley <tvboxspy@gmail.com>
Cc: Steven Toth <stoth@kernellabs.com>
Cc: "André Weidemann" <Andre.Weidemann@web.de>
Cc: Martin Wilks <m.wilks@technisat.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Jose Alberto Reguero <jareguero@telefonica.net>
Cc: David Henningsson <david.henningsson@canonical.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Joe Perches <joe@perches.com>
Cc: Jesper Juhl <jj@chaosbits.net>
Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Alexey Khoroshilov <khoroshilov@ispras.ru>
Cc: Anssi Hannula <anssi.hannula@iki.fi>
Cc: Rafi Rubin <rafi@seas.upenn.edu>
Cc: Dan Carpenter <error27@gmail.com>
Cc: Paul Bender <pebender@gmail.com>
Cc: Devin Heitmueller <dheitmueller@kernellabs.com>
Cc: "Márcio A Alves" <froooozen@gmail.com>
Cc: Julia Lawall <julia@diku.dk>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Chris Rankin <rankincj@yahoo.com>
Cc: Lee Jones <lee.jones@canonical.com>
Cc: Andy Walls <awalls@md.metrocast.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Dean Anderson <linux-dev@sensoray.com>
Cc: Pete Eberlein <pete@sensoray.com>
Cc: Arvydas Sidorenko <asido4@gmail.com>
Cc: Andrea Anacleto <andreaanacleto@libero.it>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/media/video/em28xx/em28xx-cards.c
4e145349a1fe16ba8689553f0ffa5b223fba5327 16-Nov-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Fix some Terratec entries (H5 and XS)

As reported by Andreas Oberritter <obi@linuxtv.org>, changeset
33ba28eebc3e1758e6adc1fcec9e1e3151bac453 did the wrong thing.

Fix it to properly reflect the entries for Terratec H5 revs 1 and 2,
and restore Terratec XS entry.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
efabaaf38a6cac929650943151e679f2b5cdae8b 14-Oct-2011 Teka <teka101@gmail.com> [media] Support for Terratec G1

Hi,

This is a little patch to support Terratec G1 (based on Terratec Grabby).

It works perfectly on my pc (Ubuntu 11.04 / Kernel 2.6.38).

Best regards,

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
778f295080b62cbce1af402e1704566531e01233 25-Sep-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: replug locking cleanup

Simplifies the locking by moving the em28xx_init_extension() call until
em28xx_usb_probe() has finished with the dev->lock mutex. It therefore
makes the second and subsequent "plugging" events logically identical to
the first "plugging" event when the em28xx-dvb and em28xx-alsa modules
must be loaded (i.e. registered).

Basically, em28xx_usb_probe() requests that em28xx-dvb be loaded and
also triggers udev to initialise the V4L2 devices. These two events are
serialised by the dev->lock mutex but the order that they happen in is
undefined. But this has always been the case anyway.

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
b868a537b675eed2ba84bbeca4c8557ebf9e0156 24-Sep-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: fix deadlock when unplugging and replugging a DVB adapter

This fixes the deadlock that occurs with either multiple PCTV 290e adapters or when a single PCTV 290e adapter is replugged.

For DVB devices, the device lock must now *not* be held when adding/removing either a device or an extension to the respective lists. (Because em28xx_init_dvb() will want to take the lock instead).

Conversely, for Audio-Only devices, the device lock *must* be held when adding/removing either a device or an extension to the respective lists.

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d7222e7d6fb06ca3e7aa7a1ab07f8e6c6adb1d22 24-Sep-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: fix race on disconnect

This patch closes the race on the device and extension lists at USB disconnect
time. Previously, the device was removed from the device list during
em28xx_release_resources(), and then passed to the em28xx_close_extension()
function so that all extensions could run their fini() operations. However, this
left a (brief, theoretical, highly unlikely ;-)) window between these two calls
during which a new module could call em28xx_register_extension(). The result
would have been that the em28xx_usb_disconnect() function would also have passed
the device to the new extension's fini() function, despite never having called
the extension's init() function.

This patch also restores em28xx_close_extension()'s symmetry with
em28xx_init_extension(), and establishes the property that every device in the
device list must have been initialised for every extension in the extension list.

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9da9f356dc73c2ae65a15a1c1d6e53142706e96b 04-Sep-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: Fix em28xx_devused cleanup logic on error

On 04/09/11 00:49, Mauro Carvalho Chehab wrote:
> This is an automatic generated email to let you know that the following patch were queued at the
> http://git.linuxtv.org/media_tree.git tree:
>
> Subject: [media] em28xx: use atomic bit operations for devices-in-use mask
> Author: Chris Rankin<rankincj@yahoo.com>
> Date: Sat Aug 20 08:21:03 2011 -0300
>
> Use atomic bit operations for the em28xx_devused mask, to prevent an
> unlikely race condition should two adapters be plugged in
> simultaneously. The operations also clearer than explicit bit
> manipulation anyway.
>
> Signed-off-by: Chris Rankin<rankincj@yahoo.com>
> Signed-off-by: Mauro Carvalho Chehab<mchehab@redhat.com>
>
> drivers/media/video/em28xx/em28xx-cards.c | 33 ++++++++++++++---------------

I think you missed this line in the merge.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f6c226b550292e8b3ae3426868957e63e77b506b 13-Sep-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: ERROR: "em28xx_add_into_devlist" [drivers/media/video/em28xx/em28xx.ko] undefined!

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
36588715fc0ed3ff0ffb025dc841652cb3b2b667 01-Aug-2011 Antti Palosaari <crope@iki.fi> [media] em28xx: add support for PCTV DVB-S2 Stick 460e [2013:024f]

It is based of...
* Empia EM28174
* NXP TDA10071 & Conexant CX24118A combo
* Allegro A8293

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
16e3d2f4fab6e001a79705fa273418afc10188f8 04-Sep-2011 Chris Rankin <rankincj@yahoo.com> [media] EM28xx - Fix memory leak on disconnect or error

Release the dev->alt_max_pkt_size buffer in all cases.

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
6c03e38b34dcfcdfa2f10cf984995a48f030f039 20-Aug-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: clean up resources should init fail

This patch ensures that the em28xx_init_dev() function cleans up after itself,
in the event that it fails. This isimportant because the struct em28xx will be
deallocated if em28xx_init_dev() returns an error.

[mchehab@redhat.com: Fix merge conflicts and simplify the goto labels]
Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
38b61eb2dac06fdc42815b004e9824d8196cfcfb 20-Aug-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: use atomic bit operations for devices-in-use mask

Use atomic bit operations for the em28xx_devused mask, to prevent an
unlikely race condition should two adapters be plugged in
simultaneously. The operations also clearer than explicit bit
manipulation anyway.

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f38f33395232db1a03d21b992af1714cbffbdec4 20-Aug-2011 Chris Rankin <rankincj@yahoo.com> [media] em28xx: pass correct buffer size to snprintf

snprintf()'s size parameter includes space for the terminating '\0' character.

Signed-off-by: Chris Rankin <rankincj@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
33ba28eebc3e1758e6adc1fcec9e1e3151bac453 15-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Add other Terratec H5 USB ID's

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
fec528b77f9be3e7ebb8d7c25888b0cf9fb8e8d6 04-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Add initial support for Terratec H5

Not working yet. There are some fixes at the DRX-K that are needed
for it to work.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0db15d525d2d342de8e983c218198d5708a32004 18-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Mark Kworld 305 as validated

This board were used for testing the em28xx-alsa using a separate interface.
So, it is obviously validated ;)

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
4f83e7b3ef938eb9a01eadf81a0f3b2c67d3afb6 17-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Add support for devices with a separate audio interface

Some devices use a separate interface for the vendor audio class.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
00d2e7ad9dd4e88224d091e454371d8a9a80719f 18-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Don't initialize a var if won't be using it

Fixes most cases of initializing a var but not using it.

There are still 3 cases at em28xx-alsa, were those vars should
probably be used.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ebaefdb7651383645f17d2d32398914175d1bcdd 01-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: use the proper prefix for board names

All boards use EM28xxx_BOARD, to identify that the macro
refers to a card entry. So:

EM2874_LEADERSHIP_ISDBT -> EM2874_BOARD_LEADERSHIP_ISDBT

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
460312ec5aff5e4c12b2e50a2965ed1ee832682a 25-May-2011 Antti Palosaari <crope@iki.fi> [media] em28xx: correct PCTV nanoStick T2 290e device name

PCTV Systems nanoStick T2 290e => PCTV nanoStick T2 290e

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ff7b929f04b8e9f2e5d8929e14b10f913021a00c 25-May-2011 Antti Palosaari <crope@iki.fi> [media] em28xx: add remote for PCTV nanoStick T2 290e

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d6a5f921fb8cbd418b298e5bbe83e5c8c8e1da16 07-Apr-2011 Antti Palosaari <crope@iki.fi> [media] Add support for PCTV nanoStick T2 290e [2013:024f]

Supports DVB-T/T2/C, USB ID: 2013:024f.
Empia EM28174, Sony CXD2820R and NXP TDA18271HD/C2.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
bc022694d7da1c848e395f18eaf856abc9dd0b09 07-Apr-2011 Antti Palosaari <crope@iki.fi> [media] em28xx: add support for EM28174 chip

EM28174 is very similar as already supported EM2874.
I am not sure what are differences, but it could be analog support.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9b316d6b42572f857161232d82b54e7ab2d33fbe 13-Mar-2011 Devin Heitmueller <dheitmueller@kernellabs.com> [media] em28xx: add remote control support for PCTV 330e

Add support for the PCTV 330e remote control

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5c4da36401810da6f881f9531380fdc13edd8f2b 13-Mar-2011 Devin Heitmueller <dheitmueller@kernellabs.com> [media] em28xx: remove "not validated" flag for PCTV 330e

Remove the flag indicating the 330e board is not validated, based on the half
dozen users who have reported today that everything is working.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ad9b4bb265cecbfc9b0c495741e331ce199964e0 13-Mar-2011 Devin Heitmueller <dheitmueller@kernellabs.com> [media] em28xx: add digital support for PCTV 330e

Add the calls necessary to use the new drx-d driver for the PCTV 330e

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
09bc1942c031686bfcf897746b6baf9d42c92ed5 13-Mar-2011 Devin Heitmueller <dheitmueller@kernellabs.com> [media] em28xx: include model number for PCTV 330e

Given how PCTV has multiple products with the same model name, include the
model number in the description and #define to make it a little more clear.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7030f52bbee5edafd408f985696516a0dc735ca7 13-Mar-2011 Devin Heitmueller <dheitmueller@kernellabs.com> [media] em28xx: fix GPIO problem with HVR-900R2 getting out of sync with drx-d

The em28xx bridge strobes the reset pin on the drx-d on every ts_ctrl call.
This results in the state of the chip getting out of the sync with the
state of the driver (and hence all tuning requests after the first one fail).

Make sure the drx-d is not being held in reset, but don't actually perform a
hardware reset on the chip.

The GPIO block has been split out from the other HVR-9x0 variants to reduce
the risk of regression, although in theory they would not have any issues
since none of those cases have the frontend driver managing any internal
state.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
75e2b8694f0b1f8faea1851a39cb7ba07640aa7d 13-Mar-2011 Devin Heitmueller <dheitmueller@kernellabs.com> [media] em28xx: enable support for the drx-d on the HVR-900 R2

Add the required board initialization required for the drx-d to work with
the 900R2.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
af86ce79f020a31e4a30661e41471d31face9985 24-Jan-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] remove the old RC_MAP_HAUPPAUGE_NEW RC map

The rc-hauppauge-new map is a messy thing, as it bundles 3

different remote controllers as if they were just one,
discarding the address byte. Also, some key maps are wrong.

With the conversion to the new rc-core, it is likely that
most of the devices won't be working properly, as the i2c
driver and the raw decoders are now providing 16 bits for
the remote, instead of just 8.

delete mode 100644 drivers/media/rc/keymaps/rc-hauppauge-new.c

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
15195d3a83b59f0ca3bed52cbe5524042ce13fd6 24-Jan-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] rc/keymaps: Rename Hauppauge table as rc-hauppauge

There are two "hauppauge-new" keymaps, one with protocol
unknown, and the other with the protocol marked accordingly.
However, both tables are miss-named.

Also, the old rc-hauppauge-new is broken, as it mixes
three different controllers as if they were just one.

This patch solves half of the problem by renaming the
correct keycode table as just rc-hauppauge. This table
contains the codes for the four different types of
remote controllers found on Hauppauge cards, properly
mapped with their different addresses.

create mode 100644 drivers/media/rc/keymaps/rc-hauppauge.c
delete mode 100644 drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c
[Jarod: fix up RC_MAP_HAUPPAUGE defines]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
3c7c9370fb645f4713e0fbbe69425d8db9b47a13 08-Jan-2011 Hans Verkuil <hverkuil@xs4all.nl> [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg()

The core.s_config op was meant for legacy drivers that needed to work with old
pre-2.6.26 kernels. This is no longer relevant. Unfortunately, this op was
incorrectly called from several drivers.

Replace those occurences with proper i2c_board_info structs and call
v4l2_i2c_new_subdev_board.

After these changes v4l2_i2c_new_subdev_cfg() was no longer used, so remove
that function as well.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5a85025f7dabc5b039335a7d1fb5f9002efa9488 12-Jan-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Fix IR support for WinTV USB2

Due to a lack of a break inside the switch, it were getting the
wrong keytable and get_key function.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
23d69b09b78c4876e134f104a3814c30747c53f1 08-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq

* 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)
usb: don't use flush_scheduled_work()
speedtch: don't abuse struct delayed_work
media/video: don't use flush_scheduled_work()
media/video: explicitly flush request_module work
ioc4: use static work_struct for ioc4_load_modules()
init: don't call flush_scheduled_work() from do_initcalls()
s390: don't use flush_scheduled_work()
rtc: don't use flush_scheduled_work()
mmc: update workqueue usages
mfd: update workqueue usages
dvb: don't use flush_scheduled_work()
leds-wm8350: don't use flush_scheduled_work()
mISDN: don't use flush_scheduled_work()
macintosh/ams: don't use flush_scheduled_work()
vmwgfx: don't use flush_scheduled_work()
tpm: don't use flush_scheduled_work()
sonypi: don't use flush_scheduled_work()
hvsi: don't use flush_scheduled_work()
xen: don't use flush_scheduled_work()
gdrom: don't use flush_scheduled_work()
...

Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c
as per Tejun.
a3fa904ec79b94f0db7faed010ff94d42f7d1d47 25-Oct-2010 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Fix audio input for Terratec Grabby

The audio input line was wrong. Fix it.

Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9124544320bd36d5aa21769d17a5781ba729aebf 31-Oct-2010 Philippe Bourdin <richel@AngieBecker.ch> [media] Terratec Cinergy Hybrid T USB XS

I found that the problems people have reported with the USB-TV-stick
"Terratec Cinergy Hybrid T USB XS" (USB-ID: 0ccd:0042)
are coming from a wrong header file in the v4l-sources.

Attached is a diff, which fixes the problem (tested successfully here).
Obviously the USB-ID has been associated with a wrong chip: EM2880
instead of EM2882, which would be correct.

Reported-by: Philippe Bourdin <richel@AngieBecker.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
b1dc614a81258eb7ff482892e7bc894f1089c144 15-Nov-2010 Joe Perches <joe@perches.com> [media] drivers/media/video: Remove unnecessary semicolons

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ca3dfd6a6f8364c1d51e548adb4564702f1141e9 10-Sep-2010 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Add support for Leadership ISDB-T

This device uses an em2874B + Sharp 921 One Seg frontend.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
707bcf326bd50c875d82bd2e7c31dcfb92b7e813 24-Dec-2010 Tejun Heo <tj@kernel.org> media/video: explicitly flush request_module work

Video drivers request submodules using a work during probe and calls
flush_scheduled_work() on exit to make sure the work is complete
before being unloaded. This patch makes these drivers flush the work
directly instead of using flush_scheduled_work().

While at it, relocate request_submodules() call in saa7134_initdev()
right right before successful return as in other drivers to avoid
failing after the work is scheduled and returning failure without the
work still active.

This is in preparation for the deprecation of flush_scheduled_work().

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
9a1f8b34aa539000da17a06235e4bec254d0bfb5 24-Sep-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com> [media] v4l: Remove module_name argument to the v4l2_i2c_new_subdev* functions

The argument isn't used anymore by the functions, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1532a07042289d420f040f3bd4370cc106860003 24-Sep-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com> [media] v4l: Remove hardcoded module names passed to v4l2_i2c_new_subdev*

With the v4l2_i2c_new_subdev* functions now supporting loading modules
based on modaliases, replace the hardcoded module name passed to those
functions by NULL.

All corresponding I2C modules have been checked, and all of them include
a module aliases table with names corresponding to what the drivers
modified here use.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8298f2f810b988dccfa0ab51cd874e107514c036 20-Oct-2010 Adrian Taylor <adrian.taylor@realvnc.com> [media] Support for Elgato Video Capture

This patch allows this device successfully to show video, at least from
its composite input.

I have no information about the true hardware contents of this device and so
this patch is based solely on fiddling with things until it worked. The
chip appears to be em2860, and the closest device with equivalent inputs
is the Typhoon DVD Maker. Copying the settings for that device appears
to do the trick. That's what this patch does.

[mchehab@redhat.com: update CARDLIST.em28xx accordingly, via script]
Signed-off-by: Adrian Taylor <adrian.taylor@realvnc.com>
Reviewed-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
cec4e6c113d490c227819da98d541e6156ed6ce2 16-Oct-2010 Michel Garnier <catimimi@orange.fr> [media] em28xx: Add dvb support for Terratec Cinergy Hybrid T USB XS FR

Signed-off-by: Michel Garnier <catimimi@orange.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9a94241afcc9a481691a9c29b7460217925b59b8 11-Aug-2010 Jean Delvare <khali@linux-fr.org> i2c: Add support for custom probe function

The probe method used by i2c_new_probed_device() may not be suitable
for all cases. Let the caller provide its own, optional probe
function.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7e48b30af033076c85ab48a8306b5588faf5fb4b 07-Mar-2010 Jarod Wilson <jarod@redhat.com> V4L/DVB: dvb: add support for kworld 340u and ub435-q to em28xx-dvb

This adds support for the KWorld PlusTV 340U and KWorld UB345-Q ATSC
sticks, which are really the same device. The sticks have an eMPIA
em2870 usb bridge chipset, an LG Electronics LGDT3304 ATSC/QAM
demodulator and an NXP TDA18271HD tuner -- early versions of the 340U
have a a TDA18271HD/C1, later models and the UB435-Q have a C2.

The stick has been tested succesfully with both VSB_8 and QAM_256 signals.
Its using lgdt3304 support added to the lgdt3305 driver by a prior patch,
rather than the current lgdt3304 driver, as its severely lacking in
functionality by comparison (see said patch for details).

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
02858eedcb78a664215b918d98cdb753ce432ce6 03-Apr-2010 Mauro Carvalho Chehab <mchehab@redhat.com> 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>
/drivers/media/video/em28xx/em28xx-cards.c
d705d2ab7596b4661a2f13172f4f93ad11bd761f 02-Apr-2010 Mauro Carvalho Chehab <mchehab@redhat.com> 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>
/drivers/media/video/em28xx/em28xx-cards.c
443fed9fa42bbeacdb8d336b8a5002a262cac15c 20-Mar-2010 Devin Heitmueller <dheitmueller@kernellabs.com> 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>
/drivers/media/video/em28xx/em28xx-cards.c
811fab623f435932f2a26aa64b40ec6102618cc6 05-Mar-2010 Antonio Larrosa <larrosa@kde.org> V4L/DVB: em28xx: Support for Kworld VS-DVB-T 323UR

This patch adapts the changes submitted by Dainius Ridzevicius to the
linux-media mailing list on 8/14/09, to the current sources in order
to make the Kworld VS-DVB-T 323UR usb device work.

I also removed the "not validated" flag since I own the device and validated
that it works fine after the patch is applied.

Thanks to Devin Heitmueller for his guidance with the code.

Signed-off-by: Antonio Larrosa <larrosa@kde.org>
Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5a0e3ad6af8660be21ca98a971cd00f331318c05 24-Mar-2010 Tejun Heo <tj@kernel.org> include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h

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

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

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

The script does the followings.

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

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

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

The conversion was done in the following steps.

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
/drivers/media/video/em28xx/em28xx-cards.c
656380118d1a1c0176e58e4e3e46d736d0dd2000 18-Feb-2010 Catimimi <catimimi@orange.fr> V4L/DVB: em28xx : Terratec Cinergy Hybrid T USB XS FR is working

I succeeded in running Cinergy Hybrid T USB XS FR in both modes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9a0a75a5abb2806969a599e10b0fb287befcb3a7 13-Feb-2010 Franklin Meng <fmeng2002@yahoo.com> V4L/DVB: Add an entry for Kworld 315U remote

Signed-off-by: Franklin Meng <fmeng2002@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7ca7ef6011e92b52a365ddc78f6668e01793c572 09-Feb-2010 Andrea.Amorosi76@gmail.com <Andrea.Amorosi76@gmail.com> V4L/DVB: em28xx: add Dikom DK300 hybrid USB tuner

Adds digital and analogue tv support for Dikom DK300 hybrid usb card.

Not working: remote controller

To be done: it seems that with the proposed patch the digital demodulator
remains activated if the tuner is switched from digital to analogue mode.

Workaround is to unplug and replug the device when switching from digital to
analogue. If someone can explain how to verify the gpio settings using the
usbsnoop, the above issue perhaps can be resolved.

Signed-off-by: Andrea Amorosi <Andrea.Amorosi76@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0a71102f105870a4a245edd1b291fa723a8f3a48 05-Feb-2010 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB: Fix logic for Leadtek winfast tv usbii deluxe

As pointed by Magnus Alm <magnus.alm@gmail.com>, commit 99dbd128bb applied
a hunk at the wrong place. This patch moves the code to the right place.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ca39d84d438b609af127f2eb161cd9029afbc9a7 13-Nov-2009 Magnus Alm <magnus.alm@gmail.com> V4L/DVB: em28xx: fix for "Leadtek winfast tv usbii deluxe"

fix Video/Sound support "Leadtek winfast tv usbii deluxe".

Now, it is working Stereo, IR, Radio, TV, Svideo and Composite.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
b779974bdfcaec2a0eb13e44405baca07e0e92a3 06-Dec-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (13575): em28xx: Use the complete address/command RC5 code for WinTV USB2

This device uses an i2c chip to retrieve the keycode from a RC5 remote.
Instead of just getting 6 bits, improve the routine to get 11 bits.

This means that the complete RC5 table for Hauppauge Grey IR can be used
with this device.

Unfortunately, it seems that this IR receiver is not capable of getting
the full 14 (or 13 bits) from the RC5 protocol.

At lest now, with the new code, it is possible to replace this IR table
by another RC5 table.

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

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

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

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

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

Fix all device drivers to use the new video_device_node_name function.

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

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0278155c84af42d78785731263b69fb49f945ea7 28-Nov-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (13536): em28xx: Use the full RC5 code on HVR-950 Remote Controller

Modifies the IR table for HVR-950 to use the newer Hauppauge RC5 table,
and adds the RC5 address to the functions that get the scancode for this
device.

It is easy to add support for all other RC5 IR's on em2880 boards, but
the scancode table needs to be re-generated. So, keep using the old
7bits tables while we don't have all tables converted.

Also, the 7bits tables are still used on other drivers, so this small
patch needs to be ported to all drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
694a101e6acb865f5405a95c358eea43c813cf24 27-Nov-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (13528): em28xx: add support for em2800 VC211A card

Adds support to VC211A em2800 card. As this board doesn't have eeprom,
and uses a common set of i2c address, it has no way to add any
autodetection for it.

The patch were tested by me and by Raimundo on his board. Thanks to
those tests, several bugs related to em2800 support were corrected.

for producing the usbsnoop dump, used to get the gpio's and allowing me
to remotelly access his machine and to the needed tests.

Thanks-to: Raimundo Eduvirgnes de Oliveira <eduvirgens@yahoo.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f57b17c3956f2e1e70f63dd2ed8088b582f3915e 12-Nov-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (13328): em28xx: Add chip ID for em2800

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
622b828ab795580903e79acb33fb44f5c9ce7b0f 05-Oct-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> V4L/DVB (13238): v4l2_subdev: rename tuner s_standby operation to core s_power

Upcoming I2C v4l2_subdev drivers need a way to control the subdevice
power state from the core. This use case is already partially covered by
the tuner s_standby operation, but no way to explicitly come back from
the standby state is available.

Rename the tuner s_standby operation to core s_power, and fix tuner
drivers accordingly. The tuner core will call s_power(0) instead of
s_standby(). No explicit call to s_power(1) is required for tuners as
they are supposed to wake up from standby automatically.

[mchehab@redhat.com: CodingStyle fix]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
43e16ea241cab1f4d4206307b2f6eacbaf4dc335 02-Oct-2009 Jean Delvare <khali@linux-fr.org> V4L/DVB (13233): i2c_board_info can be local

Recent fixes to the em28xx and saa7134 drivers have been overzealous.
While the ir-kbd-i2c platform data indeed needs to be persistent, the
struct i2c_board_info doesn't, as it is only used by i2c_new_device().

So revert a part of the original fixes, to save some memory.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
2e3c4723d5c2d6b4fa705c3dcd062b5004ab9b2f 01-Oct-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (13082): em28xx: remove "not validated" status from Terratec Cinergy T XS (005e)

The board support has been validated by the user, so get rid of the warning
that shows up on board load.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ec994d0505fc3dde5f46203602c76b527e2ac69d 01-Oct-2009 Uroš Vampl <mobile.leecher@gmail.com> V4L/DVB (13078): em28xx: fix support for Terratec Cinergy T XS (005e)

Make analog audio, dvb and the remote work on a Terratec Cinergy Hybrid
XS (em2882).

Note by djh: Thanks go out fo Andrej Suligoi for his contribution in providing
and testing pretty much the exact same patch as provided by Uros. Between
the two of them, they got all the core functionality working for the device.

Cc: Andrej Suligoi <suligoi@gmail.com>
Signed-off-by: Uroš Vampl <mobile.leecher@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f91cb65b94114f30cf43738ff923f272e4f2ae13 01-Oct-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (13077): em28xx: Add support for new variant of KWorld 2800d

Seems that the reference design used for the KWorld 2800d switched from the
em2860 to em2862, so we need to add the new USB id (and the i2c hash remains
so all we need is the default em2862 id.

Thanks to Ian Young for reporting the issue and testing the fix.

Cc: Ian Young <ian@duffrecords.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
28f4ddd1e8e341907d8f4f4b9ebf9f441f30420a 04-Oct-2009 Antti Palosaari <crope@iki.fi> V4L/DVB (13366): em28xx: fix Reddo DVB-C USB TV Box GPIO

Set device GPIOs only once. There is no need for .dvb_gpio to select
between analog and digital because device is digital only.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
53dacb15705901e14b03dcba27e40364fedd9d09 10-Aug-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (12540): v4l: simplify v4l2_i2c_new_subdev and friends

Rewrite v4l2_i2c_new_subdev as a simplified version of v4l2_i2c_new_subdev_cfg
and remove v4l2_i2c_new_probed_subdev and v4l2_i2c_new_probed_subdev_addr.

This simplifies this API substantially.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
285eb1a40242adb3feaf9c73d352cbfeee1bea1c 15-Sep-2009 Antti Palosaari <crope@iki.fi> V4L/DVB (12951): em28xx: add Reddo DVB-C USB TV Box

Support for Reddo DVB-C USB TV Box device. Remote is not working yet.
Thanks to Benjamin Larsson <banan@ludd.ltu.se>

Cc: Benjamin Larsson <banan@ludd.ltu.se>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
28abf083d356bc4ec459ded7a95b6a22a20f6c3d 01-Sep-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12742): em28xx: add raw VBI support for NTSC

Add support for raw VBI capture for the em28xx bridge, currently only for
NTSC. Support for PAL capture to follow shortly (including the removal of
numerous hard-coded NTSC-specific sizes for capture buffers, etc).

Note that the code currently changes the default current norm from PAL to
NTSC (so that zvbi-ntsc-cc works properly). The default norm really should
be moved into a board-level parameter.

This work was sponsored by EyeMagnet Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
206313db83641022c5ee213ac5f619973a9b427b 01-Sep-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12740): em28xx: better describe vinctrl registers

Properly document the video input control register, in preparation for the
addition of VBI support. Note this patch makes no functional changes.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ea47689e74a1637fac4f5fc44890f3662c976849 06-Sep-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2

Added Kworld DVD Maker 2
Thanks to C Western <l@c-m-w.me.uk> for reporting this board.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7e8e16ca39801279697c6cb6195710ba7653bfc2 08-Sep-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler

There are some extra parenthesis at the clauses, and some switch() tests
for boards that don't have i2c ir. Remove those extra code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ac07bb73fe226ae2088f060c63829afddb3f2403 08-Sep-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed

Currently, the logic to load ir i2c ancillary module is broken. It is
associated to Hauppauge devices with IR flag on their eeprom, no matter
if the device uses i2c or em28xx direct IR support. That's wrong.

Instead, add a flag to the boards that use i2c IR chips and load the
module only for those devices and if ir is not disabled.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d2ebd0f806fdb6104903365e355675934eec22b2 07-Sep-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object

ir-kbd-i2c's ir_probe() function can be called much later (i.e. at
ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data
allocated off of the stack in cx18_i2c_new_ir() at registration time.
Make sure we pass a pointer to a persistent IR_i2c_init_data object at
i2c registration time.

Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to
rise this question.

Before this patch, if ir-kbd-i2c were probed after em28xx, trash data
were used. After the patch, no matter what order, it is properly
reported as tested by me:

input: i2c IR (i2c IR (EM2840 Hauppaug as /class/input/input10
ir-kbd-i2c: i2c IR (i2c IR (EM2840 Hauppaug detected at i2c-4/4-0030/ir0 [em28xx #0]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
715a223323c8c8bcbe7739e20f6c619f7343b595 29-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12595): common/ir: use a struct for keycode tables

Currently, V4L uses a scancode table whose index is the scancode and
the value is the keycode. While this works, it has some drawbacks:

1) It requires that the scancode to be at the range 00-7f;

2) keycodes should be masked on 7 bits in order for it to work;

3) due to the 7 bits approach, sometimes it is not possible to replace
the default keyboard to another one with a different encoding rule;

4) it is different than what is done with dvb-usb approach;

5) it requires a typedef for it to work. This is not a recommended
Linux CodingStyle.

This patch is part of a larger series of IR changes. It basically
replaces the IR_KEYTAB_TYPE tables by a structured table:
struct ir_scancode {
u16 scancode;
u32 keycode;
};

This is very close to what dvb does. So, a further integration with DVB
code will be easy.

While we've changed the tables, for now, the IR keycode handling is still
based on the old approach.

The only notable effect is the redution of about 35% of the ir-common
module size:

text data bss dec hex filename
6721 29208 4 35933 8c5d old/ir-common.ko
5756 18040 4 23800 5cf8 new/ir-common.ko

In thesis, we could be using above u8 for scancode, reducing even more the size
of the module, but defining it as u16 is more convenient, since, on dvb, each
scancode has up to 16 bits, and we currently have a few troubles with rc5, as their
scancodes are defined with more than 8 bits.

This patch itself shouldn't be doing any functional changes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
6d888a66be1c50c2f5193c53d6ea556e01dd60e3 30-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymap

[mchehab@redhat.com: Fix a few wrong IR keymaps]
Signed-off-by: Shine Liu <shinel@foxmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8cd9aaefad5968f8f5aff3852a67870550ce941d 04-Aug-2009 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (12444): em28xx: add support for Terratec Cinergy Hybrid T USB XS remote control

Add support for the remote control that comes with the Cinergy Hybrid T USB XS

Thanks to Jelle de Jong for providing sample hardware to test with.

Cc: Jelle de Jong <jelledejong@powercraft.nl>
Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a35c87c7084f3f4972f3ce5f23cfcb34f95341b1 06-Aug-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (12434): em28xx: fix empire auto-detect

Fixed eeprom hash table

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7c8b56795fdf59761ee3475b6add2fd4b635d2b6 05-Jul-2009 Zhenyu Wang <zhen78@gmail.com> V4L/DVB (12190): em28xx: Add support for Gadmei UTV330+

em28xx: Add support for Gadmei UTV330+

Signed-off-by: Zhenyu Wang <zhen78@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f4c5e80faba8ae420d7dc5d9237cc1e0262d7386 21-Aug-2009 Shine Liu <shinel@foxmail.com> V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true

We should call em28xx_ir_init(dev) only when disable_ir is true.

Signed-off-by: Shine Liu <shinel@foxmail.com>
Reviewed-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f2e26ae7c8c077d001c77b330130f98e42ccad70 13-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx

[mchehab@redhat.com: fix merge conflict and a few CodingStyle issues]
Signed-off-by: Steve Gotthardt <gotthardt@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d7612c86d099939503c2f849a523dbca753d1935 07-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place

Register 0x13 seems to be a sort of image control, maybe gamma, white
level or black level. Lower values produce better images, while higher
values increases the contrast and shifts colors to green. 0xff produces
a black image. This register is not Silvercrest-specific, so its code
should be moved to a better place.

If this register is left alone, a random value can be found at the
register, producing weird results.

While here, let's remove register 0x0d, as it had no noticed effect at
the image.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
3d3215c4e4cfca74e5805a8506d50a6752172e81 10-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam

Silvercrest mt9v011 sensor produces a 640x480 image. However,
previously, the code were getting only half of the lines and merging two
consecutive frames to "produce" a 640x480 image.

With the addition of progressive mode, now em28xx is working with a full
image. However, when the number of lines is bigger than 240, the
beginning of some odd lines are filled with blank.

After lots of testing, and physically checking the device for a Xtal, it
was noticed experimentally that mt9v011 is using em28xx XCLK as its
clock. Due to that, changing XCLK value changes the maximum speed of the
stream.

At the tests, it were possible to produce up to 32 fps, using a 30 MHz
XCLK. However, at that rate, the artifacts happen even at 320x240. Lower
values of XCLK produces artifacts only at 640x480.

At some values of xclk (for example XCLKK = 6 MHz, 640x480), it is
possible to see an invalid sucession of artifacts with this pattern:

.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

(where the dots represent the blanked pixels)

So, it seems that a waveform in the format of a ramp is interferring at
the image.

The cause of this interference is currently unknown. Some possibilities
are:
- electrical interference (maybe this device is broken?);
- some issue at mt9v011 programming;
- some bug at em28xx chip.

So, for now, let's be conservative and use a value of XCLK that we know
for sure that it won't cause artifacts.

As I'm waiting for more of such devices with different em28xx chipset
revisions, I'll have the opportunity to double check the issue with
other pieces of hardware.

Later patches can vary XCLK depending on the vertical resolutions, if a
proper fix is not discovered.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
fcd20e3c369caf7a3fec300c9c183b25a06e21b2 10-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup()

em28xx_pre_card_setup() is meant to contain board-specific initialization. Also,
as autodetection sometimes occur only after having i2c bus enabled, this
function may need to be called later.

Moving those setups to happen outside the function avoids calling it twice without
need and without duplicating output lines at dmesg.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
970cff36c0850e8193ac1162e42c7c11001b872d 08-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency

We don't know the xtal frequency of Silvercrest, but we need to have
some value in order to allow controlling the frame rate frequency. The
value is probably still wrong, since the manufacturer announces this
device as being capable of 30fps, but the maximum we can get is
13.5 fps.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c2a6b54a9cf08d4ffeb75d70603c4a5d03ac97ad 08-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams

Due to historical reasons, em28xx driver gets two consecutive frames and
fold them into an unique framing, doing interlacing. While this works
fine for TV images, this produces two bad effects with webcams:

1) webcam images are progressive. Merging two consecutive images produce
interlacing artifacts on the image;

2) since the driver needs to get two frames, it reduces the maximum
frame rate by two.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d594317bdc716ccd8c8cf711e3827f9b6e0b766b 07-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12403): em28xx: properly reports some em2710 chips

As reported by hermann pitton <hermann-pitton@arcor.de>, some devices
has a different chip id for em2710 (likely the older ones):

em28xx: New device @ 480 Mbps (eb1a:2710, interface 0, class 0)
em28xx #0: Identified as EM2710/EM2750/EM2751 webcam grabber (card=22)
em28xx #0: em28xx chip ID = 17

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9b4e845c6cbca2bcbfdb87e4d005260604226f45 07-Aug-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID

Thanks to hermann pitton <hermann-pitton@arcor.de> for pointing this new
variation.

Tested-by: hermann pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0a6e44d1beb30813f62ad376a31694e637858328 29-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12344): em28xx: fix support for Plextor ConvertX PX-TV100U

This device uses msp34xx and uses 2.048 MHz frequency for I2S
communication.

Thanks to Angelo Cano <acano@fastmail.fm> for pointing the issues with
this device and proposing an approach for fixing the issue.

Tested-by: Angelo Cano <acano@fastmail.fm>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
296544e15a7126373851abd40acc526b79b91432 27-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12340): mtv9v011: Add a missing chip version to the driver

Some mt9v011 webcams report 0x8332 chip version, instead of 0x8243. From
the revision history at the mt9v011 datasheet, it seems that the chip
version has changed from the first release of the chip.

Thanks-to hermann pitton <hermann-pitton@arcor.de> for pointing this to
me, on his tests with a Silvercrest webcam.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
e16e5a3739cfd208de00d49def10fcfa6ceff46f 15-Jul-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e

The Pinnacle Hybrid Pro 320e was missing a demod config for the xc3028, which
is required for digital tuning to work properly. Add the missing profile.

Thanks to Andreas Lunderhage for testing patches and providing a remote debug
environment.

Cc: Andreas Lunderhage <lunderhage@home.se>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5343e446014b93f740d5502f9f3bfa3f66dcbc7c 15-Jul-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used

In cases where the device has a generic Empia USB ID, the call in the
precard setup phase did not set the tuner GPIO. As a result, the tuner may
not be taken out of reset before attempting initialization in the analog
driver.

This problem was not seen before with the EVGA inDtube, since that particular
board has the analog GPIO setup to include taking the tuner out of reset.

Thanks to Andreas Lunderhage for testing patches and providing a remote debug
environment for the Pinnacle 320e.

Cc: Andreas Lunderhage <lunderhage@home.se>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
44010440ca2693a07b1252ee836a23804412575e 09-Jul-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support

Set the GPIO properly for the analog side of the Pinnacle Hybrid Pro, or else
the emp202 doesn't get detected properly.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d5b3ba9cb375620a109d79f2e3a7bc21e9b75d8f 09-Jul-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)

Setup the GPIOs properly and enable support for the DVB side of the Pinnacle
Hybrid Pro USB stick.

Thanks to Andreas Lunderhage for testing patches and providing a remote debug
environment.

Cc: Andreas Lunderhage <lunderhage@home.se>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
b80fd2d811b48a92051f86d257b00f373e69a6d7 15-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12245): em28xx: add support for mt9m001 webcams

Thanks to Wally <wally@voosen.eu> for bringing the issue and helping
with the tests.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
579d315218e8a3f696e375c5f6917da6488bec8a 14-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format

Depending on the video input format, vinmode/vinctl needs adjustments.
For TV, this is not relevant, since the supported decoders output data
at the same format. However, webcam sensors may have different formats,
so, this needs to be adjusted based on the device.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d36bb4e77257ed0df86deca3f69794f037f68c7d 14-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency

In order to properly estimate fps, mt9v011 sensor driver needs to know
what is the used frequency on the sensor cristal. Adds the proper fields
and initialization code for specifying the cristal frequency.

Also, based on experimentation, it was noticed that the Silvercrest is
outputing data at 7 fps. This means that it should be using a 6.3 MHz
cristal. This information needs to be double checked later, by opening
the device. Anyway, by using this value for xtal, at least now we have
the correct fps report.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5569996421fa1cfc1fc0d9e683ac1def46ea985d 14-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12239): em28xx: fix webcam scaling

While trying to fix an mt9v001 webcam, I noticed that HSCALE/VSCALE do
work with em28xx + webcam. The issue is that the scaling setup depends
on the number of visible rows/cols of the input image.

With mt9v011 (Silvercrest), the resolution is 640x480. So, the scaling
is different from a normal TV image (720x480 on NTSC). This were causing
a wrong scaling and a previous patch disabled scaling.

As each sensor have their different resolution setting, the xres/yres
should be adjusted accordingly with the input sensor.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
b04fb6615285d18df34ffd6cdd51db7a8a78dda0 13-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12238): em28xx: call sensor detection code for all webcam entries

With the previous approach, autodetection were working only for the two
generic entries (em275x and em2820 unknown ones). So, if someone would
try to force probing an specific device, the code would not properly run
the autodetection code.

With the new approach, the sensor autodetection will be run not only for
the two generic entries, but also do webcam specific ones.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
527f09a981e398331c2f8d8f7af83cd46e6a06cc 12-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12236): em28xx: stop abusing of board->decoder for sensor information

Instead of using em28xx board decoder field for storing sensor information,
let's use instead a separate field for it.

Also, as sensors are currently autodetected, there's no need of having
it at the boards description. So, move it to the main em28xx struct.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8b220793d6fd309176438721088515be893630cd 12-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12235): em28xx: detects sensors also with the generic em2750/2750 entry

Webcams in general don't have eeprom. So, the sensor hint code should be
called to properly detect what sensor is inside.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8a2e6990f44d4cebaafcc0af1a786912ae733bb2 12-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12234): em28xx-cards: use is_webcam flag for devices that are known to be webcams

By having the webcam devices marked as such, it will help the em28xx
driver to do the right thing on those devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c43221df762c33e832e8855cae77989b6bf69fa6 12-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12233): em28xx: rename is_27xx to is_webcam

Just renames the flag, to use a clearer name. Later patches will use
this flag to properly set some drivers behaviors for webcams.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
11b79ea75ada39b7f1efdebdad520c93c3ac1f0e 05-Jul-2009 Jiri Slaby <jirislaby@gmail.com> V4L/DVB (12202): em28xx, fix lock imbalance

There is one omitted unlock in em28xx_usb_probe. Fix that.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
791a08fc01aaa293a73c9dce260327fdee288faf 03-Jul-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f797608cc4f19b44b83ec39c87e14af6fa07826d 23-Jun-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12156): em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version)

Fix the code so that the zl10353 version of the Terratec Cinergy T XS USB
starts working again. This includes fixing what must have been a typo in the
GPIO definition for the digital side of the board, and setting of the
disable_i2c_gate_ctrl property for the zl10353 config, so that the i2c bus
doesn't get wedged the first time something tries to close the gate.

Also, add a printk() making clear that the mt352 version still isn't
supported. This issue is still being actively debugged, but in the meantime
at least the dmesg output will show a very clear error...

Thanks to Jelle de Jong for providing sample hardware to test with.

Thanks to Simon Kenyon for testing various patches and providing SSH access to
his environment so I could debug with access to a valid signal source.

Cc: Jelle de Jong <jelledejong@powercraft.nl>
Cc: Simon Kenyon <simon@koala.ie>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
02e7804b2135ff941b8846f5820cf48fbfdadd54 29-Jun-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (12138): em28xx: add support for Silvercrest Webcam

This webcam uses a em2710 chipset, that identifies itself as em2820,
plus a mt9v011 sensor, and a DY-301P lens.

It needs a few different initializations than a normal em28xx device.

Thanks to Hans de Goede <hdegoede@redhat.com> and Douglas Landgraf
<dougsland@redhat.com> for providing the acces for the webcam during
this weekend, I could make a patch for it while returning back from
FISL/Fudcom LATAM 2009.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a4c473033b6a100773a4fd8b7ba1e45baeb1e692 21-Jun-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube

Add an IR profile for the EVGA inDtube remote control (which is an NEC type
remote)

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
19859229d7d98bc2d582ff45045dd7f73d649383 19-Jun-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12101): em28xx: add support for EVGA inDtube

Add support for the EVGA inDtube. Both ATSC and analog side validated as
fully functional.

Thanks to Jake Crimmins from EVGA for providing the correct GPIO info.
Thanks to Alan Hagge for doing all the device testing.
Thanks to Greg Williamson for providing hardware for testing.

Cc: Jake Crimmins <jcrimmins@evga.com>
Cc: Alan Hagge <ahagge@gmail.com>
Cc: Greg Williamson <cheeseboy16@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
cdf7bfa8926fb26d5900103ae09eb5f3eddb95cc 19-Jun-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (12100): em28xx: make sure the analog GPIOs are set if we used a card hint

In cases where the board had a default USB ID, we would not indentify the
board until after the call to em28xx_set_mode(). As a result, for those
boards the analog GPIOs were not being set before probing the i2c bus for
devices (the probe would occur with the GPIOs being all high).

Make a call to em28xx_set_mode() so that the GPIOs are set properly before
probing the i2c bus for devices.

This problem was detected with the EVGA inDtube, where the tvp5150 is not
powered on unless GPIO1 is pulled low.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d7de5d8ff74efd01916b01af875a0e87419a3599 06-Jun-2009 Franklin Meng <fmeng2002@yahoo.com> V4L/DVB (11977): em28xx: Add Kworld 315 entry

Added an entry for Kworld 315 (for while, dvb only)

Signed-off-by: Franklin Meng <fmeng2002@yahoo.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ae3340cbf59ea362c2016eea762456cc0969fd9e 06-Jun-2009 Franklin Meng <fmeng2002@yahoo.com> V4L/DVB (11976): em28xx: set up tda9887_conf in em28xx_card_setup()

Added tda9887_conf set up into em28xx_card_setup()

Signed-off-by: Franklin Meng <fmeng2002@yahoo.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
e2a1b79f7dc54a6f1cc8821e0c7fd68ba7568d81 28-May-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (11927): em28xx: provide module option to disable USB speed check

Add an em28xx module option that allows a user to override the USB speed check.
Intended for advanced users who understand the consequences of trying to use
the device with a 12Mbps bus.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
3ed58baf5db4eab553803916a990a3dbca4dc611 28-May-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (11925): em28xx: Add support for the K-World 2800d

Make the KWorld 2800d work properly. In this case, that means making the
profile more generic so that it works for both the Pointnix Intra-Oral USB
camera and the KWorld device.

The device provides the audio through a pass-thru cable, so we don't need
an actual audio capture profile (neither the K-World device nor the Pointnix
have an onboard audio decoder).

Thanks to Paul Thomas for providing sample hardware.

Cc: Paul Thomas <pthomas8589@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
64a00b43e63c916f1bf4f6b7f519db0e198ba9d4 28-May-2009 Devin Heitmueller <dheitmueller@kernellabs.com> V4L/DVB (11923): em28xx: Don't let device work unless connected to a high speed USB port

The em28xx basically just doesn't work at 12 Mbps. The isoc pipe needs
nearly 200 Mbps for analog support, so users would see garbage video, and on
the DVB/ATSC side scanning is likely to work but if the user tried to tune it
would certainly appear to have failed.

It's better to fail explicity up front and tell the user to plug into a USB 2.0
port, than to let the driver load and the user have weird problems with tuning
and garbage video.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
4d7a2d6721a6380d4ffc26d81d2c8232fd0d2dfc 13-May-2009 Jean Delvare <khali@linux-fr.org> V4L/DVB (11845): ir-kbd-i2c: Use initialization data

For specific boards, pass initialization data to ir-kbd-i2c instead
of modifying the settings after the device is initialized. This is
more efficient and easier to read.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c668f32dca105d876e51862a003a302fa61e4ae4 13-May-2009 Jean Delvare <khali@linux-fr.org> V4L/DVB (11844): ir-kbd-i2c: Switch to the new-style device binding model

Let card drivers probe for IR receiver devices and instantiate them if
found. Ultimately it would be better if we could stop probing
completely, but I suspect this won't be possible for all card types.

There's certainly room for cleanups. For example, some drivers are
sharing I2C adapter IDs, so they also had to share the list of I2C
addresses being probed for an IR receiver. Now that each driver
explicitly says which addresses should be probed, maybe some addresses
can be dropped from some drivers.

Also, the special cases in saa7134-i2c should probably be handled on a
per-board basis. This would be more efficient and less risky than always
probing extra addresses on all boards. I'll give it a try later.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1df8e9861cf9fac5737ccb61c7f7fefa77711d40 13-May-2009 Jean Delvare <khali@linux-fr.org> V4L/DVB (11843): ir-kbd-i2c: Don't use i2c_client.name for our own needs

In the standard device driver binding model, the name field of
struct i2c_client is used to match devices to their drivers, so we
must stop using it for internal purposes. Define a separate field
in struct IR_i2c as a replacement, and use it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
766ed64de554fda08ceb927d36279eabcb08acb3 24-May-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (11827): Add support for Terratec Grabster AV350

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
4557af9c5338605c85fe54f5ebba3d4b14a60ab8 23-May-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (11825): em28xx: add Terratec Grabby

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
e5db5d44432abc82b1250dd05bd0a4b011392d9d 09-Apr-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (11486): em28xx: Add EmpireTV board support

Added EmpireTV entry.
Thanks to Xwang <xwang1976@email.it> to provide data for this board.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
e6574f2fbecdb8af807169d345c10131ae060a88 01-Apr-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (11373): v4l2-common: add explicit v4l2_device pointer as first arg to new_(probed)_subdev

The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on
i2c_get_adapdata to return the v4l2_device. However, this is not always
possible on embedded platforms. So modify the API to pass the v4l2_device
pointer explicitly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7c9fc9d50f97c9a6733ff1a22b6e31bcd91778e2 01-Apr-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (11368): v4l2-subdev: move s_standby from core to tuner.

s_standby is only used to put the tuner in powersaving mode, so move it
from core to tuner.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
36fa674e6ca918fccc95ce8dbb16a8e68c0c1ef3 05-Apr-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (11360): em28xx: use usb_interface.dev for v4l2_device_register

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f2cf250af156bef127433efd255abfae6aab02f6 31-Mar-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (11331): em28xx: convert to v4l2_subdev

Converted em28xx driver to v4l2_subdev.
Thanks to Hans Verkuil <hverkuil@xs4all.nl> for helping this conversion.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
62cfc346a325f60256f5eda93ac3b6e7ba6cdc1b 23-Mar-2009 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions)

The HVR-900 did not have a remote control defined, so it would not work. Add
the line for both versions of the product.

Thanks to Jens-Michael Hoffmann (#linuxtv user "jmho") for pointing out the
issue and testing the patch.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
2bd1d9eb1c27034a77c8e1887156da72d6160ae1 04-Mar-2009 Vitaly Wool <vital@embeddedalley.com> V4L/DVB (10833): em28xx: enable Compro VideoMate ForYou sound

Compro VideoMate uses an external audio DSP chip, controlled via tvaudio
module (tda9874a). This patch improves em28xx infrastructure to support
an external audio processor and fixes the Compro VideoMate entry to work
with it.

Signed-off-by: Vitaly Wool <vital@embeddedalley.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ac40d9e09825c62b77e8b11b3ed201f390550351 25-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10741): em28xx: Add Kaiser Baas Video to DVD maker support

Added usb vendor/product id for Kaiser Baas Video to DVD maker.
Thanks to Trevor Campbell <tca42186@bigpond.net.au> for providing all data and tests needed to add this card to em28xx driver.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1f372a930c85270b4435b508b3e029021b1c5b62 25-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10740): em28xx-cards: Add SIIG AVTuner-PVR board

Added SIIG AVTuner-PVR to the right entry.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
812c582390f2c6b81c0400d1286a7bce39d161d0 25-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10739): em28xx-cards: remove incorrect entry

Removed EM2821_BOARD_PROLINK_PLAYTV_USB2 entry.
This entry has a incorrect tuner set.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
df7fa09cca9d80f746c29f95b09a7223f6c2f4e7 25-Feb-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10654): em28xx: VideoMate For You USB TV box requires tvaudio

As reported by Vitaly Wool <vital@embeddedalley.com>:

> about half a year ago I posted the patch that basically enabled Compro
> VideoMate For You USB TV box support.
> The main problem is I couldn't get the sound working.
> So I kind of decomposed the box and found out the audio decoder chip
> used there was Philips TDA9874A. As far as I can see, it's not supported
> within the em28xx suite although it is for other TV tuner drivers.

A tvaudio modprobing confirms that tda9874a chip is accessible via i2c:

tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: tda9840, tda9873h, tda9874h/a, tda9850, tda9855, tea6300, tea6320, tea6420, tda8425, pic16c54 (PV951), ta8874z
tvaudio' 1-0058: chip found @ 0xb0
tvaudio' 1-0058: tvaudio': chip_read2: reg254=0x11
tvaudio' 1-0058: tvaudio': chip_read2: reg255=0x2
tvaudio' 1-0058: tda9874a_checkit(): DIC=0x11, SIC=0x2.
tvaudio' 1-0058: found tda9874a.
tvaudio' 1-0058: tda9874h/a found @ 0xb0 (em28xx #0)
tvaudio' 1-0058: tda9874h/a: chip_write: reg0=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg1=0xc0
tvaudio' 1-0058: tda9874h/a: chip_write: reg2=0x2
tvaudio' 1-0058: tda9874h/a: chip_write: reg11=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg12=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg13=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg14=0x1
tvaudio' 1-0058: tda9874h/a: chip_write: reg15=0x0
tvaudio' 1-0058: tda9874h/a: chip_write: reg16=0x14
tvaudio' 1-0058: tda9874h/a: chip_write: reg17=0x50
tvaudio' 1-0058: tda9874h/a: chip_write: reg18=0xf9
tvaudio' 1-0058: tda9874h/a: chip_write: reg19=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg20=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg24=0x80
tvaudio' 1-0058: tda9874h/a: chip_write: reg255=0x0
tvaudio' 1-0058: tda9874a_setup(): A2, B/G [0x00].
tvaudio' 1-0058: tda9874h/a: thread started]

This patch automatically loads tvaudio when needed (currently, only
with this board).

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1d6af821a91df15e3fc2720c223ec514ae83dc86 12-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10556): em28xx-cards: Add Pinnacle Dazzle Video Creator Plus DVC107 description

Added board Pinnacle Dazzle Video Creator Plus DVC107 to name description field.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f74a61e3c6f218053742c2caf3e247fb41bf395e 11-Feb-2009 Indika Katugampala <indika_20012001@yahoo.co.jp> V4L/DVB (10528): em28xx: support added for IO-DATA GV/MVP SZ - EMPIA-2820 chipset

[dougsland@redhat.com: Fixed CodingStyle]
Signed-off-by: Indika Katugampala <indika_20012001@yahoo.co.jp>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a1a6ee74f2c68918f2e145dccba3637eea91a52a 11-Feb-2009 Nicola Soranzo <nsoranzo@tiscali.it> V4L/DVB (10525): em28xx: Coding style fixes and a typo correction

Lots of coding style fixes and a typo correction for em28xx.

[dougsland@redhat.com: fixed a reject due to a change on em28xx-audio.c]
Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7aa0eabde08259c47586df934921c67cff36e7dc 11-Feb-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10524): em28xx: Add DVC 101 model to Pinnacle Dazzle description

Added DVC 101 model to Pinnacle Dazzle description

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
56ee38071fe0cf1746d53c5b40a46a835b24fbe4 11-Feb-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10516): em28xx: Add support for Easy Cap Capture DC-60

Thanks to Peter Senna Tschudin <peter.senna@gmail.com> for borrow me one
of those devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
9fc2c5ee5d9d797730dd05616757b329f6a227e9 11-Feb-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10515): Adds IR table for the IR provided with this board and includes it at

Kaiomy entry.

Thanks to Peter Senna Tschudin <peter.senna@gmail.com> for borrow me one
of those devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0bf4f6ce6d43b135867a78fa1b4ac58e22d2e329 11-Feb-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10514): em28xx: Add support for Kaiomy TVnPC U2 stick

Thanks to Peter Senna Tschudin <peter.senna@gmail.com> for borrow me one
of those devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
51caf91f5ba4f6c02ba2bd53c3f113b9da544ebb 25-Jan-2009 Alexey Klimov <klimov.linux@gmail.com> V4L/DVB (10324): em28xx: Correct mailing list

Move development mail-list to linux-media on vger.kernel.org.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f7fe3e6f3c3e9ef6ba5ca187b514d225296d18dd 19-Jan-2009 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10323): em28xx: Add entry for GADMEI TVR200

Added entry for GADMEI TVR200.
Thanks to Yohanes Nugroho <yohanes@gmail.com> for testing and data collection.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
6e7b9ea0937eeb75fa166ef7bd22b5f3bb5676d1 19-Jan-2009 Robert Krakora <rob.krakora@messagenetsystems.com> V4L/DVB (10257): em28xx: Fix for KWorld 330U Board

Fix for KWorld 330U Board

Many thanks to Devin and Mauro!!!

Signed-off-by: Robert Krakora <rob.krakora@messagenetsystems.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
2230c3c803a5f3a84f7c3bd86b8159a551edc8ca 03-Jan-2009 Julia Lawall <julia@diku.dk> V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc

This patch extends 134179823b3ca9c8b98e0631906459dbb022ff9b by using
usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,
and usb_endpoint_xfer_int in the negated case as well.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@ struct usb_endpoint_descriptor *epd; @@

- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\))
+ !usb_endpoint_xfer_control(epd)

@@ struct usb_endpoint_descriptor *epd; @@

- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\))
+ !usb_endpoint_xfer_isoc(epd)

@@ struct usb_endpoint_descriptor *epd; @@

- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\))
+ !usb_endpoint_xfer_bulk(epd)

@@ struct usb_endpoint_descriptor *epd; @@

- (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\))
+ !usb_endpoint_xfer_int(epd)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
26cdc76b2c0b24f7a9c33ab226ca6e4bbae3dbbb 05-Jan-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10177): Fix sparse warnings on em28xx

/home/v4l/master/v4l/em28xx-core.c:396:25: warning: symbol 'outputs' was not declared. Should it be static?
/home/v4l/master/v4l/em28xx-input.c:324:6: warning: symbol 'em28xx_ir_start' was not declared. Should it be static?
/home/v4l/master/v4l/em28xx-cards.c:1925:5: warning: symbol 'em28xx_init_dev' was not declared. Should it be static?

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
134179823b3ca9c8b98e0631906459dbb022ff9b 30-Dec-2008 Julia Lawall <julia@diku.dk> V4L/DVB (10130): use USB API functions rather than constants

This set of patches introduces calls to the following set of functions:

usb_endpoint_dir_in(epd)
usb_endpoint_dir_out(epd)
usb_endpoint_is_bulk_in(epd)
usb_endpoint_is_bulk_out(epd)
usb_endpoint_is_int_in(epd)
usb_endpoint_is_int_out(epd)
usb_endpoint_is_isoc_in(epd)
usb_endpoint_is_isoc_out(epd)
usb_endpoint_num(epd)
usb_endpoint_type(epd)
usb_endpoint_xfer_bulk(epd)
usb_endpoint_xfer_control(epd)
usb_endpoint_xfer_int(epd)
usb_endpoint_xfer_isoc(epd)

In some cases, introducing one of these functions is not possible, and it
just replaces an explicit integer value by one of the following constants:

USB_ENDPOINT_XFER_BULK
USB_ENDPOINT_XFER_CONTROL
USB_ENDPOINT_XFER_INT
USB_ENDPOINT_XFER_ISOC

An extract of the semantic patch that makes these changes is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r1@ struct usb_endpoint_descriptor *epd; @@

- ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) ==
- \(USB_ENDPOINT_XFER_CONTROL\|0\))
+ usb_endpoint_xfer_control(epd)

@r5@ struct usb_endpoint_descriptor *epd; @@

- ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) ==
- \(USB_DIR_IN\|0x80\))
+ usb_endpoint_dir_in(epd)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
7ed3a7a3113a5399a4591fdf1f2a07c9cd954853 30-Dec-2008 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile

The Pinnacle 80e cannot be supported since Micronas yanked their driver
support for the drx-j chipset at the last minute. Remove the device profile
since it cannot work without the drx driver and it being there is only likely
to confuse people into thinking the device is supported but not working.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
e890759220759dfe4f3bea91a2deafb565ec10e9 30-Dec-2008 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile

The DVC 100 profile is redundant since we already have an existing identical
profile named "Pinnacle Dazzle DVC 90/DVC 100"

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ed14e1c2f419a380c7a1a3483ac2443d20a24355 30-Dec-2008 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (10119): em28xx: fix corrupted XCLK value

Correct problem introduced during the board refactoring where the XCLK
frequency would get zero'd out. The sequence of events was as follows:

em28xx_pre_card_setup() called em28xx_set_model()
em28xx_set_model() would memcpy to dev->board configuration
em28xx_pre_card_setup() would set the dev->board.xclk if not set
em28xx_pre_card_setup() would set the XCLK register based on dev->board.xclk
...
em28xx_card_setup() would call em28xx_set_model()
em28xx_set_model() would memcpy to dev->board configuration (clearing out
value of dev->board.xclk set in em28xx_pre_card_setup)
...
em28xx_audio_analog_set() sets the XCLK register based on dev->board.xclk
(which now contains zero)

The change sets the default XCLK and I2C Clock fields in the board definition
inside of em28xx_set_model() so that subsequent calls do not cause the
values to be overwritten.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5609cfd23233617858d03fab537bc120f7f6fa7f 28-Dec-2008 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10056): em28xx: Add snapshot button on Pixelview Prolink PlayTV USB 2.0

Added snapshot feature for Pixelview Prolink PlayTV USB 2.0

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1e1addd57bdf56c51dbc292d7760ea3d207fe833 28-Dec-2008 Douglas Schilling Landgraf <dougsland@redhat.com> V4L/DVB (10055): em28xx: Add entry for PixelView PlayTV Box 4

Added board PixelView PlayTV Box 4
Thanks to Vildenei Negrao Pereira <neodarkaman@brturbo.com.br> for testing and data collection.

Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
2e5ef2dfc45ff1ecebb0d8657b85b3fc716db9bf 29-Dec-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9980): em28xx: simplify analog logic

Now, just two routines are enough for analog: the first one configs the analog
part and register V4L2 devices, and the second one release analog devices.

After this patch, it will be easier to transform em28xx-video into an em28xx
extension, loaded only on analog devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1a23f81b7dc3115b29cff0e4f58b5dd04a6242ad 29-Dec-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9979): em28xx: move usb probe code to a proper place

em28xx-video were holding several code that are not specific to V4L2
interface.

This patch moves the core code for em28xx-core, and usb probing code
into em28xx-cards.

This opens the possibility of breaking em28xx into a core module and a
V4L2 module, loaded only on devices that have analog interfaces.

Some cleanup may be done at em28xx-cards to optimize the config code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c665f4dd99a584036c2bd79a6baa25b06cae42f8 17-Dec-2008 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (9922): em28xx: don't assume every eb1a:2820 reference design is a Prolink PlayTV USB2

Don't operate under the assumption that every device that uses the em2820
default USB ID is a Prolink PlayTV USB. We have an eeprom hash, so use that,
since otherwise we cannot support other devices with the 2820 default USB ID
(such as the ADS Tech Instant TV USB USBAV-704)

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
b1fa26c66c975bbd3173a45ef673870fd1d52dea 17-Dec-2008 Devin Heitmueller <dheitmueller@linuxtv.org> V4L/DVB (9921): em28xx: add chip id for em2874

Add the em2870 to the list of known em28xx chip ids.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
be2c6db122467c6b6b55d93dd08d89cb2ee7821c 09-Dec-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9799): em28xx: fix Kworld Hybrid 330 (A316) support

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f89bc32974a4376e8393001484af28d8c3350ab4 02-Dec-2008 Douglas Schilling Landgraf <dougsland@linuxtv.org> V4L/DVB (9793): em28xx: Add specific entry for WinTV-HVR 850

Added specific entry for WinTV-HVR 850

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8c2399895dc1b5e8976884d4898e68e61ec23e54 29-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9767): em28xx: improve board description messages

Print manufacturer/product info from USB device and also card entry.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
017ab4b1e2aa31dc9fe986ab6d1f5ffa2a84395b 27-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9765): em28xx: move tuner gpio's to the cards struct

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
2fe3e2ee72ef17daad1d3769321bb7dd69a003a9 27-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9764): em28xx: Add support for suspend the device when not used

Several chips may be turned off when the device is not used, like audio,
video and dvb demods. This patch adds a gpio callback at the core
structs to allow turning off such devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1c67e76f71e7cccc1e0734aee908391e9f0a32f8 27-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9762): em28xx: fix tuner absent entries

Before this patch, several devices without tuner were kept the value 0
for tuner_type. However, this means TUNER_TEMIC_PAL. Replace those
entries for the proper TUNER_ABSENT value.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a5942b5c26864bfc7dda653f294e956dc0a36c84 27-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9761): em28xx: replace magic numbers for mux aliases

Instead of using magic vmux/amux, let's use an alias where possible.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
122b77e59ed2de0692dfe45c87a93e98156fe03a 27-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9760): em28xx: move gpio lines into board table description

Instead of a large, ugly switch specifying the gpio tables for each
device, let's move it into the boards struct. This also helps to see
what boards have already the gpio's for DVB.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
0ec202d183b4e3d3e4d06612a29e25466889c328 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9759): em28xx: move gpio tables to the top of em28xx-cards

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c864405747fa8b50c1454b280c216f54da834cb4 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9755): em28xx: cleanup: We need just one tuner callback

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
1bee0184f6ffba1263a4b1e5732cde2c5292d843 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9754): em28xx: improve debug messages

Now, the first message states board names. Also, removed printing the alternate
settings by default. I2C messages are now clearer.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
ec5de990d912c0d5cca98e030bf6447c1529f56d 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9753): em28xx: cleanup: saa7115 module auto-detects saa711x type

Since saa7115 has saa711x chip auto-detection, there's no need on differenciating
it at cards table. Just use the generic name for all boards that use a philips
saa711x decoder.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
505b6d0b774fa4475fedbd3cebf95199c17a0086 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9752): Remove duplicated fields on em28xx_board and em28xx structs

Several fields are duplicated on both structs. Let's just copy em28xx_board instead.

A later cleanup could just copy the fields that are changed, in order to keep em28xx_board
const.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d4d889e329bd0837598b3ef611806421754e9b83 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9751): em28xx: card description cleanups

Remove unused em28xx_board.vchannels and em28xx.video_channels.
Also, .is_em2800 = 0 is not needed, as all data is zeroed by kernel loader.

The table also included a notice that svideo weren't test on Hauppauge
USB2. Remove this notice, since this input also works properly.

Also, it does some whitespace cleanups.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a2070c665459ac37a36bebae5e97bb4a2568990e 25-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9747): em28xx: Properly handles XCLK and I2C speed

The previous patches removed XCLK and I2C magic. Now, we finally know
what those registers do. Also, only a very few cards need different
setups for those.

Instead of keeping the setups for those values inside the per-device
hack magic switch, move the uncommon values to the board-specific
struct, and have a common setup for all other boards.

So, almost 100 lines of hacking magic were removed.

A co-lateral effect of this patch is that it also fixes a bug at em28xx-core, where xclk
were set, without taking any care about not overriding a previous xclk setup.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
6d676d8af852e483044837240ad9ca669a01aaf2 25-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9745): em28xx: Cleanup GPIO/GPO setup code

Cleanup the calls to set the GPIOs and GPOs for various devices,
replacing the register number with the #define from em28xx-reg.h and
converting over to using em28xx_write_reg()

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
55927684e7c616b0b0976cc52926997f2da5930d 25-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9744): em28xx: cleanup XCLK register usage

Convert over to setting the XCLK register usage with the new em28xx_write_reg()
function.

Thanks to Ray Lu from Empia for providing the em2860/2880 datasheet.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
31e0530c32701fc14b845ef84fe61b66e9c5398c 20-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9676): em28xx: fix a regression caused by 22c90ec6a5e07173ee670dc2ca75e0df0a7772c0

If removing and reiserting the driver on some devices, tuner type will
be unset at the second time. This patch fixes this issue.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
3ce6509456805904799bf669e82a8ea5126e92df 20-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9675): em28xx: devices with xc2028/3028 don't have tda9887

This patch cleans up the entries of xc2028/3028, since those devices
don't need or use a tda9887.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
30e4ac7c033f6a2c2e3060875a2f08d7909636a1 20-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9673): em28xx: fix Pixelview PlayTV board entry

Pixelview uses a Sigmatel stac codec. It has an external line out pin,
connected to AC97_MASTER_VOL. It also provides I2S output, but using a

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
23159a0bfcfb329cf68c7a7259e688494273bb7f 20-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9658): em28xx: use em28xx_write_reg() for i2c clock setup

Convert the calls that write the i2c clock register over to the new
em28xx_write_reg() function that allows for or'ing bits

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
8a5caa6bcb03b72db6c19a11e7b2de7656bd3f26 19-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9650): em28xx: replace magic numbers to something more meaningful

audio mux entries were described by 0 and 1 magic numers. Use an enum
alias for each entry type.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a42aa191cc2b7573bdcf53023c4e9d5cfe91363e 19-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9649): em28xx: remove two amux entries used only on one card

This patch parepares for an audio refactor patch that auto-detects ac97
chips.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
67c96f67060abfe595974a77aeb4ce7815893648 18-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9644): em28xx: add em2750 to the list of known em28xx chip ids

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
f09fb53075646c35efe0f74d97b7c4bc7ec61e5a 16-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9641): Add chip ID's for em2820 and em2840

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
66767920e3e6532db8afe04f9b2d8e1a9e95cad9 16-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9630): Some boards need to specify tuner address

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
60245e858ddb2255d458868be16ba814f6f8d446 16-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9629): Add support for the ATI TV Wonder HD 600 USB Remote Control

Add support for the ATI TV Wonder HD 600 USB Remote Control
(required a new keymap)

[mchehab@redhat.com: Fix CodingStyle]
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
4b92253acc723f365ad6b2f32e4118e38133b7b8 13-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9628): em28xx: refactor IR support

Refactor the em28xx IR support based on the em2860/em2880 and em2874
datasheets.

Tested on the HVR-950 (em2883), Pinnacle 800e (em2883), Pinnacle 80e (em2874)
using the remote controls that came with those products.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a924a499adb89f52046936deac87264774652a81 12-Nov-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9607): em28xx: Properly implement poll support for IR's

The first em28xx were based on i2c IR's. However, some newer designs
are coming with a polling-based IR. Those are done by reading a register
set at em28xx.

This patch adds core polling support for those devices. Later patches will
add support for some device-specific IR's.

This patch adds the same basic IR polling code used by bttv, cx88 and saa7134, and
shares the common getkey masks defined at ir-common.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
864ec0b7a03c8401e6e49f9e480489478ea14cb5 12-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9590): Add registration for Pinnacle 80e ATSC tuner

Add registration for Pinnacle 80e ATSC tuner

Register the em2874 based Pinnacle 80e device. Note that support for this
device also requires the new drx-j driver (which is not available yet)

Thanks for Ray Lu from Empia for providing the em2874 datasheet.
Thanks to Joerg Schindler from Pinnacle for providing sample hardware.
Thanks to Rainer Miethling from Pinnacle for providing engineering support.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
6a1acc3bc5144e004996029b20e46e6020d128a7 12-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9584): Support different GPIO/GPO registers for newer devices

Empia moved the location of the GPIO/GPO registers in newer devices. Add the
ability to specify the relocated registers (including caching of register
contents).

Thanks for Ray Lu from Empia for providing the em2874 datasheet.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
600bd7f0edee0f9687c3c77e6fe63c74452acbfa 12-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9583): Remember chip id of devices at initialization

When setting up the device, remember the chip id, so we can control behavior
in the future without having to read the register continuously.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5caeba045c3a676b892790c6685e542f81a4f96e 12-Nov-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (9580): Add chip id for em2874 to list of known chips

Add em2874 chip id

Add chip id for em2874 to list of known chips

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
d7cba043d7ec840d67bd5143779d1febe7d83407 12-Sep-2008 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (9049): convert tuner drivers to use dvb_frontend->callback

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a50f4a444a14a116e2eb077e01c2eaf58ddb7c6a 08-Sep-2008 Douglas Schilling Landgraf <dougsland@linuxtv.org> V4L/DVB (8936): em28xx-cards: Add vendor/product id for EM2820_BOARD_PROLINK_PLAYTV_USB2

Added vendor/product id for EM2820_BOARD_PROLINK_PLAYTV_USB2

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
db98fb8b5b9210ba3b14fb984a26060e4afdb9f5 28-Sep-2008 Wiktor Grebla <greblus@gmail.com> V4L/DVB (9103): em28xx: HVR-900 B3C0 - fix audio clicking issue

Fixed audio clicking problem which could be heard when using analog tv or composite input

Signed-off-by: Wiktor Grebla <greblus@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
da3808e10faca68b064ac897753fa4e1707d29a4 30-Sep-2008 Darron Broad <darron@kewl.org> V4L/DVB (9099): em28xx: Add detection for K-WORLD DVB-T 310U

Correct firmware type to MTS
Correct audio routing for composite/s-video
Add DVB-T detection.

This patch uses the eeprom hash method for detection as the vendor/product
ids are also used for the DIGIVOX_AD. This may be a clone of the same
product. Explanatory text has been added prior to the hask look-up in
anticipation that it may help others.

The following has been tested to work:
Analogue TV (PAL-I)
Composite In
DVB-T (UK Crystal Palace)
USB AUDIO

The following has not been tested but probably works:
S-Video In

Signed-off-by: Darron Broad <darron@kewl.org>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
5ea7fe48a95084897786b0f20109d0611bdababc 16-Sep-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8967): Use correct XC3028L firmware for AMD ATI TV Wonder 600

The AMD ATI TV Wonder 600 has an XC3028L and *not* an XC3028, so we need to
load the proper firmware to prevent the device from overheating.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
c737684b51e1edee16fbdf22e9a65ddad261e907 08-Sep-2008 Douglas Schilling Landgraf <dougsland@linuxtv.org> V4L/DVB (8935): em28xx-cards: Remove duplicate entry (EM2800_BOARD_KWORLD_USB2800)

Removed duplicated entry for EM2800_BOARD_KWORLD_USB2800

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/em28xx/em28xx-cards.c
a674a3b492d8085fd02ee49ed11cb42c63f0f71a 01-Aug-2008 Eugeniy Meshcheryakov <eugen@debian.org> V4L/DVB (8582): set mts_firmware for em2882 based Pinnacle Hybrid Pro

Pinnacle Hybrid Pro (2304:0226) requires mts_firmware flag to have any
sound. Without this flag it is useful only for watching silent movies.

Signed-off-by: Eugeniy Meshcheryakov <eugen@debian.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
ee281b856d4e4921da24387ab116bb0855c2efaa 27-Jul-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (8543): em28xx: Rename #define for Compro VideoMate ForYou/Stereo

There are two videomate boards supporded by em28xx. The names are almost
identical.
This patch renames one of such entries to something else.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
fe43ef894c282dbfa963872eef577bab46a178fb 27-Jul-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (8542): em28xx: AMD ATI TV Wonder HD 600 entry at cards struct is duplicated

Thanks to "Devin Heitmueller" <devin.heitmueller@gmail.com> for pointing this
issue.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
10ac6603613d46a43a4544fbbe9581e50879bd45 27-Jul-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (8541): em28xx: HVR-950 entry is duplicated.

Thanks to "Devin Heitmueller" <devin.heitmueller@gmail.com> for pointing this
issue.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
d3603341e2f3c39f017f8df4b1cd734aeb0d453b 27-Jul-2008 Vitaly Wool <vital@embeddedalley.com> V4L/DVB (8540): em28xx-cards: Add Compro VideoMate ForYou/Stereo model

Added Compro VideoMate ForYou/Stereo model (analog only)

Signed-off-by: Vitaly Wool <vital@embeddedalley.com>
[dougsland@gmail.com: Solved conflicts with v4l-dvb devel tree]
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
[mchehab@infradead.org: Need to fix some merge conflicts]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
95b86a9a9020da22e7c25abc77aae4dc8f02ab55 27-Jul-2008 Douglas Schilling Landgraf <dougsland@gmail.com> V4L/DVB (8539): em28xx-cards: New supported IDs for analog models

- New supported IDs for analog models
(Based on Markus Rechberger <mrechberger@gmail.com> version of em28xx driver)

- Validation field for new em28xx boards.

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
[mchehab@infradead.org: Need to fix some merge conflicts]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
59d07f1b705c466ea4eaca9c43d46be6d6a065a4 27-Jul-2008 Aron Szabo <aron@aron.ws> V4L/DVB (8538): em28xx-cards: Add GrabBeeX+ USB2800 model

Added GrabBeeX+ USB2800 model (analog only)

[mchehab@infradead.org: Need to fix some merge conflicts]
Signed-off-by: Aron Szabo <aron@aron.ws>
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
e14b3658a7651ffd9b1f407eaf07f4dde17ef1e7 26-Jul-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8492): Add support for the ATI TV Wonder HD 600

em28xx-cards.c
em28xx-dvb.c
em28xx.h
- Add support for the ATI TV Wonder HD 600, based on a 94 email exchange and
USB traces provided by Ronnie Bailey

Thanks to Ronnie Bailey <purevw@wtxs.net> for testing the changes

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
655b8408557d586212d0797d423babdc464c587f 26-Jul-2008 reinhard schwab <reinhard.schwab@aon.at> V4L/DVB (8489): add dvb-t support for terratec cinergy hybrid T usb xs

This patch adds dvbt support for the terratec cinergy hybrid T usb xsstick.
Thanks to Devin Heitmueller and Mauro Chehab for guiding me.

Signed-off-by: Reinhard Schwab <reinhard.schwab@aon.at>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
38f9d308597fe3f8d52bfa30e7ed6c742b85a1db 23-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8477): v4l: remove obsolete audiochip.h

Converted the last users of audiochip.h to the v4l2-chip-ident.h header
and remove the now unused audiochip.h header.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
a9fc52bcbeb5245b58d23c558f3e3e8f18bebbc3 28-Jun-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8123): Add support for em2860 based PointNix Intra-Oral Camera

em28xx-cards.c
em28xx-input.c
em28xx-video.c
em28xx.h
- Add support for the PointNix Intra-Oral Camera, which required addition of
a construct for reading the "snapshot" button (provided on the em2860 and
em2880 chips, but this is the first case where I have seen it actually used
in a product). The button is wired to pin 56 on the em2880.

http://www.pointnix.com/ENG/dental/product_02.asp

Thanks to Roberto Mantovani <rmantovani@libero.it> for testing the changes

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
17d9d558e818530cc7d210ffea575a36f48eaa1a 08-Jun-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8006): em28xx: Split HVR900 into two separate entries

- Separate the newer variant of the HVR-900 into its own device profile
because it has a Micronas DRX397 instead of the Zarlink demod. This
doesn't make the device work, but at least we don't try to initialize it
as though it had the Zarlink device.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
[mchehab@infradead.org: avoid compilation breakage at mainstream, where drx397xD.h doesn't exist yet]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
4fd305b2a2c4d16e8d4ebc95c84f946edd3385c5 04-Jun-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (7992): Add support for Pinnacle PCTV HD Pro stick (the older variant 2304:0227)

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
a8a1f8cc0cae07c209f13857adbdd4b87b36cdde 10-Jun-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8018): Add em2860 chip ID

em28xx-cards.c
em28xx-reg.h
- Add em2860 chip ID (seen on Pointnix Intra-Oral Camera)
http://www.pointnix.com/ENG/dental/product_02.asp

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
b38cc642000f0a262db367ffb95cd02ca2ead59b 09-Jun-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (8011): em28xx: enable DVB for HVR-900

em28xx-cards.c
- DVB support is supposed to be enabled for the first generation HVR-900.
This device was confirmed with DVB by mkrufky when we did the original work
in April, but I guess we forgot to set the flag.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
74ee05109c9d6ae2dfe1b462592d3854ddbf1f6a 01-May-2008 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (7823): em28xx: add additional usb subids for Hauppauge HVR-950

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
e77ebdaa927a9e1b6a2e46086f6ca9a445cd0b88 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7619): em28xx: adds proper demod IF for HVR-900

Thanks to Aidan Thornton <makosoft@googlemail.com> for helping
to test this firmware

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
e54318e5a41cfe10325ae2f817d337beb84e79aa 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7618): em28xx: make some symbols static

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
c67ec53f8f4e90ebd482789e2f6d121f41a0bd90 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7615): em28xx: Provide the proper support for switching between analog/digital

Before this patch, HVR900/HVR950 were incorreclty going back to analog. The
result is that only digital were working.

This patch provides the proper setup for analog/digital and tuner callback.
It also properly resets analog into a sane state at open().

Thanks to Steven Toth <stoth@linuxtv.org> and Michael Krufky <mkrufky@linuxtv.org>
for helping to set the proper parameters to GPO/GPIO em2883 ports.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
41facaa4b63cc1a0ff5a900149a29942d47e1491 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7613): em28xx: rename registers

Now, all registers will follow the same convension:

EM28XX_R<reg_number>_<reg_name>

This allows to associate a register with its value, and also with a canonical
name. Also, registers that are specific to a given chip were renamed accordingly,
as EM2800_foo (for 2800 only registers) or EM2880_foo (for registers that started
to appear on em2880).

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
7e26ca8012a8392c5e53055b8ff3d9512faee6c6 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7612): em28xx-cards: use register names for GPIO/GPO

Before this patch, registers 0x04 and 0x08 were referenced by its value. This is
bad, since makes harder for someone to understand what this is doing.

This patch renames those two registers into an appropriate name.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
2ba890ec0849b222a6dabb5192ccd8fd1696d6d3 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7611): em28xx: Move registers to a separate file

em28xx.h contains lots of different stuff inside. The better is to break it on
some files.

This patch removes the register names, moving them to a separate file.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
89b329ef9d7cc16ed46fc991b21b2d45e7bf452c 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7610): em28xx: Select reg wait time based on chip ID

This is more conservative than just removing the msleep() from
em28xx_write_regs_req(), since some old hardware may still need it.
So, it will remove the sleep time only for those chips where this
removal were tested.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
6ea54d938b6f81baa0952a8b15d3e67e6c268b8f 18-Apr-2008 Douglas Schilling Landgraf <dougsland@gmail.com> V4L/DVB (7607): CodingStyle fixes

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
e6a353b0dc2686ae04805919e7a22430d2f1e29e 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7606): em28xx-dvb: Program GPO as well

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
102a0b0879a01a413ed5f667f7db9c2085ca8474 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7604): em28xx-dvb: Fix analog mode

The analog entries are wrong. Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
7e6388a1b97cca57a1906df6104feb4001721576 18-Apr-2008 Aidan Thornton <makosoft@googlemail.com> V4L/DVB (7601): em28xx-dvb: add support for the HVR-900

Adds the correct GPIOs and demod attach code for the HVR-900


Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
bdfbf9520372daf2b4d6941474c92310848ccb27 18-Apr-2008 Devin Heitmueller <devin.heitmueller@gmail.com> V4L/DVB (7598): em28xx: several fixes on gpio programming

em28xx-cards.c:
- Fix reversed val/rst values in both analog_gpio and digital_gpio
vectors
- Fix crash that would was occurring during every analog startup
while looping over gpio_ctl
- Remove what appears to be a redundant setting of gpio_ctl->val
- Don't use OREN538 demodulation for the HVR-950 (prevents ATSC
scanning from working)

em28xx-dvb.c:
- Tuner should be in digital mode when issuing the reset
- Add copyright
- Change struct definition (corresponds to fix in em28xx-cards.c for
gpio_ctl looping)

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
3ca9c09379e8f3be0744c47f72769457fa46e9f3 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7597): em28xx: share the same xc3028 setup for analog and digital modes

Thanks to Devin Heitmueller <devin.heitmueller@gmail.com> and Aidan
Thornton" <makosoft@googlemail.com> for pointing some errors with the
previous scenario.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
227ad4ab9058ef2624934183e8083886cf64bf56 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7596): em28xx-dvb: Add support for HVR950

This patch adds DVB support for Hauppauge HVR950.

Thanks to Michael Krufky <mkrufky@linuxtv.org> for getting those values.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
ee6e3a865a469c78daa93a1e6cdbaca3a102f9c8 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7595): Improve generic support for setting gpio values

em28xx based devices with xc3028 may require some specific gpio values.
This patch adds a generic handling for such values.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
3aefb79af8d41c85e11da7109d62038849421bb6 18-Apr-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7593): em28xx: add a module to handle dvb

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

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

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
ab8b870e430d3e2cfb299f81e0ae0aef7fe5bfda 22-Apr-2008 Michael Krufky <mkrufky@linuxtv.org> V4L/DVB (7381): tuner: rename TUNER_PHILIPS_ATSC to TUNER_PHILIPS_FCV1236D

TUNER_PHILIPS_ATSC is an ambiguous name for a tuner. Rename it to
TUNER_PHILIPS_FCV1236D to be more descriptive.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
7463dda2ae868d3e0a6c98f65d6331481fc73ca3 06-Feb-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7158): Fix em28xx audio initialization

AC97 register initialization seem to always be needed. This patch fixes audio
for Prolink/Pixelview USB2 board.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
427d20c4e6321ed2482630900891e40b4f2de6a3 30-Jan-2008 Luc Saillard <luc@saillard.org> V4L/DVB (7132): Add USB ID for a newer variant of Hauppauge WinTV-HVR 900

Device description:
WinTV-HVR-900
M/R: 65018/B3C0 ##4207

Signed-off-by: Luc Saillard <luc@saillard.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
ed086314f4e41eb90a9107c7fb2737230686f668 24-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7060): em28xx: remove has_tuner

has_tuner flag doesn't make much sense, since tuner_type=TUNER_ABSENT
means the same thing.

Having two ways to say that a tuner is not present is
not nice, since it may lead to bad setups. In fact, with the previous
code, if a device were using has_tuner=0, but the user forces a tuner,
with modprobe option tuner=type, the modprobe option won't work.

Also, tveeprom returns TUNER_ABSENT, when tuner is unknown or absent.
So, with the previous logic, in this case, the driver should set
has_tuner=0, or has_tuner=1 otherwise.

Instead of adding several additional tests and setups, better just to
remove .has_tuner.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
c8793b035df7b18997d1cf34254064dac166f009 13-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7021): Move all board specific configuration to em28xx-cards.c

This cleanup moves the board-specific configurations to em28xx-cards.c.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
15b9becc68793209a2afd6c580bf71a71fee90a6 13-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7020): Add USB ID for a newer variant of Hauppauge WinTV USB2

Thanks to Jeroen Janssen <Jeroen.Janssen@vub.ac.be>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
a4950134d46f0b83745f05ea37987785a3905eba 06-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6969): Avoid causing regressions for non-HVR950 boards

Only HVR950 has analog_gpio configured. It makes no sense to set gpio to 0 for
other boards. Better to add a test, while this var is not set for all xc3028
devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
3abee53e4402b6ae39e1e610f9ef94eb74097138 05-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6955): Properly implement 12MHz I2S support

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
74f38a82376fb1b289d0957429ba45349f0cad62 05-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6948): HVR950 requires additional settings for audio to properly work

Thanks to Markus Rechberger <mrechberger@gmail.com> for retriving those
commands.

Also, MTS firmware is required for audio to work on HVR950.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
aec2aef267203d9ac06ce3508682c0aa81a069dc 17-Dec-2007 Aurelien Jarno <aurelien@aurel32.net> V4L/DVB (em28xx): Add support for Pinnacle Dazzle DVC 100

The patch below adds the "Pinnacle Dazzle DVC 100" to the list of
cards supported by the em28xx driver. As the configuration is the same
as the DVC 90 one, it simply adds a new USB ID to the list of devices
supported by the DVC 90 configuration.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
c23f5949c0eeec328c872f29c8f4c233e73c3c4d 23-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6665): Fix CodingStyle

thanks to checkpatch.pl

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
5add9a6f3c90680f89b4694e81025d2aed9559af 22-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6659): Convert MTS to bitfield

Xc2028.3028 has two type of firmwares: audio-standard specific ones and
baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz
BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares.

It seems that the option to use MTS or a standard-specific audio decoding
depends on the way xc2028/3028 is connected.

Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS
firmware, this patch converts it to a bitfield that can be shared with other
proprieties of xc2028/3028.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
122d15888a8aa95fb6ca32eb1307c3e3337f1a38 20-Nov-2007 Aidan Thornton <makosoft@googlemail.com> V4L/DVB (6619): Use MTS firmware for the HVR-900

The HVR-900 requires the MTS version of the xc3028 firmware in order
to get any sound. The below patch selects this firmware variant on
HVR-900 cards, as well as splitting the HVR-950 into its own entry
(since I don't know if it uses the MTS variant and it will have to be
split off eventually anyway).

Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
7d497f8afa80128bb99a425a6d7a766a863128a5 11-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6587): Cleanup at tv norm selection

With the conversion to the vidio_ioctl2, tvnorms array is not required anymore.

Also, removed some code from V4L1 time (VIDEO_MODE_foo), specied at the
non-used video_decoder.h.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
98ae127cae56b99f2282d73399e0e1ca7dc13bc9 05-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6562): Make HVR900 to use also tveeprom

Hauppauge firmwares can be decoded using tveeprom. This patch adds HVR-900 as
a tveeprom client. It also adds xc3028 tuner entry to tveeprom.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
f8b6030ccca06bf0d45d9b0908caac9b624a9beb 05-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6560): Fix a bug when setting tuner type

Tuner-type were correctly filled only by the hint function.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
d2ba055d3b7ca7694af38a735f00850363ee9417 04-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6546): Add comments for the hint methods

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
fad7b958e753e18ff443786360f7846da50a3085 04-Nov-2007 Sascha Sommer <saschasommer@freenet.de> V4L/DVB (6545): em28xx: autodetect Cinergy 200 USB and VGear PocketTV

Adds autodetection support for the Cinergy200 USB and the VGear PocketTV.

Whenever a usb device with generic empia em2800 usb ids is detected the device
gets scanned for connected i2c devices. If the device list matches an em2800
device in the device list the model id gets changed accordingly.

Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
4362559d826b369df41fc74df4c5db6061962dce 03-Nov-2007 Sascha Sommer <saschasommer@freenet.de> V4L/DVB (6539): em28xx: add support for vgear pockettv

attached patch adds support for the vgear pockettv.
It seems to require a write to another register for audio to work.
I checked my old cinergydrv and we did the same register write there. I
therefore enabled it for all em2800 based devices.

Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
ea4fd5679b258d8ae85124a47b587a53ba6409de 04-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6537): Add entry for Pixelview Prolink PlayTV USB 2.0

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
03910cc39035d27f4c85c8ad2a236cc5c9456127 04-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6536): Add a hint for boards without unique USB ID

This patch adds a function to allow trying to detect boards that shares
the generic IDs.

The current detection method is based at eeprom checksum.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
3dbd85ba36ff74af87550e76f5765a768b108409 03-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6535): Fix: Adds the generic PCI IDs for em28xx

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
7d070e26a868bd72f0d32189e0f3ceba47d2db82 02-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6519): Fix HVR900/HVR950 entry

- Television is now default;
- Add HVR950 name at the entry.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
352fae1dffe2d0d04949e579d03667377a176cff 01-Nov-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6516): Allow faster loading by using 64 bytes block by em28xx i2c write

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
6c362c8e58da972728a3666a0a00b9c2f1574e1f 30-Oct-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6476): Add support for analog tv on HVR-950

This patch adds USB ID for HVR-950. It also adds the callback for handling
firmware loading.

Thanks to Markus Reichberger for the reset commands.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
882876bf9780fac570184b719a76140a1b1e4178 29-Oct-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6474): Add support for tuner-xc2028

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
12466577853b0d057f4416f4c7020e544f3a4209 24-Oct-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6422): Add the pending entries for xc2028/3028 based boards

Also replaces all occurrences of TUNER_XCEIVE_XC3028 to TUNER_XC2028.

Some work is still may be required to make sure that non-tm6000 drivers will
be capable of using tuner-xc2028.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
6473d160b4aba8023bcf38519a5989694dfd51a7 06-Mar-2007 Jean Delvare <khali@linux-fr.org> PCI: Cleanup the includes of <linux/pci.h>

I noticed that many source files include <linux/pci.h> while they do
not appear to need it. Here is an attempt to clean it all up.

In order to find all possibly affected files, I searched for all
files including <linux/pci.h> but without any other occurence of "pci"
or "PCI". I removed the include statement from all of these, then I
compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
false positives manually.

My tests covered 66% of the affected files, so there could be false
positives remaining. Untested files are:

arch/alpha/kernel/err_common.c
arch/alpha/kernel/err_ev6.c
arch/alpha/kernel/err_ev7.c
arch/ia64/sn/kernel/huberror.c
arch/ia64/sn/kernel/xpnet.c
arch/m68knommu/kernel/dma.c
arch/mips/lib/iomap.c
arch/powerpc/platforms/pseries/ras.c
arch/ppc/8260_io/enet.c
arch/ppc/8260_io/fcc_enet.c
arch/ppc/8xx_io/enet.c
arch/ppc/syslib/ppc4xx_sgdma.c
arch/sh64/mach-cayman/iomap.c
arch/xtensa/kernel/xtensa_ksyms.c
arch/xtensa/platform-iss/setup.c
drivers/i2c/busses/i2c-at91.c
drivers/i2c/busses/i2c-mpc.c
drivers/media/video/saa711x.c
drivers/misc/hdpuftrs/hdpu_cpustate.c
drivers/misc/hdpuftrs/hdpu_nexus.c
drivers/net/au1000_eth.c
drivers/net/fec_8xx/fec_main.c
drivers/net/fec_8xx/fec_mii.c
drivers/net/fs_enet/fs_enet-main.c
drivers/net/fs_enet/mac-fcc.c
drivers/net/fs_enet/mac-fec.c
drivers/net/fs_enet/mac-scc.c
drivers/net/fs_enet/mii-bitbang.c
drivers/net/fs_enet/mii-fec.c
drivers/net/ibm_emac/ibm_emac_core.c
drivers/net/lasi_82596.c
drivers/parisc/hppb.c
drivers/sbus/sbus.c
drivers/video/g364fb.c
drivers/video/platinumfb.c
drivers/video/stifb.c
drivers/video/valkyriefb.c
include/asm-arm/arch-ixp4xx/dma.h
sound/oss/au1550_ac97.c

I would welcome test reports for these files. I am fine with removing
the untested files from the patch if the general opinion is that these
changes aren't safe. The tested part would still be nice to have.

Note that this patch depends on another header fixup patch I submitted
to LKML yesterday:
[PATCH] scatterlist.h needs types.h
http://lkml.org/lkml/2007/3/01/141

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/media/video/em28xx/em28xx-cards.c
adcb0fa2504aac35e0ed285147b11e75a6db34c7 22-May-2006 Adrian Bunk <bunk@stusta.de> V4L/DVB (3963): Em28xx/: possible cleanups

This patch contains the following possible cleanups:
- make the following needlessly global functions static:
- em28xx-core.c: em28xx_accumulator_set()
- em28xx-core.c: em28xx_capture_area_set()
- em28xx-core.c: em28xx_scaler_set()
- em28xx-core.c: em28xx_isocIrq()
- remove the following unused EXPORT_SYMBOL's:
- em28xx-cards.c: em28xx_boards
- em28xx-cards.c: em28xx_bcount
- em28xx-cards.c: em28xx_id_table

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
2e7c6dc3989136844eb63e05f9e4dc6608a763c6 03-Apr-2006 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (3715): Change all emails to the currently used one.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
c7c0b34c27bbf0671807e902fbfea6270c8f138d 02-Apr-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3712): Fix video input setting of em28xx, use _INT_S_VIDEO_ROUTING in tvp5150

- Use new routing input defines in em28xx-cards.c
- Fix S-Video settings for tvp5150-based cards (input was copied from saa7115
based cards and worked only because S-Video was selected in the default: case)
- Replace VIDIOC_S_INPUT by VIDIOC_INT_S_VIDEO_ROUTING in em28xx-video.c
- Remove the now obsolete VIDIOC_S_INPUT handler in saa7115.c
- Add VIDIOC_INT_G/S_VIDEO_ROUTING in tvp5150.c
- Add new media/tvp5150.h with the routing defines.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
07151724a35e8e70f1aa64ce30a5a3f5c1ad49a3 01-Apr-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3702): Make msp3400 routing defines more consistent

Renamed various msp3400 routing defines to be more consistent and less
confusing. Esp. the MSP_DSP_OUT defines were confusing since it is really
a DSP input.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
2474ed444b475614ef795523076be7cc8437ae00 19-Mar-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3582): Implement correct msp3400 input/output routing

- implement VIDIOC_INT_S_AUDIO_ROUTING for msp3400 and tvaudio
- use the new command in bttv, pvrusb2 and em28xx.
- remove the now obsolete MSP_SET_MATRIX from msp3400 (yeah!)
- remove the obsolete VIDIOC_S_AUDIO from msp3400.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
49965a80a4c4f5cbe15fb3bb1f8f8b0ec4ef02bc 19-Mar-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3581): Add new media/msp3400.h header containing the routing macros

Moved msp3400.h to msp3400-driver.h.
Created media/msp3400.h with the new routing defines and lots of comments.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
dadaff2db46aae917ccdbceb2cd2ecac75767435 27-Feb-2006 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (3392a): XC3028 code removed from -git versions

- Current xc3028 support is still experimental, requiring more work to be
sent to mainstream. It will be kept only at mercurial tree on
http://linuxtv.org/hg until fixed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
cfcd718d492d401a7d8a7ee3a85e48164b56e2e2 27-Feb-2006 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (3332): XC3028 code marked with an special define option

- Current xc3028 support is still experimental, requiring more work to be
sent to mainstream. So, it was marked inside some defines, in order to be
removed by gentree.pl stript. Script also updated to remove it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
9475fb1c717ee5ce3df767b8e3b9439d341f043d 27-Feb-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3293): Fixed amux hauppauge hvr900/terratec hybrid xs

Fixed amux hauppauge hvr900/terratec hybrid xs

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
cce91e36d74be635abb99aa1dc74951e11be8aea 27-Feb-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3292): Fixed xc3028 firmware extractor, added terratec fw support

Fixed xc3028 firmware extractor for terratec's emBDA.sys firmware
Fixed delay in firmwareupload, now terratec's firmware also works

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
0004fd59d57a5875db8897966c414a88b5dad481 27-Feb-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3291): Added support for xc3028 analogue tuner (Hauppauge HVR900, Terratec Hybrid XS)

Added support for xc3028 to v4l which adds support for:
* Terratec Hybrid XS (analogue)
* Hauppauge HVR 900 (analogue)


Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
282b7cb3e03d9ada4067083e61919d74197a1e5a 07-Feb-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3326): Adding support for Terratec Prodigy XS

Adding support for Terratec Prodigy XS

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
33ccaa3feb2a6e09942b6f0af6fbb0451a2e1537 07-Feb-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3280): Changed description of KWorld PVR TV 2800RF

Changed description of KWorld PVR TV 2800RF

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
4d17d0834a2e6a5cba096ea09592a4a096183300 07-Feb-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3276): Added terratec hybrid xs and kworld 2800rf support

- Added terratec hybrid xs product/vendorid
- Added gpio audio initialization for kworld pvr 2800rf

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
a94e95b443811c127734ef10f3b7d2220532c1d2 23-Jan-2006 Markus Rechberger <mrechberger@gmail.com> V4L/DVB (3432): Hauppauge HVR 900 Composite support

- Hauppauge HVR 900 Composite support

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/em28xx/em28xx-cards.c
9bb13a6dc3a6f68c990264838ff0493d900c48d7 09-Jan-2006 Mauro Carvalho Chehab <mchehab@brturbo.com.br> V4L/DVB (3233): Fixed API to set I2S speed control


- Created a new ioctl to control I2S speed. Old calls to an
inadequate V4L2 API replaced.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/em28xx/em28xx-cards.c
eac94356c8f9f7d3854ed0290a406b13bfe8df4c 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] V4L: 907: em28xx cleanups and fixes

- Em28xx cleanups and fixes.
- Some cleanups and audio amux adjust.
- em28xx will allways try, by default, the biggest size alt.
- Fixes audio mux code.
- Fixes some logs.
- Adds support for digital output for WinTV USB2 board.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
3acf28095009509c9ca1e283de821b5be9ddede6 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 886: renamed common structures to em28xx

- Renamed common structures to em28xx

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
f7abcd385cc8a5a2f75b07c8325067ea2785ba1e 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 877: module em2820 renamed to em28xx and moved to v4l dir

- Module em2820 renamed to em28xx and moved to V4L dir.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
45632c4f835e74f937d8632f7ba2dd49aa39c476 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 863: added pinnacle dazzle dvc 90

- Added Pinnacle Dazzle DVC 90

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
30556b23f31973ca311341277c4e4b128c0528bb 09-Nov-2005 Markus Rechberger <mrechberger@gmail.com> [PATCH] v4l: 840: fixed settings for msi vox usb 2.0 saa7114 is missing atm

- Fixed settings for MSI Vox USB 2.0 (saa7114 is missing atm)

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
08eca13dc407c389f04ce295144bb3fcd996a10d 09-Nov-2005 Markus Rechberger <mrechberger@gmail.com> [PATCH] v4l: 838: modified settings for msi vox usb 2.0

- Modified settings for MSI VOX USB 2.0

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
f59ab27b7a6fd760268f695078c739f3036b4edf 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 820: fixed log for tveeprom on em28xx cards

- Fixed log for tveeprom on em28xx cards.

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

- Whitespace Cleanups.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
74458e6c1aea9e422e46030e7bc61e9b0984be5b 09-Nov-2005 Sascha Sommer <saschasommer@freenet.de> [PATCH] v4l: 786: chip id removed since it isn t required anymore

- Chip_id removed since it isn't required anymore.

Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
d5e5265315770bda46c50ecaa64e2b9790f2064c 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 784: several improvement on i2c ir handling for em2820

- Several Improvement on I2C IR handling for em2820:
- moved Pinnacle IR table (ir_codes_em2820) to em2820-input.c
- IR struct renamed and moved to a header file.
- New file to handle em2820-specific IR.
- Some cleanups.
- attach now detects I2C IR and calls em2820-specific IR code
- IR compat code moved to compat.h
- New header with struct IR_i2c there, to allow it to be
used by board-specific input handlers.

- Some improvements at em28xx board detection:
- Board detection message improved to show interface and class.
- Now it doesn't touch audio interfaces.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
596d92d5128d308b5a79f21c3e72c87f5fc7e58b 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 767: included support for em2800

- Included support for em2800.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
1f6173ed9b48709383631e2c43eed770f15d05d1 09-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: 729: fixed include when compiling at kernel tree

- Fixed include when compiling at kernel tree

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c
a6c2ba283565dbc9f055dcb2ecba1971460bb535 09-Nov-2005 akpm@osdl.org <akpm@osdl.org> [PATCH] v4l: 716: support for em28xx board family

- Added support for em28xx board family

Signed-off-by: Ludovico Cavedon <cavedon@sssup.it>
Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/media/video/em28xx/em28xx-cards.c