linux/drivers/media/video
David Härdeman 724e249550 V4L/DVB: Teach drivers/media/IR/ir-raw-event.c to use durations
drivers/media/IR/ir-raw-event.c is currently written with the assumption
that all "raw" hardware will generate events only on state change (i.e.
when a pulse or space starts).

However, some hardware (like mceusb, probably the most popular IR receiver
out there) only generates duration data (and that data is buffered so using
any kind of timing on the data is futile).

Furthermore, using signed int's to represent pulse/space durations is a
well-known approach when writing ir decoders.

With this patch:

- s64 int's are used to represent pulse/space durations in ns

- a workqueue is used to decode the ir protocols outside of interrupt context

- #defines are added to make decoders clearer

- decoder reset is implemented by passing a zero duration to the kfifo queue
  and decoders are updated accordingly

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19 12:57:03 -03:00
..
au0828 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
bt8xx V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00
cpia2 V4L/DVB (13594): cpia2: use __stringify macro. 2009-12-16 00:18:31 -02:00
cx18 V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00
cx88 V4L/DVB: ir-core: Add support for badly-implemented hardware decoders 2010-05-19 12:56:58 -03:00
cx231xx V4L/DVB: ir: prepare IR code for a parameter change at register function 2010-05-19 12:56:50 -03:00
cx23885 V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00
cx25840 V4L/DVB: cx25840: Fix composite detection 2010-02-26 15:10:50 -03:00
davinci V4L/DVB: V4L: vpfe_capture: Add support for USERPTR mode of operation 2010-05-18 00:52:46 -03:00
em28xx V4L/DVB: em28xx: fix a regression caused by the rc-map changes 2010-05-19 12:57:00 -03:00
et61x251 V4L/DVB (14005): media/video Kconfig: Mark gspca superceeded drivers as deprecated 2010-02-26 15:10:41 -03:00
gspca V4L/DVB: gspca - t613: Add color controls 2010-05-18 00:52:48 -03:00
hdpvr include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ivtv V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00
ovcamchip
pvrusb2 device_attributes: add sysfs_attr_init() for dynamic attributes 2010-04-07 08:38:03 -07:00
pwc include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa7134 V4L/DVB: Teach drivers/media/IR/ir-raw-event.c to use durations 2010-05-19 12:57:03 -03:00
saa7164 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sn9c102 V4L/DVB: sn9c102 / zc0301: Handle webcams when no gspca subdriver conflict 2010-05-18 00:52:49 -03:00
tlg2300 V4L/DVB: tlg2300: remove unused #include <linux/version.h> 2010-05-18 00:47:17 -03:00
usbvideo V4L/DVB: drivers/media/video: move dereference after NULL test 2010-05-18 00:47:16 -03:00
usbvision include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
uvc V4L/DVB: uvcvideo: Use POLLOUT and POLLWRNORM for output devices 2010-05-18 00:52:52 -03:00
zc0301 V4L/DVB: sn9c102 / zc0301: Handle webcams when no gspca subdriver conflict 2010-05-18 00:52:49 -03:00
zoran V4L/DVB: zoran: remove V4L1 videodev.h include 2010-05-18 00:52:41 -03:00
adv7170.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adv7175.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adv7180.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adv7343_regs.h
adv7343.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
arv.c V4L/DVB: arv: convert to V4L2 2010-05-18 00:52:42 -03:00
bt819.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
bt856.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
bt866.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
btcx-risc.c
btcx-risc.h
bw-qcam.c V4L/DVB: bw-qcam: coding style cleanup 2010-05-18 00:51:26 -03:00
bw-qcam.h
c-qcam.c V4L/DVB: c-qcam: coding style cleanup 2010-05-18 00:51:26 -03:00
cafe_ccic-regs.h
cafe_ccic.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cpia_pp.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cpia_usb.c
cpia.c V4L/DVB: drivers/media: Correct NULL test 2010-02-26 15:10:57 -03:00
cpia.h
cs53l32a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cs5345.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cs8420.h
cx2341x.c V4L/DVB: cx2341x: Remove temporal filter control restriction 2010-05-18 00:46:44 -03:00
dabusb.c USB: Push BKL on open down into the drivers 2010-03-02 14:54:23 -08:00
dabusb.h
font.h
hexium_gemini.c V4L/DVB: saa7146: fix regression of the av7110/budget-av driver 2010-05-06 19:20:50 -03:00
hexium_orion.c V4L/DVB: saa7146: fix regression of the av7110/budget-av driver 2010-05-06 19:20:50 -03:00
ibmmpeg2.h
indycam.c
indycam.h
ir-kbd-i2c.c V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00
Kconfig V4L/DVB: arv: convert to V4L2 2010-05-18 00:52:42 -03:00
ks0127.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ks0127.h
m52790.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Makefile V4L/DVB: V4L - Makfile:Removed duplicate entry of davinci 2010-05-06 19:19:00 -03:00
meye.c V4L/DVB: meye: remove last V4L1 remnants from the code and add v4l2_device 2010-05-18 00:52:36 -03:00
meye.h V4L/DVB: meye: remove last V4L1 remnants from the code and add v4l2_device 2010-05-18 00:52:36 -03:00
msp3400-driver.c
msp3400-driver.h
msp3400-kthreads.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mt9m001.c V4L/DVB (13659): soc-camera: convert to the new mediabus API 2009-12-16 09:27:29 -02:00
mt9m111.c V4L/DVB (13659): soc-camera: convert to the new mediabus API 2009-12-16 09:27:29 -02:00
mt9t031.c V4L/DVB: mt9t031: use runtime pm support to restore ADDRESS_MODE registers 2010-05-18 00:46:21 -03:00
mt9t112.c soc-camera: mt9t112: modify exiting conditions from standby mode 2010-02-19 03:19:01 -02:00
mt9v011.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mt9v011.h
mt9v022.c V4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers to struct v4l2_rect elements. They are signed, so adjust the prototype accordingly 2010-05-18 00:44:09 -03:00
mx1_camera.c V4L/DVB: mx1-camera: compile fix 2010-05-06 19:20:51 -03:00
mx3_camera.c V4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers to struct v4l2_rect elements. They are signed, so adjust the prototype accordingly 2010-05-18 00:44:09 -03:00
mxb.c V4L/DVB: saa7146: fix regression of the av7110/budget-av driver 2010-05-06 19:20:50 -03:00
mxb.h
omap24xxcam-dma.c
omap24xxcam.c V4L/DVB: omap24xxcam: potential buffer overflow 2010-05-06 19:18:58 -03:00
omap24xxcam.h
ov511.c V4L/DVB: ov511: Fix continuation lines 2010-05-19 12:56:43 -03:00
ov511.h
ov772x.c soc-camera: ov772x: Modify buswidth control 2010-02-26 15:11:00 -03:00
ov7670.c V4L/DVB: ov7670: silence some compiler warnings 2010-05-18 00:51:25 -03:00
ov9640.c V4L/DVB: Fix bad whitespacing 2010-05-18 00:47:01 -03:00
ov9640.h V4L/DVB (13040): V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV9640 sensor 2009-12-05 18:40:01 -02:00
pms.c V4L/DVB: pms: remove unnecessary exclusive open/close 2010-05-18 00:51:30 -03:00
pxa_camera.c V4L/DVB: pxa_camera: move fifo reset direct before dma start 2010-05-06 19:20:52 -03:00
rj54n1cb0c.c V4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers to struct v4l2_rect elements. They are signed, so adjust the prototype accordingly 2010-05-18 00:44:09 -03:00
s2255drv.c V4L/DVB: s2255drv: support for frame skipping 2010-05-18 00:46:39 -03:00
saa711x_regs.h
saa717x.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa5246a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa5249.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa6588.c
saa7110.c V4L/DVB (13241): Cleanup redundant tests on unsigned 2009-12-05 18:41:04 -02:00
saa7115.c V4L/DVB: v4l2-common: add ability to use v4l2_ctrl_query_fill for chroma gain 2010-05-18 00:50:17 -03:00
saa7121.h
saa7127.c V4L/DVB (13913): saa7127: Add support for generating SECAM output for the SAA712[89] chips 2010-02-26 15:10:30 -03:00
saa7146.h
saa7146reg.h
saa7185.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa7191.c
saa7191.h
se401.c V4L/DVB (13550): v4l: Use the new video_device_node_name function 2009-12-16 00:17:55 -02:00
se401.h
sh_mobile_ceu_camera.c V4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers to struct v4l2_rect elements. They are signed, so adjust the prototype accordingly 2010-05-18 00:44:09 -03:00
soc_camera_platform.c V4L/DVB (13659): soc-camera: convert to the new mediabus API 2009-12-16 09:27:29 -02:00
soc_camera.c V4L/DVB: soc-camera: add runtime pm support for subdevices 2010-05-18 00:46:09 -03:00
soc_mediabus.c V4L/DVB: v4l: soc_camera: fix bound checking of mbus_fmt[] index 2010-02-26 15:11:11 -03:00
stk-sensor.c
stk-webcam.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
stk-webcam.h
stradis.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
stv680.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
stv680.h
tcm825x.c
tcm825x.h
tda7432.c
tda9840.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tda9875.c
tea6415c.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tea6415c.h
tea6420.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tea6420.h
ths7303.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tlv320aic23b.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tuner-core.c V4L/DVB (13964): tuner-core, fix memory leak 2010-02-26 15:10:34 -03:00
tvaudio.c V4L/DVB (13166): remove duplicate structure field initialization 2009-12-05 18:40:40 -02:00
tveeprom.c V4L/DVB (13958): tveeprom.c: use %pM to show MAC address 2010-02-26 15:10:34 -03:00
tvp514x_regs.h V4L/DVB (12246): tvp514x: Migration to sub-device framework 2009-09-19 00:18:09 -03:00
tvp514x.c V4L/DVB: V4L: tvp514x: Add Powerup sequence during s_input to lock the signal properly 2010-05-18 00:52:47 -03:00
tvp5150_reg.h
tvp5150.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tvp7002_reg.h V4L/DVB: Definitions for TVP7002 in DM365 2010-02-26 15:11:01 -03:00
tvp7002.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
tw9910.c tw9910: use TABs for indentation 2010-02-26 15:10:59 -03:00
upd64031a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
upd64083.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
v4l1-compat.c V4L/DVB (12948): v4l1-compat: fix VIDIOC_G_STD handling 2009-09-19 00:15:25 -03:00
v4l2-common.c V4L/DVB: v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls 2010-05-18 00:52:51 -03:00
v4l2-compat-ioctl32.c V4L/DVB: Fix VIDIOC_QBUF compat ioctl32 2010-02-26 15:10:49 -03:00
v4l2-dev.c V4L/DVB (13552): v4l: Replace video_is_unregistered with video_is_registered 2009-12-16 00:17:55 -02:00
v4l2-device.c V4L/DVB: Add SPI support to V4L2 2010-05-18 00:50:24 -03:00
v4l2-int-device.c
v4l2-ioctl.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
videobuf-core.c V4L/DVB: v4l: videobuf: code cleanup 2010-05-18 00:50:25 -03:00
videobuf-dma-contig.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
videobuf-dma-sg.c V4L/DVB: v4l: videobuf: code cleanup 2010-05-18 00:50:25 -03:00
videobuf-dvb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
videobuf-vmalloc.c V4L/DVB: v4l: videobuf: code cleanup 2010-05-18 00:50:25 -03:00
vino.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
vino.h
vivi.c V4L/DVB (13944): vivi: Fix test of unsigned in vivi_create_instance() 2010-02-26 15:10:32 -03:00
vp27smpx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
vpx3220.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
w9966.c V4L/DVB: w9966: remove camelCase 2010-05-18 00:51:31 -03:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
w9968cf.h
wm8739.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm8775.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
zr364xx.c V4L/DVB (13885): zr364xx: fix support for Aiptek DV T300 2010-02-26 15:10:28 -03:00