12 Sep, 2017

1 commit

  • The touchpad in the Asus laptop models X505BA/BP and X542BA/BP is
    unresponsive after suspend/resume. The following error appears during
    resume:

    i2c_hid i2c-ELAN1300:00: failed to reset device.

    The problem here is that i2c_hid does not notice the interrupt being
    generated at this point, because the GPIO is no longer configured
    for interrupts.

    Fix this by saving pinctrl-amd pin registers during suspend and
    restoring them at resume time.

    Based on code from pinctrl-intel.

    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Drake
    Signed-off-by: Linus Walleij

    Daniel Drake
     

16 Mar, 2017

1 commit

  • The amd pinctrl drivers currently implement an irq_chip for handling
    interrupts; due to how irq_chip handling is done, it's necessary for the
    irq_chip methods to be invoked from hardirq context, even on a a
    real-time kernel. Because the spinlock_t type becomes a "sleeping"
    spinlock w/ RT kernels, it is not suitable to be used with irq_chips.

    A quick audit of the operations under the lock reveal that they do only
    minimal, bounded work, and are therefore safe to do under a raw spinlock.

    Signed-off-by: Julia Cartwright
    Signed-off-by: Linus Walleij

    Julia Cartwright
     

28 Dec, 2016

1 commit


07 Apr, 2015

1 commit


18 Mar, 2015

1 commit