Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
Series applied, thanks Joe. -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
On Mon, 2013-09-23 at 12:38 +1000, Ryan Mallon wrote: > A checkpatch rule might help, Extant. -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
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 -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
On 23/09/13 03:32, Joe Perches wrote: > There are a mix of function prototypes with and without extern > in the kernel sources. Standardize on not using extern for > function prototypes. > > Function prototypes don't need to be written with extern. > extern is assumed by the compiler. Its use is as unnecessary as > using auto to declare automatic/local variables in a block. > > Signed-off-by: Joe Perches 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? ~Ryan > --- > include/net/ping.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/net/ping.h b/include/net/ping.h > index 5db0224..3f67704 100644 > --- a/include/net/ping.h > +++ b/include/net/ping.h > @@ -103,8 +103,8 @@ void ping_seq_stop(struct seq_file *seq, void *v); > int ping_proc_register(struct net *net, struct ping_seq_afinfo *afinfo); > void ping_proc_unregister(struct net *net, struct ping_seq_afinfo *afinfo); > > -extern int __init ping_proc_init(void); > -extern void ping_proc_exit(void); > +int __init ping_proc_init(void); > +void ping_proc_exit(void); > #endif > > void __init ping_init(void); > -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
On 23/09/13 03:32, Joe Perches wrote: There are a mix of function prototypes with and without extern in the kernel sources. Standardize on not using extern for function prototypes. Function prototypes don't need to be written with extern. extern is assumed by the compiler. Its use is as unnecessary as using auto to declare automatic/local variables in a block. Signed-off-by: Joe Perches j...@perches.com 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? ~Ryan --- include/net/ping.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/net/ping.h b/include/net/ping.h index 5db0224..3f67704 100644 --- a/include/net/ping.h +++ b/include/net/ping.h @@ -103,8 +103,8 @@ void ping_seq_stop(struct seq_file *seq, void *v); int ping_proc_register(struct net *net, struct ping_seq_afinfo *afinfo); void ping_proc_unregister(struct net *net, struct ping_seq_afinfo *afinfo); -extern int __init ping_proc_init(void); -extern void ping_proc_exit(void); +int __init ping_proc_init(void); +void ping_proc_exit(void); #endif void __init ping_init(void); -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
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 -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
On Mon, 2013-09-23 at 12:38 +1000, Ryan Mallon wrote: A checkpatch rule might help, Extant. -- 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/
Re: [PATCH 01/12] ping.h: Remove extern from function prototypes
Series applied, thanks Joe. -- 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/