Commit Graph

1061 Commits

Author SHA1 Message Date
Trent Piepho
f3a0d86f1d V4L/DVB (5745): Dvb: use '+=' instead of '=' for EXTRA_CFLAGS
The Makefiles in the dvb directory tree used '=' when defining EXTRA_CFLAGS
rather than '+=', which is far more common in the rest of the kernel source.
  =  14 times (9 of which this patch removes)
 :=  25 times
 += 123 times
This change also has certain advantages for the out of kernel v4l-dvb build
system.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:56 -03:00
Robert P. J. Day
0c71bf1c30 V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:52 -03:00
Dmitry Torokhov
2c8a3a3355 V4L/DVB (5698): Input: drivers/media - switch to using input_dev->dev.parent
In preparation for struct class_device -> struct device input
core conversion switch to using input_dev->dev.parent when
specifying device position in sysfs tree.

Signed-off-by: Dmitry Torokhov <dtor at mail.ru>
Acked-by: Thierry Merle <thierry.merle@free.fr>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:46 -03:00
Aapo Tahkola
d577ee004d V4L/DVB (5696): M920x: add missing error handling to prevent syslog spamming
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:44 -03:00
Aapo Tahkola
3ab3b69de5 V4L/DVB (5695): M920x: enable second adapter on LifeView TV Walker Twin
Enable second adapter on LifeView TV Walker Twin DVB-T USB2.0

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:44 -03:00
Aapo Tahkola
3847b22ab5 V4L/DVB (5694): M920x: fix for Dposh devices
Make sure devices manufactured by Dposh are not affected by previous hw 
pid filtering changes

Doing so might crash it.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:43 -03:00
Aapo Tahkola
55bbe5ea20 V4L/DVB (5693): M920x: second endpoint also needs to be changed to alt setting
Spotted by Jeremy Nysen.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:39 -03:00
Aapo Tahkola
47f8df0fc0 V4L/DVB (5692): M920x: attempt to fix hw pid filters on second endpoint
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:38 -03:00
Oliver Endriss
f72ce64447 V4L/DVB (5669): Budget-av: Add support for EasyWatch DVB-S (0x1894:0x001b)
Add support for Satelco EasyWatch PCI DVB-S card (subsystem 0x1894:0x001b).

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:31 -03:00
Trent Piepho
b7754d74d2 V4L/DVB (5636): Integrate all users of the fmd1216 tuner with dvb-pll
Enhance the dvb-pll definition of the fmd1216 tuner by adding an init sequence
and a sleep sequence.

The init sequence sets the AGC control register to 0xa0, selecting the fast
time constant and 112 dBuV take-over point.  This the recommended value for
DVB-T operation.

The sleep sequence sets bit P4 (which is believed to turn the analog
demodulator on), turns off the tuning voltage, and sets the AGC control
register to 0x60 (external AGC voltage, the recommended value for analog
operation).

The existing dvb-pll users in the cx88 driver, listed below, will gain these
init and sleep sequences.

CX88_BOARD_HAUPPAUGE_HVR1100    Hauppauge WinTV-HVR1100 DVB-T/Hybrid
CX88_BOARD_HAUPPAUGE_HVR1100LP  Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profi
CX88_BOARD_WINFAST_DTV2000H     WinFast DTV2000 H
CX88_BOARD_HAUPPAUGE_HVR3000    Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DV
CX88_BOARD_HAUPPAUGE_HVR1300    Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encod

This non-dvb-pll user in the cx88 driver should only gain the sleep sequence,
as it already had an equivalent init sequence.  The non-dvb-pll code for this
user is removed.

X88_BOARD_DNTV_LIVE_DVB_T_PRO   digitalnow DNTV Live! DVB-T Pro

In these saa7134 driver, these non-dvb-pll users are converted to use dvb-pll:

SAA7134_BOARD_MD7134                    Medion 7134
SAA7134_BOARD_ASUS_EUROPA2_HYBRID       Asus Europa2 OEM

The saa7134 functions philips_fmd1216_tuner_init(),
philips_fmd1216_tuner_sleep(), and philips_fmd1216_tuner_set_params() are
deleted and the dvb-pll versions are used.

This should result in equivalent sleep, init, and tuning sequences being sent
to the tuner.

For the cxusb driver, only one board is effected:

USB_PID_MEDION_MD95700          	Medion MD95700

