net: Use ARRAY_SIZE at appropriate places
PATCH v3 1/1 net: Use ARRAY_SIZE at appropriate places
Use ARRAY_SIZE instead of having similar implementation in each drivers. The NUMELEMS defined in drivers/net/npe/include/IxOsalTypes.h is not used at all, so this patch removes it instead of converting it to use ARRAY_SIZE.
---
v2: Fix checkpatch issues. (abandoned)
v3: Modified from v1, because v2 makes the patch bigger.
And using tab (which takes 8 spaces) as indent makes the code looks odd because the whole file uses 4 spaces as indent.
Note, the checkpatch issue is not introduced by this patch itself, it's because original source code does not pass checkpatch at all. Address Marek's comment:
Remove NUMELEMS in drivers/net/npe/include/IxOsalTypes.h because it is not used at all.
drivers/net/ax88180.c | 2 +- drivers/net/fsl_mcdmafec.c | 2 +- drivers/net/lan91c96.c | 2 +- drivers/net/mcffec.c | 2 +- drivers/net/mcfmii.c | 2 +- drivers/net/ne2000.c | 2 +- drivers/net/npe/IxEthDBFeatures.c | 4 ++-- drivers/net/npe/IxOsalIoMem.c | 3 +-- drivers/net/npe/include/IxEthDBPortDefs.h | 2 +- drivers/net/npe/include/IxOsalTypes.h | 6 ------ 10 files changed, 10 insertions(+), 17 deletions(-)
drivers/net/ax88180.c +1 -1
@@ -157,7 +157,7 @@ static void ax88180_mac_reset (struct eth_device *dev)OUTW (dev,MISC_RESET_MAC ,MISC ); tmpval =INW (dev,MISC ); -for (i =0 ; i < (sizeof (program_seq) /sizeof (program_seq[0 ])); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)OUTW (dev, program_seq[i].value, program_seq[i].offset); }
drivers/net/fsl_mcdmafec.c +1 -1
@@ -520,7 +520,7 @@ int mcdmafec_initialize(bd_t * bis)u32 tmp =CONFIG_SYS_INTSRAM +0x2000 ;#endif -for (i =0 ; i <sizeof (fec_info) /sizeof (fec_info[0 ]); i++) { +for (i =0 ; i <ARRAY_SIZE (fec_info); i++) { dev = (struct eth_device *)memalign(CONFIG_SYS_CACHELINE_SIZE,
drivers/net/lan91c96.c +1 -1
@@ -779,7 +779,7 @@ static int lan91c96_detect_chip(struct eth_device *dev)SMC_SELECT_BANK (dev,3 ); chip_id = (SMC_inw (dev,0xA ) &LAN91C96_REV_CHIPID ) >>4 ;SMC_SELECT_BANK (dev,0 ); -for (r =0 ; r <sizeof (supported_chips) /sizeof (struct id_type ); r++) +for (r =0 ; r <ARRAY_SIZE (supported_chips); r++)if (chip_id == supported_chips[r].id)return r;return 0 ;
drivers/net/mcffec.c +1 -1
@@ -559,7 +559,7 @@ int mcffec_initialize(bd_t * bis)u32 tmp =CONFIG_SYS_INIT_RAM_ADDR +0x1000 ;#endif -for (i =0 ; i <sizeof (fec_info) /sizeof (fec_info[0 ]); i++) { +for (i =0 ; i <ARRAY_SIZE (fec_info); i++) { dev = (struct eth_device *)memalign(CONFIG_SYS_CACHELINE_SIZE,
drivers/net/mcfmii.c +1 -1
@@ -186,7 +186,7 @@ int mii_discover_phy(struct eth_device *dev)printf ("PHY @ 0x%x pass %d\n" , phyno, pass);#endif -for (i =0 ; (i < (sizeof (phyinfo) /sizeof (phy_info_t))) +for (i =0 ; (i <ARRAY_SIZE (phyinfo)) && (phyinfo[i].phyid !=0 ); i++) {if (phyinfo[i].phyid == phytype) {#ifdef ET_DEBUG
drivers/net/ne2000.c +1 -1
@@ -228,7 +228,7 @@ int get_prom(u8* mac_addr, u8* base_addr)mdelay (10 ); -for (i =0 ; i <sizeof (program_seq) /sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)n2k_outb (program_seq[i].value, program_seq[i].offset);PRINTK ("PROM:" );
drivers/net/npe/IxEthDBFeatures.c +2 -2
@@ -144,7 +144,7 @@ void ixEthDBFeatureCapabilityScan(void)/* find the traffic class definition index compatible with the current NPE A functionality ID */ for (trafficClassDefinitionIndex =0 ; - trafficClassDefinitionIndex <sizeof (ixEthDBTrafficClassDefinitions) /sizeof (ixEthDBTrafficClassDefinitions[0 ]); + trafficClassDefinitionIndex <ARRAY_SIZE (ixEthDBTrafficClassDefinitions); trafficClassDefinitionIndex++) {if (ixEthDBTrafficClassDefinitions[trafficClassDefinitionIndex][IX_ETH_DB_NPE_A_FUNCTIONALITY_ID_INDEX ] == npeAImageId.functionalityId)
@@ -155,7 +155,7 @@ void ixEthDBFeatureCapabilityScan(void) }/* select the default case if we went over the array boundary */ -if (trafficClassDefinitionIndex ==sizeof (ixEthDBTrafficClassDefinitions) /sizeof (ixEthDBTrafficClassDefinitions[0 ])) +if (trafficClassDefinitionIndex ==ARRAY_SIZE (ixEthDBTrafficClassDefinitions)) { trafficClassDefinitionIndex =0 ;/* the first record is the default case */ }
drivers/net/npe/IxOsalIoMem.c +1 -2
@@ -66,8 +66,7 @@ ixOsalMemMapFind (UINT32 requestedAddress, {UINT32 mapIndex; -UINT32 numMapElements = -sizeof (ixOsalGlobalMemoryMap) /sizeof (IxOsalMemoryMap); +UINT32 numMapElements =ARRAY_SIZE (ixOsalGlobalMemoryMap);for (mapIndex =0 ; mapIndex < numMapElements; mapIndex++) {
drivers/net/npe/include/IxEthDBPortDefs.h +1 -1
@@ -106,7 +106,7 @@ static const IxEthDBPortDefinition ixEthDBPortDefinitions[] =* @def IX_ETH_DB_NUMBER_OF_PORTS * @brief number of supported ports */ -#define IX_ETH_DB_NUMBER_OF_PORTS (sizeof (ixEthDBPortDefinitions) / sizeof (ixEthDBPortDefinitions[0])) +#define IX_ETH_DB_NUMBER_OF_PORTS ARRAY_SIZE(ixEthDBPortDefinitions)/** * @def IX_ETH_DB_UNKNOWN_PORT
drivers/net/npe/include/IxOsalTypes.h +0 -6
@@ -91,12 +91,6 @@ typedef volatile UINT32 VUINT32;*/ typedef volatile INT32 VINT32 ; - -#ifndef NUMELEMS -#define NUMELEMS (x) (sizeof(x) / sizeof((x)[0])) -#endif - -/** * @ingroup IxOsalTypes *
Signature · 1 line
1.8.1.2
PATCH v3 1/1 net: Use ARRAY_SIZE at appropriate places
Hi Axel,
Quoted 15 lines · Axel Lin
Use
ARRAY_SIZEinstead of having similar implementation in each drivers. The NUMELEMS defined indrivers/net/npe/include/IxOsalTypes.his not used at all, so this patch removes it instead of converting it to useARRAY_SIZE.Signed-off-by Axel Lin <[email protected]>Cc Albert Aribaud <[email protected]>Cc Ben Warren <[email protected]>Cc Jean-Christophe PLAGNIOL-VILLARD <[email protected]>Cc Joe Hershberger <[email protected]>Cc Marek Vasut <[email protected]>Cc Mike Frysinger <[email protected]>Cc Nobuhiro Iwamatsu <[email protected]>Cc TsiChungLiew <[email protected]>Cc Wolfgang Denk <[email protected]>Cc York Sun <[email protected]>
Quoted 10 lines
---
v2: Fix checkpatch issues. (abandoned)
v3: Modified from v1, because v2 makes the patch bigger.
And using tab (which takes 8 spaces) as indent makes the code looks odd because the whole file uses 4 spaces as indent.
Note, the checkpatch issue is not introduced by this patch itself, it's because original source code does not pass checkpatch at all. Address Marek's comment:
Remove NUMELEMS indrivers/net/npe/include/IxOsalTypes.hbecause it is not used at all.
I agree that this is better than v2 in the scope of the patch.
-Joe
Joe Hershberger
AppliedPATCH v3 1/1 net: Use ARRAY_SIZE at appropriate places
In reply to Axel LinQuoted 15 lines · Axel Lin
Use
ARRAY_SIZEinstead of having similar implementation in each drivers. The NUMELEMS defined indrivers/net/npe/include/IxOsalTypes.his not used at all, so this patch removes it instead of converting it to useARRAY_SIZE.Signed-off-by Axel Lin <[email protected]>Cc Albert Aribaud <[email protected]>Cc Ben Warren <[email protected]>Cc Jean-Christophe PLAGNIOL-VILLARD <[email protected]>Cc Joe Hershberger <[email protected]>Cc Marek Vasut <[email protected]>Cc Mike Frysinger <[email protected]>Cc Nobuhiro Iwamatsu <[email protected]>Cc TsiChungLiew <[email protected]>Cc Wolfgang Denk <[email protected]>Cc York Sun <[email protected]>
Quoted 1 line
---
Applied, Thanks!
-Joe