]> bbs.cooldavid.org Git - jme.git/blobdiff - jme.h
jme: Support WoL after shutdown
[jme.git] / jme.h
diff --git a/jme.h b/jme.h
index 7d7d5fc40142dd7a35b2375d66f264fb8c7e893f..7eed87058496f0b9b580098ee54115d101daf5c8 100644 (file)
--- a/jme.h
+++ b/jme.h
@@ -3,6 +3,7 @@
  *
  * Copyright 2008 JMicron Technology Corporation
  * http://www.jmicron.com/
+ * Copyright (c) 2009 - 2010 Guo-Fu Tseng <cooldavid@cooldavid.org>
  *
  * Author: Guo-Fu Tseng <cooldavid@cooldavid.org>
  *
@@ -25,7 +26,7 @@
 #define __JME_H_INCLUDED__
 
 #define DRV_NAME       "jme"
-#define DRV_VERSION    "1.0.6-jmmod"
+#define DRV_VERSION    "1.0.7-jmmod"
 #define PFX            DRV_NAME ": "
 
 #define PCI_DEVICE_ID_JMICRON_JMC250   0x0250
        NETIF_MSG_TX_ERR | \
        NETIF_MSG_HW)
 
-#define jeprintk(pdev, fmt, args...) \
-       printk(KERN_ERR PFX fmt, ## args)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23)
+#define pr_err(fmt, arg...) \
+       printk(KERN_ERR fmt, ##arg)
+#endif
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,33)
+#define netdev_err(netdev, fmt, arg...) \
+       pr_err(fmt, ##arg)
+#endif
 
 #ifdef TX_DEBUG
 #define tx_dbg(priv, fmt, args...)                                     \
@@ -55,7 +62,6 @@ do {                                                                  \
 } while (0)
 #endif
 
-#include <linux/version.h>
 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,33)
 #define jme_msg(msglvl, type, priv, fmt, args...) \
        if (netif_msg_##type(priv)) \
@@ -87,6 +93,11 @@ do {                                                                 \
 
 #define msg_hw(priv, fmt, args...) \
        jme_msg(KERN_ERR, hw, priv, fmt, ## args)
+
+#define netif_info(priv, type, dev, fmt, args...) \
+       msg_ ## type(priv, fmt, ## args)
+#define netif_err(priv, type, dev, fmt, args...) \
+       msg_ ## type(priv, fmt, ## args)
 #endif
 
 /*
@@ -411,6 +422,23 @@ struct jme_ring {
 #define NETDEV_GET_STATS(netdev, fun_ptr) \
        netdev->get_stats = fun_ptr
 #define DECLARE_NET_DEVICE_STATS struct net_device_stats stats;
+/*
+ * CentOS 5.5 have *_hdr helpers back-ported
+ */
+#ifdef RHEL_RELEASE_CODE
+#if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(5,5)
+#define __DEFINE_IPHDR_HELPERS__
+#endif
+#else
+#define __DEFINE_IPHDR_HELPERS__
+#endif
+#else
+#define NET_STAT(priv) (priv->dev->stats)
+#define NETDEV_GET_STATS(netdev, fun_ptr)
+#define DECLARE_NET_DEVICE_STATS
+#endif
+
+#ifdef __DEFINE_IPHDR_HELPERS__
 static inline struct iphdr *ip_hdr(const struct sk_buff *skb)
 {
        return skb->nh.iph;
@@ -425,10 +453,6 @@ static inline struct tcphdr *tcp_hdr(const struct sk_buff *skb)
 {
        return skb->h.th;
 }
-#else
-#define NET_STAT(priv) (priv->dev->stats)
-#define NETDEV_GET_STATS(netdev, fun_ptr)
-#define DECLARE_NET_DEVICE_STATS
 #endif
 
 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23)
@@ -481,7 +505,6 @@ struct jme_adapter {
        spinlock_t              phy_lock;
        spinlock_t              macaddr_lock;
        spinlock_t              rxmcs_lock;
-       spinlock_t              vlgrp_lock;
        struct tasklet_struct   rxempty_task;
        struct tasklet_struct   rxclean_task;
        struct tasklet_struct   txclean_task;
@@ -1307,3 +1330,4 @@ static int jme_set_settings(struct net_device *netdev,
 static void jme_set_multi(struct net_device *netdev);
 
 #endif
+