In the current implementation, the apds9960 trigger callback function is called with the pointer of a driver-internal allocated trigger structure. This structure is not initialized anywhere, so essentially the trigger callback gets called with junk data. Besides the missing initialization, it would be better instead to hold a const pointer to a user allocated sensor_trigger object. This way user code can establish a context with related user data (for example a pointer to a C++ object) by storing its sensor_trigger object within a structure alongside the user data, and then using CONTAINER_OF() macro to get the pointer of the container struct (and thus the user data). Signed-off-by: Michael Kaplan <m.kaplan@evva.com> |
||
|---|---|---|
| .. | ||
| apds9960_trigger.c | ||
| apds9960.c | ||
| apds9960.h | ||
| CMakeLists.txt | ||
| Kconfig | ||