diff --git a/drivers/sensor/icm42605/icm42605.c b/drivers/sensor/icm42605/icm42605.c index 1801488f40a..df572fab330 100644 --- a/drivers/sensor/icm42605/icm42605.c +++ b/drivers/sensor/icm42605/icm42605.c @@ -421,10 +421,12 @@ static int icm42605_init(const struct device *dev) drv_data->accel_sensitivity_shift = 14 - 3; drv_data->gyro_sensitivity_x10 = icm42605_gyro_sensitivity_x10[3]; +#ifdef CONFIG_ICM42605_TRIGGER if (icm42605_init_interrupt(dev) < 0) { LOG_ERR("Failed to initialize interrupts."); return -EIO; } +#endif LOG_DBG("Initialize interrupt done"); @@ -432,7 +434,9 @@ static int icm42605_init(const struct device *dev) } static const struct sensor_driver_api icm42605_driver_api = { +#ifdef CONFIG_ICM42605_TRIGGER .trigger_set = icm42605_trigger_set, +#endif .sample_fetch = icm42605_sample_fetch, .channel_get = icm42605_channel_get, .attr_set = icm42605_attr_set, diff --git a/drivers/sensor/icm42605/icm42605.h b/drivers/sensor/icm42605/icm42605.h index 8d8c6ec9f99..a5d7b5b6ad9 100644 --- a/drivers/sensor/icm42605/icm42605.h +++ b/drivers/sensor/icm42605/icm42605.h @@ -58,9 +58,11 @@ struct icm42605_data { struct sensor_trigger double_tap_trigger; sensor_trigger_handler_t double_tap_handler; +#ifdef CONFIG_ICM42605_TRIGGER K_KERNEL_STACK_MEMBER(thread_stack, CONFIG_ICM42605_THREAD_STACK_SIZE); struct k_thread thread; struct k_sem gpio_sem; +#endif struct spi_cs_control spi_cs; struct spi_config spi_cfg;