This board used dvb_usb_tuner_init_i2c() and dvb_usb_tuner_set_params_i2c()
for init and tuning, respectively.  These functions are effectively the same
as the dvb-pll versions.  They call a tuner pass control function defined at
the dvb-usb level, but this does not matter, as this card does not have a
tuner pass control function (only the dib3000mb does).  This board will gain
the sleep sequence, while init and tuning should be unchanged.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:29 -03:00
Aapo Tahkola
4919c49278 V4L/DVB (5628): Add support for A-LINK DTU dvb-t adapter
Support for A-LINK DTU(m) is not included in this patch.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:28 -03:00
Luca Olivetti
e62a42090c V4L/DVB (5626): Marked af9005 driver as experimental and fix dependencies
Marked af9005 driver as experimental and add dependency for qt1010;
Added a dependency on qt1010 in Kconfig;
Corrected the experimental gain  reduction of the mt2060 in case of
strong signal (though it is code included in #ifdef 0).

Signed-off-by: Luca Olivetti <luca@ventoso.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:27 -03:00
Luca Olivetti
af4e067e1d V4L/DVB (5625): Add support for the AF9005 demodulator from Afatech
Signed-off-by: Luca Olivetti <luca@ventoso.org>
Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:26 -03:00
Michael Krufky
79d3a8bede V4L/DVB (5652): Dibusb-mb: use dvb_attach for dib3000mb_attach
convert calls to dib3000mb_attach to use dvb_attach

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:26 -03:00
Michael Krufky
fbfee8684f V4L/DVB (5651): Dibusb-mb: convert pll handling to properly use dvb-pll
moved tda665x pll_init into dvb_pll_desc dvb_pll_tda665x.initdata
convert handling of tda665x and tua6010xs to properly use dvb-pll

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:25 -03:00
Michael Krufky
9bc7c04852 V4L/DVB (5650): Umt-010: trivial whitespace cleanup
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:24 -03:00
Michael Krufky
a3497135d8 V4L/DVB (5649): Umt-010: convert tua6034 handling to properly use dvb-pll
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:23 -03:00
Michael Krufky
8906939252 V4L/DVB (5648): Dvb/frontends: remove unnecessary #include's of "dvb-pll.h"
These sources do not need to #include "dvb-pll.h"

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:22 -03:00
Michael Krufky
9b98fd28b4 V4L/DVB (5635): Budget-av: convert philips sd1878 / tda8261 to use dvb-pll
removed philips_sd1878_tda8261_tuner_set_params, using dvb_pll_attach, instead.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:16 -03:00
Michael Krufky
4abe9f9d94 V4L/DVB (5633): Tuv1236d: move rf input switching code into dvb-pll
This patch removes duplicate code from cx88-dvb and saa7134-dvb that handles
rf input switching for the TUV1236d tuner.

The functionality is added to dvb-pll, where all the other code that 
handles the TUV1236d is kept.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:14 -03:00
Michael Krufky
77d6750470 V4L/DVB (5632): Dvb-pll: pass dvb_frontend_parameters to generic set() function
Rename dvb_pll_desc.setbw() to set(), and accept struct dvb_frontend_parameters
instead of passing both freq and bandwidth, so that this may be used as a
generic function.

In order to do this, dvb_pll_configure must also be altered in the same manner,
to take struct dvb_frontend_parameters instead of freq and bandwidth.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:12 -03:00
Simon Arlott
900858ecb3 V4L/DVB (5631): Dvb-core: Add level fixes to printk()s, plus spelling/grammer
All the printks had missing level prefixes so I've fixed these too.
Also fixed some grammer errors.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:12 -03:00
Rafael J. Wysocki
8314418629 Freezer: make kernel threads nonfreezable by default
Currently, the freezer treats all tasks as freezable, except for the kernel
threads that explicitly set the PF_NOFREEZE flag for themselves.  This
approach is problematic, since it requires every kernel thread to either
set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
care for the freezing of tasks at all.

It seems better to only require the kernel threads that want to or need to
be frozen to use some freezer-related code and to remove any
freezer-related code from the other (nonfreezable) kernel threads, which is
done in this patch.

The patch causes all kernel threads to be nonfreezable by default (ie.  to
have PF_NOFREEZE set by default) and introduces the set_freezable()
function that should be called by the freezable kernel threads in order to
unset PF_NOFREEZE.  It also makes all of the currently freezable kernel
threads call set_freezable(), so it shouldn't cause any (intentional)
change of behaviour to appear.  Additionally, it updates documentation to
describe the freezing of tasks more accurately.

[akpm@linux-foundation.org: build fixes]
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:02 -07:00
Hartmut Birr
1fb4a17f6e V4L/DVB (5822): Fix the return value in ttpci_budget_init()
if the call to budget_register() fails in ttpci_budget_int(),
ttpci_budget_init() returns success. The attached patch will
fix this problem.

Signed-off-by: Hartmut Birr <e9hack@googlemail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-03 15:11:21 -03:00
Oleg Nesterov
1e4597e8f0 V4L/DVB (5818): CinergyT2: fix flush_workqueue() vs work->func() deadlock
Spotted and tested by Thomas Sattler <tsattler@gmx.de>.

cinergyT2.c does cancel_delayed_work() + flush_scheduled_work() while
holding cinergyt2->sem. This leads to deadlock because work->func()
needs the same mutex to complete. Another bug is that this code in fact
can't reliably stop the re-arming delayed_work.

Convert this code to use cancel_rearming_delayed_work() and move it
out of ->sem. Another mutex, ->wq_sem, was added to protect against the
concurrent open/resume.

This patch is a horrible hack to fix the lockup which happens in practice.
As Dmitry Torokhov pointed out this driver has other problems and needs
further changes.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-03 15:11:19 -03:00
Trent Piepho
59faba1b31 Fix Kconfig dependency problems wrt boolean menuconfigs
If one has a dependency chain (tristate)FOO depends on (bool)BAR depends on
(tristate)BAZ, build problems will result.  If BAZ=m, then BAR can be set
y, which allows FOO=y.  It's possible to have FOO=y && BAZ=m, which
wouldn't be allowed if FOO depended directly on BAZ.  In effect, the bool
promotes the tristate from m to y.

This ends up causing a problem with several menuconfigs that look like:

menuconfig BAR
	bool
	depends on BAZ [tristate]
if BAR
config FOO
	tristate
endif

The solution used here is to add the dependencies of BAR to the if
statement, so that items in the if block will gain a direct
non-bool-promoted dependency on BAZ.  This is how it would work if a menu
was used instead of an if block.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Jeff Garzik <jeff@garzik.org>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-28 11:34:53 -07:00
Mauro Carvalho Chehab
72fb39ea58 V4L/DVB (5761): Fix broken b2c2 dependency on non x86 architectures
This patch moves flexcop-dma (currently used only by flexcop-pci) to
b2c2-flexcop-pci module, that is dependent on CONFIG_PCI, fixing the bug 
as reported by Geert Uytterhoeven <geert@linux-m68k.org>:

drivers/media/dvb/b2c2/flexcop-dma.c uses the PCI DMA API, but
DVB_B2C2_FLEXCOP doesn't depend on PCI, causing the following problem on
PCI-less systems:

| linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent'
| linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent'

Apparently this is the flexcop DMA core, which is used by both
DVB_B2C2_FLEXCOP_PCI and DVB_B2C2_FLEXCOP_USB.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08 08:54:39 -03:00
Oliver Endriss
c6604150ab V4L/DVB (5716): Tda10086,tda826x: fix tuning, STR/SNR values
Several people reported unreliable reception with the current driver.
Furthermore, STR and SNR values seem to be inverted.
This fix is based on a patch posted by Hartmut Hackman.
Thanks to Helmut Auer for testing and helping to optimize the patch.
tda826x:
- set baseband cut-off to 19 MHz
tda10086:
- change the parameters of the carrier recovery loop
- toggle register 0x02 between 0x35 (tuning) and 0x00 (locked)
- invert STR and SNR values

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08 08:21:13 -03:00
Andrew Morton
ffeb9ec72e V4L/DVB (5699): Cinergyt2: fix file release handler
If this mutex_lock_interruptible() does fail due to signal_pending() then the
state of the driver will get trashed in interesting ways, because userspace
cannot and will not retry the close().

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08 08:21:12 -03:00
Simon Arlott
4abdcf933f V4L/DVB (5630): Dvb-core: Handle failures to create devices
dvb-core is not started early enough when device drivers that use dvb are
compiled in so dvb_register_device fails (silently) since dvb_class is
NULL, this runs dvb_init using subsys_initcall instead of module_init.

dvb_register_device will now check the return value of class_device_create.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-22 16:00:14 -03:00
Manu Abraham
a6d7613226 V4L/DVB (5639a): Fix dst usage count
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-22 16:00:14 -03:00
Linus Torvalds
57a44415be Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (44 commits)
  V4L/DVB (5571): V4l1-compat:  Make VIDIOCSPICT return errors in a useful way
  V4L/DVB (5624): Radio-maestro.c cleanup
  V4L/DVB (5623): Dsbr100.c Replace usb_dsbr100_do_ioctl to use video_ioctl2
  V4L/DVB (5622): Radio-zoltrix.c cleanup
  V4L/DVB (5621): Radio-cadet.c Replace cadet_do_ioctl to use video_ioctl2
  V4L/DVB (5619): Dvb-usb: fix typo
  V4L/DVB (5618): Cx88: Drop the generic i2c client from cx88-vp3054-i2c
  V4L/DVB (5617): V4L2: videodev, allow debugging
  V4L/DVB (5614): M920x: Disable second adapter on LifeView TV Walker Twin
  V4L/DVB (5613): M920x: loosen up 80-col limit
  V4L/DVB (5612): M920x: rename function prefixes from m9206_foo to m920x_foo
  V4L/DVB (5611): M920x: replace deb_rc with deb
  V4L/DVB (5610): M920x: remove duplicated code
  V4L/DVB (5609): M920x: group like functions together
  V4L/DVB (5608): M920x: various whitespace cleanups
  V4L/DVB (5607): M920x: Initial support for devices likely manufactured by Dposh
  V4L/DVB (5606): M920x: add "c-basic-offset: 8" to help emacs to enforce tabbing
  V4L/DVB (5605): M920x: Add support for LifeView TV Walker Twin
  V4L/DVB (5603): V4L: Prevent queueing queued buffers.
  V4L/DVB (5602): Enable DiSEqC in Starbox II (vp7021a)
  ...
2007-05-11 12:57:16 -07:00
Michael Krufky
09129f0d14 V4L/DVB (5619): Dvb-usb: fix typo
replace "streaming_crtl" with "streaming_ctrl"

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:06 -03:00
Nick Andrew
14c4ffbe68 V4L/DVB (5614): M920x: Disable second adapter on LifeView TV Walker Twin
Disable second adapter on LifeView TV Walker Twin while it doesn't work 
properly.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:04 -03:00
Aapo Tahkola
9ad4eef2f4 V4L/DVB (5613): M920x: loosen up 80-col limit
Do not follow 80-col limit where it would cause inconsistency.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:03 -03:00
Aapo Tahkola
4fd74a776f V4L/DVB (5612): M920x: rename function prefixes from m9206_foo to m920x_foo
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:02 -03:00
Aapo Tahkola
bf2b4f67a4 V4L/DVB (5611): M920x: replace deb_rc with deb
deb_rc is used by the dvb-usb core framework.  This patch replaces all
occurances of deb_rc with deb, in m920x.c, so that its clear that we're
not using dvb-usb's deb_rc.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:01 -03:00
Michael Krufky
e7b419b692 V4L/DVB (5610): M920x: remove duplicated code
Some of the devices supported by the m920x driver have identical functions used
for tuner_attach and frontend_attach.  This patch consolidates the functions in
question, and updates the debug code to be generic for each.  This patch
decreases the size of the kernel.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:00 -03:00
Michael Krufky
5afb707120 V4L/DVB (5609): M920x: group like functions together
- Group the tuner configurations together.
- Group the demod configurations together.
- Group the device-specific initialization functions together.
- Group demod_attach functions together.
- Group tuner_attach functions together.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:13:00 -03:00
Michael Krufky
d3911eaa0d V4L/DVB (5608): M920x: various whitespace cleanups
- 80-column cleanups
- spaces between operators
- tabbing style

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:59 -03:00
Aapo Tahkola
f8e0bd5db4 V4L/DVB (5607): M920x: Initial support for devices likely manufactured by Dposh
These devices are sold by various companies and chains not involved in
hardware manufacturing business. This particular device owned by
winisch (from irc) had a sticker with text "TCM 234292" on it. This device
was never opened so it is possible that Dposh did not manufacture this
stick. However, the bundled software and their product line points into
that direction. Also thanks to Michael Krufky for spotting this hw
filtering problem and thus avoiding hair loss.
Hardware pid filters and the bundled remote controller are not currently
supported on this device.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:58 -03:00
Michael Krufky
ce9c275034 V4L/DVB (5606): M920x: add "c-basic-offset: 8" to help emacs to enforce tabbing
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:58 -03:00
Nick Andrew
aa50ec2b49 V4L/DVB (5605): M920x: Add support for LifeView TV Walker Twin
Add support for "LifeView TV Walker Twin" (USB IDs 10fd:0513, 10fd:0514)

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:57 -03:00
Pat Erley
5ad5e4845b V4L/DVB (5602): Enable DiSEqC in Starbox II (vp7021a)
Uncomments code in vp702x-fe.c to enable DiSEqC in vp7021a

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Pat Erley <pat@erley.org>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2007-05-09 10:12:55 -03:00
Mauro Carvalho Chehab
523b78d1d2 V4L/DVB (5600): Allow compiling just DVB CORE
Allow compiling just DVB CORE without needing to compile the drivers

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:49 -03:00
Jan Engelhardt
6b6bcb16c6 V4L/DVB (5599): Use menuconfig objects II - DVB
Change Kconfig objects from "menu, config" into "menuconfig" so
that the user can disable the whole feature without having to
enter the menu first.
Also remove one indirection (CONFIG_DVB) that does not seem to
be really used inside the kernel.

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:48 -03:00
Oliver Endriss
910a7b6835 V4L/DVB (5593): Budget-ci: Fix tuning for TDM 1316 (160..200 MHz)
Revert changeset
  http://linuxtv.org/hg/v4l-dvb?cmd=changeset;node=e7c424bbf9aa;style=gitweb

Petri Helin found that this changeset broke tuning:

'Well, after going through the changes that might have had effect on
tuning, I found out the one which had caused this problem. I do not know
the actual reason behind the change, but the changelog says that it
was meant to "Fix TD1316 tuner for DVBC". But at least in my case it
seams to have broken the tuner instead.'

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Thanks-to: Petri Helin <phelin@googlemail.com>
Acked-by: e9hack <e9hack@googlemail.com>
Acked-by: Thomas Kaiser <linux-dvb@kaiser-linux.li>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:42 -03:00
Jon Burgess
87c3019d7b V4L/DVB (5592): DMA: Correctly free resources on error, sync PCI streamed data
I added saa7146_vmalloc_destroy_pgtable() which frees the resources
allocated by saa7146_vmalloc_build_pgtable() and updated the callers in
budget-core.c and av7110.c. I have also been through the updated
functions and updated the error paths to ensure they free all allocated
resources on error.
I also realised that there are other callers to saa7146_pgtable_free()
which did not have any sg DMA mapped so it seems wrong to add the
pci_unmap_sg() into that function. Instead I created
saa7146_vmalloc_destroy_pgtable() to do this.
Also included in this patch are the previous fixes for pci_unmap_sg()
and syncing the PCI streamed data to work with a SWIOTLB and match the
requirements documented in DMA-API.txt.

Signed-off-by: Jon Burgess <jburgess777@googlemail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:42 -03:00
holger@muscate-magnussen.de
4d84517001 V4L/DVB (5578): Workaround for bad hardare/firmware on some pluto2 devices
pluto2_driver: Workaround for pluto2 card reporting wrong number of
received packets and flooding system with interrupts.

This patch constitutes a workaround for a hardware/firmware problem of the
pluto2-based card (e.g., Satelco EasyWatch).

It can happen in rare cases that the card gets into a mode where it
always reports back a number of received packets (nbpackets) which is
larger than the maximum permissible number of packets (TS_DMA_PACKETS).
The workaround that is already in the driver in function pluto_dma_end
reports back zero received packets. In spite of the (in reality) zero
received packets the card continues to generate interrupts at a very
high rate, which can effectively stall the system.

The patch resets the TS logic, which puts the card back into normal
operations.

Signed-off-by: Holger Magnussen <holger@muscate-magnussen.de>
Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09 10:12:35 -03:00
Michael Opdenacker
59c51591a0 Fix occurrences of "the the "
Signed-off-by: Michael Opdenacker <michael@free-electrons.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-05-09 08:57:56 +02:00
Robert P. J. Day
beb7dd86a1 Fix misspellings collected by members of KJ list.
Fix the misspellings of "propogate", "writting" and (oh, the shame
:-) "kenrel" in the source tree.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-05-09 07:14:03 +02:00
Randy Dunlap
e63340ae6b header cleaning: don't include smp_lock.h when not used
Remove includes of <linux/smp_lock.h> where it is not used/needed.
Suggested by Al Viro.

Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:07 -07:00
Linus Torvalds
89661adaae Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (59 commits)
  PCI: Free resource files in error path of pci_create_sysfs_dev_files()
  pci-quirks: disable MSI on RS400-200 and RS480
  PCI hotplug: Use menuconfig objects
  PCI: ZT5550 CPCI Hotplug driver fix
  PCI: rpaphp: Remove semaphores
  PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry
  PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
  PCI: rpaphp: Document is_php_dn()
  PCI: rpaphp: Document find_php_slot()
  PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot()
  PCI: rpaphp: refactor tail call to rpaphp_register_slot()
  PCI: rpaphp: remove rpaphp_set_attention_status()
  PCI: rpaphp: remove print_slot_pci_funcs()
  PCI: rpaphp: Remove setup_pci_slot()
  PCI: rpaphp: remove a call that does nothing but a pointer lookup
  PCI: rpaphp: Remove another wrappered function
  PCI: rpaphp: Remve another call that is a wrapper
  PCI: rpaphp: remove a function that does nothing but wrap debug printks
  PCI: rpaphp: Remove un-needed goto
  PCI: rpaphp: Fix a memleak; slot->location string was never freed
  ...
2007-05-04 18:04:29 -07:00
Jean Delvare
6473d160b4 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>
2007-05-02 19:02:35 -07:00
David Brownell
2096b956d2 i2c: Shrink struct i2c_client
This shrinks the size of "struct i2c_client" by 40 bytes:

 - Substantially shrinks the string used to identify the chip type
 - The "flags" don't need to be so big
 - Removes some internal padding

It also adds kerneldoc for that struct, explaining how "name" is really a
chip type identifier; it's otherwise potentially confusing.

Because the I2C_NAME_SIZE symbol was abused for both i2c_client.name
and for i2c_adapter.name, this needed to affect i2c_adapter too.  The
adapters which used that symbol now use the more-obviously-correct
idiom of taking the size of that field.

JD: Shorten i2c_adapter.name from 50 to 48 bytes while we're here, to
avoid wasting space in padding.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2007-05-01 23:26:28 +02:00
Marco Gittler
86534e5e8e V4L/DVB (5558): Opera: use 7-bit i2c addresses
- the tuner i2c addr now without define (as wanted).
- now 7 bit addr are used (the power_ctrl fkt ist ok so,
  because this is a raw write)
- the addr >> 1 , addr << 1 is ok so, i think beause the
  read write is now taken from the last bit.
- now i have no datasheet for the device, all taken from usb-logs

Signed-off-by: Marco Gittler <g.marco@freenet.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:59 -03:00
Hartmut Birr
dc120b0734 V4L/DVB (5544): Budget-av: Make inversion setting configurable, add KNC ONE V1.0 card
Make the inversion setting configurable. The KNC ONE V1.0 uses
non inverted setting for the inversion and add the KNC ONE V1.0 card.

Signed-off-by: Hartmut Birr <e9hack@googlemail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:48 -03:00
Hartmut Birr
aa323ac89c V4L/DVB (5543): Tda10023: Add support for frontend TDA10023
Add support for the frontend TDA10023 and add cards that need the
tda10023.

Signed-off-by: Hartmut Birr <e9hack@googlemail.com>
Signed-off-by: Georg Acher <acher@in.tum.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:47 -03:00
Hartmut Birr
fd9c66e269 V4L/DVB (5542): Budget-av: Remove polarity switching of the clock for DVB-C
Remove the polarity switching of the clock for the DVB-C cards in
budget-av.c. This hack is no longer necessary because the saa7146 can
do the job to remove the additional FEC bytes from the TS.

Signed-off-by: Hartmut Birr <e9hack@googlemail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:46 -03:00
Marco Gittler
941491f3a5 V4L/DVB (5532): Add support for Opera S1- DVB-USB
This patch adds support for DVB-Opera S1 USB 2.0 BOX.

Signed-off-by: Marco Gittler <g.marco@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:42 -03:00
Akinobu Mita
66ab6e023e V4L/DVB (5513): Bt878: prevent probing wrong card entry
I got strange message when I did modprobe bt878:
bt878_probe: card id=[0x0],[ <NULL> ] has DVB functions.
The card_list array is terminated by sentinel entry.
But this list is traversed by:
for (i = 0, dvb_cards = card_list; i < ARRAY_SIZE(card_list);
     i++, dvb_cards++) {
...
}
in bt878_probe().
So this loop checks dummy sentinel entry, too.
This patch removes unnecessary sentinel entry.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:39 -03:00
Markus Rechberger
2c4d336468 V4L/DVB (5512): Fix 3/3 for bug 7819: fixed hotplugging for dvbnet
fixed hotplugging for dvbnet

Signed-off-by: Michal CIJOML Semler <cijoml@volny.cz>
Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:32 -03:00
Markus Rechberger
57861b432b V4L/DVB (5511): Fix 2/3 for bug 7819: demux and dvr
fixing hotplug issue for demux[n] and dvr[n]

Signed-off-by: Michal CIJOML Semler <cijoml@volny.cz>
Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:31 -03:00
Markus Rechberger
ca5be9cd05 V4L/DVB (5510): Fix 1/3 for bug 7819: fixed frontend hotplug issue
fixed frontend hotplug issue

Signed-off-by: Michal CIJOML Semler <cijoml@volny.cz>
Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:30 -03:00
Hendrik Borghorst
4f210e0722 V4L/DVB (5505): Fix Kernel Bugzilla #8301: spinlock fix for flexcop-pci
If you modprobe the b2c2-flexcop-pci module you got a hardlock of your system.
This is due the usage of spin_lock before spin_lock_init is called.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:29 -03:00
Trent Piepho
4b9d4e7dba V4L/DVB (5494): Lgdt330x: Fix some warnings
It's KERN_WARNING "lgdt....", not "KERN_WARNING lgdt...."

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:24 -03:00
Hartmut Hackmann
9971f4f1d3 V4L/DVB (5485): Tda827x: delayed probing of tuner version
When the tuner is attached, the tda10046 is not initilized yet, so it
is searching for its firmware. If the tuner is attached to the tda10046
silent i2c port, a bus collision can occur. Now the version is probed
during the first init or sleep call.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:45:17 -03:00
Pierre Willenbrock
d4ca23b188 V4L/DVB (5459): M920x: add support for Anubis Electronics / MSI Digi Vox Mini II
Add support for Anubis Electronics "Lifeview" (USB-ID: 0x10fd:0x1513)

Signed-off-by: Pierre Willenbrock <pierre@pirsoft.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:59 -03:00
Hartmut Hackmann
08cdf94c07 V4L/DVB (5458): Tda1004x: add ts_mode option to config struct
The struct tda1004x_config has a new entry: .ts_mode
Possible values are TDA10046_TS_PARALLEL or TDA10046_TS_SERIAL
There always is only one interface active, default is parallel.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:58 -03:00
Trent Piepho
d519dcf61e V4L/DVB (5457): Dvb-pll: Replace sleep function with a more capable one
The dvb-pll sleep function could only send a 2-byte sequence to the PLL.
This isn't enough in some cases, for example fmd1216me will need to send
a 4-byte command to set both BB and AB to the correct values.

Instead of using a fake band with a frequency of 0 to store the sleep
data (which has room for only two bytes), the new sleep function works
like the init function.  A new pointer is added to the pll description,
and when non-NULL points to a buffer with the length and data to send.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:57 -03:00
Trent Piepho
df78cb0a18 V4L/DVB (5456): Dvb-pll: Move IF frequency from per-band data to per-tuner data
The IF frequency was specified for each band, but it's not something that
changes from band to band.  None of the tuner definitions had a different
IF frequency (called offset) from one band to another.
Acked-by: Michael Krufky <mkrufky@linuxtv.org>

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:56 -03:00
Trent Piepho
0fd17d6da8 V4L/DVB (5455): Dvb-pll: Adjust rounding to be consistent
Some PLLs had one half the step size added to the offset, so that the
divisor would be rounded to the nearest integer.  Some didn't and so
would always be rounded down.

This makes dvb-pll round to the nearest when calculating the divisor,
without the offset needing to be fudged.  PLLs that had a fudged offset
have the offset changed to be just the IF frequency.
The satellite PLL dvb_pll_philips_sd1878_tda8261 was rounding up for some
reason, and I've kept it that way.

In addition, frequencies that were rounded to the nearest kHz are
extended to full Hz resolution.  One sixth MHz step sizes that were
listed as 166,666 Hz are changed to 166,667 Hz, which is slightly closer.

PLLs that were already rounding:
dvb_pll_tda665x, offset was 36 1/6 (to nearest kHz) + step/2
dvb_pll_fmd1216me, offset was 36 1/8 (to two digits) + step/2
dvb_pll_thomson_fe6600, offset was 36 1/8 (to two digits) + step/2
dvb_pll_env57h1xd5, offset was 36 1/8 + step

Note that the last PLL, dvb_pll_env57h1xd5, appears to have had a bug in
the offset.  Rather than adding stepsize/2, it was adding a full
stepsize.  The PLL definition originally came from the dibusb driver,
which used 36 1/8 + step/2.  The change to 36 1/8 + step was probably a
mistake added when the tuner was converted to dvb-pll.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:56 -03:00
Pierre Willenbrock
59069e53a2 V4L/DVB (5449): M920x: add error messages for debugging purposes
Signed-off-by: Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:54 -03:00
Aapo Tahkola
7d1d4e6c58 V4L/DVB (5448): M920x: rename megasky_identify_state to m920x_identify_state
This function should work for all m920x-based devices.

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:53 -03:00
Oliver Endriss
1b2457680f V4L/DVB (5440): Dvb-ttpci: Infrared remote initialization fix
Fix bug introduced during infrared refactoring.
Thanks to Johann Friedrichs for spotting this.

Thanks-to: Johann Friedrichs <johann.friedrichs@web.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:49 -03:00
Trent Piepho
57f8dcf90b V4L/DVB (5428): M920x: Detect zero-length I2C messages and fix a typo
Change a 00 to just 0
Detect zero-length I2C messages and return not supported.  I think I know
how to send one, but the problem is getting the slave's ack.  The only
point of a zero-length message is for probing; too see if the slave will
ack its address.  Since we don't know how to get the ack, we can't
support zero-length messages in a useful way, so it's probably best to
just return not supported for them.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:43 -03:00
Trent Piepho
d40860f8e2 V4L/DVB (5427): M920x: Improve I2C operations
Write some better documentation about what might be known about how the
m920x I2C works, since a datasheet is lacking.
The I2C xfer function should now handle more types of I2C transactions
than it could before.  Those it can't, will return error codes instead of
being executed incorrectly.  Multi-byte reads were not being done
correctly, which should be fixed.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:42 -03:00
Aapo Tahkola
634bc48da7 V4L/DVB (5426): M920x: remove unneeded code
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:41 -03:00
Aapo Tahkola
480ac76172 V4L/DVB (5425): M920x: rework driver code to allow for different devices
Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:41 -03:00
Aapo Tahkola
26a154c355 V4L/DVB (5424): Fix i2c implementation for gl861 and au6610
- r/w bit is not part of the i2c address

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:36 -03:00
Aapo Tahkola
26247018be V4L/DVB (5423): M920x: i2c cleanups
- Implement m920x i2c as suggested by Pierre Willenbrock
- remove "magic" hack
- r/w bit is not part of the i2c address
- move hardware remarks to header file

Signed-off-by: Aapo Tahkola <aet@rasterburn.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:35 -03:00
Oliver Endriss
14500d4a51 V4L/DVB (5381): Dvb-ttpci: Update frontend lock status in transfer mode (bugfix)
In transfer/replay mode the frontend lock status was never updated.
This caused a 'black screen' if VDR switched from transfer mode to
live mode on the same transponder.
Thanks to Marco Schluessler for spotting the problem.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:14 -03:00
Trent Piepho
d9e54324d0 V4L/DVB (5374): Or51132: refactor i2c code, improve error resilience
The code the i2c transactions was leftover from the old V4L-based ATSC
driver.  It did too little with too much code.  It is re-written to
remove unnecessary parameters and be more efficient.  A demod register
can now be read with one function call, instead of repeating a dozen line
block of code each time.

There were msleep()'s, which appear to be unnecessary, spread around all
the I2C transactions.  These have been removed.  Reading SNR used to take
about 130 ms, now it's down to 1.8 ms.

Reads from the demodulator's registers do not return correct results
sometimes.  Adding or removing the delays in the I2C transactions did not
appear to effect the probability of failure.  If anything, the
transactions without delays were less likely to fail, but since far more
transactions could be made per second the number of failures per hour was
greater.

To increase reliability, the SNR and get_params functions will now retry
once if they get bad data back.  This appears to have reduced the
probability of failure to effectively zero.
Some error messages are cleaned up or given KERN_* levels when they were
missing.  

or51132_setmode() wasn't returning correct error codes, which is fixed as
well.

CC: Rusty Scott <rustys@ieee.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:09 -03:00
Dennis Ranke
387e69adff V4L/DVB (5373): [PATCH] Hauppauge Nova-T endianess problem on powerpc
When trying to use a Hauppauge Nova-T Stick on a big-endian architecture
(such as powerpc) no frontend can be attached.
The attached patch fixes this problem by removing two lines in
dib0700_ctrl_rd() that try to correct the endianess on two values that
already are correct:
-       /* think about swapping here */
-       value = le16_to_cpu(value);
-       index = le16_to_cpu(index);
With this simple patch this dvb hardware works great, thanks to anyone
involved for the good work. :)

