]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Provide common ARRAY_SIZE() definition
authorMichael Brown <mcb30@ipxe.org>
Fri, 10 Mar 2017 15:40:17 +0000 (15:40 +0000)
committerMichael Brown <mcb30@ipxe.org>
Fri, 10 Mar 2017 15:44:11 +0000 (15:44 +0000)
Several files define the ARRAY_SIZE() macro as used in Linux.  Provide
a common definition for this in include/compiler.h.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/ath/ath.h
src/drivers/net/ath/ath5k/ath5k.h
src/drivers/net/forcedeth.h
src/drivers/net/pcnet32.h
src/drivers/net/rtl818x/rtl8185_rtl8225.c
src/drivers/net/skge.h
src/drivers/net/tg3/tg3.h
src/drivers/net/vxge/vxge_config.h
src/include/compiler.h

index d6a037394e1f0ba11c446dd898da4f1ad029d684..589bb5634462729c4c9fc9461d392354818112e0 100644 (file)
@@ -26,7 +26,6 @@ FILE_LICENCE ( BSD2 );
 #include <ipxe/net80211.h>
 
 /* This block of functions are from kernel.h v3.0.1 */
-#define ARRAY_SIZE(arr)                (sizeof(arr) / sizeof((arr)[0]))
 #define DIV_ROUND_UP(n,d)      (((n) + (d) - 1) / (d))
 #define BITS_PER_BYTE          8
 #define BITS_TO_LONGS(nr)      DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
index 30e2024c60307b27d531563c8f7849249760e9a8..fa62e8ce52d5d7153047ef0ee20554b57cbb78d9 100644 (file)
@@ -34,8 +34,6 @@ FILE_LICENCE ( MIT );
 #undef ERRFILE
 #define ERRFILE ERRFILE_ath5k
 
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
-
 /* RX/TX descriptor hw structs */
 #include "desc.h"
 
index e1cf6f71af6a99b26ac6a4a507d09f4cd69fac99..3a372dc1bb5a58aa3e275fe39362f74a45a6993d 100644 (file)
@@ -36,8 +36,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #ifndef _FORCEDETH_H_
 #define _FORCEDETH_H_
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-
 struct ring_desc {
        u32 buf;
        u32 flaglen;
index 5e4492ef93f5b368fd9fb55acdc9d5e269cab743..f06d7fd0017222e86ea03b7c474115e29730b7db 100644 (file)
@@ -23,8 +23,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #ifndef _PCNET32_H_
 #define _PCNET32_H_
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-
 /*
  * Set the number of Tx and Rx buffers, using Log_2(# buffers).
  * Set default values to 16 Tx buffers and 32 Rx buffers.
index ae92531ce41f7bc1586d7dbc701890aaccaf26ae..31a740e64b660e24ee6bd8d5763dfff3dc65285c 100644 (file)
@@ -30,7 +30,6 @@ FILE_LICENCE(GPL2_ONLY);
 #define RTL8225_ANAPARAM2_OFF  0x840dec11
 
 #define min(a,b) (((a)<(b))?(a):(b))
-#define ARRAY_SIZE(a) (int)(sizeof(a)/sizeof((a)[0]))
 
 static inline void rtl8225_write_phy_ofdm(struct net80211_device *dev,
                                          u8 addr, u8 data)
@@ -323,7 +322,7 @@ static void rtl8225_rf_set_tx_power(struct net80211_device *dev, int channel)
 static void rtl8225_rf_init(struct net80211_device *dev)
 {
        struct rtl818x_priv *priv = dev->priv;
-       int i;
+       unsigned int i;
 
        rtl818x_set_anaparam(priv, RTL8225_ANAPARAM_ON);
 
@@ -552,7 +551,7 @@ static const u16 rtl8225z2_rxgain[] = {
 static void rtl8225z2_rf_init(struct net80211_device *dev)
 {
        struct rtl818x_priv *priv = dev->priv;
-       int i;
+       unsigned int i;
 
        rtl818x_set_anaparam(priv, RTL8225_ANAPARAM_ON);
 
index d9e91457ab43ca01df09d8a1ffe467d1347f5c97..b13013bbaebd74e924638139d5f0e5580633694e 100755 (executable)
@@ -65,9 +65,6 @@ FILE_LICENCE ( GPL2_ONLY );
 #define SUPPORTED_TP                   (1 << 7)
 #define SUPPORTED_FIBRE                        (1 << 10)
 
-/* from kernel.h */
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-
 /* ----------------------------------- */
 
 #define PCI_STATUS_ERROR_BITS (PCI_STATUS_DETECTED_PARITY | \
index be02c57190b9c91a21baf97502ce0b4eb673581e..05d516344833c1365885eb4a1245f1a9de2996cd 100644 (file)
@@ -3284,8 +3284,6 @@ struct tg3 {
        u16                             subsystem_device;
 };
 
-#define ARRAY_SIZE(x) ( sizeof(x) / sizeof((x)[0]) )
-
 #define TG3_TX_RING_SIZE               512
 #define TG3_DEF_TX_RING_PENDING                (TG3_TX_RING_SIZE - 1)
 
index bf25134ada32801d14de5825de3813d4f66e04fa..59e8a79665add1a2aa0ff1b497a4d48c955def3b 100644 (file)
@@ -27,10 +27,6 @@ FILE_LICENCE(GPL2_ONLY);
 
 #define WAIT_FACTOR          1
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(a)  (sizeof(a) / sizeof((a)[0]))
-#endif
-
 #define VXGE_HW_MAC_MAX_WIRE_PORTS      2
 #define VXGE_HW_MAC_MAX_AGGR_PORTS      2
 #define VXGE_HW_MAC_MAX_PORTS           3
index 4924c7ef51645dd51d4bda3faa4ff27a1a91734d..56a5f63d51901246c88c6a573e4c877f3ae4c1c9 100644 (file)
@@ -655,6 +655,13 @@ char __debug_disable(OBJECT) = ( DBGLVL_MAX & ~DBGLVL_DFLT );
 #define barrier() __asm__ __volatile__ ( "" : : : "memory" )
 #endif /* ASSEMBLY */
 
+/**
+ * Array size
+ */
+#ifndef ASSEMBLY
+#define ARRAY_SIZE(array) ( sizeof (array) / sizeof ( (array)[0] ) )
+#endif /* ASSEMBLY */
+
 /**
  * @defgroup licences Licence declarations
  *