Merge master.kernel.org:/home/rmk/linux-2.6-arm
[sfrench/cifs-2.6.git] / include / linux / netdevice.h
index 322b5eae57ddf06192760963e91e1c1e64354873..e679b27516659699280c42b1e6e15839cfedb787 100644 (file)
@@ -262,8 +262,6 @@ enum netdev_state_t
        __LINK_STATE_LINKWATCH_PENDING,
        __LINK_STATE_DORMANT,
        __LINK_STATE_QDISC_RUNNING,
-       /* Set by the netpoll NAPI code */
-       __LINK_STATE_POLL_LIST_FROZEN,
 };
 
 
@@ -577,7 +575,7 @@ struct net_device
 
        /* The TX queue control structures */
        unsigned int                    egress_subqueue_count;
-       struct net_device_subqueue      egress_subqueue[0];
+       struct net_device_subqueue      egress_subqueue[1];
 };
 #define to_net_dev(d) container_of(d, struct net_device, dev)
 
@@ -1022,14 +1020,6 @@ static inline void netif_rx_complete(struct net_device *dev)
 {
        unsigned long flags;
 
-#ifdef CONFIG_NETPOLL
-       /* Prevent race with netpoll - yes, this is a kludge.
-        * But at least it doesn't penalize the non-netpoll
-        * code path. */
-       if (test_bit(__LINK_STATE_POLL_LIST_FROZEN, &dev->state))
-               return;
-#endif
-
        local_irq_save(flags);
        __netif_rx_complete(dev);
        local_irq_restore(flags);
@@ -1108,10 +1098,8 @@ extern int               dev_mc_delete(struct net_device *dev, void *addr, int alen, int all
 extern int             dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly);
 extern int             dev_mc_sync(struct net_device *to, struct net_device *from);
 extern void            dev_mc_unsync(struct net_device *to, struct net_device *from);
-extern void            dev_mc_discard(struct net_device *dev);
 extern int             __dev_addr_delete(struct dev_addr_list **list, int *count, void *addr, int alen, int all);
 extern int             __dev_addr_add(struct dev_addr_list **list, int *count, void *addr, int alen, int newonly);
-extern void            __dev_addr_discard(struct dev_addr_list **list);
 extern void            dev_set_promiscuity(struct net_device *dev, int inc);
 extern void            dev_set_allmulti(struct net_device *dev, int inc);
 extern void            netdev_state_change(struct net_device *dev);
@@ -1143,6 +1131,8 @@ extern void dev_seq_stop(struct seq_file *seq, void *v);
 
 extern void linkwatch_run_queue(void);
 
+extern int netdev_compute_features(unsigned long all, unsigned long one);
+
 static inline int net_gso_ok(int features, int gso_type)
 {
        int feature = gso_type << NETIF_F_GSO_SHIFT;