for my (small) projects I am declaring all functions static because I believe it makes more optimizations possible (such as inlining the function). In my recent project I use more devices that share some functionality (nRF communication) so I created a .h file and moved common functions to that file. Problem is not all devices use all functions and so I get warning about unused functions (and variables) from the #include file. Is there a way to tell the compiler to not warn about unused stuff from the #include file but still warn about unused stuff from main? Or is it all wrong and I should take another approach?