1. 19 3月, 2013 1 次提交
  2. 26 2月, 2013 1 次提交
  3. 23 2月, 2013 1 次提交
  4. 14 2月, 2013 2 次提交
  5. 09 2月, 2013 5 次提交
  6. 06 2月, 2013 3 次提交
  7. 01 2月, 2013 1 次提交
    • A
      [media] imon: fix Knob event interpretation issues on ARM · 24dec5da
      Alexandre Lissy 提交于
      Events for the iMon Knob pad where not correctly interpreted on ARM,
      resulting in buggy mouse movements (cursor going straight out of the
      screen), key pad only generating KEY_RIGHT and KEY_DOWN events.
      A reproducer is:
      int main(int argc, char ** argv)
      {
              char rel_x = 0x00; printf("rel_x:%d @%s:%d\n", rel_x, __FILE__, __LINE__);
              rel_x = 0x0f; printf("rel_x:%d @%s:%d\n", rel_x, __FILE__, __LINE__);
              rel_x |= ~0x0f; printf("rel_x:%d @%s:%d\n", rel_x, __FILE__, __LINE__);
              return 0;
      }
      (running on x86 or amd64)
      $ ./test
      rel_x:0 @test.c:6
      rel_x:15 @test.c:7
      rel_x:-1 @test.c:8
      (running on armv6)
      rel_x:0 @test.c:6
      rel_x:15 @test.c:7
      rel_x:255 @test.c:8
      Forcing the rel_x and rel_y variables as signed char fixes the issue.
      
      Reference: http://www.arm.linux.org.uk/docs/faqs/signedchar.phpSigned-off-by: NAlexandre Lissy <alexandrelissy@free.fr>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      24dec5da
  8. 12 1月, 2013 1 次提交
    • T
      ARM: OMAP2+: Disable code that currently does not work with multiplaform · a62a6e98
      Tony Lindgren 提交于
      We still need to fix up few places for multiplatform support,
      but that can proceed separately. Fix the issue by making the
      problem drivers depends !ARCH_MULTIPLATFORM for now.
      
      The remaining pieces that are not multiplatform compatible
      for omap2+ SoCs are:
      
      1. Some drivers are using custom omap_dm_timer calls
      
      There are two drivers that are directly usign omap hardware
      timers for PWM and DSP clocking: drivers/media/rc/ir-rx51.c and
      drivers/staging/tidspbridge/core/dsp-clock.c. These can be
      fixed for multiplatform by allowing a minimal set of hardware
      timers to be accessed, and for some functionality by using the
      hrtimer framework.
      
      2. Hardware OMAP4_ERRATA_I688 needs to be fixed up
      
      This can't be enabled for multiplatform configurations in
      it's current form. It may be possible to fix it up to do
      instruction replacement early on during init. Luckily it
      looks like this errata does not seem to get hit with
      mainline kernel code alone at least currently.
      
      3. Legacy header needed for omap-sham.c
      
      Looks like it still needs mach/irqs.h for omap1 that
      does not exist for multiplatform systems. Just ifdef
      it for now.
      
      4. Mailbox is waiting to get moved to drivers
      
      Disable it for now to avoid adding a dependency to the
      mailbox patches.
      
      Cc: Timo Kokkonen <timo.t.kokkonen@iki.fi>
      Cc: Sean Young <sean@mess.org>
      Cc: "Víctor Manuel Jáquez Leal" <vjaquez@igalia.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      [tony@atomide.com: updated to disable mailbox]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a62a6e98
  9. 04 1月, 2013 1 次提交
    • G
      Drivers: media: remove __dev* attributes. · 4c62e976
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4c62e976
  10. 28 12月, 2012 1 次提交
  11. 27 12月, 2012 1 次提交
  12. 26 12月, 2012 1 次提交
  13. 24 12月, 2012 1 次提交
  14. 22 12月, 2012 5 次提交
    • M
      [media] rc: Call rc_register_device before irq setup · 9fa35204
      Matthijs Kooijman 提交于
      This should fix a potential race condition, when the irq handler
      triggers while rc_register_device is still setting up the rdev->raw
      device.
      This crash has not been observed in practice, but there should be a very
      small window where it could occur. Since ir_raw_event_store_with_filter
      checks if rdev->raw is not NULL before using it, this bug is not
      triggered if the request_irq triggers a pending irq directly (since
      rdev->raw will still be NULL then).
      This commit was tested on nuvoton-cir only.
      
      Cc: Jarod Wilson <jarod@redhat.com>
      Cc: Maxim Levitsky <maximlevitsky@gmail.com>
      Cc: David Härdeman <david@hardeman.nu>
      Signed-off-by: NMatthijs Kooijman <matthijs@stdin.nl>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      9fa35204
    • M
      [media] rc: Set rdev before irq setup · d62b6818
      Matthijs Kooijman 提交于
      This fixes a problem in fintek-cir and nuvoton-cir where the
      irq handler would trigger during module load before the rdev member was
      set, causing a NULL pointer crash.
      It seems this crash is very reproducible (just bombard the receiver with
      IR signals during module load), probably because when request_irq is
      called, any pending intterupt is handled immediately, before
      request_irq returns and rdev can be set.
      This same crash was supposed to be fixed by commit
      9ef449c6 ("[media] rc: Postpone ISR
      registration"), but the crash was still observed on the nuvoton-cir
      driver.
      This commit was tested on nuvoton-cir only.
      
      Cc: Jarod Wilson <jarod@redhat.com>
      Signed-off-by: NMatthijs Kooijman <matthijs@stdin.nl>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      d62b6818
    • M
      [media] rc: Make probe cleanup goto labels more verbose · 70ef6991
      Matthijs Kooijman 提交于
      Before, labels were simply numbered. Now, the labels are named after the
      cleanup action they'll perform (first), based on how the winbond-cir
      driver does it. This makes the code a bit more clear and makes changes
      in the ordering of labels easier to review.
      This change is applied only to the rc drivers that do significant
      cleanup in their probe functions: ati-remote, ene-ir, fintek-cir,
      gpio-ir-recv, ite-cir, nuvoton-cir.
      This commit should not change any code, it just renames goto labels.
      
      [mchehab@redhat.com: removed changes at gpio-ir-recv.c, due to
       merge conflicts]
      Signed-off-by: NMatthijs Kooijman <matthijs@stdin.nl>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      70ef6991
    • J
      [media] rc: Fix double free in gpio_ir_recv_remove() · bbe2a1d3
      Jesper Juhl 提交于
      Since rc_unregister_device() frees its argument there's no need to
      subsequently call rc_free_device() on the same variable - in fact it's
      a double free bug.
      Easily fixed by just removing the rc_free_device() call.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      bbe2a1d3
    • J
      [media] rc: Fix double free in gpio_ir_recv_probe() · e5d85b9a
      Jesper Juhl 提交于
      At the 'err_request_irq' label, rc_unregister_device(rcdev) frees its
      argument. So when we fall through to the 'err_gpio_request' label
      further down and call rc_free_device(rcdev) then that's a double free.
      Fix that by moving 'rcdev = NULL' from after the call to
      rc_free_device() to after rc_unregister_device(). That fixes the
      problem since rc_free_device() just does nothing if passed NULL and
      there's no further use of 'rcdev' after the call to rc_free_device()
      so it's not needed there.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      e5d85b9a
  15. 22 11月, 2012 3 次提交
  16. 29 10月, 2012 2 次提交
  17. 28 10月, 2012 5 次提交
  18. 27 10月, 2012 2 次提交
    • D
      [media] rc-core: add separate defines for protocol bitmaps and numbers · c003ab1b
      David Härdeman 提交于
      The RC_TYPE_* defines are currently used both where a single protocol is
      expected and where a bitmap of protocols is expected.
      
      Functions like rc_keydown() and functions which add/remove entries to the
      keytable want a single protocol. Future userspace APIs would also
      benefit from numeric protocols (rather than bitmap ones). Keytables are
      smaller if they can use a small(ish) integer rather than a bitmap.
      
      Other functions or struct members (e.g. allowed_protos,
      enabled_protocols, etc) accept multiple protocols and need a bitmap.
      
      Using different types reduces the risk of programmer error. Using a
      protocol enum whereever possible also makes for a more future-proof
      user-space API as we don't need to worry about a sufficient number of
      bits being available (e.g. in structs used for ioctl() calls).
      
      The use of both a number and a corresponding bit is dalso one in e.g.
      the input subsystem as well (see all the references to set/clear bit when
      changing keytables for example).
      
      This patch separate the different usages in preparation for
      upcoming patches.
      
      Where a single protocol is expected, enum rc_type is used; where one or more
      protocol(s) are expected, something like u64 is used.
      
      The patch has been rewritten so that the format of the sysfs "protocols"
      file is no longer altered (at the loss of some detail). The file itself
      should probably be deprecated in the future though.
      Signed-off-by: NDavid Härdeman <david@hardeman.nu>
      Cc: Andy Walls <awalls@md.metrocast.net>
      Cc: Maxim Levitsky <maximlevitsky@gmail.com>
      Cc: Antti Palosaari <crope@iki.fi>
      Cc: Mike Isely <isely@pobox.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      c003ab1b
    • S
      [media] media/ir_rx51: use module_platform_driver macro · 304ce75d
      Srinivas Kandagatla 提交于
      This patch removes some code duplication by using
      module_platform_driver.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      304ce75d
  19. 19 10月, 2012 1 次提交
  20. 07 10月, 2012 2 次提交
    • W
      [media] rc-msi-digivox-ii: Add full scan keycodes · b45681a6
      Wolfgang Bail 提交于
      The ir-rc from my MSI DigiVox mini II Version 3 (af9015) will not work since
      kernel 3.2.x.
      
      sudo ir-keytable -t shows:
      
      	1348890734.303273: event MSC: scancode = 317
      	1348890734.303280: event key down: KEY_POWER (0x0074)
      	1348890734.303282: event sync
      	1348890734.553961: event key up: KEY_POWER (0x0074)
      	1348890734.553963: event sync
      	1348890741.303451: event MSC: scancode = 30d
      	1348890741.303457: event key down: KEY_DOWN (0x006c)
      	1348890741.303459: event sync
      	1348890741.553956: event key up: KEY_DOWN (0x006c)
      
      So I changed in rc-msi-digivox-ii.c { 0x0002, KEY_2 }, to { 0x0302, KEY_2 },
      and so on. And now it works well.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      b45681a6
    • S
      [media] winbond: remove space from driver name · 54fd321e
      Sean Young 提交于
      -snip-
      ACTION=add
      DEVPATH=/devices/pnp0/00:04/rc/rc0
      DRV_NAME=Winbond CIR
      NAME=rc-rc6-mce
      SUBSYSTEM=rc
      UDEV_LOG=6
      USEC_INITIALIZED=88135858
      run: '/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s rc0'
      Having a space makes it impossible to match in /etc/rc_maps.cfg.
      
      [root@pequod ~]# udevadm test /sys/class/rc/rc0
      Signed-off-by: NSean Young <sean@mess.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      54fd321e