X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcxgbe%2Fcxgbe_compat.h;h=cce51c2f975b7c9afb5e91a656e81a46ec782d76;hb=b26d65bee9961dae25f8ba050130a4aa4adf5054;hp=ce4662d545d798c80f89ac05f3a1957960ea102c;hpb=b5c3a5fd577af3b91c99b0ab88748e04ff96e363;p=dpdk.git diff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h index ce4662d545..cce51c2f97 100644 --- a/drivers/net/cxgbe/cxgbe_compat.h +++ b/drivers/net/cxgbe/cxgbe_compat.h @@ -18,6 +18,7 @@ #include #include #include +#include #define dev_printf(level, fmt, ...) \ RTE_LOG(level, PMD, "rte_cxgbe_pmd: " fmt, ##__VA_ARGS__) @@ -100,6 +101,7 @@ #define PTR_ALIGN(p, a) ((typeof(p))CXGBE_ALIGN((unsigned long)(p), (a))) #define VLAN_HLEN 4 +#define ETHER_ADDR_LEN 6 #define rmb() rte_rmb() /* dpdk rte provided rmb */ #define wmb() rte_wmb() /* dpdk rte provided wmb */ @@ -149,18 +151,24 @@ typedef uint64_t dma_addr_t; #define false 0 #define true 1 +#ifndef min #define min(a, b) RTE_MIN(a, b) +#endif + +#ifndef max #define max(a, b) RTE_MAX(a, b) +#endif /* * round up val _p to a power of 2 size _s */ #define cxgbe_roundup(_p, _s) (((unsigned long)(_p) + (_s - 1)) & ~(_s - 1)) -#undef container_of +#ifndef container_of #define container_of(ptr, type, member) ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) +#endif #define ARRAY_SIZE(arr) RTE_DIM(arr) @@ -173,6 +181,26 @@ typedef uint64_t dma_addr_t; #define be64_to_cpu(o) rte_be_to_cpu_64(o) #define le32_to_cpu(o) rte_le_to_cpu_32(o) +#ifndef ntohs +#define ntohs(o) be16_to_cpu(o) +#endif + +#ifndef ntohl +#define ntohl(o) be32_to_cpu(o) +#endif + +#ifndef htons +#define htons(o) cpu_to_be16(o) +#endif + +#ifndef htonl +#define htonl(o) cpu_to_be32(o) +#endif + +#ifndef caddr_t +typedef char *caddr_t; +#endif + #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #define DELAY(x) rte_delay_us(x) #define udelay(x) DELAY(x) @@ -249,12 +277,12 @@ static inline void writel_relaxed(unsigned int val, volatile void __iomem *addr) * Multiplies an integer by a fraction, while avoiding unnecessary * overflow or loss of precision. */ -#define mult_frac(x, numer, denom)( \ -{ \ - typeof(x) quot = (x) / (denom); \ - typeof(x) rem = (x) % (denom); \ - (quot * (numer)) + ((rem * (numer)) / (denom)); \ -} \ -) +static inline unsigned int mult_frac(unsigned int x, unsigned int numer, + unsigned int denom) +{ + unsigned int quot = x / denom; + unsigned int rem = x % denom; + return (quot * numer) + ((rem * numer) / denom); +} #endif /* _CXGBE_COMPAT_H_ */