On Wednesday, September 7, 2016 12:31:03 PM CEST Yuval Mintz wrote: > > > While I obviously have no strong objection for including > > > qed_selftest.h from qed_selftest.c, I'm not sure I understand which C > > > standard dictates this requirement. > > > Why should a function definition [not call] be preceded by a prototype? > > > > - When a function is defined in one file and used in another, you want > > both files to include the same header that has the declaration to > > ensure that the types are identical. There are cases where the > > prototype is changed after the fact in an incompatible way, causing > > silent data corruption on some configurations but maybe not on others. > > O.k., motivation is clear. > But this really isn't enforced by the ansi-c standard, right?
No, ansi-c doesn't enforce this, and even the regular kernel build flags don't enable the warning in question, we only get it when either building with "make C=1" using sparse, or "make W=1" to enable extra warnings from gcc. The warning is however really useful, and I hope that we go through all drivers in the kernel and eliminate these warnings in order to turn them on by default for all drivers. > Acked-by: Yuval Mintz <yuval.mi...@qlogic.com> Thanks, Arnd