1. 19 2月, 2010 2 次提交
  2. 17 2月, 2010 1 次提交
  3. 11 2月, 2010 7 次提交
  4. 04 2月, 2010 8 次提交
  5. 01 2月, 2010 1 次提交
    • A
      Input: add imx-keypad driver to support the IMX Keypad Port · 76cdc083
      Alberto Panizzo 提交于
      The IMX family of Application Processors is shipped with a Keypad Port
      supported by this driver.
      
      The peripheral can control up to an 8x8 matrix key pad where all the
      scanning is done via software.  The hardware provides two interrupts:
      one for key presses (KDI) and one for all key releases (KRI). There is
      also a simple circuit for glitch reduction (said for synchronization)
      made by two series of 3 D-latches clocked by the keypad-clock that
      stabilize the interrupts sources. KDI and KRI are fired only if the
      respective conditions are maintained for at last 4 keypad-clock cycle.
      
      Since those circuits are poor for a correct debounce process (the
      keypad-clock frequency is 32K and bounces longer than 94us are not
      masked) the driver, when an interrupt arrives, samples the matrix
      with a period of 10ms until the readins are stable for
      IMX_KEYPAD_SCANS_FOR_STABILITY times (currently set at 3). After
      getting stable result appropriate events are sent through the input
      stack.
      
      If some keys are maintained pressed, the driver continues to scan
      the matrix with a longer period (60ms) to catch possible multiple
      key presses without overloading the cpu. This process ends when all
      keys are released.
      
      This driver is tested to build in kernel or as a module and follow
      the specification of Freescale Application processors:
      i.MX25 i.MX27 i.MX31 i.MX35 i.MX51 especially tested on i.MX31.
      Signed-off-by: NAlberto Panizzo <maramaopercheseimorto@gmail.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      76cdc083
  6. 30 1月, 2010 4 次提交
    • D
      Input: Mac button emulation - allow compiling as a module · 429722e1
      Dmitry Torokhov 提交于
      Not all systems require Mac-style button emulation, however distributions
      enable it by default so it is readily available. Allow compiling it as a
      module so it can be loaded only on systems that actually require it.
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      429722e1
    • D
      Input: Mac button emulation - implement as an input filter · 99b089c3
      Dmitry Torokhov 提交于
      Current implementation of Mac mouse button emulation plugs into legacy
      keyboard driver, converts certain keys into button events on a separate
      device, and suppresses the real events from reaching tty. This worked
      well enough until user space started using evdev which was completely
      unaware of this arrangement and kept sending original key presses to
      its users. Change the implementation to use newly added input filter
      framework so that original key presses are not transmitted to any
      handlers.
      
      As a bonus remove SYSCTL dependencies from the code and use Kconfig
      instead; also do not create the emulated mouse device until user
      activates emulation.
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      99b089c3
    • D
      Input: implement input filters · ef7995f4
      Dmitry Torokhov 提交于
      Sometimes it is desirable to suppress certain events from reaching
      input handlers and thus user space. One such example is Mac mouse
      button emulation code which catches certain key presses and converts
      them into button clicks as if they were emitted by a virtual mouse.
      The original key press events should be completely suppressed,
      otherwise user space will be confused, and while keyboard driver
      does it on its own evdev is blissfully unaware of this arrangement.
      
      This patch adds notion of 'filter' to the standard input handlers,
      which may flag event as filtered thus preventing it from reaching
      other input handlers. Filters don't (nor will they ever) have a
      notion of priority relative to each other, input core will run all
      of them first and any one of them may mark event as filtered.
      
      This patch is inspired by similar patch by Matthew Garret but the
      implementation and intended usage are quite different.
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      ef7995f4
    • T
      Input: uinput - remove BKL from uinput_open function · 45cdba4d
      Thadeu Lima de Souza Cascardo 提交于
      Commit 87029658 pushed down the BKL
      into uinput open function. However, there's nothing that needs locking
      in there.
      Signed-off-by: NThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      45cdba4d
  7. 29 1月, 2010 1 次提交
  8. 25 1月, 2010 2 次提交
  9. 22 1月, 2010 4 次提交
  10. 21 1月, 2010 10 次提交
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 836f48c5
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: retry FS IOs even if it has failed with AC_ERR_INVALID
      836f48c5
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 · bdeef61c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
        tty: fix race in tty_fasync
        serial: serial_cs: oxsemi quirk breaks resume
        serial: imx: bit &/| confusion
        serial: Fix crash if the minimum rate of the device is > 9600 baud
        serial-core: resume serial hardware with no_console_suspend
        serial: 8250_pnp: use wildcard for serial Wacom tablets
        nozomi: quick fix for the close/close bug
        compat_ioctl: Supress "unknown cmd" message on serial /dev/console
      bdeef61c
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 4caca5f9
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
        Staging: hv: fix smp problems in the hyperv core code
        Staging: et131x: Fix 2.6.33rc1 regression in et131x
        Staging: asus_oled: fix oops in 2.6.32.2
      4caca5f9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 · f8c7e6c2
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
        Revert "sysdev: fix prototype for memory_sysdev_class show/store functions"
        driver-core: fix devtmpfs crash on s390
      f8c7e6c2
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · c9140487
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
        USB: isp1362: fix build failure on ARM systems via irq_flags cleanup
        USB: isp1362: better 64bit printf warning fixes
        USB: fix usbstorage for 2770:915d delivers no FAT
        USB: Fix level of isp1760 Reloading ptd error message
        USB: FHCI: avoid NULL pointer dereference
        USB: Fix duplicate sysfs problem after device reset.
        USB: add speed values for USB 3.0 and wireless controllers
        USB: add missing delay during remote wakeup
        USB: EHCI & UHCI: fix race between root-hub suspend and port resume
        USB: EHCI: fix handling of unusual interrupt intervals
        USB: Don't use GFP_KERNEL while we cannot reset a storage device
        USB: fix bitmask merge error
        usb: serial: fix memory leak in generic driver
        USB: serial: fix USB serial fix kfifo_len locking
      c9140487
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 456eac94
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
        fs/bio.c: fix shadows sparse warning
        drbd: The kernel code is now equivalent to out of tree release 8.3.7
        drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)
        drbd: Don't go into StandAlone mode when authentification failes because of network error
        drivers/block/drbd/drbd_receiver.c: correct NULL test
        cfq-iosched: Respect ioprio_class when preempting
        genhd: overlapping variable definition
        block: removed unused as_io_context
        DM: Fix device mapper topology stacking
        block: bdev_stack_limits wrapper
        block: Fix discard alignment calculation and printing
        block: Correct handling of bottom device misaligment
        drbd: check on CONFIG_LBDAF, not LBD
        drivers/block/drbd: Correct NULL test
        drbd: Silenced an assert that could triggered after changing write ordering method
        drbd: Kconfig fix
        drbd: Fix for a race between IO and a detach operation [Bugz 262]
        drbd: Use drbd_crypto_is_hash() instead of an open coded check
      456eac94
    • L
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · dedd0c2a
      Linus Torvalds 提交于
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (23 commits)
        ACPI: delete acpi_processor_power_verify_c2()
        ACPI: allow C3 > 1000usec
        ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
        ACPI: power_meter: remove double kfree()
        ACPI: processor: restrict early _PDC to opt-in platforms
        ACPI: Fix unused variable warning in sbs.c
        acpi: make ACPI device id constant
        sony-laptop - fix using of uninitialized variable
        ACPI: Fix section mismatch error for acpi_early_processor_set_pdc()
        eeepc-laptop: disable wireless hotplug for 1201N
        eeepc-laptop: add hotplug_disable parameter
        eeepc-laptop: switch to using sparse keymap library
        eeepc-laptop: dmi blacklist to disable pci hotplug code
        eeepc-laptop: disable cpu speed control on EeePC 701
        ACPI: don't cond_resched if irq is disabled
        ACPI: Remove unnecessary cast.
        ACPI: Advertise to BIOS in _OSC: _OST on _PPC changes
        ACPI: EC: Add wait for irq storm
        ACPI: SBS: Move SBS HC callback to faster Notify queue
        x86, ACPI: delete acpi_boot_table_init() return value
        ...
      dedd0c2a
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 · 15e551e5
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
        ecryptfs: use after free
        ecryptfs: Eliminate useless code
        ecryptfs: fix interpose/interpolate typos in comments
        ecryptfs: pass matching flags to interpose as defined and used there
        ecryptfs: remove unnecessary d_drop calls in ecryptfs_link
        ecryptfs: don't ignore return value from lock_rename
        ecryptfs: initialize private persistent file before dereferencing pointer
        eCryptfs: Remove mmap from directory operations
        eCryptfs: Add getattr function
        eCryptfs: Use notify_change for truncating lower inodes
      15e551e5
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · 30a0f5e1
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
        Btrfs: fix possible panic on unmount
        Btrfs: deal with NULL acl sent to btrfs_set_acl
        Btrfs: fix regression in orphan cleanup
        Btrfs: Fix race in btrfs_mark_extent_written
        Btrfs, fix memory leaks in error paths
        Btrfs: align offsets for btrfs_ordered_update_i_size
        btrfs: fix missing last-entry in readdir(3)
      30a0f5e1
    • Y
      vmalloc: remove BUG_ON due to racy counting of VM_LAZY_FREE · 88f50044
      Yongseok Koh 提交于
      In free_unmap_area_noflush(), va->flags is marked as VM_LAZY_FREE first, and
      then vmap_lazy_nr is increased atomically.
      
      But, in __purge_vmap_area_lazy(), while traversing of vmap_are_list, nr
      is counted by checking VM_LAZY_FREE is set to va->flags.  After counting
      the variable nr, kernel reads vmap_lazy_nr atomically and checks a
      BUG_ON condition whether nr is greater than vmap_lazy_nr to prevent
      vmap_lazy_nr from being negative.
      
      The problem is that, if interrupted right after marking VM_LAZY_FREE,
      increment of vmap_lazy_nr can be delayed.  Consequently, BUG_ON
      condition can be met because nr is counted more than vmap_lazy_nr.
      
      It is highly probable when vmalloc/vfree are called frequently.  This
      scenario have been verified by adding delay between marking VM_LAZY_FREE
      and increasing vmap_lazy_nr in free_unmap_area_noflush().
      
      Even the vmap_lazy_nr is for checking high watermark, it never be the
      strict watermark.  Although the BUG_ON condition is to prevent
      vmap_lazy_nr from being negative, vmap_lazy_nr is signed variable.  So,
      it could go down to negative value temporarily.
      
      Consequently, removing the BUG_ON condition is proper.
      
      A possible BUG_ON message is like the below.
      
         kernel BUG at mm/vmalloc.c:517!
         invalid opcode: 0000 [#1] SMP
         EIP: 0060:[<c04824a4>] EFLAGS: 00010297 CPU: 3
         EIP is at __purge_vmap_area_lazy+0x144/0x150
         EAX: ee8a8818 EBX: c08e77d4 ECX: e7c7ae40 EDX: c08e77ec
         ESI: 000081fe EDI: e7c7ae60 EBP: e7c7ae64 ESP: e7c7ae3c
         DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
         Call Trace:
         [<c0482ad9>] free_unmap_vmap_area_noflush+0x69/0x70
         [<c0482b02>] remove_vm_area+0x22/0x70
         [<c0482c15>] __vunmap+0x45/0xe0
         [<c04831ec>] vmalloc+0x2c/0x30
         Code: 8d 59 e0 eb 04 66 90 89 cb 89 d0 e8 87 fe ff ff 8b 43 20 89 da 8d 48 e0 8d 43 20 3b 04 24 75 e7 fe 05 a8 a5 a3 c0 e9 78 ff ff ff <0f> 0b eb fe 90 8d b4 26 00 00 00 00 56 89 c6 b8 ac a5 a3 c0 31
         EIP: [<c04824a4>] __purge_vmap_area_lazy+0x144/0x150 SS:ESP 0068:e7c7ae3c
      
      [ See also http://marc.info/?l=linux-kernel&m=126335856228090&w=2 ]
      Signed-off-by: NYongseok Koh <yongseok.koh@samsung.com>
      Reviewed-by: NMinchan Kim <minchan.kim@gmail.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      88f50044