Interrupt-driven Linux IIO driver
Out-of-tree I2C kernel driver in C: regmap, devm resources, a threaded IRQ, a data-ready IIO trigger and a triggered buffer with kernel timestamps, bound through a device-tree overlay. Benchmarked against user-space polling with Python capture tools.
| Parameter | Value | Condition |
|---|---|---|
| Sustained rate | 3.2 kHz | 0 dropped, 400 kHz I2C |
| Polling peak | ~2.3 kHz | user-space baseline |
| CPU / sample | −57 to −62% | vs polling |
| Long capture | 470,000 | 10 min @ 800 Hz, no gaps |
| Image size | 185 MB | Buildroot, loads at boot |
| Style | clean | checkpatch --strict |