Commit Graph

113077 Commits (2bb87c24d7d5639bff65b41b1306542d6d2bf7d0)

Author SHA1 Message Date
Henrik Kretzschmar ef0e3c26ef V4L/DVB (8748): V4L: fix return value of meye probe callback
The return vaule of the probe function should return -ENOMEM instead
of -EBUSY if video_device_alloc() fails.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Hans Verkuil eda9e4e294 V4L/DVB (8746): v4l-dvb: fix compile warnings.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Hans Verkuil 614b147b4f V4L/DVB (8745): v4l2: fix a bunch of compile warnings.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Harvey Harrison 513edce60f V4L/DVB (8742): pvrusb2: use proper byteorder interface
___swab32 is an internal detail of the implementation.

Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Antoine Jacquet 664b11fc72 V4L/DVB (8739): dtv5100: remove prohibited space...
Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:52 -02:00
Antoine Jacquet 5ebcfa4f92 V4L/DVB (8738): dtv5100: remove old definition from header
Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Antoine Jacquet 736949862c V4L/DVB (8736): dtv5100: CodingStyle cleanups
Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Antoine Jacquet 60688d5e6e V4L/DVB (8735): dtv5100: replace dummy frontend by zl10353
Remove the dtv5100-fe.c dummy frontend and replace it by the real frontend for the chipset.

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Antoine Jacquet 8466028be7 V4L/DVB (8734): Initial support for AME DTV-5100 USB2.0 DVB-T
Basic support for AME DTV-5100 USB2.0 DVB-T using the qt1010 tuner and a dummy frontend.

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Antoine Jacquet 33d27a4516 V4L/DVB (8732): zr364xx: handle video exclusive open internaly
Count the users and do not use video_exclusive_open() anymore.

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Antoine Jacquet 69025c934b V4L/DVB (8731): zr364xx: remove BKL
Remove the Big Kernel Lock from zr364xx driver after pushdown.
Now using an internal locking mecanism on open().

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Mauro Carvalho Chehab 06fcadbf8b V4L/DVB (8730): drx397xD: fix compilation error caused by changeset 71046dfb0853
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Julia Lawall e9e24cee67 V4L/DVB (8729): Use DIV_ROUND_UP
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

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

// <smpl>
@haskernel@
@@

@depends on haskernel@
expression n,d;
@@

(
- (n + d - 1) / d
+ DIV_ROUND_UP(n,d)
|
- (n + (d - 1)) / d
+ DIV_ROUND_UP(n,d)
)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP((n),d)
+ DIV_ROUND_UP(n,d)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP(n,(d))
+ DIV_ROUND_UP(n,d)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Harvey Harrison 95908ece60 V4L/DVB (8725): drx397xD.c sparse annotations
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Felipe Balbi 06a3f58496 V4L/DVB (8724): dvb: drx397xD: checkpatch.pl cleanups
This driver sure needs some rework. For now, let's
try to clean it up a bit before start reimplementing
anything.

checkpatch.pl still not happy with this driver after
this patch, but the most annoying errors are gone,
comments now use C-style only, labels are well placed
and some other minor fixes.

Some more clean up patches will come as I work on this
driver. Please review it carefully.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Henk Vergonet <henk.vergonet@gmail.com>
[mchehab@infradead.org: Manually fixed some conflicts with a previous patch]
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:51 -02:00
Hans Verkuil e758c6f86b V4L/DVB (8695): usbvideo: add proper error check and add release function
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Hans Verkuil 66c6bda79f V4L/DVB (8691): i2c-id: remove obsolete SAB3036 driver ID
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Hans Verkuil 45a5b872bd V4L/DVB (8690): tuner-3036: remove driver
This driver is for VERY old i2c-over-parallel port teletext receiver
boxes. Rather then spending effort on converting this driver to V4L2,
and since it is extremely unlikely that anyone still uses one of these
devices, it was decided to drop it (after discussing this as well with
the original author, Phil Blundell).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Hans Verkuil e067776094 V4L/DVB (8689): dpc7146: remove dpc7146 demonstration board driver
Old driver for the dpc7146 demonstration board that is no longer
relevant. The last time this was tested on actual hardware was
probably around 2002. Since this is a driver for a demonstration
board the decision was made (after discussing this with the original
author, Michael Hunold) to remove it rather than spending a
lot of effort continually updating this driver to stay in sync
with the latest internal V4L2 or I2C API.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Michael Hunold <hunold@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Stefan Herbrechtsmeier 8103466315 V4L/DVB (8687): soc-camera: Move .power and .reset from soc_camera host to sensor driver
Make .power and .reset callbacks per camera instead of per host, also move
their invocation to camera drivers.

.arch/arm/mach-pxa/include/mach/camera.h    |    2 -

