[PATCH] Input: cros_ec_keyb: Add support for a front proximity switch

From: Stephen Boyd
Date: Fri Dec 04 2020 - 19:48:01 EST


Some cros ECs support a front proximity MKBP event via
'EC_MKBP_FRONT_PROXIMITY'. Map this to the 'SW_FRONT_PROXIMITY' input
event code so it can be reported up to userspace.

Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Cc: Benson Leung <bleung@xxxxxxxxxxxx>
Cc: Guenter Roeck <groeck@xxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
---
drivers/input/keyboard/cros_ec_keyb.c | 5 +++++
include/linux/platform_data/cros_ec_commands.h | 1 +
2 files changed, 6 insertions(+)

diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
index 15d17c717081..9d05e9192a10 100644
--- a/drivers/input/keyboard/cros_ec_keyb.c
+++ b/drivers/input/keyboard/cros_ec_keyb.c
@@ -107,6 +107,11 @@ static const struct cros_ec_bs_map cros_ec_keyb_bs[] = {
.code = SW_TABLET_MODE,
.bit = EC_MKBP_TABLET_MODE,
},
+ {
+ .ev_type = EV_SW,
+ .code = SW_FRONT_PROXIMITY,
+ .bit = EC_MKBP_FRONT_PROXIMITY,
+ },
};

/*
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index a3a9a878415f..d9dc5e30e59e 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -3455,6 +3455,7 @@ struct ec_response_get_next_event_v1 {
#define EC_MKBP_LID_OPEN 0
#define EC_MKBP_TABLET_MODE 1
#define EC_MKBP_BASE_ATTACHED 2
+#define EC_MKBP_FRONT_PROXIMITY 3

/* Run keyboard factory test scanning */
#define EC_CMD_KEYBOARD_FACTORY_TEST 0x0068

base-commit: b65054597872ce3aefbc6a666385eabdf9e288da
--
https://chromeos.dev