X-Git-Url: http://bbs.cooldavid.org/git/?a=blobdiff_plain;f=jme.h;h=2e108be75e137e7d8f9671cf90b358b1debe8c83;hb=6c20aa9778aa10684058d2456ca6b9be44946d49;hp=3dafe833ba2b284696f8adcb60f47995877fb3ec;hpb=8588b84ba1ccfa3e442fe44cf5cc3e6c49a6d430;p=jme.git diff --git a/jme.h b/jme.h index 3dafe83..2e108be 100644 --- a/jme.h +++ b/jme.h @@ -27,7 +27,7 @@ #include #define DRV_NAME "jme" -#define DRV_VERSION "1.0.8-jmmod" +#define DRV_VERSION "1.0.8.2-jmmod" #define PFX DRV_NAME ": " #define PCI_DEVICE_ID_JMICRON_JMC250 0x0250 @@ -43,11 +43,11 @@ NETIF_MSG_TX_ERR | \ NETIF_MSG_HW) -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23) +#ifndef pr_err #define pr_err(fmt, arg...) \ printk(KERN_ERR fmt, ##arg) #endif -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,33) +#ifndef netdev_err #define netdev_err(netdev, fmt, arg...) \ pr_err(fmt, ##arg) #endif @@ -95,11 +95,15 @@ do { \ #define msg_hw(priv, fmt, args...) \ jme_msg(KERN_ERR, hw, priv, fmt, ## args) +#ifndef netif_info #define netif_info(priv, type, dev, fmt, args...) \ msg_ ## type(priv, fmt, ## args) +#endif +#ifndef netif_err #define netif_err(priv, type, dev, fmt, args...) \ msg_ ## type(priv, fmt, ## args) #endif +#endif #ifndef NETIF_F_TSO6 #define NETIF_F_TSO6 0 @@ -108,6 +112,23 @@ do { \ #define NETIF_F_IPV6_CSUM 0 #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0) +#define __USE_NDO_FIX_FEATURES__ +#endif + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) +#define __UNIFY_VLAN_RX_PATH__ +#define __USE_NDO_SET_RX_MODE__ +#endif + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) +#define __USE_SKB_FRAG_API__ +#endif + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) +#define __NEW_FIX_FEATURES_TYPE__ +#endif + /* * Extra PCI Configuration space interface */ @@ -156,7 +177,6 @@ enum jme_spi_op_bits { }; #define HALF_US 500 /* 500 ns */ -#define JMESPIIOCTL SIOCDEVPRIVATE #define PCI_PRIV_PE1 0xE4 @@ -583,7 +603,9 @@ struct jme_adapter { u32 msg_enable; struct ethtool_cmd old_ecmd; unsigned int old_mtu; +#ifndef __UNIFY_VLAN_RX_PATH__ struct vlan_group *vlgrp; +#endif struct dynpcc_info dpi; atomic_t intr_sem; atomic_t link_changing; @@ -591,9 +613,11 @@ struct jme_adapter { atomic_t rx_cleaning; atomic_t rx_empty; int (*jme_rx)(struct sk_buff *skb); +#ifndef __UNIFY_VLAN_RX_PATH__ int (*jme_vlan_rx)(struct sk_buff *skb, struct vlan_group *grp, unsigned short vlan_tag); +#endif DECLARE_NAPI_STRUCT DECLARE_NET_DEVICE_STATS }; @@ -610,8 +634,10 @@ jme_get_stats(struct net_device *netdev) enum jme_flags_bits { JME_FLAG_MSI = 1, JME_FLAG_SSET = 2, +#ifndef __USE_NDO_FIX_FEATURES__ JME_FLAG_TXCSUM = 3, JME_FLAG_TSO = 4, +#endif JME_FLAG_POLL = 5, JME_FLAG_SHUTDOWN = 6, };