History log of /drivers/media/dvb/frontends/drxk_hard.c
Revision Date Author Comments
c0fdbd3367b4fd67d754a06292aa121956f98b6f 07-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk_hard: Remove dead code

As reported by Oliver, some old dead code were preserved there.

Thanks-to: Oliver endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
6cb393c82255c448a92754f2a2a6b715bd9418dc 05-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk_hard: fix locking issues when changing the delsys

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
fa4b2a171d42ffc512b3a86922ad68e1355eb17a 05-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: create only one frontend for both DVB-C and DVB-T

Instead of creating two DVB frontend entries for the same device,
create just one entry, and fill the delivery_system according with
the supported standards.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
9348393aaf59948de8f9826e2e45337ebc3b94da 05-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: remove ops.info.frequency_stepsize from DVB-C

ops.info.frequency_stepsize is used only for DVB-T & friends. For
DVB-C, the step size is calculated using the symbol rate.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
534e04810304a9c6715220b392aa387197d5fa15 24-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Add support for parallel mode and prints mpeg mode

While the driver has support for both serial and parallel mode,
There's was way to select serial mode via configuration. Add
a config option for that, while keeping the default in serial mode.

Also, at debug mode, it will now print a message when mpeg is
enabled/disabled, and showing if parallel or serial mode were
selected, helping developers to double-check if the DRX-K is at
the right mode.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
0d3e6fe7cb1b80719dbacfbfb0f668e2971e8a5f 22-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Improve a few debug messages

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
7581e61d8d7a3ed89a3fdac2235231cd36548f78 01-Jan-2012 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb: Remove ops->info.type from frontends

Now that this field is deprecated, and core generates it for
DVBv3 calls, remove it from the drivers.

It also adds .delsys on the few drivers where this were missed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ed5452a2ab90e4936572807debada676e36e2efe 26-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: convert set_fontend to use DVBv5 parameters

Instead of using dvb_frontend_parameters struct, that were
designed for a subset of the supported standards, use the DVBv5
cache information.

Also, fill the supported delivery systems at dvb_frontend_ops
struct.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
a689e3657d7e82c2271008553c709fc79fb2e038 22-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb-core: add support for a DVBv5 get_frontend() callback

Creates a DVBv5 get_frontend call, renaming the DVBv3 one to
get_frontend_legacy(), while not all frontends are converted.

After the conversion for all drivers, get_frontend_legacy()
will be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
bc9cd2736b34619b58961d506210fe0e6dfaa27d 20-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Rename set_frontend fops to set_frontend_legacy

Passing DVBv3 parameters to set_frontend is not fun, as the
core doesn't have any way to know if the driver is using the
v3 or v5 parameters. So, rename the callback and add a new
one to allow distinguish between a mixed v3/v5 paramenter call
from a pure v5 call.

After having all frontends to use the new way, the legacy
call can be removed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14d24d148c7521b2b88b396652e36f55d061e195 24-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] tuners: remove dvb_frontend_parameters from set_params()

This is a big patch, yet trivial: now that all tuners use the DVBv5
way to pass parameters (e. g. via fe->dtv_property_cache), the
extra parameter can be removed from set_params() call.

After this change, very few DVBv3 specific stuff are left at the
tuners.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
0d7d0ac87b7f023a4e76e7ea7a16e904d5a49ca1 18-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drx-k: report the supported delivery systems

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
fd66c45dd51000ff444231a94ac15ccab8cffd3d 18-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Remove Annex A/C selection via roll-off factor

Instead of using a roll-off factor, change DRX-K & friends to select
the bandwidth filter and the Nyquist half roll-off via delivery system.

This provides a cleaner support for Annex A/C switch.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
48763e2c6e76fbaa64229219593c1a456fd32c67 09-Dec-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Switch the delivery system on FE_SET_PROPERTY

The DRX-K doesn't change the delivery system at set_properties,
but do it at frontend init. This causes problems on programs like
w_scan that, by default, opens both frontends.

Instead, explicitly set the format when set_parameters callback is
called.

Tested-by: Eddi De Pieri <eddi@depieri.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
de72405f6fc1aaedc0412f88cf681ed33519c49a 20-Nov-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] em28xx: Fix CodingStyle issues introduced by changeset 82e7dbb

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

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

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

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

[mchehab@redhat.com: Tested with DVB-C and fixed a few whitespace issues]
Tested-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2440f7aff46af4187d0518e92adaddf475aa82b0 11-Nov-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Properly implement ITU-T J.88 Annex C support

