diff options
author | Gwendal Grignou <gwendal@chromium.org> | 2020-10-20 23:45:19 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-11-06 01:43:28 +0000 |
commit | 2d900dc16b610703296803e438a8728036c06ea4 (patch) | |
tree | 69e1376917da6922f80616d49f5fc1250d87caac | |
parent | bf3190f8ed0eb50473f1c00a2ccd172c12367500 (diff) | |
download | chrome-ec-2d900dc16b610703296803e438a8728036c06ea4.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>
-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 405df5438b..56a3ab1a17 100644 --- a/driver/accelgyro_bmi260.c +++ b/driver/accelgyro_bmi260.c @@ -289,18 +289,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 */ @@ -317,17 +316,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); @@ -536,11 +534,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 ce2e836234..75447d54f8 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; @@ -319,17 +321,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 7c7882a76f..33648b2539 100644 --- a/driver/accelgyro_bmi_common.h +++ b/driver/accelgyro_bmi_common.h @@ -175,11 +175,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. */ |