1. 29 12月, 2010 4 次提交
  2. 21 10月, 2010 4 次提交
    • M
      [media] IR: ene_ir: updates · 11b64d31
      Maxim Levitsky 提交于
      * Add support for newer firmware version that uses different
      buffer format. Makes hardware work for many users.
      
      * Register name updates
      
      * Lot of refactoring
      
      * Lots of fixes as a result of full testing
      
      * Idle mode is done now by resetting the device, and this eliminates
      the ugly sample_period = 75 hack.
      
      Every feature of the driver is now well tested.
      Signed-off-by: NMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      11b64d31
    • J
    • J
      [media] IR: add driver for Nuvoton w836x7hg integrated CIR · 6d2f5c27
      Jarod Wilson 提交于
      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: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      6d2f5c27
    • J
      V4L/DVB: IR/streamzap: functional in-kernel decoding · 7a569f52
      Jarod Wilson 提交于
      This patch makes in-kernel decoding with the stock Streamzap PC Remote
      work out of the box. There are quite a few things going on in this
      patch, all related to getting this working:
      
      1) I had to enable reporting of a long space at the end of each signal,
         or I had weird buffering and keybounce issues.
      
      2) The keymap has been reworked slightly to match actual decoded values,
         the first edition was missing the pre-data bits present in the lirc
         config file for this remote.
      
      3) There's a whole new decoder included, specifically for the
         not-quite-RC5 15-bit protocol variant used by the Streamzap PC
         Remote. The decoder, while usable with other recievers (tested with
         an mceusb receiver), will only be loaded by the streamzap driver, as
         its likely not of use in almost all other situations. This can be
         revisited if/when all keytable loading (and disabling of unneeded
         protocol decoder engines) is moved to userspace, but for now, I think
         this makes the most sense.
      
      Note that I did try to enable handling the streamzap RC5-ish protocol in
      the current RC5 decoder, but there's no particularly easy way to tell if
      its 14-bit RC5 or 15-bit Streamzap until we see bit 14, and even then,
      in testing an attempted decoder merge, only 2/3 of the keys were
      properly recognized as being the 15-bit variant and decoded correctly,
      the rest were close enough to compliant with 14-bit that they were
      decoded as such (but they have overlap with one another, and thus we
      can't just shrug and use the 14-bit decoded values).
      
      Also of note in this patch is the removal of the streamzap driver's
      internal delay buffer. Per discussion w/Christoph, it shouldn't be
      needed by lirc any longer anyway, and it doesn't seem to make any
      difference to the in-kernel decoder engine. That being the case, I'm
      yanking it all out, as it greatly simplifies the driver code.
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      7a569f52
  3. 13 8月, 2010 1 次提交
    • M
      V4L/DVB: Fix IR_CORE dependencies · cfec93f7
      Mauro Carvalho Chehab 提交于
      As pointed by Randy Dunlap <randy.dunlap@oracle.com>:
      > ERROR: "ir_keydown" [drivers/media/video/ir-kbd-i2c.ko] undefined!
      > ERROR: "__ir_input_register" [drivers/media/video/ir-kbd-i2c.ko] undefined!
      > ERROR: "get_rc_map" [drivers/media/video/ir-kbd-i2c.ko] undefined!
      > ERROR: "ir_input_unregister" [drivers/media/video/ir-kbd-i2c.ko] undefined!
      > ERROR: "get_rc_map" [drivers/media/video/cx88/cx88xx.ko] undefined!
      > ERROR: "ir_repeat" [drivers/media/video/cx88/cx88xx.ko] undefined!
      > ERROR: "ir_input_unregister" [drivers/media/video/cx88/cx88xx.ko] undefined!
      > ERROR: "ir_keydown" [drivers/media/video/cx88/cx88xx.ko] undefined!
      > ERROR: "__ir_input_register" [drivers/media/video/cx88/cx88xx.ko] undefined!
      > ERROR: "get_rc_map" [drivers/media/video/bt8xx/bttv.ko] undefined!
      > ERROR: "ir_input_unregister" [drivers/media/video/bt8xx/bttv.ko] undefined!
      > ERROR: "__ir_input_register" [drivers/media/video/bt8xx/bttv.ko] undefined!
      > ERROR: "ir_g_keycode_from_table" [drivers/media/IR/ir-common.ko] undefined!
      >
      >
      > #5101:
      > (.text+0x8306e2): undefined reference to `ir_core_debug'
      > (.text+0x830729): undefined reference to `ir_core_debug'
      > ir-functions.c:(.text+0x830906): undefined reference to `ir_core_debug'
      > (.text+0x8309d8): undefined reference to `ir_g_keycode_from_table'
      > (.text+0x830acf): undefined reference to `ir_core_debug'
      > (.text+0x830b92): undefined reference to `ir_core_debug'
      > (.text+0x830bef): undefined reference to `ir_core_debug'
      > (.text+0x830c6a): undefined reference to `ir_core_debug'
      > (.text+0x830cf7): undefined reference to `ir_core_debug'
      > budget-ci.c:(.text+0x89f5c8): undefined reference to `ir_keydown'
      > budget-ci.c:(.text+0x8a0c58): undefined reference to `get_rc_map'
      > budget-ci.c:(.text+0x8a0c80): undefined reference to `__ir_input_register'
      > budget-ci.c:(.text+0x8a0ee0): undefined reference to `get_rc_map'
      > budget-ci.c:(.text+0x8a11cd): undefined reference to `ir_input_unregister'
      > (.text+0x8a8adb): undefined reference to `ir_input_unregister'
      > dvb-usb-remote.c:(.text+0x8a9188): undefined reference to `get_rc_map'
      > dvb-usb-remote.c:(.text+0x8a91b1): undefined reference to `__ir_input_register'
      > dvb-usb-remote.c:(.text+0x8a9238): undefined reference to `get_rc_map'
      > dib0700_core.c:(.text+0x8b04ca): undefined reference to `ir_keydown'
      > dib0700_devices.c:(.text+0x8b2ea8): undefined reference to `ir_keydown'
      > dib0700_devices.c:(.text+0x8b2ef0): undefined reference to `ir_keydown'
      
      Those breakages seem to be caused by two bad things at IR_CORE Kconfig:
      
      1) cx23885 is using select for IR_CORE;
      2) the dvb-usb and sms dependency for IR_CORE were missing.
      
      While here, allow users to un-select IR.
      Acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      cfec93f7
  4. 09 8月, 2010 3 次提交
  5. 03 8月, 2010 5 次提交
  6. 01 6月, 2010 2 次提交
  7. 19 5月, 2010 7 次提交
  8. 18 5月, 2010 1 次提交
    • M
      V4L/DVB: ir-core: dynamically load the compiled IR protocols · 995187be
      Mauro Carvalho Chehab 提交于
      Instead of hardcoding the protocols into ir-core, add a register interface
      for the IR protocol decoders, and convert ir-nec-decoder into a client of
      ir-core.
      
      With this approach, it is possible to dynamically load the needed IR protocols,
      and to add a RAW IR interface module, registered as one IR raw protocol decoder.
      
      This patch opens a way to register a lirc_dev interface to work as an userspace
      IR protocol decoder.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      995187be
  9. 16 12月, 2009 2 次提交