Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1742865

[PATCH 12/18] x86: use ARRAY_SIZE

From Jérémy Lefaure <jeremy.lefaure@lse.epita.fr>
Newsgroups linux.kernel
Subject [PATCH 12/18] x86: use ARRAY_SIZE
Date 2017-10-01 21:40 +0200
Message-ID <uvSfL-67y-11@gated-at.bofh.it> (permalink)
References <uvSfL-67y-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Using the ARRAY_SIZE macro improves the readability of the code. Also,
it is not always useful to use a variable to store this constant
calculated at compile time.

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.lefaure@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 45bc9402aa49..a14c5178d4ba 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 0780a443a53b..4674f58581a1 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 74283875c7e8..e639e3116acf 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);
-- 
2.14.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/18] use ARRAY_SIZE macro Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 04/18] IB/mlx5: Use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 12/18] x86: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 02/18] tracing/filter: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 16/18] media: staging: atomisp: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 06/18] drm: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
    Re: [PATCH 06/18] drm: use ARRAY_SIZE Jani Nikula <jani.nikula@linux.intel.com> - 2017-10-02 09:50 +0200
    Re: [PATCH 06/18] drm: use ARRAY_SIZE Thierry Reding <thierry.reding@gmail.com> - 2017-10-02 10:30 +0200
  [PATCH 18/18] staging: rtlwifi: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 15/18] acpi: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
    Re: [PATCH 15/18] acpi: use ARRAY_SIZE "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-10-02 14:40 +0200
  [PATCH 01/18] sound: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
    Re: [PATCH 01/18] sound: use ARRAY_SIZE Joe Perches <joe@perches.com> - 2017-10-02 06:20 +0200
  [PATCH 09/18] nfsd: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
    Re: [PATCH 09/18] nfsd: use ARRAY_SIZE Jeff Layton <jlayton@redhat.com> - 2017-10-02 13:10 +0200
  [PATCH 08/18] ecryptfs: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 03/18] media: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
    Re: [PATCH 03/18] media: use ARRAY_SIZE Michael Ira Krufky <mkrufky@linuxtv.org> - 2017-10-02 12:40 +0200
  [PATCH 14/18] ipmi: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 07/18] scsi: bfa: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 17/18] staging: rtl8723bs: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 10/18] orangefs: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 13/18] tpm: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  [PATCH 11/18] dm space map metadata: use ARRAY_SIZE Jérémy Lefaure          <jeremy.lefaure@lse.epita.fr> - 2017-10-01 21:40 +0200
  Re: [PATCH 00/18] use ARRAY_SIZE macro "Tobin C. Harding" <me@tobin.cc> - 2017-10-02 00:10 +0200
    Re: [PATCH 00/18] use ARRAY_SIZE macro Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> - 2017-10-02 03:00 +0200
      Re: [PATCH 00/18] use ARRAY_SIZE macro Greg KH <greg@kroah.com> - 2017-10-02 07:40 +0200
      Re: [PATCH 00/18] use ARRAY_SIZE macro Mauro Carvalho Chehab <mchehab@s-opensource.com> - 2017-10-02 22:50 +0200
  Re: [PATCH 05/18] net: use ARRAY_SIZE Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-10-02 15:10 +0200

csiph-web