From 102a0743326a03cd1a1202ceda21e175b7d3575c Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Tue, 20 Feb 2024 01:20:52 +0000 Subject: [PATCH] add new system file --- kernel/drivers/input/keyboard/gpio_keys.c | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/kernel/drivers/input/keyboard/gpio_keys.c b/kernel/drivers/input/keyboard/gpio_keys.c index f2d4e4d..725a196 100644 --- a/kernel/drivers/input/keyboard/gpio_keys.c +++ b/kernel/drivers/input/keyboard/gpio_keys.c @@ -28,6 +28,7 @@ #include <linux/of_irq.h> #include <linux/spinlock.h> #include <dt-bindings/input/gpio-keys.h> +#include <trace/hooks/wakeupbypass.h> struct gpio_button_data { const struct gpio_keys_button *button; @@ -958,11 +959,16 @@ struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev); struct input_dev *input = ddata->input; int error; + int wakeup_bypass_enabled = 0; + + trace_android_vh_wakeup_bypass(&wakeup_bypass_enabled); if (device_may_wakeup(dev)) { - error = gpio_keys_enable_wakeup(ddata); - if (error) - return error; + if (!wakeup_bypass_enabled) { + error = gpio_keys_enable_wakeup(ddata); + if (error) + return error; + } } else { mutex_lock(&input->mutex); if (input->users) @@ -978,9 +984,13 @@ struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev); struct input_dev *input = ddata->input; int error = 0; + int wakeup_bypass_enabled = 0; + + trace_android_vh_wakeup_bypass(&wakeup_bypass_enabled); if (device_may_wakeup(dev)) { - gpio_keys_disable_wakeup(ddata); + if (!wakeup_bypass_enabled) + gpio_keys_disable_wakeup(ddata); } else { mutex_lock(&input->mutex); if (input->users) -- Gitblit v1.6.2