Why was sparse complaining - was it spotting something that is an actual issue here and you've just masked the warning?
It was about the use of typeof/sizeof() in min(), not an actual issue in the code sound/soc/sof/trace.c:90:17: warning: expression using sizeof(void) sound/soc/sof/trace.c:90:17: warning: expression using sizeof(void)
I don't understand that warning - avail and count are both size_t so where's it deciding that there's a void involved?
no idea really, I am only a user of sparse, I don't know how it generated that warning.
there are equally confusing ones such as
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:665:13: warning: call with no type!
include/linux/slab.h:665:13: error: undefined identifier '__builtin_mul_overflow
The main benefit of sparse is that it is the only tool that found endianess and iomem space issues, but it's often buried in heaps of false alarms in include files.