* [PATCH v6 0/2] Consolidate ec_response_get_next_event
@ 2024-06-29 20:11 Daisuke Nojiri
2024-06-29 20:11 ` [PATCH v6 1/2] cros_ec_proto: " Daisuke Nojiri
2024-06-29 20:11 ` [PATCH v6 2/2] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
0 siblings, 2 replies; 4+ messages in thread
From: Daisuke Nojiri @ 2024-06-29 20:11 UTC (permalink / raw)
Cc: Benson Leung, Tzung-Bi Shih, Guenter Roeck, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Hans Verkuil,
Reka Norman, Pavan Holla, Abhishek Pandit-Subedi, Gwendal Grignou,
Daisuke Nojiri, Ching-Kang Yen, Lukasz Majczak, Prashant Malani,
Stephen Boyd, chrome-platform, linux-kernel, linux-input,
devicetree
---
Changes in v6:
- Fix cros_ec_proto_test.c.
Changes in v5:
- Merged changes in cros_ec_commands.h and cros_ec_proto.c
Changes in v4:
- Change subject line: ARM:... to dt-bindings:...
- Add description about keyboard matrix v3.0.
- Add cover letter.
---
Changes in v3:
- Remove CROS_KBD_V30 in Kconfig and macros conditionally set in
cros-ec-keyboard.dtsi.
---
Changes in v2:
- Separate cros_ec_commands.h from cros_ec_proto.{c.h}.
- Remove Change-Id, TEST=, BUG= lines.
---
Daisuke Nojiri (2):
cros_ec_proto: Consolidate ec_response_get_next_event
dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
drivers/platform/chrome/cros_ec_proto.c | 16 +--
drivers/platform/chrome/cros_ec_proto_test.c | 28 ++---
include/dt-bindings/input/cros-ec-keyboard.h | 104 ++++++++++++++++++
.../linux/platform_data/cros_ec_commands.h | 34 +-----
include/linux/platform_data/cros_ec_proto.h | 2 +-
5 files changed, 128 insertions(+), 56 deletions(-)
--
2.45.2.803.g4e1b14247a-goog
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v6 1/2] cros_ec_proto: Consolidate ec_response_get_next_event
2024-06-29 20:11 [PATCH v6 0/2] Consolidate ec_response_get_next_event Daisuke Nojiri
@ 2024-06-29 20:11 ` Daisuke Nojiri
2024-06-29 20:11 ` [PATCH v6 2/2] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
1 sibling, 0 replies; 4+ messages in thread
From: Daisuke Nojiri @ 2024-06-29 20:11 UTC (permalink / raw)
Cc: Benson Leung, Tzung-Bi Shih, Guenter Roeck, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Hans Verkuil,
Reka Norman, Pavan Holla, Abhishek Pandit-Subedi, Gwendal Grignou,
Daisuke Nojiri, Ching-Kang Yen, Lukasz Majczak, Prashant Malani,
Stephen Boyd, chrome-platform, linux-kernel, linux-input,
devicetree
Consolidate struct ec_response_get_next_event_v*.
Let X->Y indicate kernel X sending EC_CMD_GET_NEXT_EVENT to FW Y.
Old->New:
Existing kernels send a smaller container (e.g.
ec_response_get_next_data) which may or may not fit the last few
bytes. The FW copies as many bytes as possible to the container. The
kernel processes as many leading bytes as it can understand.
New->Old:
New kernels send a bigger container. Existing FW copies as many bytes
as it wants, leaving the last few bytes empty. The kernel knows it
didn't receive full size data from the returned data length.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
---
drivers/platform/chrome/cros_ec_proto.c | 16 ++++-----
drivers/platform/chrome/cros_ec_proto_test.c | 28 +++++++--------
.../linux/platform_data/cros_ec_commands.h | 34 +------------------
include/linux/platform_data/cros_ec_proto.h | 2 +-
4 files changed, 24 insertions(+), 56 deletions(-)
diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c
index 945b1b15a04c..a849c29f125b 100644
--- a/drivers/platform/chrome/cros_ec_proto.c
+++ b/drivers/platform/chrome/cros_ec_proto.c
@@ -686,7 +686,7 @@ EXPORT_SYMBOL(cros_ec_cmd_xfer_status);
static int get_next_event_xfer(struct cros_ec_device *ec_dev,
struct cros_ec_command *msg,
- struct ec_response_get_next_event_v1 *event,
+ struct ec_response_get_next_event *event,
int version, uint32_t size)
{
int ret;
@@ -709,11 +709,11 @@ static int get_next_event(struct cros_ec_device *ec_dev)
{
struct {
struct cros_ec_command msg;
- struct ec_response_get_next_event_v1 event;
+ struct ec_response_get_next_event event;
} __packed buf;
struct cros_ec_command *msg = &buf.msg;
- struct ec_response_get_next_event_v1 *event = &buf.event;
- const int cmd_version = ec_dev->mkbp_event_supported - 1;
+ struct ec_response_get_next_event *event = &buf.event;
+ int cmd_version = ec_dev->mkbp_event_supported - 1;
memset(msg, 0, sizeof(*msg));
if (ec_dev->suspended) {
@@ -721,12 +721,12 @@ static int get_next_event(struct cros_ec_device *ec_dev)
return -EHOSTDOWN;
}
- if (cmd_version == 0)
- return get_next_event_xfer(ec_dev, msg, event, 0,
- sizeof(struct ec_response_get_next_event));
+ /* The max version we support is v3 */
+ if (cmd_version > 3)
+ cmd_version = 3;
return get_next_event_xfer(ec_dev, msg, event, cmd_version,
- sizeof(struct ec_response_get_next_event_v1));
+ sizeof(*event));
}
static int get_keyboard_state_event(struct cros_ec_device *ec_dev)
diff --git a/drivers/platform/chrome/cros_ec_proto_test.c b/drivers/platform/chrome/cros_ec_proto_test.c
index b6169d6f2467..4d5306ea27e4 100644
--- a/drivers/platform/chrome/cros_ec_proto_test.c
+++ b/drivers/platform/chrome/cros_ec_proto_test.c
@@ -2072,17 +2072,17 @@ static void cros_ec_proto_test_get_next_event_no_mkbp_event(struct kunit *test)
/* For get_keyboard_state_event(). */
{
- union ec_response_get_next_data_v1 *data;
+ union ec_response_get_next_data *data;
mock = cros_kunit_ec_xfer_mock_add(test, sizeof(*data));
KUNIT_ASSERT_PTR_NE(test, mock, NULL);
- data = (union ec_response_get_next_data_v1 *)mock->o_data;
+ data = (union ec_response_get_next_data *)mock->o_data;
data->host_event = 0xbeef;
}
ret = cros_ec_get_next_event(ec_dev, &wake_event, &more_events);
- KUNIT_EXPECT_EQ(test, ret, sizeof(union ec_response_get_next_data_v1));
+ KUNIT_EXPECT_EQ(test, ret, sizeof(union ec_response_get_next_data));
KUNIT_EXPECT_EQ(test, ec_dev->event_data.event_type, EC_MKBP_EVENT_KEY_MATRIX);
KUNIT_EXPECT_EQ(test, ec_dev->event_data.data.host_event, 0xbeef);
@@ -2097,7 +2097,7 @@ static void cros_ec_proto_test_get_next_event_no_mkbp_event(struct kunit *test)
KUNIT_EXPECT_EQ(test, mock->msg.version, 0);
KUNIT_EXPECT_EQ(test, mock->msg.command, EC_CMD_MKBP_STATE);
- KUNIT_EXPECT_EQ(test, mock->msg.insize, sizeof(union ec_response_get_next_data_v1));
+ KUNIT_EXPECT_EQ(test, mock->msg.insize, sizeof(union ec_response_get_next_data));
KUNIT_EXPECT_EQ(test, mock->msg.outsize, 0);
}
}
@@ -2182,18 +2182,18 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_version2(struct kunit *
/* For get_next_event_xfer(). */
{
- struct ec_response_get_next_event_v1 *data;
+ struct ec_response_get_next_event *data;
mock = cros_kunit_ec_xfer_mock_add(test, sizeof(*data));
KUNIT_ASSERT_PTR_NE(test, mock, NULL);
- data = (struct ec_response_get_next_event_v1 *)mock->o_data;
+ data = (struct ec_response_get_next_event *)mock->o_data;
data->event_type = EC_MKBP_EVENT_FINGERPRINT;
data->data.sysrq = 0xbeef;
}
ret = cros_ec_get_next_event(ec_dev, &wake_event, &more_events);
- KUNIT_EXPECT_EQ(test, ret, sizeof(struct ec_response_get_next_event_v1));
+ KUNIT_EXPECT_EQ(test, ret, sizeof(struct ec_response_get_next_event));
KUNIT_EXPECT_EQ(test, ec_dev->event_data.event_type, EC_MKBP_EVENT_FINGERPRINT);
KUNIT_EXPECT_EQ(test, ec_dev->event_data.data.sysrq, 0xbeef);
@@ -2209,7 +2209,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_version2(struct kunit *
KUNIT_EXPECT_EQ(test, mock->msg.version, 2);
KUNIT_EXPECT_EQ(test, mock->msg.command, EC_CMD_GET_NEXT_EVENT);
KUNIT_EXPECT_EQ(test, mock->msg.insize,
- sizeof(struct ec_response_get_next_event_v1));
+ sizeof(struct ec_response_get_next_event));
KUNIT_EXPECT_EQ(test, mock->msg.outsize, 0);
}
}
@@ -2221,7 +2221,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_host_event_rtc(struct k
struct ec_xfer_mock *mock;
int ret;
bool wake_event;
- struct ec_response_get_next_event_v1 *data;
+ struct ec_response_get_next_event *data;
ec_dev->max_request = 0xff;
ec_dev->max_response = 0xee;
@@ -2238,7 +2238,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_host_event_rtc(struct k
sizeof(data->data.host_event));
KUNIT_ASSERT_PTR_NE(test, mock, NULL);
- data = (struct ec_response_get_next_event_v1 *)mock->o_data;
+ data = (struct ec_response_get_next_event *)mock->o_data;
data->event_type = EC_MKBP_EVENT_HOST_EVENT;
put_unaligned_le32(EC_HOST_EVENT_MASK(EC_HOST_EVENT_RTC), &data->data.host_event);
}
@@ -2258,7 +2258,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_host_event_rtc(struct k
KUNIT_EXPECT_EQ(test, mock->msg.version, 2);
KUNIT_EXPECT_EQ(test, mock->msg.command, EC_CMD_GET_NEXT_EVENT);
KUNIT_EXPECT_EQ(test, mock->msg.insize,
- sizeof(struct ec_response_get_next_event_v1));
+ sizeof(struct ec_response_get_next_event));
KUNIT_EXPECT_EQ(test, mock->msg.outsize, 0);
}
}
@@ -2270,7 +2270,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_host_event_masked(struc
struct ec_xfer_mock *mock;
int ret;
bool wake_event;
- struct ec_response_get_next_event_v1 *data;
+ struct ec_response_get_next_event *data;
ec_dev->max_request = 0xff;
ec_dev->max_response = 0xee;
@@ -2287,7 +2287,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_host_event_masked(struc
sizeof(data->data.host_event));
KUNIT_ASSERT_PTR_NE(test, mock, NULL);
- data = (struct ec_response_get_next_event_v1 *)mock->o_data;
+ data = (struct ec_response_get_next_event *)mock->o_data;
data->event_type = EC_MKBP_EVENT_HOST_EVENT;
put_unaligned_le32(EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED),
&data->data.host_event);
@@ -2308,7 +2308,7 @@ static void cros_ec_proto_test_get_next_event_mkbp_event_host_event_masked(struc
KUNIT_EXPECT_EQ(test, mock->msg.version, 2);
KUNIT_EXPECT_EQ(test, mock->msg.command, EC_CMD_GET_NEXT_EVENT);
KUNIT_EXPECT_EQ(test, mock->msg.insize,
- sizeof(struct ec_response_get_next_event_v1));
+ sizeof(struct ec_response_get_next_event));
KUNIT_EXPECT_EQ(test, mock->msg.outsize, 0);
}
}
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index 070e49c5381e..00c06c130dd5 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -3475,32 +3475,7 @@ enum ec_mkbp_event {
BUILD_ASSERT(EC_MKBP_EVENT_COUNT <= EC_MKBP_EVENT_TYPE_MASK);
union __ec_align_offset1 ec_response_get_next_data {
- uint8_t key_matrix[13];
-
- /* Unaligned */
- uint32_t host_event;
- uint64_t host_event64;
-
- struct __ec_todo_unpacked {
- /* For aligning the fifo_info */
- uint8_t reserved[3];
- struct ec_response_motion_sense_fifo_info info;
- } sensor_fifo;
-
- uint32_t buttons;
-
- uint32_t switches;
-
- uint32_t fp_events;
-
- uint32_t sysrq;
-
- /* CEC events from enum mkbp_cec_event */
- uint32_t cec_events;
-};
-
-union __ec_align_offset1 ec_response_get_next_data_v1 {
- uint8_t key_matrix[16];
+ uint8_t key_matrix[18];
/* Unaligned */
uint32_t host_event;
@@ -3525,7 +3500,6 @@ union __ec_align_offset1 ec_response_get_next_data_v1 {
uint8_t cec_message[16];
};
-BUILD_ASSERT(sizeof(union ec_response_get_next_data_v1) == 16);
struct ec_response_get_next_event {
uint8_t event_type;
@@ -3533,12 +3507,6 @@ struct ec_response_get_next_event {
union ec_response_get_next_data data;
} __ec_align1;
-struct ec_response_get_next_event_v1 {
- uint8_t event_type;
- /* Followed by event data if any */
- union ec_response_get_next_data_v1 data;
-} __ec_align1;
-
/* Bit indices for buttons and switches.*/
/* Buttons */
#define EC_MKBP_POWER_BUTTON 0
diff --git a/include/linux/platform_data/cros_ec_proto.h b/include/linux/platform_data/cros_ec_proto.h
index 8865e350c12a..a795fe260a38 100644
--- a/include/linux/platform_data/cros_ec_proto.h
+++ b/include/linux/platform_data/cros_ec_proto.h
@@ -185,7 +185,7 @@ struct cros_ec_device {
bool host_sleep_v1;
struct blocking_notifier_head event_notifier;
- struct ec_response_get_next_event_v1 event_data;
+ struct ec_response_get_next_event event_data;
int event_size;
u32 host_event_wake_mask;
u32 last_resume_result;
--
2.45.2.803.g4e1b14247a-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v6 2/2] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
2024-06-29 20:11 [PATCH v6 0/2] Consolidate ec_response_get_next_event Daisuke Nojiri
2024-06-29 20:11 ` [PATCH v6 1/2] cros_ec_proto: " Daisuke Nojiri
@ 2024-06-29 20:11 ` Daisuke Nojiri
2024-07-01 7:30 ` Krzysztof Kozlowski
1 sibling, 1 reply; 4+ messages in thread
From: Daisuke Nojiri @ 2024-06-29 20:11 UTC (permalink / raw)
Cc: Benson Leung, Tzung-Bi Shih, Guenter Roeck, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Hans Verkuil,
Reka Norman, Pavan Holla, Abhishek Pandit-Subedi, Gwendal Grignou,
Daisuke Nojiri, Ching-Kang Yen, Lukasz Majczak, Prashant Malani,
Stephen Boyd, chrome-platform, linux-kernel, linux-input,
devicetree
Add support for keyboard matrix version 3.0, which reduces keyboard
ghosting.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
---
include/dt-bindings/input/cros-ec-keyboard.h | 104 +++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h
index f0ae03634a96..afc12f6aa642 100644
--- a/include/dt-bindings/input/cros-ec-keyboard.h
+++ b/include/dt-bindings/input/cros-ec-keyboard.h
@@ -100,4 +100,108 @@
MATRIX_KEY(0x07, 0x0b, KEY_UP) \
MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
+/* No numpad */
+#define CROS_TOP_ROW_KEYMAP_V30 \
+ MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \
+ MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \
+ MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \
+ MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \
+ MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \
+ MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \
+ MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \
+ MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \
+ MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \
+ MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \
+ MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \
+ MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \
+ MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \
+ MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \
+ MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */
+
+#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \
+ MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \
+ MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \
+ MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \
+ MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \
+ MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \
+ MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \
+ MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \
+ \
+ MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \
+ MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \
+ MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \
+ MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \
+ MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \
+ MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \
+ MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \
+ \
+ MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \
+ MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \
+ MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \
+ MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \
+ MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \
+ MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \
+ \
+ MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \
+ MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \
+ MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \
+ MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \
+ MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \
+ MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \
+ MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \
+ MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \
+ MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \
+ MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \
+ \
+ MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \
+ MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \
+ MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \
+ MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \
+ MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \
+ MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \
+ MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \
+ MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \
+ MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \
+ \
+ MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \
+ MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \
+ MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \
+ MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \
+ MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \
+ MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \
+ MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \
+ MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \
+ MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \
+ MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \
+ MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \
+ \
+ MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \
+ MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \
+ MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \
+ MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \
+ MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \
+ MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \
+ MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \
+ MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \
+ MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \
+ MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \
+ MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \
+ MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \
+ MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \
+ \
+ MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \
+ MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \
+ MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \
+ MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \
+ MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \
+ MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \
+ MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \
+ MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \
+ MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \
+ MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \
+ MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \
+ MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */
+
#endif /* _CROS_EC_KEYBOARD_H */
--
2.45.2.803.g4e1b14247a-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v6 2/2] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
2024-06-29 20:11 ` [PATCH v6 2/2] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
@ 2024-07-01 7:30 ` Krzysztof Kozlowski
0 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-01 7:30 UTC (permalink / raw)
To: Daisuke Nojiri
Cc: Benson Leung, Tzung-Bi Shih, Guenter Roeck, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Hans Verkuil,
Reka Norman, Pavan Holla, Abhishek Pandit-Subedi, Gwendal Grignou,
Ching-Kang Yen, Lukasz Majczak, Prashant Malani, Stephen Boyd,
chrome-platform, linux-kernel, linux-input, devicetree
On 29/06/2024 22:11, Daisuke Nojiri wrote:
> Add support for keyboard matrix version 3.0, which reduces keyboard
> ghosting.
>
> Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
<form letter>
This is a friendly reminder during the review process.
It looks like you received a tag and forgot to add it.
If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions, under or above your Signed-off-by tag. Tag is "received", when
provided in a message replied to you on the mailing list. Tools like b4
can help here. However, there's no need to repost patches *only* to add
the tags. The upstream maintainer will do that for tags received on the
version they apply.
https://elixir.bootlin.com/linux/v6.5-rc3/source/Documentation/process/submitting-patches.rst#L577
If a tag was not added on purpose, please state why and what changed.
</form letter>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-07-01 7:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-29 20:11 [PATCH v6 0/2] Consolidate ec_response_get_next_event Daisuke Nojiri
2024-06-29 20:11 ` [PATCH v6 1/2] cros_ec_proto: " Daisuke Nojiri
2024-06-29 20:11 ` [PATCH v6 2/2] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
2024-07-01 7:30 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).