• Hui Wang's avatar
    Input: alps - don't handle ALPS cs19 trackpoint-only device · 59a976c9
    Hui Wang authored
    commit 7e4935cc upstream.
    
    On a latest Lenovo laptop, the trackpoint and 3 buttons below it
    don't work at all, when we move the trackpoint or press those 3
    buttons, the kernel will print out:
    "Rejected trackstick packet from non DualPoint device"
    
    This device is identified as an alps touchpad but the packet has
    trackpoint format, so the alps.c drops the packet and prints out
    the message above.
    
    According to XiaoXiao's explanation, this device is named cs19 and
    is trackpoint-only device, its firmware is only for trackpoint, it
    is independent of touchpad and is a device completely different from
    DualPoint ones.
    
    To drive this device with mininal changes to the existing driver, we
    just let the alps driver not handle this device, then the trackpoint.c
    will be the driver of this device if the trackpoint driver is enabled.
    (if not, this device will fallback to a bare PS/2 device)
    
    With the trackpoint.c, this trackpoint and 3 buttons all work well,
    they have all features that the trackpoint should have, like
    scrolling-screen, drag-and-drop and frame-selection.
    Signed-off-by: default avatarXiaoXiao Liu <sliuuxiaonxiao@gmail.com>
    Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
    Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    59a976c9
alps.c 86.9 KB