[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <df09a3f9-6131-435a-ad68-4cea71237e42@tuxedocomputers.com>
Date: Tue, 4 Mar 2025 13:14:26 +0100
From: Werner Sembach <wse@...edocomputers.com>
To: Jiri Kosina <jikos@...nel.org>, Benjamin Tissoires <bentiss@...nel.org>
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] Disable touchpad on firmware level while not in use
Hi,
Am 11.02.25 um 14:39 schrieb Werner Sembach:
> 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
Any comments if this is a good idea or not?
Best regards,
Werner
> Signed-off-by: Werner Sembach <wse@...edocomputers.com>
> ---
> drivers/hid/hid-multitouch.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index 82900857bfd87..7289c04f47f17 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -1884,6 +1884,16 @@ static void mt_remove(struct hid_device *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:
> * - VID/PID of products not working with the default multitouch handling
> @@ -2351,5 +2361,7 @@ static struct hid_driver mt_driver = {
> .suspend = pm_ptr(mt_suspend),
> .reset_resume = pm_ptr(mt_reset_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);
Powered by blists - more mailing lists