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
|
#ifdef CONFIG_BMP388_TRIGGER
|
||||||
sensor_trigger_handler_t handler_drdy;
|
sensor_trigger_handler_t handler_drdy;
|
||||||
|
const struct sensor_trigger *trig_drdy;
|
||||||
#endif /* CONFIG_BMP388_TRIGGER */
|
#endif /* CONFIG_BMP388_TRIGGER */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,13 +25,8 @@ static void bmp388_handle_interrupts(const void *arg)
|
||||||
const struct device *dev = (const struct device *)arg;
|
const struct device *dev = (const struct device *)arg;
|
||||||
struct bmp388_data *data = dev->data;
|
struct bmp388_data *data = dev->data;
|
||||||
|
|
||||||
struct sensor_trigger drdy_trigger = {
|
|
||||||
.type = SENSOR_TRIG_DATA_READY,
|
|
||||||
.chan = SENSOR_CHAN_PRESS,
|
|
||||||
};
|
|
||||||
|
|
||||||
if (data->handler_drdy) {
|
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->handler_drdy = handler;
|
||||||
|
data->trig_drdy = trig;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue