ARRAY_SIZE (was: [PATCH 03/16] trivial: fix assorted "through" typos)

From: Tilman Schmidt
Date: Mon Nov 02 2009 - 05:40:47 EST


Am 01.11.2009 22:13 schrieb Thiago Farina:
>
> Talking about cleanup, there are many definitions of ARRAY_SIZE, found
> using cscope:
> 0 spidev_test.c 24 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
> 1 page-types.c 194 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> 2 types.h 4 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> 3 user.h 17 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> 4 boot.h 35 #define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
> 5 relocs.c 13 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> 6 kernel.h 46 #define ARRAY_SIZE(arr) (sizeof(arr) /
> sizeof((arr)[0]) + __must_be_array(arr))
> 7 dtc.h 83 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> 8 genksyms.c 314 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
> 9 kallsyms.c 27 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
> a file2alias.c 520 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> b util.h 28 #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))

You should have included the files' directory paths. That would have
shown that seven of these aren't in actual kernel source files at all:
two in the Documentation tree, four in scripts, and one in tools.
Four are in the arch tree, and are needed for boot or userspace code.
There only remains one: the definition in include/linux/kernel.h which
is the "official" one for regular kernel code.

Now the number of places which could use that macro but open-code it
instead is a completely different story. See
http://www.crashcourse.ca/wiki/index.php/The_style_script
for a list of candidates.

--
Tilman Schmidt E-Mail: tilman@xxxxxxx
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
UngeÃffnet mindestens haltbar bis: (siehe RÃckseite)

Attachment: signature.asc
Description: OpenPGP digital signature