Commit-ID:  0cfe5b5fc0277463fa795dea312a3a2fd5e8bac2
Gitweb:     https://git.kernel.org/tip/0cfe5b5fc0277463fa795dea312a3a2fd5e8bac2
Author:     Jérémy Lefaure <jeremy.lefa...@lse.epita.fr>
AuthorDate: Sun, 1 Oct 2017 15:30:50 -0400
Committer:  Thomas Gleixner <t...@linutronix.de>
CommitDate: Thu, 19 Oct 2017 16:15:47 +0200

x86: Use ARRAY_SIZE

Using the ARRAY_SIZE macro improves the readability of the code.

Found with Coccinelle with the following semantic patch:
@r depends on (org || report)@
type T;
T[] E;
position p;
@@
(
 (sizeof(E)@p /sizeof(*E))
|
 (sizeof(E)@p /sizeof(E[...]))
|
 (sizeof(E)@p /sizeof(T))
)

Signed-off-by: Jérémy Lefaure <jeremy.lefa...@lse.epita.fr>
Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Cc: linux-vi...@atrey.karlin.mff.cuni.cz
Cc: Martin Mares <m...@ucw.cz>
Cc: Andy Lutomirski <l...@amacapital.net>
Link: 
https://lkml.kernel.org/r/20171001193101.8898-13-jeremy.lefa...@lse.epita.fr

---
 arch/x86/boot/video-vga.c                                    | 6 +++---
 arch/x86/entry/vdso/vdso2c.c                                 | 3 ++-
 arch/x86/platform/intel-mid/device_libs/platform_gpio_keys.c | 5 ++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/x86/boot/video-vga.c b/arch/x86/boot/video-vga.c
index 45bc940..a14c517 100644
--- a/arch/x86/boot/video-vga.c
+++ b/arch/x86/boot/video-vga.c
@@ -241,9 +241,9 @@ static int vga_probe(void)
                vga_modes,
        };
        static int mode_count[] = {
-               sizeof(cga_modes)/sizeof(struct mode_info),
-               sizeof(ega_modes)/sizeof(struct mode_info),
-               sizeof(vga_modes)/sizeof(struct mode_info),
+               ARRAY_SIZE(cga_modes),
+               ARRAY_SIZE(ega_modes),
+               ARRAY_SIZE(vga_modes),
        };
 
        struct biosregs ireg, oreg;
diff --git a/arch/x86/entry/vdso/vdso2c.c b/arch/x86/entry/vdso/vdso2c.c
index 0780a44..4674f58 100644
--- a/arch/x86/entry/vdso/vdso2c.c
+++ b/arch/x86/entry/vdso/vdso2c.c
@@ -65,6 +65,7 @@
 
 #include <linux/elf.h>
 #include <linux/types.h>
+#include <linux/kernel.h>
 
 const char *outfilename;
 
@@ -151,7 +152,7 @@ extern void bad_put_le(void);
        PLE(x, val, 64, PLE(x, val, 32, PLE(x, val, 16, LAST_PLE(x, val))))
 
 
-#define NSYMS (sizeof(required_syms) / sizeof(required_syms[0]))
+#define NSYMS ARRAY_SIZE(required_syms)
 
 #define BITSFUNC3(name, bits, suffix) name##bits##suffix
 #define BITSFUNC2(name, bits, suffix) BITSFUNC3(name, bits, suffix)
diff --git a/arch/x86/platform/intel-mid/device_libs/platform_gpio_keys.c 
b/arch/x86/platform/intel-mid/device_libs/platform_gpio_keys.c
index 7428387..e639e31 100644
--- a/arch/x86/platform/intel-mid/device_libs/platform_gpio_keys.c
+++ b/arch/x86/platform/intel-mid/device_libs/platform_gpio_keys.c
@@ -62,10 +62,9 @@ static struct platform_device pb_device = {
 static int __init pb_keys_init(void)
 {
        struct gpio_keys_button *gb = gpio_button;
-       int i, num, good = 0;
+       int i, good = 0;
 
-       num = sizeof(gpio_button) / sizeof(struct gpio_keys_button);
-       for (i = 0; i < num; i++) {
+       for (i = 0; i < ARRAY_SIZE(gpio_button); i++) {
                gb[i].gpio = get_gpio_by_name(gb[i].desc);
                pr_debug("info[%2d]: name = %s, gpio = %d\n", i, gb[i].desc,
                                        gb[i].gpio);

Reply via email to