From e380bf638f7db25e5d66f3b9a11f8840807f2b1b Mon Sep 17 00:00:00 2001 From: Yuval Peress Date: Tue, 8 Jun 2021 00:21:03 -0600 Subject: zepyr: npcx: clean keyboard driver The current cros,kb-raw-npcx driver relies on the label cros_kb_raw instead of the compatible string like it should. Since currently, it doesn't make sense for there to be more than one instance of the driver, a new BUILD_ASSERT check is added to make sure that if the driver is added via Kconfig, it is also used exactly once. Further, the creation of the driver via DEVICE_DEFINE is now using DT_DRV_COMPAT to create the instance. BRANCH=none BUG=b:190457512 TEST=build brya, volteer, and lazor Signed-off-by: Yuval Peress Change-Id: I242c0f2f20a6d89cad7ab4269fc4c854aa29554b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2944624 Reviewed-by: Denis Brockus Reviewed-by: Dawid Niedzwiecki Reviewed-by: Keith Short Commit-Queue: Keith Short --- zephyr/drivers/cros_kb_raw/cros_kb_raw_npcx.c | 6 ++++-- zephyr/projects/brya/boards/arm/brya/brya.dts | 1 + zephyr/projects/trogdor/boards/arm/trogdor/trogdor.dts | 1 + zephyr/projects/volteer/boards/arm/volteer/volteer.dts | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/zephyr/drivers/cros_kb_raw/cros_kb_raw_npcx.c b/zephyr/drivers/cros_kb_raw/cros_kb_raw_npcx.c index 258fb58e5d..1541adc92a 100644 --- a/zephyr/drivers/cros_kb_raw/cros_kb_raw_npcx.c +++ b/zephyr/drivers/cros_kb_raw/cros_kb_raw_npcx.c @@ -230,8 +230,10 @@ static const struct cros_kb_raw_npcx_config cros_kb_raw_cfg = { .wui_maps = NPCX_DT_WUI_ITEMS_LIST(0), }; -DEVICE_DEFINE(cros_kb_raw_npcx_0, DT_INST_LABEL(0), kb_raw_npcx_init, NULL, - NULL, &cros_kb_raw_cfg, PRE_KERNEL_1, +/* Verify there's exactly 1 enabled cros,kb-raw-npcx node. */ +BUILD_ASSERT(DT_NUM_INST_STATUS_OKAY(DT_DRV_COMPAT) == 1); +DEVICE_DEFINE(cros_kb_raw_npcx_0, DT_LABEL(DT_DRV_INST(0)), kb_raw_npcx_init, + NULL, NULL, &cros_kb_raw_cfg, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &cros_kb_raw_npcx_driver_api); diff --git a/zephyr/projects/brya/boards/arm/brya/brya.dts b/zephyr/projects/brya/boards/arm/brya/brya.dts index 4e67a1b3ed..a0680342af 100644 --- a/zephyr/projects/brya/boards/arm/brya/brya.dts +++ b/zephyr/projects/brya/boards/arm/brya/brya.dts @@ -128,6 +128,7 @@ }; &cros_kb_raw { + status = "okay"; /* No KSO2 (it's inverted and implemented by GPIO) */ pinctrl-0 = <&alt7_no_ksi0_sl &alt7_no_ksi1_sl diff --git a/zephyr/projects/trogdor/boards/arm/trogdor/trogdor.dts b/zephyr/projects/trogdor/boards/arm/trogdor/trogdor.dts index 93cd180ce3..27b53d62b9 100644 --- a/zephyr/projects/trogdor/boards/arm/trogdor/trogdor.dts +++ b/zephyr/projects/trogdor/boards/arm/trogdor/trogdor.dts @@ -206,6 +206,7 @@ }; &cros_kb_raw { + status = "okay"; /* No KSO2 (it's inverted and implemented by GPIO) */ pinctrl-0 = <&alt7_no_ksi0_sl &alt7_no_ksi1_sl diff --git a/zephyr/projects/volteer/boards/arm/volteer/volteer.dts b/zephyr/projects/volteer/boards/arm/volteer/volteer.dts index 845d2abaaa..bff5081d73 100644 --- a/zephyr/projects/volteer/boards/arm/volteer/volteer.dts +++ b/zephyr/projects/volteer/boards/arm/volteer/volteer.dts @@ -239,6 +239,7 @@ }; &cros_kb_raw { + status = "okay"; /* No KSO2 (it's inverted and implemented by GPIO) */ pinctrl-0 = <&alt7_no_ksi0_sl &alt7_no_ksi1_sl -- cgit v1.2.1