From 7875025cdb09c0f5bae41964ced9efff1e4e2fd9 Mon Sep 17 00:00:00 2001 From: Maureen Helm Date: Tue, 7 Mar 2023 13:03:35 -0600 Subject: [PATCH] drivers: sensor: bmc150_magn: Store sensor trigger as a pointer Fixes the bmc150_magn 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/bmc150_magn/bmc150_magn.h | 2 +- drivers/sensor/bmc150_magn/bmc150_magn_trigger.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/sensor/bmc150_magn/bmc150_magn.h b/drivers/sensor/bmc150_magn/bmc150_magn.h index 7a7ea67984c..8056cc36ba9 100644 --- a/drivers/sensor/bmc150_magn/bmc150_magn.h +++ b/drivers/sensor/bmc150_magn/bmc150_magn.h @@ -120,7 +120,7 @@ struct bmc150_magn_data { const struct device *gpio_drdy; const struct device *dev; struct gpio_callback gpio_cb; - struct sensor_trigger trigger_drdy; + const struct sensor_trigger *trigger_drdy; sensor_trigger_handler_t handler_drdy; #endif diff --git a/drivers/sensor/bmc150_magn/bmc150_magn_trigger.c b/drivers/sensor/bmc150_magn/bmc150_magn_trigger.c index 017d0896bdd..dc21d1cbee3 100644 --- a/drivers/sensor/bmc150_magn/bmc150_magn_trigger.c +++ b/drivers/sensor/bmc150_magn/bmc150_magn_trigger.c @@ -49,7 +49,7 @@ int bmc150_magn_trigger_set(const struct device *dev, } data->handler_drdy = handler; - data->trigger_drdy = *trig; + data->trigger_drdy = trig; if (i2c_reg_update_byte_dt(&config->i2c, BMC150_MAGN_REG_INT_DRDY, @@ -96,7 +96,7 @@ static void bmc150_magn_thread_main(struct bmc150_magn_data *data) } if (data->handler_drdy) { - data->handler_drdy(data->dev, &data->trigger_drdy); + data->handler_drdy(data->dev, data->trigger_drdy); } setup_drdy(data->dev, true);