net/cxgbe: implement dynamic log type
[dpdk.git] / drivers / net / cxgbe / cxgbe_compat.h
index ce4662d..93df0a7 100644 (file)
 #include <rte_spinlock.h>
 #include <rte_log.h>
 #include <rte_io.h>
+#include <rte_net.h>
+
+extern int cxgbe_logtype;
 
 #define dev_printf(level, fmt, ...) \
-       RTE_LOG(level, PMD, "rte_cxgbe_pmd: " fmt, ##__VA_ARGS__)
+       rte_log(RTE_LOG_ ## level, cxgbe_logtype, \
+               "rte_cxgbe_pmd: " fmt, ##__VA_ARGS__)
 
 #define dev_err(x, fmt, ...) dev_printf(ERR, fmt, ##__VA_ARGS__)
 #define dev_info(x, fmt, ...) dev_printf(INFO, fmt, ##__VA_ARGS__)
@@ -62,7 +66,7 @@
 
 #ifdef RTE_LIBRTE_CXGBE_DEBUG
 #define CXGBE_FUNC_TRACE() \
-       RTE_LOG(DEBUG, PMD, "CXGBE trace: %s\n", __func__)
+       dev_printf(DEBUG, "CXGBE trace: %s\n", __func__)
 #else
 #define CXGBE_FUNC_TRACE() do { } while (0)
 #endif
 #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 +154,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 +184,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 +280,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_ */