Signed-off-by: Dennis Ranke <mail@exoticorn.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:09 -03:00
Christophe Cattelain
ddc9ece89d V4L/DVB (5371): [PATCH] Pinnacle PCTV Sat Pro USB (450e) support by ttusb2.c (400e driver)
Added USB_PID_PCTV_450E to the 'usb_device_id ttusb2_table' and an entry in the
.devices table.  The 400e driver now supports the 'Pinnacle PCTV Sat Pro USB
(450e)' with USB_ID 2304:0222.

Signed-off-by: Christophe Cattelain <xof@skynet.be>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:08 -03:00
Hartmut Hackmann
ede2200d79 V4L/DVB (5369): Fixed 1 byte too short buffer in tda827x.c
- The i2c data buffer in tda827xa_set_params was 1 byte too short
- saa7134-dvb now gives an error mesage if tda827x could not be attached
- coding style fix in tda1004x.c

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:07 -03:00
Trent Piepho
6bdcc6e6db V4L/DVB (5363): Dvb: Remove lgh06xf driver
The code of the dvb-pll driver and the lgh06xf driver is nearly
identical.  The main difference is that the lgh06xf driver would set the
AGC TOP value on every tune call.  The dvb-pll driver now has the ability
to set the AGC TOP when the front-end device is opened, which is a better
way to go about it.  By using this ability of dvb-pll, the lgh06xf driver
is made unnecessary.

