Fix-Point opened a new pull request, #17338: URL: https://github.com/apache/nuttx/pull/17338
## Summary This PR proposed ClockDevice, a new timer driver abstraction for NuttX. The new CLOCKDEVICE timer hardware abstraction delivers: Functional correctness: Thread-safe and overflow-free High performance: Up to 3x faster on ARMv7A platforms Theoretically optimal timing precision: Uses hardware cycle counts as the time unit. Time-unit independent interfaces: Decouples timer drivers from OS time subsystems Minimalist driver implementation: Reduces driver code size by nearly 70%. This is Part III of the https://github.com/apache/nuttx/pull/17276. In this PR, we 1. Removed the callback and args for all oneshot timer drivers and let the upper-half to manage the callback and args. 2. Replaced the tick-based oneshot API with the count-based oneshot API. 3. Removed all tick-based oneshot drivers and provide the temporary fallbacks. 4. Provided count-based oneshot drivers and bug-fix for tricore systimer. (This part included this commit to fix https://github.com/apache/nuttx/pull/17308) In the next Part IV, we will provide re-implemented timer drivers with the count-based oneshot API for: - ARM generic timer (arm-v7a/arm-v7r/arm-v8r/arm-v8a). - SIM timer. - Intel64 TSC-deadline timer. - RISC-v machine timer driver with count-based oneshot API. ## Impact These code commits affect the timing subsystem, as well as the following architecture: - arm-v7a/arm-v7r/arm-v8r - arm-v8a - risc-v - tricore ## Testing Tested on `Allwinnerchip R528(armv8a)/qemu-armv8a/qemu-armv7a/rv-virt/tricore tc397` using `ostest`, all passed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
