[kernel/f14/master] Grab a few more little IR fixes and document commits

Jarod Wilson jwilson at fedoraproject.org
Mon Oct 11 20:49:06 UTC 2010


commit 167ee12e609c05d9f462b2ce63dc741fb6a4e15c
Author: Jarod Wilson <jarod at redhat.com>
Date:   Mon Oct 11 16:49:13 2010 -0400

    Grab a few more little IR fixes and document commits
    
    Signed-off-by: Jarod Wilson <jarod at redhat.com>

 linux-2.6-lirc-ioctl-compat-fixups.patch |   56 +++++++
 linux-2.6-v4l-dvb-ir-core-update-2.patch |  213 ++++++++++++++++++++++++
 linux-2.6-v4l-dvb-ir-core-update-3.patch |  260 ++++++++++++++++++++++++++++++
 3 files changed, 529 insertions(+), 0 deletions(-)
---
diff --git a/linux-2.6-lirc-ioctl-compat-fixups.patch b/linux-2.6-lirc-ioctl-compat-fixups.patch
index eec5a22..50481cd 100644
--- a/linux-2.6-lirc-ioctl-compat-fixups.patch
+++ b/linux-2.6-lirc-ioctl-compat-fixups.patch
@@ -1,3 +1,59 @@
+This patch rolls up the following commits pending merge in the v4l-dvb tree:
+
+commit 7ce3b9f7bdb40837e15af89bb9d623c207ac9586
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Sat Oct 9 14:17:03 2010 -0400
+
+    lirc_dev: fixup error messages w/missing newlines
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit d1af871dadaf58580490431a335ea122a9b00d92
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Sat Oct 9 14:07:06 2010 -0400
+
+    lirc: wire up .compat_ioctl to main ioctl handler
+    
+    As pointed out (and tested) by Joris van Rantwijk, we do actually need
+    to wire up .compat_ioctl for 32-bit lirc userspace to work with 64-bit
+    lirc kernelspace. Do it. And add a check to make sure we get a valid
+    irctl in the ioctl handler.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit 8dea589f4dc51b0363555a53fee128965a0548d4
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Fri Oct 8 16:24:21 2010 -0400
+
+    IR/lirc: further ioctl portability fixups
+    
+    From: Joris van Rantwijk <jorispubl at xs4all.nl>
+    
+    ----8<----
+    I tested lirc_serial and found that it works fine.
+    Except the LIRC ioctls do not work in my 64-bit-kernel/32-bit-user
+    setup. I added compat_ioctl entries in the drivers to fix this.
+    
+    While doing so, I noticed inconsistencies in the argument type of
+    the LIRC ioctls. All ioctls are declared in lirc.h as having argument
+    type __u32, however there are a few places where the driver calls
+    get_user/put_user with an unsigned long argument.
+    
+    The patch below changes lirc_dev and lirc_serial to use __u32 for all
+    ioctl arguments, and adds compat_ioctl entries.
+    It should probably also be done in the other low-level drivers,
+    but I don't have hardware to test those.
+    ----8<----
+    
+    I've dropped the .compat_ioctl addition from Joris' original patch,
+    as I swear the non-compat definition should now work for both 32-bit
+    and 64-bit userspace. Technically, I think we still need/want a
+    Signed-off-by: from Joris here. Joris? (And sorry for the lengthy delay
+    in getting a reply to you).
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+---
  drivers/media/IR/ir-lirc-codec.c        |   13 +++++++----
  drivers/media/IR/lirc_dev.c             |   36 ++++++++++++++++++++----------
  drivers/staging/lirc/lirc_igorplugusb.c |    2 +-
