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
     

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

3 commits

  • Jiri Kosina
     
  • HID devices can be hotplugged so we should unregister all sysfs attributes when
    removing a driver. Otherwise, manually unloading the wacom-driver will not
    remove the sysfs attributes. Only when the device is disconnected, they are
    removed, eventually.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • power_supply_unregister() must not be called if power_supply_register() failed.
    The wdata->psy.dev pointer may point to invalid memory after a failed
    power_supply_register() and hence wacom_remove() will fail while calling
    power_supply_unregister().

    This changes the wacom_probe function to fail if it cannot register the
    power_supply devices. If we would want to keep the previous behaviour we had to
    keep some flag about the power_supply state and check it on wacom_remove, but
    this seems inappropriate here. Hence, we simply fail, too, if
    power_supply_register fails.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     

25 Aug, 2011

2 commits

  • Create each gamepad as a separate joystick

    Signed-off-by: Clemens Werther
    Signed-off-by: Jiri Kosina

    Clemens Werther
     
  • This is basically a more generic respin of 23746a6 ("HID: magicmouse: ignore
    'ivalid report id' while switching modes") which got reverted later by
    c3a492.

    It turns out that on some configurations, this is actually still the case
    and we are not able to detect in runtime.

    The device reponds with 'invalid report id' when feature report switching it
    into multitouch mode is sent to it.

    This has been silently ignored before 0825411ade ("HID: bt: Wait for ACK
    on Sent Reports"), but since this commit, it propagates -EIO from the _raw
    callback .

    So let the driver ignore -EIO as response to 0xd7,0x01 report, as that's
    how the device reacts in normal mode.

    Sad, but following reality.

    This fixes https://bugzilla.kernel.org/show_bug.cgi?id=35022

    Reported-by: Chase Douglas
    Reported-by: Jaikumar Ganesh
    Tested-by: Chase Douglas
    Tested-by: Jaikumar Ganesh
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

24 Aug, 2011

1 commit


23 Aug, 2011

6 commits

  • The wiimote resets the current drm when an extension is plugged in.
    Fortunately, it also sends a status report in this situation so we just
    reset the drm on every status report to keep the drm consistent.

    Also handle return reports from the wiimote which indicate success and
    failure of requests that we've sent.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • The wiimote reports data in several data reporting modes (DRM). The DRM
    request makes the wiimote send data in the requested drm.

    The DRM mode can be set explicitely or can be chosen by the driver. To let
    the driver choose the DRM mode, pass WIIPROTO_REQ_NULL placeholder to it. This
    is no valid request and is replaced with an appropriate DRM.

    Currently, the driver always sets the basic DRM_K mode, but this will be
    extended when further peripherals like accelerometer and IR are supported.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • This registers 4 led devices to allow controlling the wiimote leds via standard
    LED sysfs API. It removes the four sysfs attributes so we don't have two APIs
    for one device.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Even though the bluetooth hid backend does not react on open/close callbacks, we
    should call them to be consistent with other hid drivers.

    Also the new input open/close handlers will be used in future to prepare the
    wiimote device for IR/extension input.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • The new locking scheme in HID core allows us to remove a bit of synchronization.
    Since the HID layer acts synchronously we simply register input core last and
    there are no synchonization issues anymore.
    Also register sysfs files after that to simplify the code.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Patch to add SiGma Micro-based keyboards (1c4f:0002) to hid-quirks.

    These keyboards dont seem to allow the records to be initialized, and hence a
    timeout occurs when the usbhid driver attempts to initialize them. The patch
    just adds the signature for these keyboards to the hid-quirks list with the
    setting HID_QUIRK_NO_INIT_REPORTS. This removes the 5-10 second wait for the
    timeout to occur.

    Signed-off-by: Jeremiah Matthey
    Signed-off-by: Jiri Kosina

    Jeremiah Matthey
     

10 Aug, 2011

1 commit

  • Add touch surface resolution information. The size of the touch surfaces
    has been determined to the hundredth of a mm.

    Cc: Jiri Kosina
    Cc: Michael Poole
    Cc: linux-input@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Chase Douglas
    [jkosina@suse.cz: update comments and commit message]
    Signed-off-by: Jiri Kosina

    Chase Douglas
     

02 Aug, 2011

1 commit


23 Jul, 2011

1 commit


22 Jul, 2011

1 commit


21 Jul, 2011

3 commits


20 Jul, 2011

1 commit


14 Jul, 2011

1 commit


12 Jul, 2011

1 commit


11 Jul, 2011

13 commits

  • Add support for UC-Logic Tablet WP1062 by fixing its report descriptor.

    This tablet is sold as Monoprice 10X6.25 Inches Graphic Drawing Tablet.

    Signed-off-by: Nikolai Kondrashov
    Signed-off-by: Jiri Kosina

    Nikolai Kondrashov
     
  • Add sysfs files for each led of the wiimote. Writing 1 to the file
    enables the led and 0 disables the led.

    We do not need memory barriers when checking wdata->ready since we use
    a spinlock directly after it.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Save the current state of the leds in the wiimote data structure. This
    allows us to discard new led requests that wouldn't change anything.
    Protect the whole state structure by a spinlock. Every wiiproto_*
    function expects this spinlock to be held when called.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Add new request that sets the leds on the target device. Also, per
    default, set led1 after initializing a device.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Parse input report 0x30 from the wiimote as button input. We need to
    send events for all buttons on every input report because the wiimote
    does not send events for single buttons but always for all buttons
    to us. The input layer, however, filters redundant events.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Create array of all event handlers and call each handler when we
    receive the related event.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • The raw hid output function that is supported by bluetooth low-level
    hid driver does not provide an output queue and also may sleep. The
    wiimote driver, though, may need to send data in atomic context so
    this patch adds a buffered output queue for the wiimote driver.

    We use the shared workqueue to send our buffer to the hid device.
    There is always only one active worker which flushes the whole output
    queue to the device. If our queue is full, every further
    output is discarded.

    Special care is needed in the deinitialization routine. When
    wiimote_hid_remove is called, HID input is already disabled, but HID
    output may still be used from our worker and is then discarded by the
    lower HID layers. Therefore, we can safely disable the input layer since it
    is the only layer that still sends input events.
    Future sysfs attributes must be freed before unregistering input to
    avoid the sysfs handlers to send input events to a non-existing input
    layer.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • The wiimote driver needs to send raw output reports to the wiimote
    device. Otherwise we could not manage the peripherals of the wiimote
    or perform memory operations on the wiimote.
    We cannot use hidinput_input_event of the lowlevel hid driver, since
    this does not accept raw input. Therefore, we need to use the same
    function that hidraw uses to send output. Side effect is, the raw
    output function is not buffered and can sleep.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • The wiimote first starts HID hardware and then registers the input
    device. We need to synchronize the startup so no event handler will
    start parsing events when the wiimote device is not ready, yet.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Register input device so the wiimote can report input events on
    it. We do not use HIDINPUT because the wiimote does not provide any
    descriptor table which might be used by HIDINPUT. So we avoid
    having HIDINPUT parse the wiimote descriptor and create unrelated
    or unknown event flags. Instead we register our own input device
    that we have full control of.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Allocate wiimote device structure with all wiimote related data
    when registering new wiimote devices.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • The wiimote uses a fake HID protocol. Hence, we need to prevent
    HIDINPUT and HIDDEV from parsing wiimote data and instead parse
    raw hid events.
    Add VID/PID to hid-core so the special driver is loaded on new
    wiimotes.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     
  • Add stub driver for the Nintendo Wii Remote. The wii remote uses
    the HID protocol to communicate with the host over bluetooth. Hence,
    add dependency for HIDP and place driver in hid subsystem.

    Signed-off-by: David Herrmann
    Signed-off-by: Jiri Kosina

    David Herrmann
     

27 Jun, 2011

1 commit

  • Add force feedback support for Holtek On Line Grip based HID devices.

    The protocol is more complex than that of most other rumblepads, but the
    device still needs to be handled as a memoryless one.

    Tested by Cleber de Mattos Casali with a 1241:5015 "Clone Joypad Super
    Power Fire" gamepad, with help from Hendrik Iben .

    Signed-off-by: Anssi Hannula
    Tested-by: Cleber de Mattos Casali
    Signed-off-by: Jiri Kosina

    Anssi Hannula
     

24 Jun, 2011

2 commits