From ab2d60d901258a91f0c714a17ab45e93e8669f04 Mon Sep 17 00:00:00 2001 From: Changki Kim Date: Wed, 2 Sep 2020 17:54:56 +0900 Subject: [PATCH] ANDROID: vendor_hooks: Add vendor hooks for key combination When some problems happened in android, we can't use adb command because android can be abnormal state. And we can't use uart because uart pin is not connected in the board. So we need key combination functions for debugging. This function should only use in development environment. In the market, this will be disabled. Bug: 167516783 Change-Id: I82e096526b06570b4cc55bf04dc945940d1dd91a Signed-off-by: Changki Kim --- drivers/android/vendor_hooks.c | 1 + drivers/input/input.c | 3 +++ include/trace/hooks/debug.h | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 7b4b1abbb537..0d3b4faa7bc7 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -55,3 +55,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_rwsem_list_add); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_futex_plist_add); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_input_handle_event); diff --git a/drivers/input/input.c b/drivers/input/input.c index e2eb9b9b8363..d73b76c2ad14 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -26,6 +26,8 @@ #include "input-compat.h" #include "input-poller.h" +#include + MODULE_AUTHOR("Vojtech Pavlik "); MODULE_DESCRIPTION("Input core"); MODULE_LICENSE("GPL"); @@ -438,6 +440,7 @@ void input_event(struct input_dev *dev, if (is_event_supported(type, dev->evbit, EV_MAX)) { spin_lock_irqsave(&dev->event_lock, flags); + trace_android_vh_input_handle_event(dev, type, code, value); input_handle_event(dev, type, code, value); spin_unlock_irqrestore(&dev->event_lock, flags); } diff --git a/include/trace/hooks/debug.h b/include/trace/hooks/debug.h index d3e310ec4b2d..c3bec3258c8c 100644 --- a/include/trace/hooks/debug.h +++ b/include/trace/hooks/debug.h @@ -15,8 +15,14 @@ DECLARE_HOOK(android_vh_ipi_stop, TP_PROTO(struct pt_regs *regs), TP_ARGS(regs)) + +DECLARE_HOOK(android_vh_input_handle_event, + TP_PROTO(struct input_dev *dev, unsigned int type, + unsigned int code, int value), + TP_ARGS(dev, type, code, value)) #else #define trace_android_vh_ipi_stop(regs) +#define trace_android_vh_input_handle_event(dev, type, code, value) #endif #endif /* _TRACE_HOOK_DEBUG_H */