diff --git a/linux-2.6-v4l-dvb-ir-core-update-2.patch b/linux-2.6-v4l-dvb-ir-core-update-2.patch
index f21aa7a..012167d 100644
--- a/linux-2.6-v4l-dvb-ir-core-update-2.patch
+++ b/linux-2.6-v4l-dvb-ir-core-update-2.patch
@@ -1,3 +1,216 @@
+This patch rolls up the following v4l-dvb upstream commits:
+
+commit 9b44ed200f1584f029da82e60e1f284d1d8de3da
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:26 2010 -0300
+
+    V4L/DVB: IR: Port ene driver to new IR subsystem and enable it
+
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 46192437f6d17c49f37bef73c97a14f2ed278db0
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:25 2010 -0300
+
+    V4L/DVB: STAGING: remove lirc_ene0100 driver
+    
+    Add latest unported version of this driver to media/IR.
+    Next patch will port it to ir core.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit abf84383ecadc8ada1963f9976e887c6f0b1bad9
+Author: Joe Perches <joe at perches.com>
+Date:   Mon Jul 12 17:50:03 2010 -0300
+
+    V4L/DVB: drivers/media: Remove unnecessary casts of private_data
+
+    Signed-off-by: Joe Perches <joe at perches.com>
+    Acked-by: Jarod Wilson <jarod at redhat.com>
+    Acked-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 26699e3cf2ce4938112ddf60e084feaf4ce435b5
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:20 2010 -0300
+
+    V4L/DVB: IR: NECX: support repeat
+        
+    This adds support for repeat detecting for NECX variant
+    Tested with uneversal remote
+
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 7f01033b288bb86d4f9d2885966d2c255f3659c1
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:19 2010 -0300
+
+    V4L/DVB: IR: nec decoder: fix repeat
+
+    Repeat space is 4 units, not 8.
+    Current code would never trigger a repeat.
+
+    However that isn't true for NECX, so repeat there
+    must be handled differently.
+
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Reviewed-by: Andy Walls <awalls at md.metrocast.net>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 54f7413aa4ce44d18c7f9744e37ff64c4668daa6
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:18 2010 -0300
+
+    V4L/DVB: IR: JVC: make repeat work
+
+    Currently, jvc decoder will attempt misdetect next press as a repeat
+    of last keypress, therefore second keypress isn't detected.
+
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 951c6835be77d1baf619f7960c2beb22eea36947
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:24 2010 -0300
+
+    V4L/DVB: IR: report unknown scancodes the in-kernel decoders found
+
+    This way it is possible to use evtest to create keymap for unknown remote.
+
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 3879b56940f84f3b90fb77ad5860083930be4bac
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:23 2010 -0300
+
+    V4L/DVB: IR: extend interfaces to support more device settings
+
+    LIRC: add new IOCTL that enables learning mode (wide band receiver)
+    Still missing features: carrier report & timeout reports.
+    Will need to pack these into ir_raw_event
+
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 2f5fb55510cf309cd749f1af85e26274f9e360ab
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:22 2010 -0300
+
+    V4L/DVB: IR: add helper function for hardware with small o/b buffer
+    
+    Some ir input devices have small buffer, and interrupt the host
+    each time it is full (or half full)
+    
+    Add a helper that automaticly handles timeouts, and also
+    automaticly merges samples of same time (space-space)
+    Such samples might be placed by hardware because size of
+    sample in the buffer is small (a byte for example).
+    
+    Also remove constness from ir_dev_props, because it now contains timeout
+    settings that driver might want to change
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Acked-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 0f3f74ce40f25e80e3733e5d5293251568b03d83
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:21 2010 -0300
+
+    V4L/DVB: IR: Allow not to compile keymaps in
+    
+    Currently, ir device registration fails if keymap requested by driver is not found.
+    Fix that by always compiling in the empty keymap, and using it as a failback.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Acked-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit daad37e3a9e0b9366da8eecb3e64bd47ac831938
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:17 2010 -0300
+
+    V4L/DVB: IR: replace workqueue with kthread
+    
+    It is perfectly possible to have ir_raw_event_work
+    running concurently on two cpus, thus we must protect
+    it from that situation.
+    
+    This stems from the fact that if hardware sends short packets of samples
+    we might end up queueing the work item more times that nessesary.
+    
+    Such job isn't well suited for a workqueue, so use a kernel thread.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 7c4be7bab7bb06974d649835cac66b5df984047f
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:16 2010 -0300
+
+    V4L/DVB: IR: replace spinlock with mutex
+    
+    Some handlers (lirc for example) allocates memory on initialization,
+    doing so in atomic context is cumbersome.
+    Fixes warning about sleeping function in atomic context.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 211ed16e58b2fdf0335e47546b252398b47e7790
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:15 2010 -0300
+
+    V4L/DVB: IR: minor fixes
+    
+    * lirc: Don't propagate reset event to userspace
+    * lirc: Remove strange logic from lirc that would make first sample always be pulse
+    * Make TO_US macro actualy print what it should.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit d8ffb6454250115ca0636d8481030466c1e3fdec
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Sat Jul 31 11:59:14 2010 -0300
+
+    V4L/DVB: IR: Kconfig fixes
+    
+    Move IR drives below separate menu.
+    This allows to disable them.
+    Also correct a typo.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 5af935cc96a291f90799bf6a2587d87329a91699
+Author: Mauro Carvalho Chehab <mchehab at redhat.com>
+Date:   Sun Aug 1 08:02:35 2010 -0300
+
+    V4L/DVB: dib0700: break keytable into NEC and RC-5 variants
+    
+    Instead of having one big keytable with 2 protocols inside, break it
+    into two separate tables, being one for NEC and another for RC-5 variants,
+    and properly identify what variant should be used at the boards entries.
+    
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 50b9d21ae2ac1b85be46f1ee5aa1b5e588622361
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Fri Aug 27 18:21:14 2010 -0300
+
+    V4L/DVB: mceusb: add two new ASUS device IDs
+    
+    Reported in lirc sf.net tracker and on lirc mailing list
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+
 diff -Naurp linux-2.6.35/drivers/media/IR/ene_ir.c linux-2.6.35.new/drivers/media/IR/ene_ir.c
 --- linux-2.6.35/drivers/media/IR/ene_ir.c	1969-12-31 19:00:00.000000000 -0500
 +++ linux-2.6.35.new/drivers/media/IR/ene_ir.c	2010-09-09 23:21:49.000000000 -0400
