Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes all the "inappropriate volatile use" compiler warnings as discussed in #3222. But, it does so in a minimal invasive way.
The use of hal_X_t types in pass-by-value arguments and as value-return types is the actual problem. A passed value in a function argument can never ever be volatile. The same goes for return values. The problem can easily be fixed by using pass-by-reference or using the underlying types of the hal_X_t types.
This PR changes the hal port API slightly, changing hal_port_t pass-by-value to pass-by-reference arguments. The xhc-whb04b-06 component is fixed by using the underlying type, changing hal_float_t to real_t.
None of these changes add or remove functionality in any way. Therefore, it does not matter what type of real-time is used.