Skip to contentSkip to conversation

powerpc/xmon/ppc-opc: Use ARRAY_SIZE macro

PATCH In review Gustavo A. R. Silva 4 participants 5 messages Oct 4, 2018 – Oct 9, 2018 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 powerpc/xmon/ppc-opc: Use ARRAY_SIZE macro

Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element.

This code was detected with the help of Coccinelle.

---
 arch/powerpc/xmon/ppc-opc.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
arch/powerpc/xmon/ppc-opc.c +4 -8
index ac2b55b..f3f57a1 100644
@@ -966,8 +966,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0xff, 11, NULL, NULL, PPC_OPERAND_SIGNOPT },
 };
 
-const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
-					   / sizeof (powerpc_operands[0]));
+const unsigned int num_powerpc_operands = ARRAY_SIZE(powerpc_operands);
 
 /* The functions used to insert and extract complicated operands.  */
 
@@ -6980,8 +6979,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"fcfidu.",	XRC(63,974,1),	XRA_MASK, POWER7|PPCA2,	PPCVLE,		{FRT, FRB}},
 };
 
-const int powerpc_num_opcodes =
-  sizeof (powerpc_opcodes) / sizeof (powerpc_opcodes[0]);
+const int powerpc_num_opcodes = ARRAY_SIZE(powerpc_opcodes);
 
 /* The VLE opcode table.
 
@@ -7219,8 +7217,7 @@ const struct powerpc_opcode vle_opcodes[] = {
 {"se_bl",	BD8(58,0,1),	BD8_MASK,	PPCVLE,	0,		{B8}},
 };
 
-const int vle_num_opcodes =
-  sizeof (vle_opcodes) / sizeof (vle_opcodes[0]);
+const int vle_num_opcodes = ARRAY_SIZE(vle_opcodes);
 
 /* The macro table.  This is only used by the assembler.  */
 
@@ -7288,5 +7285,4 @@ const struct powerpc_macro powerpc_macros[] = {
 {"e_clrlslwi",4, PPCVLE, "e_rlwinm %0,%1,%3,(%2)-(%3),31-(%3)"},
 };
 
-const int powerpc_num_macros =
-  sizeof (powerpc_macros) / sizeof (powerpc_macros[0]);
+const int powerpc_num_macros = ARRAY_SIZE(powerpc_macros);
Signature · 1 line
2.7.4
#2 lore raw
In reply to Gustavo A. R. Silva
Quoted 1 line · Gustavo A. R. Silva

Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element.

[]

arch/powerpc/xmon/ppc-opc.c

Quoted 1 line
arch/powerpc/xmon/ppc-opc.c +0 -0

[]

arch/powerpc/xmon/ppc-opc.c const struct powerpc_operand powerpc_operands[] = · line 969

Quoted 7 lines
arch/powerpc/xmon/ppc-opc.c +1 -2
@@ -966,8 +966,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0xff, 11, NULL, NULL, PPC_OPERAND_SIGNOPT },
 };
 
-const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
-					   / sizeof (powerpc_operands[0]));
+const unsigned int num_powerpc_operands = ARRAY_SIZE(powerpc_operands);

It seems this is unused and could be deleted.

arch/powerpc/xmon/ppc-opc.c const struct powerpc_opcode powerpc_opcodes[] = { · line 6982

Quoted 9 lines
arch/powerpc/xmon/ppc-opc.c +1 -2
 /* The functions used to insert and extract complicated operands.  */
 
@@ -6980,8 +6979,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"fcfidu.",	XRC(63,974,1),	XRA_MASK, POWER7|PPCA2,	PPCVLE,		{FRT, FRB}},
 };
 
-const int powerpc_num_opcodes =
-  sizeof (powerpc_opcodes) / sizeof (powerpc_opcodes[0]);
+const int powerpc_num_opcodes = ARRAY_SIZE(powerpc_opcodes);

This is used once and should probably be replaced where it is used with ARRAY_SIZE

