OSDN Git Service
Julia Lawall [Mon, 4 Jul 2011 14:11:42 +0000 (11:11 -0300)]
[media] drivers/media/video: add missing kfree
Free the recently allocated qcam in each case.
The semantic match that finds this problem is as follows:
// <smpl>
@r@
identifier x;
@@
kfree(x)
@@
identifier r.x;
expression E1!=0,E2,E3,E4;
statement S;
@@
(
if (<+...x...+>) S
|
if (...) { ... when != kfree(x)
when != if (...) { ... kfree(x); ... }
when != x = E3
* return E1;
}
... when != x = E2
if (...) { ... when != x = E4
kfree(x); ... return ...; }
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Adam M. Dutko [Thu, 23 Jun 2011 14:57:45 +0000 (11:57 -0300)]
[media] TM6000: alsa: Clean up kernel coding style errors
There were several coding style errors as reported by checkpatch.pl. This
patch should fix those errors with the single exception of the open square
bracket issue on line 45.
[mchehab@redhat.com: Fix a merge conflict]
Signed-off-by: Adam M. Dutko <dutko.adam@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Wed, 13 Jul 2011 22:15:57 +0000 (19:15 -0300)]
[media] tm6000: remove a check for NO_PCM_LOCK
This was likely used by some test. There's no sense on keeping it
upstream.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Dan Carpenter [Thu, 26 May 2011 08:44:52 +0000 (05:44 -0300)]
[media] DVB: dvb_frontend: off by one in dtv_property_dump()
If the tvp->cmd == DTV_MAX_COMMAND then we read past the end of the
array.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
istvan_v@mailbox.hu [Mon, 11 Jul 2011 13:58:35 +0000 (10:58 -0300)]
[media] cx23885: added support for card 107d:6f39
This patch, based on code by Mirek Slugen, implements support for the
Leadtek WinFast PxDVR3200 H card with XC4000 tuner (107d:6f39).
Signed-off-by: Istvan Varga <istvan_v@mailbox.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jesper Juhl [Sat, 9 Jul 2011 21:22:17 +0000 (18:22 -0300)]
[media] drivers/media: static should be at beginning of declaration
Make sure that the 'static' keywork is at the beginning of declaration
for drivers/media/video/omap/omap_vout.c
This gets rid of warnings like
when building with -Wold-style-declaration (and/or -Wextra which also
enables it).
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet [Fri, 8 Jul 2011 20:50:50 +0000 (17:50 -0300)]
[media] marvell-cam: clean up a couple of unused cam structure fields
Delete a couple of leftover fields whose time has passed.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet [Fri, 8 Jul 2011 20:50:49 +0000 (17:50 -0300)]
[media] marvell-cam: Allow selection of supported buffer modes
The Marvell camera core can support all three videobuf2 buffer modes, which
is slick, but it also requires that all three modes be built and present,
even though only one is likely to be used. This patch allows the supported
modes to be selected at configuration time, reducing the footprint of the
driver. Prior to this patch, the MMP camera driver looked like this:
mmp_camera 19092 0
videobuf2_core 15542 1 mmp_camera
videobuf2_dma_sg 3173 1 mmp_camera
videobuf2_dma_contig 2188 1 mmp_camera
videobuf2_vmalloc 1718 1 mmp_camera
videobuf2_memops 2100 3 videobuf2_dma_sg,videobuf2_dma_contig,videobuf2_vmalloc
Afterward, instead, with scatter/gather only configured:
mmp_camera 16021 0
videobuf2_core 15542 1 mmp_camera
videobuf2_dma_sg 3173 1 mmp_camera
videobuf2_memops 2100 1 videobuf2_dma_sg
The total goes from 43,813 bytes to 36,836.
The emphasis has been on simplicity and minimal #ifdef use rather than on
squeezing out every possible byte of code. For configuration, the driver
simply looks at which videobuf2 modes have been configured in and supports
them all; it's simplistic but should be good enough.
The cafe driver is set to support vmalloc and dma-contig; mmp supports only
dma-sg, since that's the only mode that really makes sense to use.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet [Fri, 8 Jul 2011 20:50:48 +0000 (17:50 -0300)]
[media] marvell-cam: power down mmp camera on registration failure
If registration does not work, we don't want to leave the sensor powered on.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet [Fri, 8 Jul 2011 20:50:47 +0000 (17:50 -0300)]
[media] marvell-cam: remove {min,max}_buffers parameters
Somewhere along the way the code stopped actually paying any attention to
them, and I doubt anybody has ever made use of them.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet [Fri, 8 Jul 2011 20:50:46 +0000 (17:50 -0300)]
[media] marvell-cam: core code reorganization
This code shows signs of having been mucked with over the last five years
or so; things were kind of mixed up. This patch reorders functions into a
more rational organization which, with luck, will facilitate making the
buffer modes selectable at configuration time. Code movement only: no
functional changes here.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jonathan Corbet [Fri, 8 Jul 2011 20:50:45 +0000 (17:50 -0300)]
[media] marvell-cam: delete struct mcam_sio_buffer
This structure got passed over in the videobuf2 conversion; it has no
reason to exist now.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jean Delvare [Fri, 8 Jul 2011 09:00:37 +0000 (06:00 -0300)]
[media] tea5764: Fix module parameter permissions
The third parameter of module_param is supposed to represent sysfs
file permissions. A value of "1" leads to the following:
$ ls -l /sys/module/radio_tea5764/parameters/
total 0
I am changing it to "0" to align with the other module parameters in
this driver.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Fabio Belavenuto <belavenuto@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Carlos Corbacho [Sat, 25 Jun 2011 13:24:28 +0000 (10:24 -0300)]
[media] Make Compro VideoMate Vista T750F actually work
Based on the work of John Newbigin, Davor Emard and others who contributed
on the mailing lists.
The previous 'support' for this card was a partial merge of John's changes
that, as far as I can tell, never actually got the thing working (no DVB-T,
analog tuner not initialised).
Initialise the analog tuner properly and hook up the DVB tuner and demodulator.
DVB-T and analog now work (though I can't tune every DVB channel, but I think
there's an issue with the aerial and signal boosters here that is causing
me problems).
Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Mon, 11 Jul 2011 18:47:40 +0000 (15:47 -0300)]
tda18271c2dd: Fix compilation when module is not selected
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Mon, 11 Jul 2011 18:28:12 +0000 (15:28 -0300)]
[media] tda18271c2dd.h: Don't add the same symbol twice
Should be folded with the next patch when sending upstream
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Mon, 11 Jul 2011 17:56:30 +0000 (14:56 -0300)]
[media] dvb: don't cause missing symbols for drxk/tda18271c2dd
If those demods are unselected, but a bridge driver requires them,
produce a runtime message, instead of missing symbols.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Mon, 11 Jul 2011 17:56:03 +0000 (14:56 -0300)]
[media] drxk: remove a now unused variable
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Mon, 11 Jul 2011 17:33:51 +0000 (14:33 -0300)]
[media] em28xx: Change firmware name for Terratec H5 DRX-K
Use a name convention for the firmware file that matches on the
current firmware namespacing. Also, add it to the firmware
download script.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 17:33:29 +0000 (14:33 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 16:25:48 +0000 (13:25 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 16:08:44 +0000 (13:08 -0300)]
[media] drxk: Simplify the DVB-C set mode logic
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 13:26:06 +0000 (10:26 -0300)]
[media] drxk: Fix driver removal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 12:36:30 +0000 (09:36 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 11:38:18 +0000 (08:38 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 11:24:26 +0000 (08:24 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 16:07:36 +0000 (13:07 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 04:49:53 +0000 (01:49 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 00:59:33 +0000 (21:59 -0300)]
[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>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 22:36:11 +0000 (19:36 -0300)]
[media] em28xx-i2c: Add a read after I2C write
All I2C logs we got for em28xx does that. With Terratec H5, at
400MHz speed, it seems that this is required, to avoid having
troubles at the I2C bus.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 20:35:26 +0000 (17:35 -0300)]
[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>
Mauro Carvalho Chehab [Mon, 4 Jul 2011 00:05:06 +0000 (21:05 -0300)]
[media] Add initial support for Terratec H5
Not working yet. There are some fixes at the DRX-K that are needed
for it to work.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 22:23:44 +0000 (19:23 -0300)]
[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>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 21:57:54 +0000 (18:57 -0300)]
[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>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 16:06:12 +0000 (13:06 -0300)]
[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>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 15:36:58 +0000 (12:36 -0300)]
[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>
Mauro Carvalho Chehab [Sat, 9 Jul 2011 12:50:21 +0000 (09:50 -0300)]
[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>
Mauro Carvalho Chehab [Mon, 4 Jul 2011 20:39:21 +0000 (17:39 -0300)]
[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>
Mauro Carvalho Chehab [Mon, 4 Jul 2011 17:00:25 +0000 (14:00 -0300)]
[media] tda18271c2dd: add tda18271c2dd 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>
Mauro Carvalho Chehab [Mon, 4 Jul 2011 11:27:47 +0000 (08:27 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 22:00:32 +0000 (19:00 -0300)]
[media] ddbridge: use linux/io.h, instead of asm/io.h
WARNING: Use #include <linux/io.h> instead of <asm/io.h>
+#include <asm/io.h>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 21:59:08 +0000 (18:59 -0300)]
[media] ddbridge: Avoid duplicated symbol definition
drivers/media/dvb/ddbridge/built-in.o: In function `my_dvb_dmx_ts_card_init':
/home/v4l/v4l/patchwork/drivers/media/dvb/ddbridge/ddbridge-core.c:718: multiple definition of `my_dvb_dmx_ts_card_init'
drivers/media/dvb/ngene/built-in.o:/home/v4l/v4l/patchwork/drivers/media/dvb/ngene/ngene-dvb.c:227: first defined here
drivers/media/dvb/ddbridge/built-in.o: In function `my_dvb_dmxdev_ts_card_init':
/home/v4l/v4l/patchwork/drivers/media/dvb/ddbridge/ddbridge-core.c:737: multiple definition of `my_dvb_dmxdev_ts_card_init'
drivers/media/dvb/ngene/built-in.o:/home/v4l/v4l/patchwork/drivers/media/dvb/ngene/ngene-dvb.c:246: first defined here
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 21:27:51 +0000 (18:27 -0300)]
[media] cxd2099: Update Kconfig description (ddbridge support)
Update Kconfig description (ddbridge with cxd2099)
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 21:26:22 +0000 (18:26 -0300)]
[media] cxd2099: Fix compilation of ngene/ddbridge for DVB_CXD2099=n
Fix compilation of ngene/ddbridge for DVB_CXD2099=n.
Note: Bug was introduced by commit 'cxd2099: Update to latest version'.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 21:25:29 +0000 (18:25 -0300)]
[media] ddbridge: Allow compiling of the driver
Driver added to Makefile and Kconfig.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 21:24:07 +0000 (18:24 -0300)]
[media] ddbridge: Codingstyle fixes
Codingstyle fixes
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ralph Metzler [Sun, 3 Jul 2011 21:23:11 +0000 (18:23 -0300)]
[media] ddbridge: Initial check-in
Driver support for Digital Devices ddbridge-based cards:
Octopus, Octopus mini, Octopus LE, cineS2(v6)
with DuoFlex S2 and/or DuoFlex CT tuners.
Driver was taken from ddbridge-0.6.1.tar.bz2.
Signed-off-by: Ralph Metzler <rmetzler@digitaldevices.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 21:45:37 +0000 (18:45 -0300)]
cxd2099: 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>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 21:21:59 +0000 (18:21 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 21:18:14 +0000 (18:18 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 21:12:26 +0000 (18:12 -0300)]
[media] tda18271c2dd: 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>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 21:06:07 +0000 (18:06 -0300)]
[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>
Mauro Carvalho Chehab [Sun, 3 Jul 2011 20:18:57 +0000 (17:18 -0300)]
[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>
Oliver Endriss [Sun, 3 Jul 2011 17:04:46 +0000 (14:04 -0300)]
[media] ngene: Strip dummy packets inserted by the driver
As the CI requires a continuous data stream, the driver inserts dummy
packets when necessary. Do not pass these packets to userspace anymore.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 17:03:49 +0000 (14:03 -0300)]
[media] ngene: Update for latest cxd2099
Modifications for latest cxd2099.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 17:02:24 +0000 (14:02 -0300)]
[media] cxd2099: Codingstyle fixes
Codingstyle fixes.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ralph Metzler [Sun, 3 Jul 2011 17:00:57 +0000 (14:00 -0300)]
[media] cxd2099: Update to latest version
Import latest driver from ddbridge-0.6.1.tar.bz2.
Signed-off-by: Ralph Metzler <rmetzler@digitaldevices.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:59:30 +0000 (13:59 -0300)]
[media] ngene: Support DuoFlex CT attached to CineS2 and SaTiX-S2
Support DuoFlex CT with Digital Devices CineS2 and Mystique SaTiX-S2.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:58:22 +0000 (13:58 -0300)]
[media] ngene: Fix name of Digital Devices PCIe/miniPCIe
Fix name of Digital Devices PCIe/miniPCIe.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:57:26 +0000 (13:57 -0300)]
[media] ngene: Fix return code if no demux was found
Fix return code if no demux was found (cineS2_probe).
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:56:28 +0000 (13:56 -0300)]
[media] ngene: Codingstyle fixes
Codingstyle fixes
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ralph Metzler [Sun, 3 Jul 2011 16:55:06 +0000 (13:55 -0300)]
[media] ngene: Support Digital Devices DuoFlex CT
Support Digital Devices DuoFlex CT with ngene.
Signed-off-by: Ralph Metzler <rmetzler@digitaldevices.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:53:50 +0000 (13:53 -0300)]
[media] get_dvb_firmware: Get DRX-K firmware for Digital Devices DVB-CT cards
Get DRX-K firmware for Digital Devices DVB-CT cards
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:51:43 +0000 (13:51 -0300)]
[media] DRX-K, TDA18271c2: Add build support
Add both drivers to Makefile and Kconfig.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Oliver Endriss [Sun, 3 Jul 2011 16:49:44 +0000 (13:49 -0300)]
[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>
Oliver Endriss [Sun, 3 Jul 2011 11:51:32 +0000 (08:51 -0300)]
[media] DRX-K: Shrink size of drxk_map.h
Deleted all unused symbold from drxk_map.h,
which reduced the size from 1.1M to 37K!
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ralph Metzler [Sun, 3 Jul 2011 16:42:18 +0000 (13:42 -0300)]
[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>
Oliver Endriss [Sun, 3 Jul 2011 16:37:31 +0000 (13:37 -0300)]
[media] tda18271c2dd: Lots of coding-style fixes
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ralph Metzler [Sun, 3 Jul 2011 16:36:17 +0000 (13:36 -0300)]
[media] tda18271c2dd: Initial check-in
Driver for the NXP TDA18271c2 silicon tuner.
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>
Mauro Carvalho Chehab [Sun, 10 Jul 2011 19:34:48 +0000 (16:34 -0300)]
[media] v4l2-ctrls: Fix a merge conflict
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kamil Debski [Tue, 14 Jun 2011 13:46:22 +0000 (10:46 -0300)]
[media] v4l2-ctrl: add codec controls support to the control framework
Add support for the codec controls to the v4l2 control framework.
[mchehab@redhat.com: Fix merge conflicts and removed some hunks that were
adding blank lines without a good reason]
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kamil Debski [Tue, 14 Jun 2011 13:31:04 +0000 (10:31 -0300)]
[media] v4l: add control definitions for codec devices
Add control definitions and documentation for controls
specific to codec devices.
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kamil Debski [Mon, 4 Jul 2011 16:25:50 +0000 (13:25 -0300)]
[media] v4l: add fourcc definitions for compressed formats
Add fourcc definitions and documentation for the following
compressed formats: H264, H264 without start codes,
MPEG1/2/4 ES, XVID, VC1 Annex G and Annex L compliant.
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sakari Ailus [Mon, 4 Jul 2011 08:37:21 +0000 (05:37 -0300)]
[media] v4l: Document V4L2 control endianness as machine endianness
Document V4L2 control endianness as machine endianness.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sakari Ailus [Thu, 5 May 2011 18:39:25 +0000 (15:39 -0300)]
[media] adp1653: Add driver for LED flash controller
This patch adds the driver for the adp1653 LED flash controller. This
controller supports a high power led in flash and torch modes and an
indicator light, sometimes also called privacy light.
The adp1653 is used on the Nokia N900.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Tuukka Toivonen <tuukkat76@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: David Cohen <dacohen@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sakari Ailus [Wed, 4 May 2011 13:45:58 +0000 (10:45 -0300)]
[media] v4l: Add flash control documentation
Add documentation for V4L2 flash controls.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sakari Ailus [Mon, 21 Mar 2011 15:52:51 +0000 (12:52 -0300)]
[media] v4l: Add a class and a set of controls for flash devices
Add a control class and a set of controls to support LED and Xenon flash
devices. An example of such a device is the adp1653.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Mon, 23 May 2011 10:36:55 +0000 (07:36 -0300)]
[media] DocBook: document V4L2_CTRL_TYPE_BITMASK
[mchehab@redhat.com: Fix a merge conflict and make compat.xml coherent with v4l2.xml]
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Tue, 29 Mar 2011 19:33:11 +0000 (16:33 -0300)]
[media] vivi: add bitmask test control
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Mon, 23 May 2011 07:07:05 +0000 (04:07 -0300)]
[media] v4l2-ctrls: add new bitmask control type
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Tue, 5 Jul 2011 10:19:23 +0000 (07:19 -0300)]
[media] vivi: Fix sleep-in-atomic-context
Fix sleep-in-atomic-context bug in vivi:
Jun 28 18:14:39 tschai kernel: [ 80.970478] BUG: sleeping function called from invalid context at kernel/mutex.c:271
Jun 28 18:14:39 tschai kernel: [ 80.970483] in_atomic(): 0, irqs_disabled(): 1, pid: 2854, name: vivi-000
Jun 28 18:14:39 tschai kernel: [ 80.970485] INFO: lockdep is turned off.
Jun 28 18:14:39 tschai kernel: [ 80.970486] irq event stamp: 0
Jun 28 18:14:39 tschai kernel: [ 80.970487] hardirqs last enabled at (0): [< (null)>] (null)
Jun 28 18:14:39 tschai kernel: [ 80.970490] hardirqs last disabled at (0): [<
ffffffff8109a90b>] copy_process+0x61b/0x1440
Jun 28 18:14:39 tschai kernel: [ 80.970495] softirqs last enabled at (0): [<
ffffffff8109a90b>] copy_process+0x61b/0x1440
Jun 28 18:14:39 tschai kernel: [ 80.970498] softirqs last disabled at (0): [< (null)>] (null)
Jun 28 18:14:39 tschai kernel: [ 80.970502] Pid: 2854, comm: vivi-000 Tainted: P 3.0.0-rc1-tschai #372
Jun 28 18:14:39 tschai kernel: [ 80.970504] Call Trace:
Jun 28 18:14:39 tschai kernel: [ 80.970509] [<
ffffffff81089be3>] __might_sleep+0xf3/0x130
Jun 28 18:14:39 tschai kernel: [ 80.970512] [<
ffffffff8176967f>] mutex_lock_nested+0x2f/0x60
Jun 28 18:14:39 tschai kernel: [ 80.970517] [<
ffffffffa0acee3e>] vivi_fillbuff+0x20e/0x3f0 [vivi]
Jun 28 18:14:39 tschai kernel: [ 80.970520] [<
ffffffff81407004>] ? do_raw_spin_lock+0x54/0x150
Jun 28 18:14:39 tschai kernel: [ 80.970524] [<
ffffffff8104ef5e>] ? read_tsc+0xe/0x20
Jun 28 18:14:39 tschai kernel: [ 80.970528] [<
ffffffff810c9d87>] ? getnstimeofday+0x57/0xe0
Jun 28 18:14:39 tschai kernel: [ 80.970531] [<
ffffffffa0acf1b1>] vivi_thread+0x191/0x2f0 [vivi]
Jun 28 18:14:39 tschai kernel: [ 80.970534] [<
ffffffff81093aa0>] ? try_to_wake_up+0x2d0/0x2d0
Jun 28 18:14:39 tschai kernel: [ 80.970537] [<
ffffffffa0acf020>] ? vivi_fillbuff+0x3f0/0x3f0 [vivi]
Jun 28 18:14:39 tschai kernel: [ 80.970541] [<
ffffffff810bff46>] kthread+0xb6/0xc0
Jun 28 18:14:39 tschai kernel: [ 80.970544] [<
ffffffff817743e4>] kernel_thread_helper+0x4/0x10
Jun 28 18:14:39 tschai kernel: [ 80.970547] [<
ffffffff8176b4d4>] ? retint_restore_args+0x13/0x13
Jun 28 18:14:39 tschai kernel: [ 80.970550] [<
ffffffff810bfe90>] ? __init_kthread_worker+0x70/0x70
Jun 28 18:14:39 tschai kernel: [ 80.970552] [<
ffffffff817743e0>] ? gs_change+0x13/0x13
This bug was introduced in 2.6.39.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Tue, 5 Jul 2011 10:17:39 +0000 (07:17 -0300)]
[media] DocBook: fix typo: vl42_plane_pix_format -> v4l2_plane_pix_format
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Tue, 5 Jul 2011 10:09:26 +0000 (07:09 -0300)]
[media] v4l2-ctrls: always send an event if a control changed implicitly
By default no control events are sent to the application that caused the
control value or flags change (i.e. the control(s) passed to VIDIOC_S_CTRL
or VIDIOC_S_EXT_CTRLS). But if a change in one control causes a change in
another control that was not part of the control(s) in VIDIOC_S_CTRL or
S_EXT_CTRLS, then the application should be notified.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Tue, 5 Jul 2011 09:56:37 +0000 (06:56 -0300)]
[media] v4l2-ctrls.c: copy-and-paste error: user_to_new -> new_to_user
The new values were never copied to userspace due to this copy and paste
error. This was introduced during the rewrite of this part of the code in
commit
3219f8a362640b7e4b7e2187b1094c4e46d85aa0.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 3 Jul 2011 19:26:52 +0000 (16:26 -0300)]
[media] pwc: clean-up header files
Remove unused pwc-ioctl.h (the copy in include/media is used everywhere)
Remove almost empty pwc-uncompress.h, move single define to pwc.h
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 3 Jul 2011 18:52:54 +0000 (15:52 -0300)]
[media] pwc: Enable power-management by default on tested models
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 3 Jul 2011 18:02:10 +0000 (15:02 -0300)]
[media] pwc: Add a bunch of pwc custom API to feature-removal-schedule.txt
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 3 Jul 2011 15:23:24 +0000 (12:23 -0300)]
[media] pwc: Add v4l2 controls for pan/tilt on Logitech QuickCam Orbit/Sphere
This makes the API for this:
1) v4l2 spec compliant
2) match that of the UVC Logitech QuickCam Sphere models
For now this operates in parellel to the sysfs interface for this, but the
intend is to deprecate the sysfs interface and remove it.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 3 Jul 2011 14:50:51 +0000 (11:50 -0300)]
[media] pwc: Allow dqbuf / read to complete while waiting for controls
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 26 Jun 2011 15:52:01 +0000 (12:52 -0300)]
[media] pwc: Replace control code with v4l2-ctrls framework
Also remove all the converting from native range to 0-65535 and back
that was going on. This is no longer needed now that we no longer support
v4l1.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 26 Jun 2011 16:57:15 +0000 (13:57 -0300)]
[media] pwc: properly allocate dma-able memory for ISO buffers
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 26 Jun 2011 15:13:44 +0000 (12:13 -0300)]
[media] pwc: Allow multiple opens
Allow multiple opens of the /dev/video node so that control panel apps
can be open to-gether with streaming apps.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 26 Jun 2011 09:49:59 +0000 (06:49 -0300)]
[media] pwc: Move various initialization to driver load and / or stream start
Doing a bunch of initialization every time /dev/video is opened, and thus
for example when the udev rules probe for capabilities makes no sense,
do it at driver load, resp. stream start instead.
This is a preparation patch for allowing multiple opens of the /dev/video
node.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sun, 26 Jun 2011 06:51:19 +0000 (03:51 -0300)]
[media] pwc: Make power-saving a per device option
as vcinterface must be set before calling pwc_camera_power()
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sat, 25 Jun 2011 20:42:55 +0000 (17:42 -0300)]
[media] pwc: Remove some unused PWC_INT_PIPE left overs
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sat, 25 Jun 2011 20:39:19 +0000 (17:39 -0300)]
[media] pwc: Get rid of error_status and unplugged variables
Having 2 ways of tracking disconnection is too much, remove both and
instead simply set pdev->udev to NULL on disconnect. Also check for
pdev->udev being NULL in all possible entry paths.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Sat, 25 Jun 2011 20:10:51 +0000 (17:10 -0300)]
[media] pwc: Fix non CodingStyle compliant 3 space indent in pwc.h
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Mon, 6 Jun 2011 18:33:44 +0000 (15:33 -0300)]
[media] pwc: Replace private buffer management code with videobuf2
Looking at the pwc buffer management code has made it clear to me it needed
some serious fixing. Not only was there a ton of code duplication even
internally to pwc (read and mmap wait for frame code was duplicated), the
code also was outright buggy. With the worst offender being dqbuf, which
just round robin returned all the mmap buffers, without paying any attention
to them being queued by the app with qbuf or not. And qbuf itself was a noop.
So I set out to fix this and already had some cleanups in place when
I read Jonathan Corbet's lwn article on videobuf2, this inspired me to just
rip out the buffer management code and replace it with videobuf2, greatly
reducing the amount of code, and fixing all bugs in one go:
Many thanks to Jonathan for the timely article on this !
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Mon, 6 Jun 2011 18:35:54 +0000 (15:35 -0300)]
[media] pwc: remove __cplusplus guards from private header
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede [Mon, 6 Jun 2011 18:25:18 +0000 (15:25 -0300)]
[media] pwc: Remove a bunch of bogus sanity checks / don't return EFAULT wrongly
The chances if any of these becoming NULL magically are 0% And if they
do become NULL oopsing is the right thing to do (so that the user logs a
bug with the kernel rather then with whatever app he was using).
Returning EFAULT to userspace should only be done when userspace supplies
a bad address, not on driver bugs / hw issues, so in the few cases where the
check is not bogus return something else.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>