03 Dec, 2011

1 commit


23 Nov, 2011

1 commit

  • Genera Touch told us that 0001 is their single point device
    and 0003 is the multitouch one. Apparently, we made the tests
    someone having a prototype, and not the final product.
    They said it should be safe to do the switch.

    This partially reverts 5572da0 ("HID: hid-mulitouch: add support
    for the 'Sensing Win7-TwoFinger'").

    Signed-off-by: Benjamin Tissoires
    Cc: stable@vger.kernel.org
    Signed-off-by: Jiri Kosina

    Benjamin Tissoires
     

07 Nov, 2011

2 commits

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     
  • This removes the use of the special "macbookair_fn_keys" keyboard
    translation table for the MacBookAir4,x models (ie the 2011 refresh).
    They use the standard apple_fn_keys[] translation. Apparently only the
    old MacBook Air's need a different translation table.

    This mirrors the change that commit da617c7cb915 ("HID: consolidate
    MacbookAir 4,1 mappings") did for the WELLSPRING6A ones, but does it for
    the WELLSPRING6 model used on the MacBookAir4,2.

    Reported-and-tested-by: Dirk Hohndel
    Cc: Jiri Kosina
    Cc: Joshua V Dillon
    Cc: Chase Douglas
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

03 Nov, 2011

1 commit


01 Nov, 2011

4 commits

  • This reverts commit 0db3bfc72adf0c (""HID: multitouch: decide if hid-multitouch
    needs to handle mt devices").

    The generic detection of hid-mt devices has two major flaws, and was
    merged prematurely. Firstly, the hid-multitouch gets loaded even when
    the device is handled by a special device. Secondly, the patch only
    partially duplicates the device whitelist already present in hid-core,
    effectively rendering a number of devices non-functional.

    Reported-by: Sean Young
    Tested-by: Benjamin Tissoires
    Signed-off-by: Henrik Rydberg
    Signed-off-by: Jiri Kosina

    Henrik Rydberg
     
  • It is not possible to take the lock in device if device is NULL.
    The mutex_lock is thus moved after the NULL test. New error handling
    labels are added at the end to differentiate between the cases where
    different sets of locks should be unlocks, and between whether or not
    reader should be freed (only on error).

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @r@
    expression E, E1;
    identifier f;
    statement S1,S2,S3;
    @@

    if (E == NULL)
    {
    ... when != if (E == NULL || ...) S1 else S2
    when != E = E1
    *E->f
    ... when any
    return ...;
    }
    else S3
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Jiri Kosina

    Julia Lawall
     
  • With module.h being implicitly everywhere via device.h, the absence
    of explicitly including something for EXPORT_SYMBOL went unnoticed.
    Since we are heading to fix things up and clean module.h from the
    device.h file, we need to explicitly include these files now.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • A pending cleanup will mean that module.h won't be implicitly
    everywhere anymore. Make sure the modular drivers in clocksource
    are actually calling out for explicitly in advance.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

29 Oct, 2011

1 commit


28 Oct, 2011

1 commit

  • This patch adds keyboard support for Macbook Pro 8 models which has
    WELLSPRING5A model name and 0x0252, 0x0253 and 0x0254 USB IDs. Trackpad
    support for those models are added to bcm5974 in
    c331eb580a0a7906c0cdb8dbae3cfe99e3c0e555 ("Input: bcm5974 - Add
    support for newer MacBookPro8,2).

    Signed-off-by: Gökçen Eraslan
    Acked-by: Henrik Rydberg
    Signed-off-by: Jiri Kosina

    Gökçen Eraslan
     

25 Oct, 2011

4 commits

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)
    PM / Clocks: Remove redundant NULL checks before kfree()
    PM / Documentation: Update docs about suspend and CPU hotplug
    ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
    ARM: mach-shmobile: sh7372 A4R support (v4)
    ARM: mach-shmobile: sh7372 A3SP support (v4)
    PM / Sleep: Mark devices involved in wakeup signaling during suspend
    PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
    PM / Hibernate: Do not initialize static and extern variables to 0
    PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too
    PM / Hibernate: Add resumedelay kernel param in addition to resumewait
    MAINTAINERS: Update linux-pm list address
    PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
    PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
    PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
    PM / Hibernate: Fix typo in a kerneldoc comment
    PM / Hibernate: Freeze kernel threads after preallocating memory
    PM: Update the policy on default wakeup settings
    PM / VT: Cleanup #if defined uglyness and fix compile error
    PM / Suspend: Off by one in pm_suspend()
    PM / Hibernate: Include storage keys in hibernation image on s390
    ...

    Linus Torvalds
     
  • Conflicts:
    drivers/hid/hid-core.c
    drivers/hid/hid-ids.h

    Jiri Kosina
     
  • Conflicts:
    drivers/hid/hid-wacom.c

    Jiri Kosina
     
  • Jiri Kosina
     

21 Oct, 2011

2 commits

  • hid-magicmouse was advertising the Apple Magic Trackpad as having 2
    buttons (left and right) when it actually only has 1 button.

    Advertising multiple buttons makes Xorg disable all button 2 and 3
    emulation (using multi-finger clicks). So Xorg users don't get working
    right/middle-click emulation out of the box.

    This patch makes hid-magicmouse correctly only report one real button
    for Magic Trackpad, which in turn makes Xorg enable multi-finger click
    support to emulate right/middle buttons.

    [http://launchpad.net/bugs/862094]

    Signed-off-by: Daniel van Vugt
    Reviewed-by: Chase Douglas
    Signed-off-by: Jiri Kosina

    Daniel van Vugt
     
  • Support the following models: Super Joy Box 3 Pro, Super Dual Box Pro
    and Super Joy Box 5 Pro. These models have support for pressure
    sensitive buttons and they can force the controller to either digital
    or analog mode, both of which are not supported yet.

    Signed-off-by: Sean Young
    Signed-off-by: Jiri Kosina

    Sean Young
     

17 Oct, 2011

2 commits

  • Remove Kconfig dependency for hid-primax driver on CONFIG_EXPERT.
    Please see changelog of 73d5e8f77e8 ("HID: fix up 'EMBEDDED' mess in
    Kconfig") for reasoning behind this.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Primax keyboards with the issue this driver addresses report modifier
    keys as in band key events instead of as out of band modifier bits,
    resulting in the modifier keys generating key up events immediately
    before the keys they are intended to modify. This driver rewrites
    the raw report data from such keyboards into USB HID 1.11 compliant
    report data. It only matches the USB vendor and product IDs for the
    keyboard it has been tested on. Since there are several keyboards,
    notably a number of laptops and folding USB keyboards known to have
    similar unresolved problem reports, the list is expected to grow.

    Signed-off-by: Terry Lambert
    Signed-off-by: Jiri Kosina

    Terry Lambert
     

14 Oct, 2011

1 commit

  • This makes sure IO is never restarted while a reset is going on

    In particular there seems to be no protection from hid_retry_timeout() calling
    hid_start_in() which would start IO after hid_pre_reset() has already called
    hid_cease_io() because that uses del_timer(), not del_timer_sync()

    Signed-off-by: Oliver Neukum
    Signed-off-by: Jiri Kosina

    Oliver Neukum
     

09 Oct, 2011

1 commit

  • We shouldn't change the event flags of input devices after they get registered.
    Otherwise, udev will not get notified of these flags and cannot setup the
    devices properly.
    This fixes the probing to set the input event flags on the input_mapped callback
    instead of the probe function.

    Reported-by: Bastien Nocera
    Signed-off-by: David Herrmann
    Tested-by: Bastien Nocera
    Signed-off-by: Bastien Nocera
    Signed-off-by: Jiri Kosina

    David Herrmann
     

08 Oct, 2011

1 commit

  • * pm-runtime:
    PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set
    PM / Runtime: Replace dev_dbg() with trace_rpm_*()
    PM / Runtime: Introduce trace points for tracing rpm_* functions
    PM / Runtime: Don't run callbacks under lock for power.irq_safe set
    USB: Add wakeup info to debugging messages
    PM / Runtime: pm_runtime_idle() can be called in atomic context
    PM / Runtime: Add macro to test for runtime PM events
    PM / Runtime: Add might_sleep() to runtime PM functions

    Rafael J. Wysocki
     

05 Oct, 2011

1 commit


04 Oct, 2011

1 commit


03 Oct, 2011

1 commit


28 Sep, 2011

1 commit


27 Sep, 2011

1 commit

  • Smatch has a new check for Rosenberg type information leaks where
    structs are copied to the user with uninitialized stack data in them.

    In this case, the hiddev_devinfo struct has a two byte hole.

    struct hiddev_devinfo {
    __u32 bustype; /* 0 4 */
    __u32 busnum; /* 4 4 */
    __u32 devnum; /* 8 4 */
    __u32 ifnum; /* 12 4 */
    __s16 vendor; /* 16 2 */
    __s16 product; /* 18 2 */
    __s16 version; /* 20 2 */

    /* XXX 2 bytes hole, try to pack */

    __u32 num_applications; /* 24 4 */

    Signed-off-by: Dan Carpenter
    Signed-off-by: Jiri Kosina

    Dan Carpenter
     

26 Sep, 2011

2 commits


22 Sep, 2011

1 commit


20 Sep, 2011

3 commits

  • There is a bug where a device with index 6 would write out of bounds in
    the array of paired devices.
    This patch fixes that problem.

    Reported-by: Dan Carpenter
    Reviewed-by: Benjamin Tissoires
    Reviewed-by: Olivier Gay
    Signed-off-by: Nestor Lopez Casado
    Signed-off-by: Jiri Kosina

    Nestor Lopez Casado
     
  • The function hidraw_disconnect() only acquires the hidraw minors_lock
    when clearing the entry in hidraw_table. However the device_destroy()
    call can cause a userland read/write to return with an error. It may
    cause the program to release the file descripter before the disconnect
    is finished. hidraw_disconnect() has already set hidraw->exist to 0,
    which makes hidraw_release() kfree the hidraw structure, which
    hidraw_disconnect() continues to access and even tries to kfree again.
    Similarly if a hidraw_release() occurs after setting hidraw->exist to 0,
    the same thing can happen.

    This is fixed by expanding the mutex critical section to cover the whole
    function from setting hidraw->exist to 0 to freeing the hidraw
    structure, preventing a hidraw_release() from interfering.

    Signed-off-by: James Hogan
    Tested-by: David Herrmann
    Signed-off-by: Jiri Kosina

    James Hogan
     
  • The IDEACOM 6650 multitouch chip, present in various all-in-one computers,
    uses the serial version of the HID multitouch protocol. No existing class
    supports this.

    In principle, the new MT_CLS_SERIAL should work for other
    serial panels as well, perhaps including some eGalax panels.

    Signed-off-by: Stephane Chatty
    Signed-off-by: Jiri Kosina

    Stephane Chatty
     

17 Sep, 2011

1 commit

  • * 'for-linus' of git://github.com/dtor/input:
    Input: wacom - fix touch parsing on newer Bamboos
    Input: bcm5974 - add MacBookAir4,1 trackpad support
    Input: wacom - add POINTER and DIRECT device properties
    Input: adp5588-keys - remove incorrect modalias
    Input: cm109 - fix checking return value of usb_control_msg
    Input: wacom - advertise BTN_TOOL_PEN and BTN_STYLUS for PenPartner
    Input: wacom - remove pressure for touch devices

    Linus Torvalds
     

15 Sep, 2011

1 commit

  • With this driver, all the devices paired to a single Unifying
    receiver are exposed to user processes in separated /input/dev
    nodes.

    Keyboards with different layouts can be treated differently,
    Multiplayer games on single PC (like home theater PC) can
    differentiate input coming from different kbds paired to the
    same receiver.

    Up to now, when Logitech Unifying receivers are connected to a
    Linux based system, a single keyboard and a single mouse are
    presented to the HID Layer, even if the Unifying receiver can
    pair up to six compatible devices. The Unifying receiver by default
    multiplexes all incoming events (from multiple keyboards/mice)
    into these two.

    Signed-off-by: Nestor Lopez Casado
    Signed-off-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina

    Nestor Lopez Casado
     

09 Sep, 2011

1 commit

  • Adds INPUT_PROP_POINTER or INPUT_PROP_DIRECT as necessary to the
    hardware supported by the Wacom driver. The DIRECT property is
    assigned to devices with an embedded screen (i.e. touchscreens
    and display tablets). The POINTER property is assigned to those
    without embedded screens.

    Signed-off-by: Jason Gerecke
    Reviewed-by: Ping Cheng
    Signed-off-by: Dmitry Torokhov

    Jason Gerecke
     

07 Sep, 2011

4 commits