convert ATM drivers to netdev_tx_t
[safe/jmp/linux-2.6] / net / atm / lec.h
index c700472..9d14d19 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef _LEC_H_
 #define _LEC_H_
 
-#include <linux/config.h>
 #include <linux/atmdev.h>
 #include <linux/netdevice.h>
 #include <linux/atmlec.h>
 #define LEC_HEADER_LEN 16
 
 struct lecdatahdr_8023 {
-       unsigned short le_header;
+       __be16 le_header;
        unsigned char h_dest[ETH_ALEN];
        unsigned char h_source[ETH_ALEN];
-       unsigned short h_type;
+       __be16 h_type;
 };
 
 struct lecdatahdr_8025 {
-       unsigned short le_header;
+       __be16 le_header;
        unsigned char ac_pad;
        unsigned char fc;
        unsigned char h_dest[ETH_ALEN];
@@ -43,22 +42,22 @@ struct lecdatahdr_8025 {
  *
  */
 struct lane2_ops {
-       int (*resolve) (struct net_device *dev, u8 *dst_mac, int force,
+       int (*resolve) (struct net_device *dev, const u8 *dst_mac, int force,
                        u8 **tlvs, u32 *sizeoftlvs);
-       int (*associate_req) (struct net_device *dev, u8 *lan_dst,
-                             u8 *tlvs, u32 sizeoftlvs);
-       void (*associate_indicator) (struct net_device *dev, u8 *mac_addr,
-                                    u8 *tlvs, u32 sizeoftlvs);
+       int (*associate_req) (struct net_device *dev, const u8 *lan_dst,
+                             const u8 *tlvs, u32 sizeoftlvs);
+       void (*associate_indicator) (struct net_device *dev, const u8 *mac_addr,
+                                    const u8 *tlvs, u32 sizeoftlvs);
 };
 
 /*
  * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType
- * frames. 
+ * frames.
  *
  * 1. Dix Ethernet EtherType frames encoded by placing EtherType
  *    field in h_type field. Data follows immediatelly after header.
  * 2. LLC Data frames whose total length, including LLC field and data,
- *    but not padding required to meet the minimum data frame length, 
+ *    but not padding required to meet the minimum data frame length,
  *    is less than 1536(0x0600) MUST be encoded by placing that length
  *    in the h_type field. The LLC field follows header immediatelly.
  * 3. LLC data frames longer than this maximum MUST be encoded by placing
@@ -70,20 +69,19 @@ struct lane2_ops {
 #define LEC_ARP_TABLE_SIZE 16
 
 struct lec_priv {
-       struct net_device_stats stats;
        unsigned short lecid;                   /* Lecid of this client */
-       struct lec_arp_table *lec_arp_empty_ones;
+       struct hlist_head lec_arp_empty_ones;
                                                /* Used for storing VCC's that don't have a MAC address attached yet */
-       struct lec_arp_table *lec_arp_tables[LEC_ARP_TABLE_SIZE];
+       struct hlist_head lec_arp_tables[LEC_ARP_TABLE_SIZE];
                                                /* Actual LE ARP table */
-       struct lec_arp_table *lec_no_forward;
+       struct hlist_head lec_no_forward;
                                                /*
                                                 * Used for storing VCC's (and forward packets from) which are to
                                                 * age out by not using them to forward packets.
                                                 * This is because to some LE clients there will be 2 VCCs. Only
                                                 * one of them gets used.
                                                 */
-       struct lec_arp_table *mcast_fwds;
+       struct hlist_head mcast_fwds;
                                                /*
                                                 * With LANEv2 it is possible that BUS (or a special multicast server)
                                                 * establishes multiple Multicast Forward VCCs to us. This list
@@ -93,7 +91,7 @@ struct lec_priv {
        spinlock_t lec_arp_lock;
        struct atm_vcc *mcast_vcc;              /* Default Multicast Send VCC */
        struct atm_vcc *lecd;
-       struct timer_list lec_arp_timer;        /* C10 */
+       struct delayed_work lec_arp_work;       /* C10 */
        unsigned int maximum_unknown_frame_count;
                                                /*
                                                 * Within the period of time defined by this variable, the client will send