mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
HID: multitouch: Disable touchpad on firmware level while not in use
Using the new on_hid_hw_open and on_hid_hw_close functions to disable the touchpad on firmware level while not being in use. This safes some battery and triggers touchpad-disabled-leds hardwired to the touchpads firmware, that exist for example on some TongFang barebones. For a lengthy discussion with all the details see https://gitlab.freedesktop.org/libinput/libinput/-/issues/558 Signed-off-by: Werner Sembach <wse@tuxedocomputers.com> Link: https://patch.msgid.link/20250211133950.422232-2-wse@tuxedocomputers.com Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This commit is contained in:
parent
a98e892c69
commit
6a9e76f75c
1 changed files with 12 additions and 0 deletions
|
@ -1887,6 +1887,16 @@ static void mt_remove(struct hid_device *hdev)
|
||||||
hid_hw_stop(hdev);
|
hid_hw_stop(hdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mt_on_hid_hw_open(struct hid_device *hdev)
|
||||||
|
{
|
||||||
|
mt_set_modes(hdev, HID_LATENCY_NORMAL, TOUCHPAD_REPORT_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void mt_on_hid_hw_close(struct hid_device *hdev)
|
||||||
|
{
|
||||||
|
mt_set_modes(hdev, HID_LATENCY_HIGH, TOUCHPAD_REPORT_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This list contains only:
|
* This list contains only:
|
||||||
* - VID/PID of products not working with the default multitouch handling
|
* - VID/PID of products not working with the default multitouch handling
|
||||||
|
@ -2354,5 +2364,7 @@ static struct hid_driver mt_driver = {
|
||||||
.suspend = pm_ptr(mt_suspend),
|
.suspend = pm_ptr(mt_suspend),
|
||||||
.reset_resume = pm_ptr(mt_reset_resume),
|
.reset_resume = pm_ptr(mt_reset_resume),
|
||||||
.resume = pm_ptr(mt_resume),
|
.resume = pm_ptr(mt_resume),
|
||||||
|
.on_hid_hw_open = mt_on_hid_hw_open,
|
||||||
|
.on_hid_hw_close = mt_on_hid_hw_close,
|
||||||
};
|
};
|
||||||
module_hid_driver(mt_driver);
|
module_hid_driver(mt_driver);
|
||||||
|
|
Loading…
Add table
Reference in a new issue