Signed-off-by: Stefan Herbrechtsmeier <hbmeier@hni.uni-paderborn.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Guennadi Liakhovetski 506c629a8e V4L/DVB (8686): mt9m111: style cleanup
Fix a typo in Kconfig, simplify error checking, further minor cleanup.

Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.iakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Guennadi Liakhovetski 112116410a V4L/DVB (8685): mt9m001, mt9v022: Simplify return code checking
i2c_smbus_write_word_data() returns 0 or a negative error, hence no need to
check for "> 0".

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Robert Jarzmik 77110abbfb V4L/DVB (8684): Add support for Micron MT9M111 camera.
Adds support for Micron MT9M111 camera chip, with basic
features :
 - view rectangle configurable
 - some output formats (bayer8, bayer10, rgb565, rgb555, ycbycr)
 - autoexposure
 - only highpower mode context used (ie. context B)

 create mode 100644 drivers/media/video/mt9m111.c

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Robert Jarzmik 9cc6493d4b V4L/DVB (8683): Add Micron mt9m111 chip ID in V4L2 identifiers
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Alexander Beregalov 05d26cc894 V4L/DVB (8680): saa7134-core.c: fix warning
drivers/media/video/saa7134/saa7134-core.c:366: warning:
'saa7134_buffer_requeue' defined but not used

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:50 -02:00
Michael Krufky 3a6b974d37 V4L/DVB (8658): lgs8gl5: fix build warnings
Fix the following build warnings:

lgs8gl5.c: In function 'lgs8gl5_read_reg':
lgs8gl5.c:95: warning: unused variable 'j'
lgs8gl5.c: In function 'lgs8gl5_update_alt_reg':
lgs8gl5.c:135: warning: unused variable 'j'
lgs8gl5.c: In function 'lgs8gl5_read_ber':
lgs8gl5.c:300: warning: unused variable 'state'
lgs8gl5.c: In function 'lgs8gl5_read_ucblocks':
lgs8gl5.c:332: warning: unused variable 'state'
lgs8gl5.c: At top level:
lgs8gl5.c:181: warning: 'lgs8gl5_set_inversion' defined but not used

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Timothy Lee dfbdce0490 V4L/DVB (8657): cxusb: add lgs8gl5 and support for Magic-Pro DMB-TH usb stick
Add support for Magic-Pro DMB-TH usb stick.  DMB-TH is the HDTV broadcast
standard used in Hong Kong and China.
[...]
I've also attached a second patch against the dvb-apps repository which
adds a DMB-TH scan file for Hong Kong.

Since the ProHDTV stick contains a DMB-TH decoder (lgs8gl5) onboard,
it outputs MPEG-TS to the PC.

Signed-off-by: Timothy Lee <timothy.lee@siriushk.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Michael Krufky 2e06d2ff54 V4L/DVB (8656): fix DVB_FE_CUSTOMISE for DVB_DIB7000P and DVB_TUNER_DIB0070 with dvb-usb-cxusb
Allow dvb-usb-cxusb to be built without dib7000p or dib0070 selected

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Michael Krufky a2dc86b69d V4L/DVB (8655): cxusb: fix checkpatch warnings & errors
Fix the following checkpatch.pl errors and warnings:

