Re: [PATCH][ppc] logical/bitand typo in powerpc/boot/4xx.c

Joe Perches
2008-01-23T23:06:29Z

On Wed, 2008-01-23 at 23:37 +0100, Roel Kluin wrote:
> Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
> ---
> diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
> index ebf9e21..dcfb459 100644
> --- a/arch/powerpc/boot/4xx.c
> +++ b/arch/powerpc/boot/4xx.c
> @@ -104,7 +104,7 @@ void ibm4xx_denali_fixup_memsize(void)
> val = DDR_GET_VAL(val, DDR_CS_MAP, DDR_CS_MAP_SHIFT);
> cs = 0;
> while (val) {
> - if (val && 0x1)
> + if (val & 0x1)
> cs++;
> val = val >> 1;

I think this pattern should be added to checkpatch

Signed-off-by: Joe Perches <joe@perches.com>

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 579f50f..147e573 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1337,6 +1337,11 @@ sub process {
}
}

+# Check for bitwise tests written as boolean
+ if ($line =~ /\&\&\s*0[xX]/) {
+ WARN("boolean test with hexadecimal, perhaps just 1 \&?\n" . $herecurr);
+ }
+
# if and else should not have general statements after it
if ($line =~ /^.\s*(?:}\s*)?else\b(.*)/ &&
$1 !~ /^\s*(?:\sif|{|\\|$)/) {