1. 06 Feb, 2014 3 commits
    • James Hogan's avatar
      [media] media: rc: change 32bit NEC scancode format · 18bc1744
      James Hogan authored
      Change 32bit NEC scancode format (used by Apple and TiVo remotes) to
      encode the data with the correct bit order. Previously the raw bits were
      used without being bit reversed, now each 16bit half is bit reversed
      compared to before.
      
      So for the raw NEC data:
        (LSB/First) 0xAAaaCCcc (MSB/Last)
      (where traditionally AA=address, aa=~address, CC=command, cc=~command)
      
      We now generate the scancodes:
        (MSB) 0x0000AACC (LSB) (normal NEC)
        (MSB) 0x00AAaaCC (LSB) (extended NEC, address check wrong)
        (MSB) 0xaaAAccCC (LSB) (32-bit NEC, command check wrong)
      
      Note that the address byte order in 32-bit NEC scancodes is different to
      that of the extended NEC scancodes. I chose this way as it maintains the
      order of the bits in the address/command fields, and CC is clearly
      intended to be the LSB of the command if the TiVo codes are anything to
      go by so it makes sense for AA to also be the LSB.
      
      The TiVo keymap is updated accordingly.
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: Jarod Wilson <jarod@redhat.com>
      Cc: linux-media@vger.kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      18bc1744
    • James Hogan's avatar
      [media] media: rc: add sysfs scancode filtering interface · 00942d1a
      James Hogan authored
      Add and document a generic sysfs based scancode filtering interface for
      making use of IR data matching hardware to filter out uninteresting
      scancodes. Two filters exist, one for normal operation and one for
      filtering scancodes which are permitted to wake the system from suspend.
      
      The following files are added to /sys/class/rc/rc?/:
       - filter: normal scancode filter value
       - filter_mask: normal scancode filter mask
       - wakeup_filter: wakeup scancode filter value
       - wakeup_filter_mask: wakeup scancode filter mask
      
      A new s_filter() driver callback is added which must arrange for the
      specified filter to be applied at the right time. Drivers can convert
      the scancode filter into a raw IR data filter, which can be applied
      immediately or later (for wake up filters).
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
      Cc: linux-media@vger.kernel.org
      Cc: Rob Landley <rob@landley.net>
      Cc: linux-doc@vger.kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      00942d1a
    • James Hogan's avatar
      [media] rc: ir-raw: Load ir-sharp-decoder module at init · 324a6673
      James Hogan authored
      Commit 1d184b0b ([media] media: rc: add raw decoder for Sharp
      protocol) added a new raw IR decoder for the sharp protocol, but didn't
      add the code to load the module at init as is done for other raw
      decoders, so add that code now.
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
      324a6673
  2. 04 Feb, 2014 37 commits