diff --git a/linux-2.6-v4l-dvb-ir-core-update-3.patch b/linux-2.6-v4l-dvb-ir-core-update-3.patch
index 2710fc4..29dc644 100644
--- a/linux-2.6-v4l-dvb-ir-core-update-3.patch
+++ b/linux-2.6-v4l-dvb-ir-core-update-3.patch
@@ -1,3 +1,218 @@
+This patch rolls up the following upstream v4l-dvb tree commits:
+
+commit 48f1bba604f1a5a312368bad822d2c03198a3ec3
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Fri Sep 17 18:12:31 2010 -0300
+
+    V4L/DVB: IR/lirc_dev: check for valid irctl in unregister path
+    
+    Prompted by Red Hat bugzilla #633023
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit e156b731596795714f1428c4ec00fe9f5468e083
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Wed Sep 15 00:28:41 2010 -0300
+
+    V4L/DVB: IR/imon: set up mce-only devices w/mce keytable
+    
+    Currently, they get set up with the pad keytable, which they can't
+    actually use at all. Also add another variant of volume scancodes from
+    another 0xffdc device, and properly set up the 0x9e 0xffdc device as an
+    iMON VFD w/MCE proto IR.
+    
+    Based on data and a prior patch from Anders Eriksson on the lirc list.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 08d23a4d7bf43cd7246f6546ddeab8c25d5d4e45
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Wed Sep 15 15:56:03 2010 -0300
+
+    V4L/DVB: IR/imon: protect ictx's kc and last_keycode w/spinlock
+    
+    Lest we get our keycodes wrong... Thus far, in practice, I've not found
+    it to actually matter, but its one of the issues raised in
+    https://bugzilla.kernel.org/show_bug.cgi?id=16351 that wasn't addressed
+    by converting to using native IR keydown/up functions.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 4d2acb4e7a23d47b8792bce34cf874da24193ce2
+Author: David Härdeman <david at hardeman.nu>
+Date:   Wed Sep 15 15:42:07 2010 -0300
+
+    V4L/DVB: imon: split mouse events to a separate input dev
+    
+    This is a stab at separating the mouse (and front panel/knob) events
+    out to a separate input device. This is necessary in preparation for
+    the next patch which makes the rc-core input dev opaque to rc
+    drivers.
+    
+    I can't verify the correctness of the patch beyond the fact that it
+    compiles without warnings. The driver has resisted most of my
+    attempts at understanding it properly...for example, the double calls
+    to le64_to_cpu() and be64_to_cpu() which are applied in
+    imon_incoming_packet() and imon_panel_key_lookup() would amount
+    to a bswab64() call, irregardless of the cpu endianness, and I think
+    the code wouldn't have worked on a big-endian machine...
+    
+    - Minor alterations to apply with minimal core IR changes
+    - Use timer for imon keys too, since its entirely possible for the
+      receiver to miss release codes (either by way of another key being
+      pressed while the first is held or by the remote pointing away from
+      the recevier when the key is release. yes, I know, its ugly).
+    - Bump driver version number, since this is a fairly significant change
+      (for the much much better).
+    Tested successfully w/an imon knob receiver.
+    
+    Signed-off-by: David Härdeman <david at hardeman.nu>
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 04c9c7d7135d0504638e02603dafa714e8d58945
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Wed Sep 15 15:31:12 2010 -0300
+
+    V4L/DVB: IR: export ir_keyup so imon driver can use it directly
+    
+    The imon driver currently reimplements its own version of ir_keyup
+    (along with key release timer functionality also already present in the
+    core IR code). A follow-up imon patch will make use of ir_keyup and the
+    IR stack's key release code.
+    
+    Trivial extraction from David Härdeman's pending rc-core merge and
+    device interface abstraction patchset to facilitate merging a patch
+    based on his imon input dev split patch ahead of the larger churn, which
+    is slated for post-2.6.37-rc1 (after Dmitry's large keycode patches are
+    merged in mainline).
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+Also includes the following patches pending v4l-dvb merge:
+
+commit 4032fc38fc2839871acd03a42d8d85ef1a43e2ff
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Fri Oct 8 15:23:56 2010 -0400
+
+    IR/Kconfig: sort hardware entries alphabetically
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit fc6507cb31f7f91d451726c89df7b59c566f62b8
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Fri Oct 8 15:16:23 2010 -0400
+
+    nuvoton-cir: add proper rx fifo overrun handling
+    
+    Per discussion with Andy Walls on irc, rx fifo overruns are not all that
+    uncommon on a busy system, and the initial posting of the nuvoton-cir
+    driver doesn't handle them well enough. With this addition, we'll drain
+    the hw fifo, attempt to process any ir pulse trains completed with that
+    flush, then we'll issue a hw rx fifo clear and reset the raw ir sample
+    kfifo and start over collecting raw ir data.
+    
+    Also slightly refactors the cir interrupt enabling so that we always get
+    consistent flags set and only have to modify them in one place, should
+    they need to be altered.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit 6728577395dac7238f3900096ab7236b95e8516f
+Author: Jarod Wilson <jarod at redhat.com>
+Date:   Thu Oct 7 16:50:34 2010 -0400
+
+    IR: add driver for Nuvoton w836x7hg integrated CIR
+    
+    This is a new ir-core pnp driver for the Nuvoton w836x7hg integrated CIR
+    function. The chip is found on at least the ASRock ION 330HT boxes and
+    apparently, on a number of Intel DP55-series motherboards:
+    
+    http://www.asrock.com/nettop/overview.asp?Model=ION%20330HT
+    http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17685&lang=eng
+    
+    This driver was made possible by a hardware donation from Nuvoton, along
+    with sample code (in the form of an lirc driver) and datasheet, so huge
+    thanks to them for supporting this effort. Note that this driver
+    constitutes a massive rewrite, porting from the lirc interfaces to the
+    ir-core interfaces, and restructuring the driver to look more like Maxim
+    Levitsky's ene_ir driver (as well as generally making it look more like
+    kernel code).
+    
+    There's some work left to be done on this driver, to fully support the
+    range of functionality possible, but receive and IR power-on/wake are
+    both functional (may require setting wake key under another OS atm). The
+    hardware I've got (one of the ASRock boxes) only supports RX, so TX is
+    completely untested as of yet. Certain RX parameters, like sample
+    resolution and RX IRQ sample length trigger level could possibly stand
+    to be made tweakable via modparams or sysfs nodes, but the current
+    values work well enough for me w/an MCE RC6A remote.
+    
+    The original lirc driver carried support for the Windows MCE IR
+    keyboard/mouse device, which I plan to add back generically, in a way
+    that should be usable by any raw IR receiver (or at least by this driver
+    and the mceusb driver).
+    
+    Suspend and resume have also been tested, the power button on my remote
+    can be used to wake the machine, and CIR functionality resumes just
+    fine. Module unload/reload has also been tested, though not extensively
+    or repetitively. Also tested to work with the lirc bridge plugin for
+    userspace decoding.
+    
+    Signed-off-by: Jarod Wilson <jarod at redhat.com>
+
+commit 3551d7d1ab34408eb6ae228d200243723c151db0
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Mon Sep 6 18:26:10 2010 -0300
+
+    V4L/DVB: IR: extend MCE keymap
+    
+    These keys are found on remote bundled with
+    Toshiba Qosmio F50-10q.
+    
+    Found and tested by, Sami R <maesesami at gmail.com>
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Acked-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit e081b5aead012579740501220624cafc35f22510
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Mon Sep 6 18:26:09 2010 -0300
+
+    V4L/DVB: IR: fix keys beeing stuck down forever
+    
+    The logic in ir_timer_keyup was inverted.
+    
+    In case that values aren't equal,
+    the meaning of the time_is_after_eq_jiffies(ir->keyup_jiffies) is that
+    ir->keyup_jiffies is after the the jiffies or equally that
+    that jiffies are before the the ir->keyup_jiffies which is
+    exactly the situation we want to avoid (that the timeout is in the future)
+    Confusing Eh?
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Acked-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+commit 30e18408adbdd840756fea541245b833dc764196
+Author: Maxim Levitsky <maximlevitsky at gmail.com>
+Date:   Mon Sep 6 18:26:08 2010 -0300
+
+    V4L/DVB: IR: fix duty cycle capability
+    
+    Due to typo lirc bridge enabled wrong capability.
+    
+    Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
+    Acked-by: Jarod Wilson <jarod at redhat.com>
+    Signed-off-by: Mauro Carvalho Chehab <mchehab at redhat.com>
+
+
+---
  drivers/media/IR/Kconfig         |   27 +-
  drivers/media/IR/Makefile        |    1 +
  drivers/media/IR/imon.c          |  583 +++++++++++--------
