How about rebinding? echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid/unbind echo -n "i2c-ELAN0000:00" > /sys/bus/i2c/drivers/i2c_hid/bind You can try the above while the touchpad is working, and verify that the first call stops the touchpad and the second restores. If that works, try the same after the resume. It might be a different file name than i2c_hid on the recent system, so check the path beforehand. (e.g. on my 5.16-rc kernel, it's i2c_hid_acpi).