There is one other difference.  dvb-pll will probe for the presence of an
I2C pll chip by doing a one byte read, the lgh06xf driver did not do
this.  In some devices the PLL is not reachable over I2C at the timer the
tuner is attached.  Some more initialization, such as firmware loading,
must take place first.  None of the devices using a LG-H06xF should have
this problem.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:05 -03:00
Trent Piepho
26aed92289 V4L/DVB (5362): Dvb-pll: add code for doing tuner initialization
Some tuners need or benefit from initialization, to change certain
settings from their power on default values.

Typically, tuners with TUA603x PLLs can benefit from setting the AGC TOP
value to something else.  This patch includes code to set the AGC TOP to
103 dBuV for the Thomson DTT-761x tuners, which I have experimentally
verified gives the best SNR readings, increasing SNR by about 0.19 dB
over the default value.

Other tuners can make use of this as well.  For example, the separate LG
TDVS-H06xF driver's only difference from dvb-pll is this same setting of
AGC TOP value.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:04 -03:00
Trent Piepho
9ab1ba38e6 V4L/DVB (5361): Dvb-pll: Fix Kconfig files and allow dvb-pll to be optional
A number of drivers selected DVB_PLL when they did not need it, and some
that did need it did not select it.

The DVB_PLL option is given a name and help text, so that it will show up
in the config menu.  DVB_PLL support can be turned on if an out-of-tree
driver needs it.

