Commit graph

907 commits

Author SHA1 Message Date
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 Härdeman
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