X-Git-Url: https://bbs.cooldavid.org/git/?a=blobdiff_plain;f=jme.h;h=fd226cd83d8171c87f9aca72ab001f5ee0dc032c;hb=a2f95d8127f356665e029b054b27a51698b2b6de;hp=536a7f7b598e33d7f6e103a9e546f374bdec0449;hpb=f6d5c552ae8da4c81052642d05d0a7e84912d418;p=jme.git diff --git a/jme.h b/jme.h index 536a7f7..fd226cd 100644 --- a/jme.h +++ b/jme.h @@ -112,6 +112,19 @@ 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 + /* * Extra PCI Configuration space interface */ @@ -160,7 +173,6 @@ enum jme_spi_op_bits { }; #define HALF_US 500 /* 500 ns */ -#define JMESPIIOCTL SIOCDEVPRIVATE #define PCI_PRIV_PE1 0xE4 @@ -587,7 +599,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; @@ -595,9 +609,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 }; @@ -614,8 +630,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, };