The standard dvb fe customization support is added to dvb-pll.h.  Since
all modules which select DVB_PLL do so unconditionally, it is not
possible to turn dvb-pll off when an enabled module selects it, unlike
most of the other frontend/tuner drivers.  This is because the users of
dvb-pll have static references to dvb-pll symbols other than the attach
function.  If these references are removed, then dvb-pll will be
disablable as the other frontend/tuner drivers are.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:01 -03:00
Trent Piepho
982dd1bdaa V4L/DVB (5360): Dvb-pll: Use sizeof() to get name length
Better to use sizeof() to get the size of the output buffer for the tuner
name, instead of just hard coding 128.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:00 -03:00
Oliver Endriss
ac52ea3c3c V4L/DVB (5344): Dvb-ttpci: Support for MSC_RAW and MSC_SCAN RC events
Support for MSC_RAW and MSC_SCAN remote control events.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:48 -03:00
David Hrdeman
145859cb8f V4L/DVB (5335): Budget-ci: Use the repeat handling of the input subsystem
The attached patch contains the last set of changes to the budget-ci IR
handling which makes it use the repeat handling of the input subsystem.
This allows some code simplification, makes sure that repeat key presses
are reported as such and also allows the "debounce" hack to be removed
altogether.
In addition a couple of static variables were removed which would have
confused the IR code if more than one card is used.

