* [x86] is checkpatch.pl broken
@ 2007-12-25 17:07 Cyrill Gorcunov
2007-12-25 23:47 ` H. Peter Anvin
2007-12-25 23:48 ` H. Peter Anvin
0 siblings, 2 replies; 12+ messages in thread
From: Cyrill Gorcunov @ 2007-12-25 17:07 UTC (permalink / raw)
To: LKML; +Cc: Ingo Molnar
Hi list,
by doing cleanup of arch/x86/boot/*.[ch] i found that
checkpatch does ignore obvious things. For example,
run it over edd.c showed only one warning:
---
cyrill@cvg linux-2.6.git $ scripts/checkpatch.pl --file arch/x86/boot/edd.c
WARNING: externs should be avoided in .c files
#45: FILE: x86/boot/edd.c:45:
+ extern char _end[];
total: 0 errors, 1 warnings, 167 lines checked
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
---
but on line 53 we have:
mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
so checkpatch should at least worn me about missed space
btw math operators. Am I wrong?
--
BTW, is there someone who is already involved in a such
cleanup to eliminate double effort?
- Cyrill -
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-25 17:07 [x86] is checkpatch.pl broken Cyrill Gorcunov
@ 2007-12-25 23:47 ` H. Peter Anvin
2007-12-25 23:48 ` H. Peter Anvin
1 sibling, 0 replies; 12+ messages in thread
From: H. Peter Anvin @ 2007-12-25 23:47 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: LKML, Ingo Molnar
Cyrill Gorcunov wrote:
> Hi list,
>
> by doing cleanup of arch/x86/boot/*.[ch] i found that
> checkpatch does ignore obvious things. For example,
> run it over edd.c showed only one warning:
I'm generally skeptical to the kind of "cleanups" that you seem to be
referring to. More often then not they reduce legibility instead of the
opposite.
> ---
> cyrill@cvg linux-2.6.git $ scripts/checkpatch.pl --file arch/x86/boot/edd.c
> WARNING: externs should be avoided in .c files
> #45: FILE: x86/boot/edd.c:45:
> + extern char _end[];
>
> total: 0 errors, 1 warnings, 167 lines checked
>
> Your patch has style problems, please review. If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
> ---
>
> but on line 53 we have:
>
> mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
>
> so checkpatch should at least worn me about missed space
> btw math operators. Am I wrong?
If checkpatch considered that line to be a problem, I would consider
checkpatch to be utterly broken. That line is perfectly legible, and
padding in a bunch of spaces would make it LESS so, especially since it
would have to be split between lines.
-hpa
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-25 17:07 [x86] is checkpatch.pl broken Cyrill Gorcunov
2007-12-25 23:47 ` H. Peter Anvin
@ 2007-12-25 23:48 ` H. Peter Anvin
2007-12-26 10:38 ` Cyrill Gorcunov
1 sibling, 1 reply; 12+ messages in thread
From: H. Peter Anvin @ 2007-12-25 23:48 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: LKML, Ingo Molnar
Cyrill Gorcunov wrote:
> Hi list,
>
> by doing cleanup of arch/x86/boot/*.[ch] i found that
> checkpatch does ignore obvious things. For example,
> run it over edd.c showed only one warning:
>
> BTW, is there someone who is already involved in a such
> cleanup to eliminate double effort?
>
BTW, it's more than a wee bit rude of you to Cc: a bunch of people but
not the listed maintainer of the piece of code you're claiming to be
cleaning up.
-hpa
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-25 23:48 ` H. Peter Anvin
@ 2007-12-26 10:38 ` Cyrill Gorcunov
2007-12-26 17:44 ` H. Peter Anvin
2007-12-30 17:22 ` Ingo Molnar
0 siblings, 2 replies; 12+ messages in thread
From: Cyrill Gorcunov @ 2007-12-26 10:38 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: LKML, Ingo Molnar
On Dec 26, 2007 2:48 AM, H. Peter Anvin <hpa@zytor.com> wrote:
> Cyrill Gorcunov wrote:
> > Hi list,
> >
> > by doing cleanup of arch/x86/boot/*.[ch] i found that
> > checkpatch does ignore obvious things. For example,
> > run it over edd.c showed only one warning:
> >
> > BTW, is there someone who is already involved in a such
> > cleanup to eliminate double effort?
> >
>
> BTW, it's more than a wee bit rude of you to Cc: a bunch of people but
> not the listed maintainer of the piece of code you're claiming to be
> cleaning up.
>
> -hpa
>
It's a quite true, sorry for this and thanks for the note. And Peter,
the line I marked
is not to be splitted even having additional spaces over math operators. Look
orig:
mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
new (could be):
mbr_base = (buf_base + sector_size - 1) & ~(sector_size - 1);
Is a new version that bad?
Anyway, as only I've something really done, i'll send it to the list
so you/mainteiner could choose which version is to be in kernel ;)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-26 10:38 ` Cyrill Gorcunov
@ 2007-12-26 17:44 ` H. Peter Anvin
2007-12-26 18:15 ` Cyrill Gorcunov
2007-12-30 17:22 ` Ingo Molnar
1 sibling, 1 reply; 12+ messages in thread
From: H. Peter Anvin @ 2007-12-26 17:44 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: LKML, Ingo Molnar
Cyrill Gorcunov wrote:
>
>>
> It's a quite true, sorry for this and thanks for the note. And Peter,
> the line I marked
> is not to be splitted even having additional spaces over math operators. Look
>
> orig:
> mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
> new (could be):
> mbr_base = (buf_base + sector_size - 1) & ~(sector_size - 1);
>
> Is a new version that bad?
Certainly isn't any better.
-hpa
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-26 17:44 ` H. Peter Anvin
@ 2007-12-26 18:15 ` Cyrill Gorcunov
0 siblings, 0 replies; 12+ messages in thread
From: Cyrill Gorcunov @ 2007-12-26 18:15 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: LKML, Ingo Molnar
[H. Peter Anvin - Wed, Dec 26, 2007 at 09:44:18AM -0800]
> Cyrill Gorcunov wrote:
>>
>>>
>> It's a quite true, sorry for this and thanks for the note. And Peter,
>> the line I marked
>> is not to be splitted even having additional spaces over math operators. Look
>>
>> orig:
>> mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
>> new (could be):
>> mbr_base = (buf_base + sector_size - 1) & ~(sector_size - 1);
>>
>> Is a new version that bad?
>
> Certainly isn't any better.
>
> -hpa
>
ok, i'm leaving this section then, thanks for comments Peter.
- Cyrill -
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-26 10:38 ` Cyrill Gorcunov
2007-12-26 17:44 ` H. Peter Anvin
@ 2007-12-30 17:22 ` Ingo Molnar
2007-12-30 18:26 ` Cyrill Gorcunov
2007-12-30 20:59 ` Cyrill Gorcunov
1 sibling, 2 replies; 12+ messages in thread
From: Ingo Molnar @ 2007-12-30 17:22 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: H. Peter Anvin, LKML
* Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> orig:
> mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
> new (could be):
> mbr_base = (buf_base + sector_size - 1) & ~(sector_size - 1);
>
> Is a new version that bad?
it's certainly acceptable as newly introduced code but only borderline
better than the original code. I'd suggest to stick to the problem areas
that checkpatch.pl complains about at the moment - we have really
obvious bad looking pieces of code that checkpatch.pl reports, and going
after the borderline cases will only result in coding-style lawyering
and flamewars, not any genuine increase in code quality ;-)
for example:
arch/x86/kernel/bootflag.c:
total: 19 errors, 2 warnings, 98 lines checked
or:
arch/x86/kernel/apm_32.c:
total: 56 errors, 31 warnings, 2402 lines checked
and once we have nothing but the borderline cases and if we get really
bored we can start coding style flamewars ;-)
Ingo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-30 17:22 ` Ingo Molnar
@ 2007-12-30 18:26 ` Cyrill Gorcunov
2007-12-30 20:27 ` H. Peter Anvin
2007-12-30 20:59 ` Cyrill Gorcunov
1 sibling, 1 reply; 12+ messages in thread
From: Cyrill Gorcunov @ 2007-12-30 18:26 UTC (permalink / raw)
To: Ingo Molnar; +Cc: H. Peter Anvin, LKML
[Ingo Molnar - Sun, Dec 30, 2007 at 06:22:50PM +0100]
|
| * Cyrill Gorcunov <gorcunov@gmail.com> wrote:
|
| > orig:
| > mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
| > new (could be):
| > mbr_base = (buf_base + sector_size - 1) & ~(sector_size - 1);
| >
| > Is a new version that bad?
|
| it's certainly acceptable as newly introduced code but only borderline
| better than the original code. I'd suggest to stick to the problem areas
| that checkpatch.pl complains about at the moment - we have really
| obvious bad looking pieces of code that checkpatch.pl reports, and going
| after the borderline cases will only result in coding-style lawyering
| and flamewars, not any genuine increase in code quality ;-)
|
| for example:
|
| arch/x86/kernel/bootflag.c:
|
| total: 19 errors, 2 warnings, 98 lines checked
|
| or:
|
| arch/x86/kernel/apm_32.c:
|
| total: 56 errors, 31 warnings, 2402 lines checked
|
| and once we have nothing but the borderline cases and if we get really
| bored we can start coding style flamewars ;-)
|
| Ingo
|
Thanks Ingo, you're quite right! Next time i'll appear in list with real
(and hope usefull) patch ;)
Cyrill
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-30 18:26 ` Cyrill Gorcunov
@ 2007-12-30 20:27 ` H. Peter Anvin
2007-12-31 7:46 ` Cyrill Gorcunov
0 siblings, 1 reply; 12+ messages in thread
From: H. Peter Anvin @ 2007-12-30 20:27 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: Ingo Molnar, LKML
Cyrill Gorcunov wrote:
>
> Thanks Ingo, you're quite right! Next time i'll appear in list with real
> (and hope usefull) patch ;)
>
Wonderful! I also *really* have to apologize for my short fuse earlier,
it was uncalled for.
-hpa
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-30 17:22 ` Ingo Molnar
2007-12-30 18:26 ` Cyrill Gorcunov
@ 2007-12-30 20:59 ` Cyrill Gorcunov
2007-12-30 21:08 ` Ingo Molnar
1 sibling, 1 reply; 12+ messages in thread
From: Cyrill Gorcunov @ 2007-12-30 20:59 UTC (permalink / raw)
To: Ingo Molnar; +Cc: H. Peter Anvin, LKML
[Ingo Molnar - Sun, Dec 30, 2007 at 06:22:50PM +0100]
|
| * Cyrill Gorcunov <gorcunov@gmail.com> wrote:
|
| > orig:
| > mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
| > new (could be):
| > mbr_base = (buf_base + sector_size - 1) & ~(sector_size - 1);
| >
| > Is a new version that bad?
|
| it's certainly acceptable as newly introduced code but only borderline
| better than the original code. I'd suggest to stick to the problem areas
| that checkpatch.pl complains about at the moment - we have really
| obvious bad looking pieces of code that checkpatch.pl reports, and going
| after the borderline cases will only result in coding-style lawyering
| and flamewars, not any genuine increase in code quality ;-)
|
| for example:
|
| arch/x86/kernel/bootflag.c:
|
| total: 19 errors, 2 warnings, 98 lines checked
|
| or:
|
| arch/x86/kernel/apm_32.c:
|
| total: 56 errors, 31 warnings, 2402 lines checked
|
| and once we have nothing but the borderline cases and if we get really
| bored we can start coding style flamewars ;-)
|
| Ingo
|
Hi Ingo,
here is a first for x86 tree
- Cyrill -
---
From: Cyrill Gorcunov <gorcunov@gmail.com>
Subject: [x86] coding style cleanup for kernel/bootflag.c
This patch eliminates checkpatch.pl complains
on bootflag.c
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---
arch/x86/kernel/bootflag.c | 40 +++++++++++++++++++++++-----------------
1 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/arch/x86/kernel/bootflag.c b/arch/x86/kernel/bootflag.c
index 0b98605..1697e49 100644
--- a/arch/x86/kernel/bootflag.c
+++ b/arch/x86/kernel/bootflag.c
@@ -24,30 +24,29 @@
int sbf_port __initdata = -1; /* set via acpi_boot_init() */
-
static int __init parity(u8 v)
{
int x = 0;
int i;
-
- for(i=0;i<8;i++)
- {
- x^=(v&1);
- v>>=1;
+
+ for (i = 0; i < 8; i++) {
+ x ^= (v & 1);
+ v >>= 1;
}
+
return x;
}
static void __init sbf_write(u8 v)
{
unsigned long flags;
- if(sbf_port != -1)
- {
+ if (sbf_port != -1) {
v &= ~SBF_PARITY;
- if(!parity(v))
- v|=SBF_PARITY;
+ if (!parity(v))
+ v |= SBF_PARITY;
- printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n", sbf_port, v);
+ printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n",
+ sbf_port, v);
spin_lock_irqsave(&rtc_lock, flags);
CMOS_WRITE(v, sbf_port);
@@ -59,31 +58,38 @@ static u8 __init sbf_read(void)
{
u8 v;
unsigned long flags;
- if(sbf_port == -1)
+
+ if (sbf_port == -1)
return 0;
+
spin_lock_irqsave(&rtc_lock, flags);
v = CMOS_READ(sbf_port);
spin_unlock_irqrestore(&rtc_lock, flags);
+
return v;
}
static int __init sbf_value_valid(u8 v)
{
- if(v&SBF_RESERVED) /* Reserved bits */
+ if (v & SBF_RESERVED) /* Reserved bits */
return 0;
- if(!parity(v))
+ if (!parity(v))
return 0;
+
return 1;
}
static int __init sbf_init(void)
{
u8 v;
- if(sbf_port == -1)
+
+ if (sbf_port == -1)
return 0;
+
v = sbf_read();
- if(!sbf_value_valid(v))
- printk(KERN_WARNING "Simple Boot Flag value 0x%x read from CMOS RAM was invalid\n",v);
+ if (!sbf_value_valid(v))
+ printk(KERN_WARNING "Simple Boot Flag value 0x%x read from "
+ "CMOS RAM was invalid\n", v);
v &= ~SBF_RESERVED;
v &= ~SBF_BOOTING;
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-30 20:59 ` Cyrill Gorcunov
@ 2007-12-30 21:08 ` Ingo Molnar
0 siblings, 0 replies; 12+ messages in thread
From: Ingo Molnar @ 2007-12-30 21:08 UTC (permalink / raw)
To: Cyrill Gorcunov; +Cc: H. Peter Anvin, LKML
* Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> This patch eliminates checkpatch.pl complains on bootflag.c
thanks, applied this to x86.git, to the v2.6.25 queue. See the finalized
patch below. (I added two more small cleanups that checkpatch did not
warn about but which were obvious)
Ingo
----------->
Subject: x86: coding style cleanup for kernel/bootflag.c
From: Cyrill Gorcunov <gorcunov@gmail.com>
This patch eliminates checkpatch.pl complaints on bootflag.c
No code changed:
text data bss dec hex filename
321 8 0 329 149 bootflag.o.before
321 8 0 329 149 bootflag.o.after
md5:
9c1b474bcf25ddc1724a29c19880043f bootflag.o.before.asm
9c1b474bcf25ddc1724a29c19880043f bootflag.o.after.asm
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/x86/kernel/bootflag.c | 50 ++++++++++++++++++++++++---------------------
1 file changed, 27 insertions(+), 23 deletions(-)
Index: linux-x86.q/arch/x86/kernel/bootflag.c
===================================================================
--- linux-x86.q.orig/arch/x86/kernel/bootflag.c
+++ linux-x86.q/arch/x86/kernel/bootflag.c
@@ -1,8 +1,6 @@
/*
* Implement 'Simple Boot Flag Specification 2.0'
*/
-
-
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/init.h>
@@ -14,40 +12,38 @@
#include <linux/mc146818rtc.h>
-
#define SBF_RESERVED (0x78)
#define SBF_PNPOS (1<<0)
#define SBF_BOOTING (1<<1)
#define SBF_DIAG (1<<2)
#define SBF_PARITY (1<<7)
-
int sbf_port __initdata = -1; /* set via acpi_boot_init() */
-
static int __init parity(u8 v)
{
int x = 0;
int i;
-
- for(i=0;i<8;i++)
- {
- x^=(v&1);
- v>>=1;
+
+ for (i = 0; i < 8; i++) {
+ x ^= (v & 1);
+ v >>= 1;
}
+
return x;
}
static void __init sbf_write(u8 v)
{
unsigned long flags;
- if(sbf_port != -1)
- {
+
+ if (sbf_port != -1) {
v &= ~SBF_PARITY;
- if(!parity(v))
- v|=SBF_PARITY;
+ if (!parity(v))
+ v |= SBF_PARITY;
- printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n", sbf_port, v);
+ printk(KERN_INFO "Simple Boot Flag at 0x%x set to 0x%x\n",
+ sbf_port, v);
spin_lock_irqsave(&rtc_lock, flags);
CMOS_WRITE(v, sbf_port);
@@ -57,33 +53,41 @@ static void __init sbf_write(u8 v)
static u8 __init sbf_read(void)
{
- u8 v;
unsigned long flags;
- if(sbf_port == -1)
+ u8 v;
+
+ if (sbf_port == -1)
return 0;
+
spin_lock_irqsave(&rtc_lock, flags);
v = CMOS_READ(sbf_port);
spin_unlock_irqrestore(&rtc_lock, flags);
+
return v;
}
static int __init sbf_value_valid(u8 v)
{
- if(v&SBF_RESERVED) /* Reserved bits */
+ if (v & SBF_RESERVED) /* Reserved bits */
return 0;
- if(!parity(v))
+ if (!parity(v))
return 0;
+
return 1;
}
static int __init sbf_init(void)
{
u8 v;
- if(sbf_port == -1)
+
+ if (sbf_port == -1)
return 0;
+
v = sbf_read();
- if(!sbf_value_valid(v))
- printk(KERN_WARNING "Simple Boot Flag value 0x%x read from CMOS RAM was invalid\n",v);
+ if (!sbf_value_valid(v)) {
+ printk(KERN_WARNING "Simple Boot Flag value 0x%x read from "
+ "CMOS RAM was invalid\n", v);
+ }
v &= ~SBF_RESERVED;
v &= ~SBF_BOOTING;
@@ -92,7 +96,7 @@ static int __init sbf_init(void)
v |= SBF_PNPOS;
#endif
sbf_write(v);
+
return 0;
}
-
module_init(sbf_init);
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [x86] is checkpatch.pl broken
2007-12-30 20:27 ` H. Peter Anvin
@ 2007-12-31 7:46 ` Cyrill Gorcunov
0 siblings, 0 replies; 12+ messages in thread
From: Cyrill Gorcunov @ 2007-12-31 7:46 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: Ingo Molnar, LKML
[H. Peter Anvin - Sun, Dec 30, 2007 at 12:27:15PM -0800]
> Cyrill Gorcunov wrote:
>>
>> Thanks Ingo, you're quite right! Next time i'll appear in list with real
>> (and hope usefull) patch ;)
>>
>
> Wonderful! I also *really* have to apologize for my short fuse earlier, it
> was uncalled for.
>
> -hpa
>
ok ;) but any comment is *worth* for me.
Thanks.
- Cyrill -
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2007-12-31 7:46 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-25 17:07 [x86] is checkpatch.pl broken Cyrill Gorcunov
2007-12-25 23:47 ` H. Peter Anvin
2007-12-25 23:48 ` H. Peter Anvin
2007-12-26 10:38 ` Cyrill Gorcunov
2007-12-26 17:44 ` H. Peter Anvin
2007-12-26 18:15 ` Cyrill Gorcunov
2007-12-30 17:22 ` Ingo Molnar
2007-12-30 18:26 ` Cyrill Gorcunov
2007-12-30 20:27 ` H. Peter Anvin
2007-12-31 7:46 ` Cyrill Gorcunov
2007-12-30 20:59 ` Cyrill Gorcunov
2007-12-30 21:08 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox