From 7f59286f988ec78efe23fa06bc0f44635e778e4c Mon Sep 17 00:00:00 2001 From: Maureen Helm Date: Tue, 7 Mar 2023 13:08:41 -0600 Subject: [PATCH] drivers: sensor: bmp388: Store sensor trigger as a pointer Fixes the bmp388 sensor driver to store the user-supplied sensor trigger as a pointer rather than a copy. This enables the trigger handler to use CONTAINER_OF to retrieve a context pointer when the trigger is embedded in a larger struct. Signed-off-by: Maureen Helm --- drivers/sensor/bmp388/bmp388.h | 1 + drivers/sensor/bmp388/bmp388_trigger.c | 8 ++------ 2 files changed, 3 insertions(+), 6 deletions(-) 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; }