On 23/09/13 12:16, Joe Perches wrote: > On Mon, 2013-09-23 at 11:59 +1000, Ryan Mallon wrote: >> This seems like a lot of code churn for very little benefit. At a quick >> glance: >> >> git grep extern include/ | wc -l >> 11427 >> >> Not all of those will need to be removed, but that is still a huge >> number to change, and doesn't include extern usage in C files or local >> headers. You are probably never going to remove all the instances, so >> what is the point of just randomly doing a handful? > > Rather more than a handful. > > The ratio of function prototypes without extern to > function prototypes with extern is currently ~2.5:1 > > So: > > Standardization without extern > Line count reduction (~10%) > Miscellaneous neatening at the same time > Removal of all unnecessary externs from include/net > > There are ~8500 instances in include/ > There are ~1500 instances in include/net/ > > After this series, 0 in include/net/ > > Start somewhere, go from there... > > $ git grep -E "^\s*\bextern(\s+\w+){1,4}\s*\(\s*[^\*]" include/ | wc -l > 8395 > $ git grep -E "^\s*\bextern(\s+\w+){1,4}\s*\(\s*[^\*]" include/net/ | wc -l > 1471
Right, and: $ git grep -E "^\s*\bextern(\s+\w+){1,4}\s*\(\s*[^\*]" | wc -l 29104 Since there are lots of local/arch headers, and there are uses of extern function prototypes in C files. I don't see the real benefit though. Its like trying to "clean-up" the difference between "unsigned x" and "unsigned int x", or any number of other minor style differences. Either version, with or without the extern, is correct, valid C code. Plus you will get people adding new instances of extern because they don't know any better. A checkpatch rule might help, but we all know how often people run that... ~Ryan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/