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:
parent
eac3ac2d87
commit
7f59286f98
2 changed files with 3 additions and 6 deletions
|
@ -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 */
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue