Skip to content

Commit

Permalink
[build] Provide common ARRAY_SIZE() definition
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
mcb30 committed Mar 10, 2017
1 parent 4524cc1 commit afdebdc
Show file tree
Hide file tree
Showing 9 changed files with 9 additions and 19 deletions.
1 change: 0 additions & 1 deletion src/drivers/net/ath/ath.h
Expand Up @@ -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))
Expand Down
2 changes: 0 additions & 2 deletions src/drivers/net/ath/ath5k/ath5k.h
Expand Up @@ -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"

Expand Down
2 changes: 0 additions & 2 deletions src/drivers/net/forcedeth.h
Expand Up @@ -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;
Expand Down
2 changes: 0 additions & 2 deletions src/drivers/net/pcnet32.h
Expand Up @@ -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.
Expand Down
5 changes: 2 additions & 3 deletions src/drivers/net/rtl818x/rtl8185_rtl8225.c
Expand Up @@ -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)
Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -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);

Expand Down
3 changes: 0 additions & 3 deletions src/drivers/net/skge.h
Expand Up @@ -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 | \
Expand Down
2 changes: 0 additions & 2 deletions src/drivers/net/tg3/tg3.h
Expand Up @@ -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)

Expand Down
4 changes: 0 additions & 4 deletions src/drivers/net/vxge/vxge_config.h
Expand Up @@ -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
Expand Down
7 changes: 7 additions & 0 deletions src/include/compiler.h
Expand Up @@ -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
*
Expand Down

0 comments on commit afdebdc

Please sign in to comment.