diff options
author | Tom Hughes <tomhughes@chromium.org> | 2022-09-21 14:10:01 -0700 |
---|---|---|
committer | Tom Hughes <tomhughes@chromium.org> | 2022-09-22 12:49:33 -0700 |
commit | 2bcf863b492fe7ed8105c853814dba6ed32ba719 (patch) | |
tree | fcf6ce5810f9ff9e3c8cce434812dd75492269ed /zephyr/shim/src/motionsense_sensors.c | |
parent | e5fb0b9ba488614b5684e640530f00821ab7b943 (diff) | |
parent | 28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff) | |
download | chrome-ec-2bcf863b492fe7ed8105c853814dba6ed32ba719.tar.gz |
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-releasefirmware-fpmcu-bloonchipper-release
Generated by: ./util/update_release_branch.py --board bloonchipper
--relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware-
fpmcu-bloonchipper-release
Relevant changes:
git log --oneline e5fb0b9ba4..28712dae9d -- board/hatch_fp
board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
ded9307b79 util/getversion.sh: Fix version when not in a git repo
956055e692 board: change Google USB vendor info
71b2ef709d Update license boilerplate text in source code files
33e11afda0 Revert "fpsensor: Build fpsensor source file with C++"
c8d0360723 fpsensor: Build fpsensor source file with C++
bc113abd53 fpsensor: Fix g++ compiler error
150a58a0dc fpsensor: Fix fp_set_sensor_mode return type
b33b5ce85b fpsensor: Remove nested designators for C++ compatibility
2e864b2539 tree-wide: const-ify argv for console commands
56d8b360f9 test: Add test for get ikm failure when seed not set
3a3d6c3690 test: Add test for fpsensor trivial key failure
233e6bbd08 fpsensor_crypto: Abstract calls to hmac_SHA256
0a041b285b docs/fingerprint: Typo correction
c03fab67e2 docs/fingerprint: Fix the path of fputils.py
0b5d4baf5a util/getversion.sh: Fix empty file list handling
6e128fe760 FPMCU dev board environment with Satlab
3eb29b6aa5 builtin: Move ssize_t to sys/types.h
345d62ebd1 docs/fingerprint: Update power numbers for latest dartmonkey release
c25ffdb316 common: Conditionally support printf %l and %i modifiers
9a3c514b45 test: Add a test to check if the debugger is connected
54e603413f Move standard library tests to their own file
43fa6b4bf8 docs/fingerprint: Update power numbers for latest bloonchipper release
25536f9a84 driver/fingerprint/fpc/bep/fpc_sensor_spi.c: Format with clang-format
4face99efd driver/fingerprint/fpc/libfp/fpc_sensor_pal.h: Format with clang-format
738de2b575 trng: Rename rand to trng_rand
14b8270edd docs/fingerprint: Update dragonclaw power numbers
0b268f93d1 driver/fingerprint/fpc/libfp/fpc_private.c: Format with clang-format
f80da163f2 driver/fingerprint/fpc/libfp/fpc_private.h: Format with clang-format
5e9c85c9b1 driver/fingerprint/fpc/libfp/fpc_sensor_pal.c: Format with clang-format
c1f9dd3cf8 driver/fingerprint/fpc/libfp/fpc_bio_algorithm.h: Format with clang-format
eb1e1bed8d driver/fingerprint/fpc/libfp/fpc1145_private.h: Format with clang-format
6e7b611821 driver/fingerprint/fpc/bep/fpc_bio_algorithm.h: Format with clang-format
e0589cd5e2 driver/fingerprint/fpc/bep/fpc1035_private.h: Format with clang-format
7905e556a0 common/fpsensor/fpsensor_crypto.c: Format with clang-format
21289d170c driver/fingerprint/fpc/bep/fpc1025_private.h: Format with clang-format
98a20f937e common/fpsensor/fpsensor_state.c: Format with clang-format
a2d255d8af common/fpsensor/fpsensor.c: Format with clang-format
73055eeb3f driver/fingerprint/fpc/bep/fpc_private.c: Format with clang-format
0f7b5cb509 common/fpsensor/fpsensor_private.h: Format with clang-format
1ceade6e65 driver/fingerprint/fpc/bep/fpc_private.h: Format with clang-format
dc3e9008b8 board/hatch_fp/board.h: Format with clang-format
dca9d74321 Revert "trng: Rename rand to trng_rand"
a6b0b3554f trng: Rename rand to trng_rand
28d0b75b70 third_party/boringssl: Remove unused header
BRANCH=None
BUG=b:246424843 b:234181908 b:244781166 b:234181908 b:244387210
BUG=b:242720240 chromium:1098010 b:180945056 b:236025198 b:234181908
BUG=b:234181908 b:237344361 b:131913998 b:236386294 b:234143158
BUG=b:234781655 b:215613183 b:242720910
TEST=`make -j buildall`
TEST=./test/run_device_tests.py --board bloonchipper
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "stdlib": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "stm32f_rtc": PASSED
Test "panic_data_bloonchipper_v2.0.4277": PASSED
Test "panic_data_bloonchipper_v2.0.5938": PASSED
Force-Relevant-Builds: all
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I264ad0ffe7afcd507a1e483c6e934a9c4fea47c3
Diffstat (limited to 'zephyr/shim/src/motionsense_sensors.c')
-rw-r--r-- | zephyr/shim/src/motionsense_sensors.c | 242 |
1 files changed, 115 insertions, 127 deletions
diff --git a/zephyr/shim/src/motionsense_sensors.c b/zephyr/shim/src/motionsense_sensors.c index f0b76adf33..8d886192ac 100644 --- a/zephyr/shim/src/motionsense_sensors.c +++ b/zephyr/shim/src/motionsense_sensors.c @@ -1,4 +1,4 @@ -/* Copyright 2021 The Chromium OS Authors. All rights reserved. +/* Copyright 2021 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -13,11 +13,11 @@ LOG_MODULE_REGISTER(shim_cros_motionsense_sensors); -#define SENSOR_MUTEX_NODE DT_PATH(motionsense_mutex) -#define SENSOR_MUTEX_NAME(id) DT_CAT(MUTEX_, id) +#define SENSOR_MUTEX_NODE DT_PATH(motionsense_mutex) +#define SENSOR_MUTEX_NAME(id) DT_CAT(MUTEX_, id) #if DT_NODE_EXISTS(SENSOR_MUTEX_NODE) -#define DECLARE_SENSOR_MUTEX(id) K_MUTEX_DEFINE(SENSOR_MUTEX_NAME(id)); +#define DECLARE_SENSOR_MUTEX(id) K_MUTEX_DEFINE(SENSOR_MUTEX_NAME(id)); /* * Declare mutex for @@ -28,18 +28,12 @@ LOG_MODULE_REGISTER(shim_cros_motionsense_sensors); DT_FOREACH_CHILD(SENSOR_MUTEX_NODE, DECLARE_SENSOR_MUTEX) #endif /* DT_NODE_EXISTS(SENSOR_MUTEX_NODE) */ -#define MAT_ITEM(i, id) FLOAT_TO_FP((int32_t)(DT_PROP_BY_IDX(id, mat33, i))) -#define DECLARE_SENSOR_ROT_REF(id) \ - const mat33_fp_t SENSOR_ROT_STD_REF_NAME(id) = { \ - { \ - FOR_EACH_FIXED_ARG(MAT_ITEM, (,), id, 0, 1, 2) \ - }, \ - { \ - FOR_EACH_FIXED_ARG(MAT_ITEM, (,), id, 3, 4, 5) \ - }, \ - { \ - FOR_EACH_FIXED_ARG(MAT_ITEM, (,), id, 6, 7, 8) \ - }, \ +#define MAT_ITEM(i, id) FLOAT_TO_FP((int32_t)(DT_PROP_BY_IDX(id, mat33, i))) +#define DECLARE_SENSOR_ROT_REF(id) \ + const mat33_fp_t SENSOR_ROT_STD_REF_NAME(id) = { \ + { FOR_EACH_FIXED_ARG(MAT_ITEM, (, ), id, 0, 1, 2) }, \ + { FOR_EACH_FIXED_ARG(MAT_ITEM, (, ), id, 3, 4, 5) }, \ + { FOR_EACH_FIXED_ARG(MAT_ITEM, (, ), id, 6, 7, 8) }, \ }; /* @@ -59,12 +53,12 @@ DT_FOREACH_CHILD(SENSOR_ROT_REF_NODE, DECLARE_SENSOR_ROT_REF) * * A driver data can be shared among the motion sensors. */ -#define SENSOR_DATA_NAME(id) DT_CAT(SENSOR_DAT_, id) -#define SENSOR_DATA_NODE DT_PATH(motionsense_sensor_data) +#define SENSOR_DATA_NAME(id) DT_CAT(SENSOR_DAT_, id) +#define SENSOR_DATA_NODE DT_PATH(motionsense_sensor_data) -#define SENSOR_DATA(inst, compat, create_data_macro) \ - create_data_macro(DT_INST(inst, compat), \ - SENSOR_DATA_NAME(DT_INST(inst, compat))) +#define SENSOR_DATA(inst, compat, create_data_macro) \ + create_data_macro(DT_INST(inst, compat), \ + SENSOR_DATA_NAME(DT_INST(inst, compat))) /* * CREATE_SENSOR_DATA is a helper macro that gets @@ -93,17 +87,17 @@ DT_FOREACH_CHILD(SENSOR_ROT_REF_NODE, DECLARE_SENSOR_ROT_REF) * CREATE_SENSOR_DATA(cros_ec_drvdata_tcs3400_clear, \ * CREATE_SENSOR_DATA_TCS3400_CLEAR) */ -#define CREATE_SENSOR_DATA(compat, create_data_macro) \ - LISTIFY(DT_NUM_INST_STATUS_OKAY(compat), SENSOR_DATA, (), \ - compat, create_data_macro) +#define CREATE_SENSOR_DATA(compat, create_data_macro) \ + LISTIFY(DT_NUM_INST_STATUS_OKAY(compat), SENSOR_DATA, (), compat, \ + create_data_macro) /* * sensor_drv_list.inc is included three times in this file. This is the first * time and it is for creating sensor driver-specific data. So we ignore * CREATE_MOTION_SENSOR() that creates motion sensor at this time. */ -#define CREATE_MOTION_SENSOR(s_compat, s_chip, s_type, s_drv, \ - s_min_freq, s_max_freq) +#define CREATE_MOTION_SENSOR(s_compat, s_chip, s_type, s_drv, s_min_freq, \ + s_max_freq) /* * Here, we declare all sensor driver data. How to create the data is @@ -119,33 +113,31 @@ DT_FOREACH_CHILD(SENSOR_ROT_REF_NODE, DECLARE_SENSOR_ROT_REF) * See motionsense-sensor-base.yaml and cros-ec,motionsense-mutex.yaml * for DT example and details. */ -#define SENSOR_MUTEX(id) \ - IF_ENABLED(DT_NODE_HAS_PROP(id, mutex), \ - (.mutex = &SENSOR_MUTEX_NAME(DT_PHANDLE(id, mutex)),)) +#define SENSOR_MUTEX(id) \ + IF_ENABLED(DT_NODE_HAS_PROP(id, mutex), \ + (.mutex = &SENSOR_MUTEX_NAME(DT_PHANDLE(id, mutex)), )) /* * Set the interrupt pin which is referred by the phandle. */ -#define SENSOR_INT_SIGNAL(id) \ - IF_ENABLED(DT_NODE_HAS_PROP(id, int_signal), \ - (.int_signal = GPIO_SIGNAL(DT_PHANDLE(id, int_signal)),)) +#define SENSOR_INT_SIGNAL(id) \ + IF_ENABLED(DT_NODE_HAS_PROP(id, int_signal), \ + (.int_signal = GPIO_SIGNAL(DT_PHANDLE(id, int_signal)), )) /* * Set flags based on values defined in the node. */ -#define SENSOR_FLAGS(id) \ - .flags = 0 \ - IF_ENABLED(DT_NODE_HAS_PROP(id, int_signal), \ - (|MOTIONSENSE_FLAG_INT_SIGNAL)) \ - , +#define SENSOR_FLAGS(id) \ + .flags = 0 IF_ENABLED(DT_NODE_HAS_PROP(id, int_signal), \ + (| MOTIONSENSE_FLAG_INT_SIGNAL)), /* * Get I2C port number which is referred by phandle. * See motionsense-sensor-base.yaml for DT example and details. */ -#define SENSOR_I2C_PORT(id) \ - IF_ENABLED(DT_NODE_HAS_PROP(id, port), \ - (.port = I2C_PORT(DT_PHANDLE(id, port)),)) +#define SENSOR_I2C_PORT(id) \ + IF_ENABLED(DT_NODE_HAS_PROP(id, port), \ + (.port = I2C_PORT(DT_PHANDLE(id, port)), )) /* * Get I2C or SPI address. @@ -161,75 +153,74 @@ DT_FOREACH_CHILD(SENSOR_ROT_REF_NODE, DECLARE_SENSOR_ROT_REF) * See motionsense-sensor-base.yaml and cros-ec,motionsense-rotation-ref.yaml * for DT example and details. */ -#define SENSOR_ROT_STD_REF(id) \ - IF_ENABLED(DT_NODE_HAS_PROP(id, rot_standard_ref), \ - (.rot_standard_ref = \ - &SENSOR_ROT_STD_REF_NAME(DT_PHANDLE(id, rot_standard_ref)),)) +#define SENSOR_ROT_STD_REF(id) \ + IF_ENABLED(DT_NODE_HAS_PROP(id, rot_standard_ref), \ + (.rot_standard_ref = &SENSOR_ROT_STD_REF_NAME( \ + DT_PHANDLE(id, rot_standard_ref)), )) /* * Get the address of driver-specific data which is referred by phandle. * See motionsense-sensor-base.yaml for DT example and details. */ -#define SENSOR_DRV_DATA(id) \ - IF_ENABLED(DT_NODE_HAS_PROP(id, drv_data), \ - (.drv_data = &SENSOR_DATA_NAME(DT_PHANDLE(id, drv_data)),)) +#define SENSOR_DRV_DATA(id) \ + IF_ENABLED(DT_NODE_HAS_PROP(id, drv_data), \ + (.drv_data = \ + &SENSOR_DATA_NAME(DT_PHANDLE(id, drv_data)), )) /* * Get odr and ec_rate for the motion sensor. * See motionsense-sensor-base.yaml and cros-ec,motionsense-sensor-config.yaml * for DT example and details. */ -#define SET_CONFIG_EC(cfg_id, cfg_suffix) \ - [SENSOR_CONFIG_##cfg_suffix] = { \ - IF_ENABLED(DT_NODE_HAS_PROP(cfg_id, odr), \ - (.odr = DT_PROP(cfg_id, odr),)) \ - IF_ENABLED(DT_NODE_HAS_PROP(cfg_id, ec_rate), \ - (.ec_rate = DT_PROP(cfg_id, ec_rate),)) \ +#define SET_CONFIG_EC(cfg_id, cfg_suffix) \ + [SENSOR_CONFIG_##cfg_suffix] = { \ + IF_ENABLED(DT_NODE_HAS_PROP(cfg_id, odr), \ + (.odr = DT_PROP(cfg_id, odr), )) \ + IF_ENABLED(DT_NODE_HAS_PROP(cfg_id, ec_rate), \ + (.ec_rate = DT_PROP(cfg_id, ec_rate), )) \ } /* Get configs */ -#define CREATE_SENSOR_CONFIG(cfgs_id) \ - .config = { \ - IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(cfgs_id, ap)), \ - (SET_CONFIG_EC(DT_CHILD(cfgs_id, ap), AP),)) \ - IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(cfgs_id, ec_s0)), \ - (SET_CONFIG_EC(DT_CHILD(cfgs_id, ec_s0), EC_S0),)) \ - IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(cfgs_id, ec_s3)), \ - (SET_CONFIG_EC(DT_CHILD(cfgs_id, ec_s3), EC_S3),)) \ - IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(cfgs_id, ec_s5)), \ - (SET_CONFIG_EC(DT_CHILD(cfgs_id, ec_s5), EC_S5),)) \ +#define CREATE_SENSOR_CONFIG(cfgs_id) \ + .config = { \ + IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(cfgs_id, ap)), \ + (SET_CONFIG_EC(DT_CHILD(cfgs_id, ap), AP), )) \ + IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(cfgs_id, ec_s0)), \ + (SET_CONFIG_EC(DT_CHILD(cfgs_id, ec_s0), \ + EC_S0), )) \ + IF_ENABLED(DT_NODE_EXISTS( \ + DT_CHILD(cfgs_id, ec_s3)), \ + (SET_CONFIG_EC(DT_CHILD(cfgs_id, \ + ec_s3), \ + EC_S3), )) \ + IF_ENABLED(DT_NODE_EXISTS(DT_CHILD( \ + cfgs_id, ec_s5)), \ + (SET_CONFIG_EC( \ + DT_CHILD(cfgs_id, \ + ec_s5), \ + EC_S5), )) \ } -#define SENSOR_CONFIG(id) \ - IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(id, configs)), \ - (CREATE_SENSOR_CONFIG(DT_CHILD(id, configs)),)) +#define SENSOR_CONFIG(id) \ + IF_ENABLED(DT_NODE_EXISTS(DT_CHILD(id, configs)), \ + (CREATE_SENSOR_CONFIG(DT_CHILD(id, configs)), )) /* Get and assign the basic information for a motion sensor */ -#define SENSOR_BASIC_INFO(id) \ - .name = DT_LABEL(id), \ - .active_mask = DT_STRING_TOKEN(id, active_mask), \ - .location = DT_STRING_TOKEN(id, location), \ - .default_range = DT_PROP(id, default_range), \ - SENSOR_I2C_SPI_ADDR_FLAGS(id) \ - SENSOR_MUTEX(id) \ - SENSOR_I2C_PORT(id) \ - SENSOR_ROT_STD_REF(id) \ - SENSOR_DRV_DATA(id) \ - SENSOR_CONFIG(id) \ - SENSOR_INT_SIGNAL(id) \ - SENSOR_FLAGS(id) +#define SENSOR_BASIC_INFO(id) \ + .name = DT_NODE_FULL_NAME(id), \ + .active_mask = DT_STRING_TOKEN(id, active_mask), \ + .location = DT_STRING_TOKEN(id, location), \ + .default_range = DT_PROP(id, default_range), \ + SENSOR_I2C_SPI_ADDR_FLAGS(id) SENSOR_MUTEX(id) SENSOR_I2C_PORT(id) \ + SENSOR_ROT_STD_REF(id) SENSOR_DRV_DATA(id) SENSOR_CONFIG(id) \ + SENSOR_INT_SIGNAL(id) SENSOR_FLAGS(id) /* Create motion sensor node with node ID */ -#define DO_MK_SENSOR_ENTRY( \ - id, s_chip, s_type, s_drv, s_min_freq, s_max_freq) \ - [SENSOR_ID(id)] = { \ - SENSOR_BASIC_INFO(id) \ - .chip = s_chip, \ - .type = s_type, \ - .drv = &s_drv, \ - .min_frequency = s_min_freq, \ - .max_frequency = s_max_freq \ - }, +#define DO_MK_SENSOR_ENTRY(id, s_chip, s_type, s_drv, s_min_freq, s_max_freq) \ + [SENSOR_ID(id)] = { SENSOR_BASIC_INFO(id).chip = s_chip, \ + .type = s_type, .drv = &s_drv, \ + .min_frequency = s_min_freq, \ + .max_frequency = s_max_freq }, /* Construct an entry iff the alternate_for property is missing. */ #define MK_SENSOR_ENTRY(inst, s_compat, s_chip, s_type, s_drv, s_min_freq, \ @@ -289,9 +280,9 @@ DT_FOREACH_CHILD(SENSOR_ROT_REF_NODE, DECLARE_SENSOR_ROT_REF) * MOTIONSENSE_TYPE_LIGHT_RGB, tcs3400_rgb_drv, 0, 0) * ----------------------------------------------- */ -#define CREATE_MOTION_SENSOR(s_compat, s_chip, s_type, s_drv, \ - s_min_freq, s_max_freq) \ - LISTIFY(DT_NUM_INST_STATUS_OKAY(s_compat), MK_SENSOR_ENTRY, (),\ +#define CREATE_MOTION_SENSOR(s_compat, s_chip, s_type, s_drv, s_min_freq, \ + s_max_freq) \ + LISTIFY(DT_NUM_INST_STATUS_OKAY(s_compat), MK_SENSOR_ENTRY, (), \ s_compat, s_chip, s_type, s_drv, s_min_freq, s_max_freq) /* @@ -309,10 +300,10 @@ struct motion_sensor_t motion_sensors[] = { * of alternate sensors that will be used at runtime. */ #undef CREATE_MOTION_SENSOR -#define CREATE_MOTION_SENSOR(s_compat, s_chip, s_type, s_drv, s_min_freq, \ - s_max_freq) \ - LISTIFY(DT_NUM_INST_STATUS_OKAY(s_compat), MK_SENSOR_ALT_ENTRY, (),\ - s_compat, s_chip, s_type, s_drv, s_min_freq, s_max_freq) +#define CREATE_MOTION_SENSOR(s_compat, s_chip, s_type, s_drv, s_min_freq, \ + s_max_freq) \ + LISTIFY(DT_NUM_INST_STATUS_OKAY(s_compat), MK_SENSOR_ALT_ENTRY, (), \ + s_compat, s_chip, s_type, s_drv, s_min_freq, s_max_freq) /* * The list of alternate motion sensors that may be used at runtime to replace @@ -356,12 +347,11 @@ const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors); * }; */ #if DT_NODE_HAS_PROP(SENSOR_INFO_NODE, als_sensors) -#define ALS_SENSOR_ENTRY_WITH_COMMA(i, id) \ +#define ALS_SENSOR_ENTRY_WITH_COMMA(i, id) \ &motion_sensors[SENSOR_ID(DT_PHANDLE_BY_IDX(id, als_sensors, i))], -const struct motion_sensor_t *motion_als_sensors[] = { - LISTIFY(DT_PROP_LEN(SENSOR_INFO_NODE, als_sensors), - ALS_SENSOR_ENTRY_WITH_COMMA, (), SENSOR_INFO_NODE) -}; +const struct motion_sensor_t *motion_als_sensors[] = { LISTIFY( + DT_PROP_LEN(SENSOR_INFO_NODE, als_sensors), ALS_SENSOR_ENTRY_WITH_COMMA, + (), SENSOR_INFO_NODE) }; BUILD_ASSERT(ARRAY_SIZE(motion_als_sensors) == ALS_COUNT); #endif @@ -378,28 +368,27 @@ BUILD_ASSERT(ARRAY_SIZE(motion_als_sensors) == ALS_COUNT); * }; */ #if DT_NODE_HAS_PROP(SENSOR_INFO_NODE, sensor_irqs) -#define SENSOR_GPIO_ENABLE_INTERRUPT(i, id) \ - gpio_enable_dt_interrupt( \ +#define SENSOR_GPIO_ENABLE_INTERRUPT(i, id) \ + gpio_enable_dt_interrupt( \ GPIO_INT_FROM_NODE(DT_PHANDLE_BY_IDX(id, sensor_irqs, i))); -static void sensor_enable_irqs(void) -{ +static void sensor_enable_irqs(void){ LISTIFY(DT_PROP_LEN(SENSOR_INFO_NODE, sensor_irqs), - SENSOR_GPIO_ENABLE_INTERRUPT, (), SENSOR_INFO_NODE) -} -DECLARE_HOOK(HOOK_INIT, sensor_enable_irqs, HOOK_PRIO_DEFAULT); + SENSOR_GPIO_ENABLE_INTERRUPT, (), SENSOR_INFO_NODE) +} DECLARE_HOOK(HOOK_INIT, sensor_enable_irqs, HOOK_PRIO_DEFAULT); #endif /* Handle the alternative motion sensors */ -#define CHECK_SSFC_AND_ENABLE_ALT_SENSOR(id) \ - do { \ - if (cros_cbi_ssfc_check_match(CBI_SSFC_VALUE_ID( \ - DT_PHANDLE(id, alternate_ssfc_indicator)))) { \ - LOG_INF("Replacing \"%s\" for \"%s\" based on SSFC", \ - motion_sensors[SENSOR_ID(DT_PHANDLE(id, \ - alternate_for))].name, \ - motion_sensors_alt[SENSOR_ID(id)].name); \ - ENABLE_ALT_MOTION_SENSOR(id); \ - } \ +#define CHECK_SSFC_AND_ENABLE_ALT_SENSOR(id) \ + do { \ + if (cros_cbi_ssfc_check_match(CBI_SSFC_VALUE_ID( \ + DT_PHANDLE(id, alternate_ssfc_indicator)))) { \ + LOG_INF("Replacing \"%s\" for \"%s\" based on SSFC", \ + motion_sensors[SENSOR_ID(DT_PHANDLE( \ + id, alternate_for))] \ + .name, \ + motion_sensors_alt[SENSOR_ID(id)].name); \ + ENABLE_ALT_MOTION_SENSOR(id); \ + } \ } while (0) #define ALT_SENSOR_CHECK_SSFC_ID(id) \ @@ -428,8 +417,7 @@ int motion_sense_probe(enum sensor_alt_id alt_idx) return res; } -void motion_sensors_check_ssfc(void) -{ +void motion_sensors_check_ssfc(void){ DT_FOREACH_CHILD(SENSOR_ALT_NODE, ALT_SENSOR_CHECK_SSFC_ID) } #endif /* DT_NODE_EXISTS(SENSOR_ALT_NODE) */ @@ -440,13 +428,13 @@ void motion_sensors_check_ssfc(void) #define DEF_MOTION_ISR_NAME(id) \ DEF_MOTION_ISR_NAME_ENUM_WITH_SUFFIX(DEF_MOTION_ISR_NAME_ENUM(id)) -#define DEF_MOTION_ISR(id) \ -void DEF_MOTION_ISR_NAME(id)(enum gpio_signal signal) \ -{ \ - __ASSERT(motion_sensors[SENSOR_ID(id)].drv->interrupt, \ - "No interrupt handler for signal: %x", signal); \ - motion_sensors[SENSOR_ID(id)].drv->interrupt(signal); \ -} +#define DEF_MOTION_ISR(id) \ + void DEF_MOTION_ISR_NAME(id)(enum gpio_signal signal) \ + { \ + __ASSERT(motion_sensors[SENSOR_ID(id)].drv->interrupt, \ + "No interrupt handler for signal: %x", signal); \ + motion_sensors[SENSOR_ID(id)].drv->interrupt(signal); \ + } #define DEF_MOTION_CHECK_ISR(id) \ COND_CODE_1(DT_NODE_HAS_PROP(id, int_signal), (DEF_MOTION_ISR(id)), ()) |