ERROR: do not use assignment in if condition
117: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:819:
+	if ((adap->fe = dvb_attach(dib7000p_attach,

ERROR: switch and case should be at the same indent
155: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:857:
+	switch (band) {
+		case BAND_VHF: offset = 950; break;
+		case BAND_UHF:
+		default: offset = 550; break;

WARNING: line over 80 characters
169: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:871:
+	struct i2c_adapter *tun_i2c = dib7000p_get_i2c_master(adap->fe, DIBX000_I2C_INTERFACE_TUNER, 1);

WARNING: line over 80 characters
213: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:1342:
+static struct dvb_usb_device_properties cxusb_bluebird_dualdig4_rev2_properties = {

WARNING: line over 80 characters
226: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:1355:
+			.size_of_priv     = sizeof(struct dib0700_adapter_state),

total: 2 errors, 3 warnings, 266 lines checked

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Cc: Anton Blanchard <anton@samba.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Anton Blanchard 8d79898897 V4L/DVB (8654): cxusb: add support for DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)
Add support for revision 2 of the DViCO FusionHDTV DVB-T Dual Digital 4
which has new tuners and demodulators (2 x DIB7070p). With this patch
both DVB reception and IR works.

The dib7000p driver currently hardwires the output mode to
OUTMODE_MPEG2_SERIAL regardless of what we ask for. Modify it to allow
OUTMODE_MPEG2_PAR_GATED_CLK to be set. Longer term we should remove the
check completely and set the output mode correctly in all the callers.

Add Kconfig bits to ensure the dib7000p and dib0070 modules are enabled.
It would be nice to only do this for the !DVB_FE_CUSTOMISE case, but
this is what the other DIB7070 module does (there are a number of
module dependencies in the attach code).

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Hans Verkuil f723af16da V4L/DVB (8649): v4l2: add AAC bitrate control
If you can select AAC as audio encoder, then you should also be
able to set the bitrate. Add this missing control.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Steven Toth 89ce2216e3 V4L/DVB (8646): cx23885: Convert framework to use a single tuner callback function.
Code reduction. Tuner callback now assumes that tsport is passed as the void arg.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Steven Toth 12886871ae V4L/DVB (8645): Support IR remote on FusionHDTV DVB-T Dual Express
From Chris Pascoe <c.pascoe@itee.uq.edu.au>
Support IR remote on FusionHDTV DVB-T Dual Express

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Steven Toth aef2d186e3 V4L/DVB (8644): Add support for DViCO FusionHDTV DVB-T Dual Express
Add support for the DViCO FusionHDTV DVB-T Dual Express card, based on
work by Chris Pascoe and Stephen Backway.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Steven Toth 90a71b1c1a V4L/DVB (8643): Switch Hauppauge HVR1400 and HVR1500 to common cx23885 tuner callback
The Hauppauge HVR1400 and HVR1500 can now use the common cx23885 tuner
callback.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:49 -02:00
Steven Toth 0fbbff33fc V4L/DVB (8642): cx23885: Factor out common cx23885 tuner callback
Tuners currently hook different things to the private pointer in their
callback function. Longer term we should make that private pointer
consistent, but for now separate out the guts of the cx23885 tuner callback
so we can reuse it.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Hans Verkuil ad4eada70b V4L/DVB (8641): arv: fix compilation errors/warnings
- add PCI dependency for btcx
- fix compile errors (doesn't like ';' at the end of a #if 0)

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Hans Verkuil 3eea543b72 V4L/DVB (8640): saa6752hs: add PMT table for AC3
The PMT table for AC3 audio is different.
Thanks to Dmitry Belimov for providing the table data.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Hans Verkuil e281db5862 V4L/DVB (8639): saa6752hs: cleanup and add AC-3 support
Cleaned up the saa6752hs i2c driver.
Add AC-3 support.
Add VIDIOC_CHIP_IDENT support.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Hans Verkuil 1e55126666 V4L/DVB (8637): v4l2: add v4l2_ctrl_query_menu_valid_items support function
v4l2_ctrl_query_menu_valid_items() makes it easy to handle control menus
that have a lot of invalid 'holes'. For example, many MPEG encoders only
support a limited subset of audio bitrates. In that case a driver can
specify an array listing the set of valid bitrates and pass that to
this function.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Hans Verkuil 69028d7096 V4L/DVB (8636): v4l2: add v4l2_ctrl_get_name control support function.
Add function that returns the control name. Allows this to be used in
places where the normal v4l2_ctrl_query_fill() function cannot be
used (e.g. uvc).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Hans Verkuil e6b5da88fb V4L/DVB (8635): v4l: add AC-3 audio support to the MPEG Encoding API
Some models of the saa6752hs support AC-3. Extend the API with the
necessary controls for AC-3.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:48 -02:00
Janne Grunau 188919ac57 V4L/DVB (8634): v4l2: extend MPEG Encoding API with AVC and AAC
Adds Advanced Audio Coding (AAC) and MPEG-4 Advanced Video Coding
(AVC/H.264) as audio/video codecs to the extended controls API.
Updates cx2341x driver to the new values.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00
Hans Verkuil a832781cd3 V4L/DVB (8630): First mxb cleanup phase
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00
Mauro Carvalho Chehab 7d341a6a52 V4L/DVB (8628): bttv: Add support for Encore ENLTV2-FM
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
(www.cdibrasil.com.br/) for sponsoring this development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-10-12 09:36:47 -02:00
Mauro Carvalho Chehab 08b1438cc2 V4L/DVB (8628a): Remove duplicated include
Removes duplicated #include <v4l2-ioctl.h>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-10-12 09:36:47 -02:00
Mauro Carvalho Chehab b46a9c8b7a V4L/DVB (8627): Fix mute on bttv driver
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00
Mauro Carvalho Chehab 8f2b7b7060 V4L/DVB (8626): Add support for TCL tuner MF02GIP-5N-E
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
(www.cdibrasil.com.br/) for sponsoring this development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00
Mauro Carvalho Chehab 622ecb3003 V4L/DVB (8625): saa7134: Add NEC prococol IR decoding capability
This patch adds the capability of decoding NEC protocol, received via GPIO18 line.
This GPIO port can trigger saa7134 IRQ.

A future improvement would be to make it a little more generic to work also
with GPIO16 line.

A pure IRQ code didn't work, since some delays were introduced on the tests we
did.

A possible approach would be to use polling at a rate of 2.5 ms or less. If a
new code were taken, a code similar to nec_task() could be used. However, this
would add an extra overhead to kernel, and will consume more power.

Due to that, we took an hybrid approach: an IRQ upper half to trigger when a
new key is received and a bottom half to convert pulse-distance into a keycode.

The bottom half is polling based, to improve performance. During the bottom
half proccess, GPIO18 IRQ line is disabled, preventing IRQ reentrancy and
improving performance a little bit.

Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this
development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00
Hans Verkuil d56dc61265 V4L/DVB (8613): v4l: move BKL down to the driver level.
The BKL is now moved from the video_open function in v4l2-dev.c to the
various drivers. It seems about a third of the drivers already has a
lock of some sort protecting the open(), another third uses
video_exclusive_open (yuck!) and the last third required adding the
BKL in their open function.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:36:47 -02:00