The Annex C support were broken with the previous implementation,
as, at xc5000 and tda18271c2dd, it were choosing the wrong bandwidth
for some symbol rates.

At DRX-J, it were always selecting Annex A, even having Annex C
support coded there.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
8513e14457ad05c517f6f6f520c270a6eebf0472 03-Sep-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] dvb-core, tda18271c2dd: define get_if_frequency() callback

Tuners in general convert a high frequency carrier into an Intermediate
Frequency (IF).

Digital tuners like tda18271, xc3028, etc. generally allow changing the IF
frequency, although they generally have recommented settings for the IF.
Analog tuners, have a fixed IF frequency, that depends on the physical
characteristics of some analog components.

For digital tuners, it makes sense to have ways to configure IF,
via the tuner's configuration structure, like what's done inside the
tda18271-fe maps.

The demods need to know what IF is used by the tuner, as it will need
to convert internally from IF into baseband. Currently, the bridge driver
needs to fill a per-demod configuration struct for it, or pass it via
a dvb_attach parameter.

The tda18271 datasheet recommends to use different IF's for different
delivery system types and for different bandwidths.

The DRX-K demod also needs to know the IF frequency in order to work,
just like all other demods. However, as it accepts different delivery
systems (DVB-C and DVB-T), the IF may change if the standard and/or
bandwidth is changed.

So, the usual procedure of passing it via a config struct doesn't work.

One might try to code it as two separate IF frequencies, or even as a
table in function of the delivery system and the bandwidth, but this
will be messy.

So, it is better and simpler to just add a new callback for it and
require the tuners that can be used with MFE frontends like drx-k
to implement a new callback to return the used IF.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Antti Palosaari <crope@iki.fi>
119faf90ed79adfd4a8930f62c3b9592adf5d250 24-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Fix the logic that selects between DVB-C annex A and C

Fix the DRX-K logic that selects between DVB-C annex A and C

Fix a typo where DVB-C annex type is set via setEnvParameters, but
the driver, uses, instead, setParamParameters[2].

While here, cleans up the code, fixing a bad identation at the fallback
code for other types of firmware, and put the multiple-line comments
into the Linux CodingStyle.

Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f07a0bc111829707f1277c19467a7129ddb5aeb1 22-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Fix read debug message

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
e716adacef360fde5a5327ee95aa33dfca276c61 22-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Fix error return code during drxk init

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ab12f41f62ee8824bb2eec12c8dcbfb31dd4572a 15-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Remove goto/break after return

After return, we don't need any other statement to change the
function flux ;)

Reported-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
320ed23ebf135a3403a7068ede7ca7915675bd47 15-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Fix a bug at some switches that broke DVB-T

The error propagation changeset c23bf4402 broke the DVB-T
code.

The legacy way for propagate errors was:

do {
status = foo_func()
if (status < 0)
break;
} while (0);
return status;

However, on a few places, it was doing:
do {
switch(foo) {
case bar:
status = foo_func()
if (status < 0)
break;
break;
}
switch(foo2) {
case bar:
status = foo_func()
if (status < 0)
break;
break;
}
...
} while (0);
return (status)

The inner error break were not working, as it were breaking only
the switch, instead of the do. The solution used were to do a
s/break/goto error/ at the inner breaks, but preserving the last
break. Onfortunately, on a few switches, the replacement were
applied also to the final break for the case statements.

Fix the broken logic, by reverting them to break, where pertinent,
in order to fix DVB-T support.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
c4c3a3d32a2eac18dba04683bb5b7357402405c7 15-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Remove the double symbol increment hack from drxk_hard

Both ngene and ddbrige calls dvb_attach once for drxk_attach.
The logic used there, and by tda18271c2dd driver is different
from similar logic on other frontends.

The right fix is to change them to use the same logic, but,
while we don't do that, we need to patch em28xx-dvb in order
to do cope with ngene/ddbridge magic.

While here, document why drxk_t_release should do nothing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f165f60d4229ec4f34002f8dcae45a023586c8d7 11-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: remove a now unused variable

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
5eee2bb270e34b2e8b245838faef3f9455c69ce6 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Add a fallback method for QAM parameter setting

The QAM standard is set using this scu_command:
SCU_RAM_COMMAND_STANDARD_QAM |
SCU_RAM_COMMAND_CMD_DEMOD_SET_PARAM

The driver implements a version that has 4 parameters, however,
Terratec H5 needs to break this into two separate commands, otherwise,
DVB-C doesn't work.

With this fix, scan is now properly working and getting the
channel list:
>>> tune to: 609000000:INVERSION_AUTO:5217000:FEC_3_4:QAM_256
>>> tuning status == 0x00
>>> tuning status == 0x07
>>> tuning status == 0x1f