arch/powerpc/xmon/ppc-opc.c const struct powerpc_opcode vle_opcodes[] = { · line 7220

Quoted 9 lines
arch/powerpc/xmon/ppc-opc.c +1 -2
 /* The VLE opcode table.
 
@@ -7219,8 +7217,7 @@ const struct powerpc_opcode vle_opcodes[] = {
 {"se_bl",	BD8(58,0,1),	BD8_MASK,	PPCVLE,	0,		{B8}},
 };
 
-const int vle_num_opcodes =
-  sizeof (vle_opcodes) / sizeof (vle_opcodes[0]);
+const int vle_num_opcodes = ARRAY_SIZE(vle_opcodes);

Also apparently unused and could be deleted.

arch/powerpc/xmon/ppc-opc.c const struct powerpc_macro powerpc_macros[] = { · line 7288

Quoted 10 lines
arch/powerpc/xmon/ppc-opc.c +1 -2
 /* The macro table.  This is only used by the assembler.  */
 
@@ -7288,5 +7285,4 @@ const struct powerpc_macro powerpc_macros[] = {
 {"e_clrlslwi",4, PPCVLE, "e_rlwinm %0,%1,%3,(%2)-(%3),31-(%3)"},
 };
 ld
-const int powerpc_num_macros =
-  sizeof (powerpc_macros) / sizeof (powerpc_macros[0]);
+const int powerpc_num_macros = ARRAY_SIZE(powerpc_macros);

Also apparently unused and could be deleted.

#3 lore raw
Quoted 9 lines · Joe Perches
Quoted 1 line · Gustavo A. R. Silva

Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element.

[]

arch/powerpc/xmon/ppc-opc.c

Quoted 1 line
arch/powerpc/xmon/ppc-opc.c +0 -0

[]

Quoted 4 lines
arch/powerpc/xmon/ppc-opc.c +0 -0
@@ -966,8 +966,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0xff, 11, NULL, NULL, PPC_OPERAND_SIGNOPT },
 };
 
Quoted 5 lines

arch/powerpc/xmon/ppc-opc.c const struct powerpc_operand powerpc_operands[] = · line 969

Quoted 3 lines
arch/powerpc/xmon/ppc-opc.c +1 -2
-const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
-					   / sizeof (powerpc_operands[0]));
+const unsigned int num_powerpc_operands = ARRAY_SIZE(powerpc_operands);

It seems this is unused and could be deleted.

The code in this file is copied from binutils.

We don't want to needlessly diverge it.

I've said this before:

https://lore.kernel.org/linuxppc-dev/[email protected]/

Is there some way we can blacklist this file from checkpatch, Coccinelle etc?

cheers

#4 lore raw
Quoted 17 lines · Michael Ellerman
Quoted 9 lines · Joe Perches
Quoted 1 line · Gustavo A. R. Silva

Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element.

[]

arch/powerpc/xmon/ppc-opc.c

Quoted 1 line
arch/powerpc/xmon/ppc-opc.c +0 -0

[]

Quoted 4 lines
arch/powerpc/xmon/ppc-opc.c +0 -0
@@ -966,8 +966,7 @@ const struct powerpc_operand powerpc_operands[] =
   { 0xff, 11, NULL, NULL, PPC_OPERAND_SIGNOPT },
 };
 
Quoted 5 lines

arch/powerpc/xmon/ppc-opc.c const struct powerpc_operand powerpc_operands[] = · line 969

Quoted 3 lines
arch/powerpc/xmon/ppc-opc.c +1 -2
-const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
-					   / sizeof (powerpc_operands[0]));
+const unsigned int num_powerpc_operands = ARRAY_SIZE(powerpc_operands);

It seems this is unused and could be deleted.

Quoted 7 lines

The code in this file is copied from binutils.

We don't want to needlessly diverge it.

I've said this before:

https://lore.kernel.org/linuxppc-dev/[email protected]/

Don't expect people to remember this.

Quoted 2 lines

Is there some way we can blacklist this file from checkpatch, Coccinelle etc?

Modify both to look for some specific tag
in a file and then update the scripts to
read the file when looking at patches too.

Otherwise, no.