Signed-off-by: David Hardeman <david@hardeman.nu>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:46 -03:00
Oliver Endriss
ee820a648f V4L/DVB (5334): Dvb-ttpci: Infrared remote control refactoring
Infrared remote control support rewritten.
Now each device provides its own event device, keymap, protocol,
inversion and address setting.
EVIOCGKEYCODE and EVIOCSKEYCODE ioctls are supported to read/modify
a keymap. Keymaps may be loaded using
- input tools (keyb etc.)
- av7110_loadkeys (obsolete, for backward compatibility)
New command line parameters:
- ir_protocol:    select infrared protocol: 0 RC5, 1 RCMM (default)
- ir_inversion:   signal inversion: 0 not inverted (default), 1 inverted
- ir_device_mask: bitmask of infrared devices (default: accept all)
Those parameters may be set anytime.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:45 -03:00
Hartmut Hackmann
11f65106ad V4L/DVB (5320): Filled in limiting values in tda827x.c
The parameters for minimum and maximum frequency were missing.
Also added mail addresses of the module authors.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:37 -03:00
Hartmut Hackmann
6871758355 V4L/DVB (5319): Set tda827x to sleep mode after attach
This change sets the tda827x to sleep mode right after attach in dvb
mode. It is just to save power. For the same reason, the ADC of the
tda10046 gets turned off in sleep mode.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:36 -03:00
Michael Krufky
8ce47dad8e V4L/DVB (5317): Create tda827x dvb tuner module
The patch moves the tda827x dvb tuning code to a separate module

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:35 -03:00
Hartmut Hackmann
f4546e702a V4L/DVB (5315): Tda1004x: check request firmware for NULL ponter again
In older versions, this was used to decide whether to boot from
eeprom or file. This is no longer necessary but the check helps to avoid
an oops with misconfigured cards.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:33 -03:00
Hartmut Hackmann
1bb0e8667f V4L/DVB (5311): Tda1004x driver updates
There are the following changes:
- separate configuration of IF and GPIOs.
- set GPIOs before firmware load. This helps to avoid I2C address
  collisions.
- if desired invert GPIOs at sleep (automatic return to analog mode of card).
- added 3 tuner configuration bytes to config stuct.
- added i2c gate address to config struct.
- moved _state struct declaration to header file to make it accessible
  on board layer.
- added "conf_probed" to the state struct to allow i.e. probing for correct
  tuner version.
- changed firmware load mechanism to always:
  + check if already loaded
  + try to boot from eeprom
  + try downlad from host
- corrected name of tda10046 firmware image (backward compatible).

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:29 -03:00
Hans Verkuil
2435be11ae V4L/DVB (5307): Add support for the cx23415 MPEG decoding features.
The cx23415 adds some extra features that this DVB decoding API did
not support. This API has been expanded to support the required
features. Both source and binary backwards compatibility is kept
intact by these changes. So existing applications are not affected.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:28 -03:00
Mauro Carvalho Chehab
acf2821282 V4L/DVB (5297): Fix identation on tda10021.c
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:24 -03:00
Adrian Bunk
3721929ed3 V4L/DVB (5293): Make dvb_usb_gl861_debug static
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-04-27 15:43:23 -03:00
Arnaldo Carvalho de Melo
d626f62b11 [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}
To clearly state the intent of copying from linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2007-04-25 22:28:23 -07:00
Arnaldo Carvalho de Melo
27a884dc3c [SK_BUFF]: Convert skb->tail to sk_buff_data_t
So that it is also an offset from skb->head, reduces its size from 8 to 4 bytes
on 64bit architectures, allowing us to combine the 4 bytes hole left by the
layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4
64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...
:-)

Many calculations that previously required that skb->{transport,network,
mac}_header be first converted to a pointer now can be done directly, being
meaningful as offsets or pointers.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-04-25 22:26:28 -07:00
Arnaldo Carvalho de Melo
98e399f82a [SK_BUFF]: Introduce skb_mac_header()
For the places where we need a pointer to the mac header, it is still legal to
touch skb->mac.raw directly if just adding to, subtracting from or setting it
to another layer header.

This one also converts some more cases to skb_reset_mac_header() that my
regex missed as it had no spaces before nor after '=', ugh.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-04-25 22:24:41 -07:00
Olaf Kirch
d791d413fd DVB: dvb-usb-remote - fix oops when changing keymap
DVB USB remotes do not support changing keycode maps but set
input_dev->keycodesize and input_dev->keycodemax without setting
input_dev->keycode. This causes kernel oops when user tries to
look up (or change) current keymap.

While the proper fix would be to make remotes handle keymap changes
we'll just remove keycodemax and keycodesize initialization so
EVIOCGKEYCODE and EVIOCSKEYCODE will simply return -EINVAL.

http://bugzilla.kernel.org/show_bug.cgi?id=8312

Signed-off-by: olaf.kirch@oracle.com
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-13 18:35:39 -07:00
Andreas Oberritter
1489f90a49 V4L/DVB (5496): Pluto2: fix incorrect TSCR register setting
The ADEF bits in the TSCR register have different meanings in read and
write mode. For this reason ADEF has to be reset on every
read-modify-write operation.
This patch introduces a special write function for this register, which
takes care of it.

