diff options
author | Gwendal Grignou <gwendal@chromium.org> | 2020-10-20 23:45:19 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-10-12 15:10:49 +0000 |
commit | 5538f961c1c9146c93ed7b3da0fe6447202090dc (patch) | |
tree | 4a21051dd068baa3782c7fcdc6a40998c85bd95d | |
parent | 240efa3893bb7b8d5e1cbef288d18cb963866466 (diff) | |
download | chrome-ec-5538f961c1c9146c93ed7b3da0fe6447202090dc.tar.gz |
driver: bmi260: Use IS_ENABLED()
Add IS_ENABLED() instead of #ifdef when possible in bmi260 and
bmi_common.
BUG=chromium:1140877
BRANCH=none
TEST=buildall
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Change-Id: If8e36ed2a527e8a4ac9582a7b30fe7f7ff589a30
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2489461
Reviewed-by: Ching-Kang Yen <chingkang@chromium.org>
(cherry picked from commit 2d900dc16b610703296803e438a8728036c06ea4)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3214011
Tested-by: Rong Chang <rongchang@chromium.org>
Auto-Submit: Rong Chang <rongchang@chromium.org>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Commit-Queue: Rong Chang <rongchang@chromium.org>
-rw-r--r-- | driver/accelgyro_bmi260.c | 50 | ||||
-rw-r--r-- | driver/accelgyro_bmi_common.c | 20 | ||||
-rw-r--r-- | driver/accelgyro_bmi_common.h | 5 |
3 files changed, 32 insertions, 43 deletions
diff --git a/driver/accelgyro_bmi260.c b/driver/accelgyro_bmi260.c index 9ebd7bfa7e..d7264d4512 100644 --- a/driver/accelgyro_bmi260.c +++ b/driver/accelgyro_bmi260.c @@ -292,18 +292,17 @@ static int config_interrupt(const struct motion_sensor_t *s) ret = bmi_write8(s->port, s->i2c_spi_addr_flags, BMI260_INT1_IO_CTRL, BMI260_INT1_OUTPUT_EN); -#ifdef CONFIG_ACCELGYRO_BMI260_INT2_OUTPUT - /* TODO(chingkang): Test it if we want int2 as an interrupt */ - /* configure int2 as an interrupt */ - ret = bmi_write8(s->port, s->i2c_spi_addr_flags, - BMI260_INT2_IO_CTRL, - BMI260_INT2_OUTPUT_EN); -#else - /* configure int2 as an external input. */ - ret = bmi_write8(s->port, s->i2c_spi_addr_flags, - BMI260_INT2_IO_CTRL, - BMI260_INT2_INPUT_EN); -#endif + if (IS_ENABLED(CONFIG_ACCELGYRO_BMI260_INT2_OUTPUT)) + /* TODO(chingkang): Test it if we want int2 as an interrupt */ + /* configure int2 as an interrupt */ + ret = bmi_write8(s->port, s->i2c_spi_addr_flags, + BMI260_INT2_IO_CTRL, + BMI260_INT2_OUTPUT_EN); + else + /* configure int2 as an external input. */ + ret = bmi_write8(s->port, s->i2c_spi_addr_flags, + BMI260_INT2_IO_CTRL, + BMI260_INT2_INPUT_EN); if (IS_ENABLED(CONFIG_ACCEL_FIFO)) { /* map fifo water mark to int 1 */ @@ -320,17 +319,16 @@ static int config_interrupt(const struct motion_sensor_t *s) BMI260_FIFO_WTM_0, 1); ret = bmi_write8(s->port, s->i2c_spi_addr_flags, BMI260_FIFO_WTM_1, 0); -#ifdef CONFIG_ACCELGYRO_BMI260_INT2_OUTPUT - ret = bmi_write8(s->port, s->i2c_spi_addr_flags, - BMI260_FIFO_CONFIG_1, - BMI260_FIFO_HEADER_EN); -#else - ret = bmi_write8(s->port, s->i2c_spi_addr_flags, - BMI260_FIFO_CONFIG_1, - (BMI260_FIFO_TAG_INT_LEVEL << - BMI260_FIFO_TAG_INT2_EN_OFFSET) | - BMI260_FIFO_HEADER_EN); -#endif + if (IS_ENABLED(CONFIG_ACCELGYRO_BMI260_INT2_OUTPUT)) + ret = bmi_write8(s->port, s->i2c_spi_addr_flags, + BMI260_FIFO_CONFIG_1, + BMI260_FIFO_HEADER_EN); + else + ret = bmi_write8(s->port, s->i2c_spi_addr_flags, + BMI260_FIFO_CONFIG_1, + (BMI260_FIFO_TAG_INT_LEVEL << + BMI260_FIFO_TAG_INT2_EN_OFFSET) | + BMI260_FIFO_HEADER_EN); /* disable FIFO sensortime frame */ ret = bmi_write8(s->port, s->i2c_spi_addr_flags, BMI260_FIFO_CONFIG_0, 0); @@ -539,11 +537,9 @@ static int init(const struct motion_sensor_t *s) saved_data->odr = 0; bmi_set_range(s, s->default_range, 0); - if (s->type == MOTIONSENSE_TYPE_ACCEL) { -#ifdef CONFIG_ACCEL_INTERRUPTS + if (IS_ENABLED(CONFIG_ACCEL_INTERRUPTS) && + (s->type == MOTIONSENSE_TYPE_ACCEL)) ret = config_interrupt(s); -#endif - } return sensor_init_done(s); } diff --git a/driver/accelgyro_bmi_common.c b/driver/accelgyro_bmi_common.c index e721544b5d..b031d1a1a7 100644 --- a/driver/accelgyro_bmi_common.c +++ b/driver/accelgyro_bmi_common.c @@ -12,6 +12,8 @@ #include "accelgyro.h" #include "console.h" #include "driver/accelgyro_bmi_common.h" +#include "driver/mag_bmm150.h" +#include "driver/mag_lis2mdl.h" #include "i2c.h" #include "math_util.h" #include "motion_sense_fifo.h" @@ -141,7 +143,7 @@ int bmi_get_engineering_val(const int reg_val, } #ifdef CONFIG_SPI_ACCEL_PORT -int bmi_spi_raw_read(const int addr, const uint8_t reg, +static int bmi_spi_raw_read(const int addr, const uint8_t reg, uint8_t *data, const int len) { uint8_t cmd = 0x80 | reg; @@ -361,17 +363,13 @@ void bmi_normalize(const struct motion_sensor_t *s, intv3_t v, uint8_t *input) int i; struct accelgyro_saved_data_t *data = BMI_GET_SAVED_DATA(s); -#ifdef CONFIG_MAG_BMI_BMM150 - if (s->type == MOTIONSENSE_TYPE_MAG) + if (IS_ENABLED(CONFIG_MAG_BMI_BMM150) && + (s->type == MOTIONSENSE_TYPE_MAG)) { bmm150_normalize(s, v, input); - else -#endif -#ifdef CONFIG_MAG_BMI_LIS2MDL - if (s->type == MOTIONSENSE_TYPE_MAG) - lis2mdl_normalize(s, v, data); - else -#endif - { + } else if (IS_ENABLED(CONFIG_MAG_BMI_LIS2MDL) && + (s->type == MOTIONSENSE_TYPE_MAG)) { + lis2mdl_normalize(s, v, input); + } else { v[0] = ((int16_t)((input[1] << 8) | input[0])); v[1] = ((int16_t)((input[3] << 8) | input[2])); v[2] = ((int16_t)((input[5] << 8) | input[4])); diff --git a/driver/accelgyro_bmi_common.h b/driver/accelgyro_bmi_common.h index 1186ab8ef2..9f082e85f1 100644 --- a/driver/accelgyro_bmi_common.h +++ b/driver/accelgyro_bmi_common.h @@ -189,11 +189,6 @@ int bmi_get_engineering_val(const int reg_val, const struct bmi_accel_param_pair *pairs, const int size); -#ifdef CONFIG_SPI_ACCEL_PORT -int bmi_spi_raw_read(const int addr, const uint8_t reg, - uint8_t *data, const int len); -#endif - /** * Read 8bit register from accelerometer. */ |