0x0093 0x0026: pmt_pid 0x0758 (null) -- SporTV2 (running, scrambled)
0x0093 0x0027: pmt_pid 0x0748 (null) -- SporTV (running, scrambled)
0x0093 0x0036: pmt_pid 0x0768 (null) -- FX (running, scrambled)
0x0093 0x0052: pmt_pid 0x0788 (null) -- The History Channel (running, scrambled)

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
7558977a4ade512648bdfcc5f74dfffd7511d46f 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Improve the scu_command error message

Now, it outputs:

[10927.639641] drxk: SCU_RESULT_INVPAR while sending cmd 0x0203 with params:
[10927.646283] drxk: 02 00 00 00 10 00 07 00 03 02 ..........

Better than ERROR -3. This happens with Terratec H5 firmware.

It adds 2 new error conditions, and something useful to track
what the heck is that.

I suspect that the scu_command is dependent on the firmware
revision.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f1b829704c0b48daff99056932855e71c2814855 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Simplify the DVB-C set mode logic

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
cf694b141ea2973179756fd572dd5cdd064e1abf 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Fix driver removal

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
90796acad0027db957a282787a4dab7d0bb52ef1 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Improves the UIO handling

The driver is too limited: it assumes that UIO is used only for
controlling the antenna, and that only UIO-1 is in usage. However,
from Terratec H7 driver [1], 3 UIO's can be used. In fact, it seems
that H7 needs to use all 3. So, make the code generic enough to handle
the most complex scenario. For now, only antena GPIO can be specified,
but is is easier now to add the other GPIO/UIO needs.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
9c6e18280091ee2cf78bfb33a1770b5b59c8afae 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Print detected configuration

DRX-K configuration is interesting when writing/testing
new devices. Add an info line showing the discovered info.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
147e110bb69a5eaee83bab133d7f7cc4ee050808 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Fix the antenna switch logic

Terratec H5 doesn't require to switch mode, but generates
an error due to this logic. Also, GPIO's are board-dependent.

So, add it at the board config struct.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
d6a054057781044712bfb0114d2d62d37781ffe9 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: change mode before calling the set mode routines

The set mode routines assume that state were changed to the
new mode, otherwise, they'll fail.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
be44eb283b97c29b06a125cb5527b299d84315f4 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Proper handle/propagate the error codes

This driver is very big and complex. An error happening in the middle
of any initialization may cause the frontend to not work. So, it
needs to properly propagate error codes internally and to userspace.

Also, printing the error codes at the places it happened helps to
discover were's a bug at the code.

Before this change, a do { } while (0) loop and lots of breaks inside
were used to propagate errors. While this works, if there are
loops inside other loops, it could be easy to forget to add another
break, causing the error to not abort the function.

Also, as not all functions were reporting errors, it is hard to
discover why something failed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f1fe1b75d64046b693075045fe9fc5cafed9c981 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Allow to disable I2C Bridge control switch

On em28xx, tda18271C2 is accessible when the i2c port
is not touched. Touching on it breaks the driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
e4f4f8758b4c3702761e46f24ee99e34823a0f28 09-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Add a parameter for the microcode name

The microcode firmware provided on Terratec H5 seems to be
different. Add a parameter to allow specifying a different
firmware per-device.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
39624f7ee8eb90b61d79ab731da264959ac1879a 10-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Print an error if firmware is not loaded

If something bad happens during firmware load, an error
should be printed at dmesg.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
bcd2ebb76039bf4b1d1cb9f9f0e182548578e692 09-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Avoid OOPSes if firmware is corrupted

Don't read paste the buffer, if the firmware is corrupted.
Instead, print an error message.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
e076c92ed6908b0a06ea0d419606a59cae7febe6 09-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Convert an #ifdef logic as a new config parameter

Instead of using #ifdef I2C_LONG_ADR for some devices, convert
it into a parameter. Terratec H5 logs from the original driver
seems to need this mode.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
0fc55e81d3364e6535cacb10b5a579f8c62625b1 09-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Move I2C address into a config structure

Currently, the only parameter to be configured is the I2C
address. However, Terratec H5 logs shows that it needs a different
setting for some things, and it has its own firmware.

So, move the addr into a config structure, in order to allow adding
the required configuration bits.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
5e66b87840dd275eafa6b4135b174212dd7c0d75 09-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: remove _0 from read/write routines

The normal 16-bits read routine is called as "Read16_0". This is
due to a flags that could optionally be passed. Yet, on no places
at the code, a flag is passed there.

