summaryrefslogtreecommitdiff
path: root/zephyr/shim/src/motionsense_sensors.c
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2022-09-21 14:10:01 -0700
committerTom Hughes <tomhughes@chromium.org>2022-09-22 12:49:33 -0700
commit2bcf863b492fe7ed8105c853814dba6ed32ba719 (patch)
treefcf6ce5810f9ff9e3c8cce434812dd75492269ed /zephyr/shim/src/motionsense_sensors.c
parente5fb0b9ba488614b5684e640530f00821ab7b943 (diff)
parent28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff)
downloadchrome-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.c242
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)), ())