confusing checkpatch.pl messages

From: Németh Márton
Date: Tue Jan 06 2009 - 15:58:00 EST


Hi,

I run the checkpatch.pl against the attache file and it reported some
confusing warning and error messages. The attached file has an obsoleted
syntax:

>From "info gcc", Chapter 5.21 "Designated Initializers":
> In a structure initializer, specify the name of a field to initialize
> with `.FIELDNAME =' before the element value. For example, given the
> following structure,
>
> struct point { int x, y; };
>
> the following initialization
>
> struct point p = { .y = yvalue, .x = xvalue };
>
> is equivalent to
>
> struct point p = { xvalue, yvalue };
>
> Another syntax which has the same meaning, obsolete since GCC 2.5, is
> `FIELDNAME:', as shown here:
>
> struct point p = { y: yvalue, x: xvalue };

However, the checkpatch.pl speaks about labels, which are incorrect, I think:
> $ /usr/src/linux/scripts/checkpatch.pl --file test.c
> WARNING: labels should not be indented
> #5: FILE: test.c:5:
> + open: test_open,
>
> ERROR: spaces required around that ':' (ctx:VxW)
> #6: FILE: test.c:6:
> + release: test_close,
> ^
>
> WARNING: labels should not be indented
> #6: FILE: test.c:6:
> + release: test_close,
>
> ERROR: spaces required around that ':' (ctx:VxW)
> #7: FILE: test.c:7:
> + ioctl: test_ioctl,
> ^
>
> WARNING: labels should not be indented
> #7: FILE: test.c:7:
> + ioctl: test_ioctl,
>
> total: 2 errors, 3 warnings, 9 lines checked
>
> test.c has style problems, please review. If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.

Regards,

Márton Németh

#include <linux/blkdev.h>

static struct block_device_operations bdops = {
open: test_open,
release: test_close,
ioctl: test_ioctl,
};