• Benjamin Tissoires's avatar
    Input: psmouse - add support for SMBus companions · 8eb92e5c
    Benjamin Tissoires authored
    This provides glue between PS/2 devices that enumerate the RMI4 devices
    and Elan touchpads to the RMI4 (or Elan) SMBus driver.
    
    The SMBus devices keep their PS/2 connection alive. If the initialization
    process goes too far (psmouse_activate called), the device disconnects
    from the I2C bus and stays on the PS/2 bus, that is why we explicitly
    disable PS/2 device reporting (by calling psmouse_deactivate) before
    trying to register SMBus companion device.
    
    The HID over I2C devices are enumerated through the ACPI DSDT, and
    their PS/2 device also exports the InterTouch bit in the extended
    capability 0x0C. However, the firmware keeps its I2C connection open
    even after going further in the PS/2 initialization. We don't need
    to take extra precautions with those device, especially because they
    block their PS/2 communication when HID over I2C is used.
    Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    8eb92e5c
psmouse-smbus.c 7.1 KB