Thanks to Holger Magnussen for pointing my nose at this problem.

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-02 11:03:05 -03:00
Andreas Oberritter
d420cb4469 V4L/DVB (5495): Tda10086: fix DiSEqC message length
Setting the message length to zero means to send one byte, so you need a
subtraction instead of an addition.

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-02 11:03:04 -03:00
Thomas Viehweger
09d4895488 V4L/DVB (5472): Isl6421: don't reference freed memory
After freeing a block there should be no reference to this block.

Signed-off-by: Thomas Viehweger <Thomas.Viehweger@marconi.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-27 08:45:56 -03:00
Simon Arlott
c278850206 V4L/DVB (5400): Core: fix several locking related problems
Fix several instances of dvb-core functions using mutex_lock_interruptible
and returning -ERESTARTSYS where the calling function will either never
retry or never check the return value.
These cause a race condition with dvb_dmxdev_filter_free and
dvb_dvr_release, both of which are filesystem release functions whose
return value is ignored and will never be retried.  When this happens it
becomes impossible to open dvr0 again (-EBUSY) since it has not been
released properly.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-By: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-27 08:45:54 -03:00
Michael Krufky
f5ae29e284 [PATCH] cx88-dvb: fix nxt200x rf input switching
After dvb tuner refactoring, the pllbuff has been altered such that the pll
address is now stored in buf[0].  Instead of sending buf to set_pll_input,
we should send buf+1.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Ivan Andrewjeski <ivan@fiero-gt.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-24 16:49:22 -07:00
Jin-Bong lee
1d1370a48c V4L/DVB (5276): Cxusb: fix firmware patch for big endian systems
Without this patch, the device will not be detected after firmware download
on big endian systems.

Signed-off-by: Jin-Bong lee <jinbong.lee@samsung.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-01 13:09:45 -02:00
Michael Krufky
2fe22dcdc7 V4L/DVB (5295): Digitv: open nxt6000 i2c_gate for TDED4 tuner handling
dvb-pll normally opens the i2c gate before attempting to communicate with
the pll, but the code for this device is not using dvb-pll.  This should
be cleaned up in the future, but for now, just open the i2c gate at the
appropriate place in order to fix this driver bug.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-01 13:09:45 -02:00
Michael Krufky
f6982d5948 V4L/DVB (5253): Qt1010: whitespace / 80 column cleanups
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:33 -02:00
Michael Krufky
47e76c5c79 V4L/DVB (5252): Qt1010: use ARRAY_SIZE macro when appropriate
Use ARRAY_SIZE macro already defined in kernel.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:33 -02:00
Marco Schluessler
b79ea694a9 V4L/DVB (5251): Qt1010: fix compiler warning
In function 'qt1010_init':

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:33 -02:00
Hartmut Birr
90e3bd4ba5 V4L/DVB (5247): Stv0297: Enable BER/UNC counting
Enable BER/UNC counting for the stv0297 frontend.
The idea for this patch comes from stv0297_cs.c.

Signed-off-by: Hartmut Birr <e9hack@googlemail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:32 -02:00
David Hrdeman
59327a4897 V4L/DVB (5246): Budget-ci: IR handling fixups
Commit 00c4cc6751 Oliver Endriss changed 
the budget-ci driver to use interrupt mode for i2c transfers.

This also meant that a new bunch of IR bytes that were previously lost 
are now received, which allowed me to better understand how the MSP430 
chip works. Unfortunately it also means that the current driver gets 
some assumptions wrong and might generate double keypresses for one IR 
command. 

The attached patch fixes this by throwing away the repeat bytes and by 
associating the correct command and device bytes.

Signed-off-by: David Hrdeman <david@hardeman.nu>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:32 -02:00
Marco Schluessler
89e4d59f2c V4L/DVB (5245): Dvb-ttpci: use i2c gate ctrl from stv0297 frontend driver
Use i2c gate ctrl from stv0297 frontend driver.

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:31 -02:00
Marcel Siegert
b619010247 V4L/DVB (5244): Dvbdev: fix illegal re-usage of fileoperations struct
Arjan van de Ven <arjan@infradead.org> reported an illegal re-usage of 
the fileoperations struct if more than one dvb device (e.g. frontend) is 
present. 

This patch fixes this issue.  

It allocates a new fileoperations struct each time a device is 
registered and copies the default template fileops.

Signed-off-by: Marcel Siegert <mws@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:31 -02:00
Chris Rankin
e1af498063 V4L/DVB (5178): Avoid race when deregistering the IR control for dvb-usb
The work item function is dvb_usb_read_remote_control():
        INIT_WORK(&d->rc_query_work, dvb_usb_read_remote_control, d);
and the last piece of work it does is:
        schedule_delayed_work(&d->rc_query_work,msecs_to_jiffies(d->props.rc_interval));
Hence you need to call "cancel_rearming_delayed_work()" and not
"cancel_delayed_work()", correct?  I certainly haven't seen this oops
reoccur since I applied this patch.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:31 -02:00
Antti Palosaari
705d41e5da V4L/DVB (5240): Qt1010: use i2c_gate_ctrl where appropriate
This patch adds calls to i2c_gate_ctrl in the qt1010 dvb tuner module,
while removing the temporary hack in au6610 and gl861.
Tested successfully against fi-Oulu frequencies with
MSI Megasky 580 GL861 and Sigmatek DVB-110 AU6610.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:31 -02:00
Michael Krufky
38d0629fd8 V4L/DVB (5239): Whitespace / 80-column cleanups
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:30 -02:00
Michael Krufky
d4130b18f7 V4L/DVB (5238): Kconfig: qt1010 should be selected by gl861 and au6610
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:30 -02:00
Antti Palosaari
4c7e3ea92d V4L/DVB (5237): Dvb: add new qt1010 tuner module
gl861: (MSI Megasky)
- hack for enable ZL10353 / QT1010 I2C gate
- use new QT1010 module instead of old code

au6610: (Sigmatek DVB-110)
- hack for enable ZL10353 / QT1010 I2C gate
- use new QT1010 module instead of old code

Tested successfully with au6610 and gl861 devices against fi-Yllas
frequencies. Now it locks perfectly with both devices.
There is a "hack" to enable probable i2c gate in zl10535
demodulator. QT1010 doesn't respond to any i2c messages before we
write 0x1a to demodulator register 0x62. In my understanding this
should be fixed to demodulator code.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:30 -02:00
Antti Palosaari
5decdd2729 V4L/DVB (5236): Initial support for Sigmatek DVB-110 DVB-T
This patch adds driver for Sigmatek DVB-110 USB DVB-T stick. Stick has based
on hardware of Qtuantek QT1010 tuner, Zarlink ZL10353 (Intel CE 6353)
demodulator and Alcor Micro AU6610 DVB-T USB controller. HW is rather similar
as used in MSI Megasky GL861.
Currently, the driver works only in USB 2.0. In my understanding USB 1.1 is
also supported by hw but I cannot test it due to lack of USB 1.1 port. Device
supports only isochronous mode transfers. There is also eeprom in usb
controller(at least in address range 0x80 - 0xbf) for storing data, eg.
firmware. Anyway, firmware loading is not used / required by the device.
There seems to be at least one unknown I2C device in address 0xa0, probably
remote control or GPIO. Windows drivers reads registers from 0x00 to 0x07
from this unknown address.
Driver is based on gl861 module. Tuner has a lot of problems to lock with
megasky qt1010 module with this hardware with some broadcasting standards.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:30 -02:00
Carl Lundqvist
4131fd4fd4 V4L/DVB (5235): Gl861: use parallel_ts
- use parallel_ts - Now this driver works.
- correct typo in MODULE_VERSION