@@ -1038,6 +1253,16 @@ index 7961d59..59510cd 100644
  
  /**
   * ir_timer_keyup() - generates a keyup event after a timeout
+@@ -319,7 +319,7 @@ static void ir_timer_keyup(unsigned long cookie)
+	 * a keyup event might follow immediately after the keydown.
+	 */
+	spin_lock_irqsave(&ir->keylock, flags);
+-	if (time_is_after_eq_jiffies(ir->keyup_jiffies))
++	if (time_is_before_eq_jiffies(ir->keyup_jiffies))
+		ir_keyup(ir);
+	spin_unlock_irqrestore(&ir->keylock, flags);
+ }
+
 diff --git a/drivers/media/IR/nuvoton-cir.c b/drivers/media/IR/nuvoton-cir.c
 new file mode 100644
 index 0000000..fdb280e
@@ -2707,3 +2932,38 @@ index eb7fddf..4dd43d4 100644
  u32 ir_g_keycode_from_table(struct input_dev *input_dev, u32 scancode);
  
  /* From ir-raw-event.c */
+diff --git a/drivers/media/IR/keymaps/rc-rc6-mce.c b/drivers/media/IR/keymaps/rc-rc6-mce.c
+index 64264f7..39557ad 100644
+--- a/drivers/media/IR/keymaps/rc-rc6-mce.c
++++ b/drivers/media/IR/keymaps/rc-rc6-mce.c
+@@ -19,6 +19,7 @@ static struct ir_scancode rc6_mce[] = {
+ 
+	{ 0x800f0416, KEY_PLAY },
+	{ 0x800f0418, KEY_PAUSE },
++	{ 0x800f046e, KEY_PLAYPAUSE },
+	{ 0x800f0419, KEY_STOP },
+	{ 0x800f0417, KEY_RECORD },
+ 
+@@ -37,6 +38,8 @@ static struct ir_scancode rc6_mce[] = {
+	{ 0x800f0411, KEY_VOLUMEDOWN },
+	{ 0x800f0412, KEY_CHANNELUP },
+	{ 0x800f0413, KEY_CHANNELDOWN },
++	{ 0x800f043a, KEY_BRIGHTNESSUP },
++	{ 0x800f0480, KEY_BRIGHTNESSDOWN },
+ 
+	{ 0x800f0401, KEY_NUMERIC_1 },
+	{ 0x800f0402, KEY_NUMERIC_2 },
+diff --git a/drivers/media/IR/ir-lirc-codec.c b/drivers/media/IR/ir-lirc-codec.c
+index 77b5946..e63f757 100644
+--- a/drivers/media/IR/ir-lirc-codec.c
++++ b/drivers/media/IR/ir-lirc-codec.c
+@@ -267,7 +267,7 @@ static int ir_lirc_register(struct input_dev *input_dev)
+			features |= LIRC_CAN_SET_SEND_CARRIER;
+ 
+		if (ir_dev->props->s_tx_duty_cycle)
+-			features |= LIRC_CAN_SET_REC_DUTY_CYCLE;
++			features |= LIRC_CAN_SET_SEND_DUTY_CYCLE;
+	}
+ 
+	if (ir_dev->props->s_rx_carrier_range)
+


More information about the scm-commits mailing list