drivers: sensor: icm42605: Store sensor trigger as a pointer

Fixes the icm42605 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-08 15:48:52 -06:00 committed by Carles Cufí
commit 1ea5bb32f3
3 changed files with 11 additions and 11 deletions

View file

@ -37,14 +37,14 @@ int icm42605_trigger_set(const struct device *dev,
if (trig->type == SENSOR_TRIG_DATA_READY) {
drv_data->data_ready_handler = handler;
drv_data->data_ready_trigger = *trig;
drv_data->data_ready_trigger = trig;
} else if (trig->type == SENSOR_TRIG_TAP) {
drv_data->tap_handler = handler;
drv_data->tap_trigger = *trig;
drv_data->tap_trigger = trig;
drv_data->tap_en = true;
} else if (trig->type == SENSOR_TRIG_DOUBLE_TAP) {
drv_data->double_tap_handler = handler;
drv_data->double_tap_trigger = *trig;
drv_data->double_tap_trigger = trig;
drv_data->tap_en = true;
} else {
return -ENOTSUP;
@ -78,7 +78,7 @@ static void icm42605_thread_cb(const struct device *dev)
if (drv_data->data_ready_handler != NULL) {
drv_data->data_ready_handler(dev,
&drv_data->data_ready_trigger);
drv_data->data_ready_trigger);
}
if (drv_data->tap_handler != NULL ||