Signed-off-by: Carl Lundqvist <comabug@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:29 -02:00
Michael Krufky
05eb2a8058 V4L/DVB (5234): Gl861: remove unneeded declaration
remove unneeded declaration of .generic_bulk_ctrl_endpoint

generic_bulk_ctrl_endpoint isn't being used in this device, so this
is not needed here.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:29 -02:00
Jan Nijs
8c0b24c2d2 V4L/DVB (5233): Gl861: correct address of the bulk endpoint
The megasky 580 based on gl861 has three endpoints:
- 0x81 BULK/ISOC	IN	MPEG2 TS
- 0x83 INT			IN	remote control receiver
- 0x02 BULK			OUT	bulk control endpoint
It doesn't look like the bulk endpoint is used, but better to
have the correct one in the config.

Signed-off-by: Jan Nijs <jan.nijs@scarlet.be>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:29 -02:00
Jan Nijs
b3b2b8b574 V4L/DVB (5232): Gl861: correct oops when loading module
This patch moves the DVB_USB_IS_AN_I2C_ADAPTER flag from the adapter
properties to the device properties.
Without this patch I get an OOPS when the gl861 driver tries to
access any registers.

Signed-off-by: Jan Nijs <jan.nijs@scarlet.be>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:28 -02:00
Michael Krufky
1f78867bc8 V4L/DVB (5231): Gl861: whitespace cleanups
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:28 -02:00
Michael Krufky
e465ea7ed1 V4L/DVB (5230): Gl861: remove NULL entry from gl861_properties
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:28 -02:00
Michael Krufky
6ae7232084 V4L/DVB (5229): Gl861: use qt1010_tuner_attach function from qt1010.h
The gl861_tuner_attach function is not specific to this device.
This patch removes gl861_tuner_attach, and replaces it with
qt1010_tuner_attach from the qt1010 header file.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:28 -02:00
Michael Krufky
8bb36dc7b5 V4L/DVB (5228): Gl861: remove unneeded "extern int" declaration
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:27 -02:00
Michael Krufky
73b96c09f6 V4L/DVB (5227): Gl861: hide disabled code from upstream patch system
enclose disabled code inside an #if 0 block, instead of /* comments */

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:27 -02:00
Michael Krufky
05ec6cc88c V4L/DVB (5226): Gl861: fix driver_name
Rename driver_name from "gl861" to "dvb_usb_gl861"

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:27 -02:00
Michael Krufky
947af8fdcd V4L/DVB (5225): Gl861: fix MODULE_AUTHOR
The author's email address is already in the MODULE_AUTHOR field.
This patch adds his name as well.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:26 -02:00
Michael Krufky
a9bde1d88c V4L/DVB (5224): Gl861: select DVB_ZL10353 if !DVB_FE_CUSTOMISE
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:26 -02:00
Michael Krufky
6f7880f026 V4L/DVB (5223): Rename USB_PID_MSI_MEGASKY55801 to USB_PID_MSI_MEGASKY580_55801
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:25 -02:00
Carl Lundqvist
f0c3a2ca56 V4L/DVB (5221): Dvb-usb: initial support for MSI Mega Sky 580 DVB-T based on GL861
This patch adds support for MSI Mega Sky 580 / GL861 DVB-T USB2.0
Except for the 2 lines added to zl10353.c, zl10353_reset_attach needs
to be changed. If I read the code correctly setting parallel_ts will
take care of the 3rd byte, but the 2nd byte needs to be 0x0b instead
of 0x03 too. I guess these changes needs to be done only for this
device, not sure how to do that.
The zl10353 changes have been split apart from this patch, into the next
patch, soon to follow.

Signed-off-by: Carl Lundqvist <comabug@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:25 -02:00
Chris Pascoe
6345f0f642 V4L/DVB (5218): Zl10353: register definitions update
Update the descriptions of "discovered" registers on the zl10353, using the
equivalaent mt352 register names.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:25 -02:00
Antti Palosaari
f7f57770dc V4L/DVB (5217): Zl10353: Implement TRL nominal rate calculation
Implement trl nominal rate calculation to Zarlink ZL10353 demod,
based on calculation used in Zarlink MT352.
This adds support for 6 and 8MHz bandwidth transponders.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:24 -02:00
Antti Palosaari
0a11bb865a V4L/DVB (5216): Zl10353: add i2c_gate_ctrl support
Implement I2C gate control for Megasky GL861 and SigmaTek AU6610 support.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:21 -02:00
Chris Pascoe
67b60aad16 V4L/DVB (5215): Experimental support for signal strength/BER/uncorrectable count
After studying many hours worth of register dumps of MT352 and ZL10353 fed
with identically damaged RF signals I have made an educated guess at which
registers contain the AGC level, bit error rate and uncorrectable error
count values.
Implement the IOCTLs that return these values to userspace.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:21 -02:00
akpm@linux-foundation.org
6591691b25 V4L/DVB (5209): Kthread api conversion for dvb_frontend and av7110 fix
avoid double-up(), pointed out by Oliver.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:20 -02:00
Herbert Poetzl
8eec14295e V4L/DVB (5208): Kthread API conversion for dvb_frontend and av7110
dvb kernel_thread to kthread API port.  
It is running fine here, including module load/unload and software suspend
(which doesn't work as expected with or without this patch :).
I didn't convert the dvb_ca_en50221 as I do not have such an interface, but
if the conversion process is fine with the v4l-dvb maintainers, it should not
be a problem to send a patch for that too ...
Acked-by: Oliver Endriss <o.endriss@gmx.de>

Signed-off-by: Herbert Poetzl <herbert@13thfloor.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:20 -02:00
Ahmed S. Darwish
0496daa7d8 V4L/DVB (5202): DVB: Use ARRAY_SIZE macro when appropriate
Use ARRAY_SIZE macro already defined in kernel.h

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:18 -02:00
Adrian Bunk
346304097b V4L/DVB (5195): Frontends: make 4 functions static
This patch makes four needlessly global functions static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:16 -02:00
Marco Schluessler
716a4e334e V4L/DVB (5189): Budget-av: Call saa7146_vv_release on exit
Call saa7146_vv_release on exit.

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:15 -02:00
Oliver Endriss
6c91449021 V4L/DVB (5188): Add separate configuration data for subsystem 0x13c2:0x1012
Fixed problem reported by Teemu Suikki:
After a device with subsystem 0x13c2:0x1012 has been installed,
devices with subsystem id 0x13c2:0x1011 did not work anymore.

Reason:
	The driver for 0x13c2:0x1012 modified shared configuration data.
Fix:
	Use separate configuration data for those devices.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:15 -02:00
Trent Piepho
6827709a61 V4L/DVB (5164): Compat: Handle input_register_device() change and some others
input_register_device() was changed to return an error code instead of
being void in 2.6.15.  Handle it with a macro wrapper in config.h.  For
this to work, linux/input.h must be included before config.h.  This
required some trivial header re-ordering in budget-ci.c and ttusb_dec.c.
In kernel 2.6.15-rc1 a helper function called setup_timer() was added to
linux/timer.h.  Add to compat.h, but require that linux/timer.h be
included first to give the definition of struct timer_list.
A new 4GB DMA zone, __GFP_DMA32, was added in 2.6.15-rc2.  Alias it to
__GFP_DMA on older kernels.
Handle another 2.6.15 "input_dev->dev to input_dev->cdev.dev" change for
some recently added code in cinergyT2.c.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:10 -02:00