Patchwork [U-Boot,v3] net: Use ARRAY_SIZE at appropriate places

login
register
mail settings
Submitter Axel Lin
Date July 3, 2013, 3:24 a.m.
Message ID <1372821858.8452.1.camel@phoenix>
Download mbox | patch
Permalink /patch/256539/
State Accepted
Delegated to: Joe Hershberger
Headers show

Comments

Axel Lin - July 3, 2013, 3:24 a.m.
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.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Ben Warren <biggerbadderben@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: TsiChungLiew <Tsi-Chung.Liew@freescale.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: York Sun <yorksun@freescale.com>
---
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(-)
Joe Hershberger - July 8, 2013, 10:25 p.m.
Hi Axel,

On Tue, Jul 2, 2013 at 10:24 PM, Axel Lin <axel.lin@ingics.com> wrote:
> 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.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> Cc: Ben Warren <biggerbadderben@gmail.com>
> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> Cc: TsiChungLiew <Tsi-Chung.Liew@freescale.com>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: York Sun <yorksun@freescale.com>
> ---
> 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.

I agree that this is better than v2 in the scope of the patch.

-Joe
Joe Hershberger - Aug. 19, 2013, 5:41 p.m.
On Tue, Jul 2, 2013 at 10:24 PM, Axel Lin <axel.lin@ingics.com> wrote:
> 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.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> Cc: Ben Warren <biggerbadderben@gmail.com>
> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> Cc: TsiChungLiew <Tsi-Chung.Liew@freescale.com>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: York Sun <yorksun@freescale.com>
> ---

Applied, Thanks!
-Joe

Patch

diff --git a/drivers/net/ax88180.c b/drivers/net/ax88180.c
index f501768..7f0cfe5 100644
--- a/drivers/net/ax88180.c
+++ b/drivers/net/ax88180.c
@@ -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);
 }
 
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index 63842cd..0e18764 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -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,
diff --git a/drivers/net/lan91c96.c b/drivers/net/lan91c96.c
index 11d350e..47c15c4 100644
--- a/drivers/net/lan91c96.c
+++ b/drivers/net/lan91c96.c
@@ -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;
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index ed7459c..7ae6320 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -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,
diff --git a/drivers/net/mcfmii.c b/drivers/net/mcfmii.c
index 5e64dbd..63bc8f8 100644
--- a/drivers/net/mcfmii.c
+++ b/drivers/net/mcfmii.c
@@ -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
diff --git a/drivers/net/ne2000.c b/drivers/net/ne2000.c
index 3939158..e6cd3e9 100644
--- a/drivers/net/ne2000.c
+++ b/drivers/net/ne2000.c
@@ -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:");
diff --git a/drivers/net/npe/IxEthDBFeatures.c b/drivers/net/npe/IxEthDBFeatures.c
index c5b680a..ecabec5 100644
--- a/drivers/net/npe/IxEthDBFeatures.c
+++ b/drivers/net/npe/IxEthDBFeatures.c
@@ -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 */
                 }
diff --git a/drivers/net/npe/IxOsalIoMem.c b/drivers/net/npe/IxOsalIoMem.c
index 34df92b..087fdf3 100644
--- a/drivers/net/npe/IxOsalIoMem.c
+++ b/drivers/net/npe/IxOsalIoMem.c
@@ -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++)
     {
diff --git a/drivers/net/npe/include/IxEthDBPortDefs.h b/drivers/net/npe/include/IxEthDBPortDefs.h
index c3acbdd..eac48cb 100644
--- a/drivers/net/npe/include/IxEthDBPortDefs.h
+++ b/drivers/net/npe/include/IxEthDBPortDefs.h
@@ -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
diff --git a/drivers/net/npe/include/IxOsalTypes.h b/drivers/net/npe/include/IxOsalTypes.h
index 06e71de..00a49ad 100644
--- a/drivers/net/npe/include/IxOsalTypes.h
+++ b/drivers/net/npe/include/IxOsalTypes.h
@@ -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
  *