• Dmitry Torokhov's avatar
    Input: elants_i2c - do not clobber interrupt trigger on x86 · 4c83c071
    Dmitry Torokhov authored
    This is similar to commit a4b0a58b ("Input: elan_i2c - do not
    clobber interrupt trigger on x86")
    
    On x86 we historically used falling edge interrupts in the driver
    because that's how first Chrome devices were configured. They also
    did not use ACPI to enumerate I2C devices (because back then there
    was no kernel support for that), so trigger was hard-coded in the
    driver. However the controller behavior is much more reliable if
    we use level triggers, and that is how we configured ARM devices,
    and how want to configure newer x86 devices as well. All newer
    x86 boxes have their I2C devices enumerated in ACPI.
    
    Let's see if platform code (ACPI, DT) described interrupt and
    specified particular trigger type, and if so, let's use it instead
    of always clobbering trigger with IRQF_TRIGGER_FALLING. We will
    still use this trigger type as a fallback if platform code left
    interrupt trigger unconfigured.
    Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    4c83c071
elants_i2c.c 33.9 KB