1. 07 2月, 2014 1 次提交
  2. 06 2月, 2014 3 次提交
    • J
      [media] media: rc: change 32bit NEC scancode format · 18bc1744
      James Hogan 提交于
      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: NJames 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: NMauro Carvalho Chehab <m.chehab@samsung.com>
      18bc1744
    • J
      [media] media: rc: add sysfs scancode filtering interface · 00942d1a
      James Hogan 提交于
      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: NJames 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: NMauro Carvalho Chehab <m.chehab@samsung.com>
      00942d1a
    • J
      [media] rc: ir-raw: Load ir-sharp-decoder module at init · 324a6673
      James Hogan 提交于
      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: NJames Hogan <james.hogan@imgtec.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      324a6673
  3. 05 2月, 2014 5 次提交
  4. 04 2月, 2014 3 次提交
  5. 15 1月, 2014 2 次提交
  6. 07 1月, 2014 1 次提交
  7. 11 12月, 2013 2 次提交
  8. 10 12月, 2013 1 次提交
  9. 30 11月, 2013 1 次提交
  10. 15 11月, 2013 1 次提交
  11. 08 11月, 2013 2 次提交
    • M
      [media] rc: Fir warnings on m68k arch · 221cefa4
      Mauro Carvalho Chehab 提交于
      Fix the following warnings:
      	drivers/media/rc/fintek-cir.c: In function 'fintek_cr_write':
      	drivers/media/rc/fintek-cir.c:45:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/fintek-cir.c:46:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/fintek-cir.c: In function 'fintek_cr_read':
      	drivers/media/rc/fintek-cir.c:54:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/fintek-cir.c:55:8: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/fintek-cir.c: In function 'fintek_config_mode_enable':
      	drivers/media/rc/fintek-cir.c:80:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/fintek-cir.c:81:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/fintek-cir.c: In function 'fintek_config_mode_disable':
      	drivers/media/rc/fintek-cir.c:87:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c: In function 'nvt_cr_write':
      	drivers/media/rc/nuvoton-cir.c:45:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c:46:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c: In function 'nvt_cr_read':
      	drivers/media/rc/nuvoton-cir.c:52:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c:53:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c: In function 'nvt_efm_enable':
      	drivers/media/rc/nuvoton-cir.c:74:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c:75:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c: In function 'nvt_efm_disable':
      	drivers/media/rc/nuvoton-cir.c:81:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c: In function 'nvt_select_logical_dev':
      	drivers/media/rc/nuvoton-cir.c:91:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      	drivers/media/rc/nuvoton-cir.c:92:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      Those are caused because the I/O port is u32, instead of u8.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      221cefa4
    • S
      [media] iguanair: simplify calculation of carrier delay cycles · 9bd766b7
      Sean Young 提交于
      Simplify the logic that	calculates the carrier,	and removes a warning
      on avr32 arch:
              drivers/media/rc/iguanair.c: In function 'iguanair_set_tx_carrier':
              drivers/media/rc/iguanair.c:304: warning: 'sevens' may be used uninitialized in this function
      Signed-off-by: NSean Young <sean@mess.org>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      Reviewed-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      9bd766b7
  12. 31 10月, 2013 2 次提交
  13. 17 10月, 2013 2 次提交
  14. 14 10月, 2013 1 次提交
  15. 23 8月, 2013 1 次提交
  16. 22 8月, 2013 5 次提交
  17. 01 8月, 2013 2 次提交
    • S
      [media] media: lirc: Allow lirc dev to talk to rc device · ca7a722d
      Srinivas Kandagatla 提交于
      The use case is simple, if any rc device has allowed protocols =
      RC_TYPE_LIRC and map_name = RC_MAP_LIRC set, the driver open will be never
      called. The reason for this is, all of the key maps except lirc have some
      KEYS in there map, so during rc_register_device process these keys are
      matched against the input drivers and open is performed, so for the case
      of RC_MAP_EMPTY, a vt/keyboard is matched and the driver open is
      performed.
      In case of lirc, there is no match and result is that there is no open
      performed, however the lirc-dev will go ahead and create a /dev/lirc0
      node. Now when lircd/mode2 opens this device, no data is available
      because the driver was never opened.
      Other case pointed by Sean Young, As rc device gets opened via the
      input interface. If the input device is never opened (e.g. embedded with
      no console) then the rc open is never called and lirc will not work
      either. So that's another case.
      lirc_dev seems to have no link with actual rc device w.r.t open/close.
      This patch adds rc_dev pointer to lirc_driver structure for cases like
      this, so that it can do the open/close of the real driver in accordance
      to lircd/mode2 open/close.
      Without this patch its impossible to open a rc device which has
      RC_TYPE_LIRC ad RC_MAP_LIRC set.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      ca7a722d
    • S
      [media] media: rc: Add rc_open/close and use count to rc_dev · 8b2ff320
      Srinivas Kandagatla 提交于
      This patch adds user count to rc_dev structure, the reason to add this
      new member is to allow other code like lirc to open rc device directly.
      In the existing code, rc device is only opened by input subsystem which
      works ok if we have any input drivers to match. But in case like lirc
      where there will be no input driver, rc device will be never opened.
      Having this user count variable will be usefull to allow rc device to be
      opened from code other than rc-main.
      This patch also adds rc_open and rc_close functions for other drivers
      like lirc to open and close rc devices. This functions safely increment
      and decrement the user count. Other driver wanting to open rc device
      should call rc_open and rc_close, rather than directly modifying the
      rc_dev structure.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      8b2ff320
  18. 31 7月, 2013 3 次提交
  19. 29 7月, 2013 2 次提交