diff --git a/drivers/sensor/bmp388/bmp388.h b/drivers/sensor/bmp388/bmp388.h index aa87309f29a..b02a7f77ccc 100644 --- a/drivers/sensor/bmp388/bmp388.h +++ b/drivers/sensor/bmp388/bmp388.h @@ -184,6 +184,7 @@ struct bmp388_data { #ifdef CONFIG_BMP388_TRIGGER sensor_trigger_handler_t handler_drdy; + const struct sensor_trigger *trig_drdy; #endif /* CONFIG_BMP388_TRIGGER */ }; diff --git a/drivers/sensor/bmp388/bmp388_trigger.c b/drivers/sensor/bmp388/bmp388_trigger.c index dd9cb1c686e..f6105e99e3d 100644 --- a/drivers/sensor/bmp388/bmp388_trigger.c +++ b/drivers/sensor/bmp388/bmp388_trigger.c @@ -25,13 +25,8 @@ static void bmp388_handle_interrupts(const void *arg) const struct device *dev = (const struct device *)arg; struct bmp388_data *data = dev->data; - struct sensor_trigger drdy_trigger = { - .type = SENSOR_TRIG_DATA_READY, - .chan = SENSOR_CHAN_PRESS, - }; - if (data->handler_drdy) { - data->handler_drdy(dev, &drdy_trigger); + data->handler_drdy(dev, data->trig_drdy); } } @@ -115,6 +110,7 @@ int bmp388_trigger_set( } data->handler_drdy = handler; + data->trig_drdy = trig; return 0; }