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 <maureen.helm@intel.com>
This commit is contained in:
Maureen Helm 2023-03-07 13:08:41 -06:00 committed by Carles Cufí
commit 7f59286f98
2 changed files with 3 additions and 6 deletions

View file

@ -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 */
};

View file

@ -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;
}