The same happens with 16-bits write and 32-read/write routines,
and with WriteBlock.

Also, using flags, is an exception: there's no place currently using
flags, except for an #ifdef at WriteBlock.

Rename the function as just "read16", and the one that requires flags,
as "read16_flags".

This helps to see where the flags are used, and also avoid using
CamelCase on Kernel.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2da6750117c8fc4772a9c980e14a8d5d67f504a4 04-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Add debug printk's

This is a complex driver. Adding support for other devices with drxk
requires to be able to debug it and see where it is failing. So, add
optional printk messages to allow debugging it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
e0e6ecaf3b19686d561a3410aec67a0b2774455f 04-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: add drxk prefix to the errors

It is hard to identify the origin for those errors without a
prefix to indicate which driver produced them:

[ 1390.220984] i2c_write error
[ 1390.224133] I2C Write error
[ 1391.284202] i2c_read error
[ 1392.288685] i2c_read error

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
1bd09ddcffb2fb59d3211a9137d9122171724bae 03-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: fix warning: ‘status’ may be used uninitialized in this function

One of the problems of the old CHECK_ERROR is that it was hiding
the status parameter. Maybe due to that, on a few places, the return
code might lead to return incorrect status:

drivers/media/dvb/frontends/drxk_hard.c: In function ‘load_microcode.clone.0’:
drivers/media/dvb/frontends/drxk_hard.c:1281: warning: ‘status’ may be used uninitialized in this function
drivers/media/dvb/frontends/drxk_hard.c:1281: note: ‘status’ was declared here
drivers/media/dvb/frontends/drxk_hard.c: In function ‘GetLockStatus’:
drivers/media/dvb/frontends/drxk_hard.c:1792: warning: ‘status’ may be used uninitialized in this function
drivers/media/dvb/frontends/drxk_hard.c: In function ‘Start.clone.7’:
drivers/media/dvb/frontends/drxk_hard.c:1734: warning: ‘status’ may be used uninitialized in this function

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
e16cede5a8945bda970b7dd80bc51c539e0e4c2d 03-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Return -EINVAL if an invalid bandwidth is used

drivers/media/dvb/frontends/drxk_hard.c: In function ‘SetDVBT’:
drivers/media/dvb/frontends/drxk_hard.c:3766: warning: enumeration value ‘BANDWIDTH_5_MHZ’ not handled in switch
drivers/media/dvb/frontends/drxk_hard.c:3766: warning: enumeration value ‘BANDWIDTH_10_MHZ’ not handled in switch
drivers/media/dvb/frontends/drxk_hard.c:3766: warning: enumeration value ‘BANDWIDTH_1_712_MHZ’ not handled in switch

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ea90f011fdcc3d4fde78532eab8af09637176765 03-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxk: Remove the CHK_ERROR macro

The CHK_ERROR macro does a flow control, violating chapter 12
of the Documentation/CodingStyle. Doing flow controls inside
macros is a bad idea, as it hides what's happening. It also
hides the var "status" with is also a bad idea.

The changes were done by this small perl script:
my $blk=0;
while (<>) {
s /^\s+// if ($blk);
$f =~ s/\s+$// if ($blk && /^\(/);
$blk = 1 if (!m/\#/ && m/CHK_ERROR/);
$blk=0 if ($blk && m/\;/);
s/\n/ / if ($blk);
$f.=$_;
};
$f=~ s,\n(\t+)CHK_ERROR\((.*)\)\;([^\n]*),\n\1status = \2;\3\n\1if (status < 0)\n\1\tbreak;,g;
print $f;

And manually fixed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
b01fbc10e3c789763b2c953984bc4b80f59bcdf3 03-Jul-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] drxd/drxk: Don't export MulDiv32 symbol

/home/v4l/v4l/patchwork/drivers/media/dvb/frontends/drxk_hard.c:181: multiple definition of `MulDiv32'
drivers/media/dvb/frontends/drxd.o:/home/v4l/v4l/patchwork/drivers/media/dvb/frontends/drxd_hard.c:236: first defined here

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ebc7de220b729b935c006f00b17e333590db6f75 03-Jul-2011 Oliver Endriss <o.endriss@gmx.de> [media] DRX-K: Tons of coding-style fixes

Tons of coding-style fixes

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
43dd07f758d81fc55a7a1ff24b7689b10cc75bf2 03-Jul-2011 Ralph Metzler <rjkm@metzlerbros.de> [media] DRX-K: Initial check-in

Driver for the DRX-K DVB-C/T demodulator.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>