Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelv...
[pandora-kernel.git] / include / linux / netdevice.h
index e7244ed..ca333e7 100644 (file)
@@ -1020,9 +1020,6 @@ struct net_device {
         *      part of the usual set specified in Space.c.
         */
 
-       unsigned char           if_port;        /* Selectable AUI, TP,..*/
-       unsigned char           dma;            /* DMA channel          */
-
        unsigned long           state;
 
        struct list_head        dev_list;
@@ -1097,10 +1094,14 @@ struct net_device {
 
 #define NETIF_F_ALL_TSO        (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN)
 
+#define NETIF_F_ALL_FCOE       (NETIF_F_FCOE_CRC | NETIF_F_FCOE_MTU | \
+                                NETIF_F_FSO)
+
 #define NETIF_F_ALL_TX_OFFLOADS        (NETIF_F_ALL_CSUM | NETIF_F_SG | \
                                 NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \
                                 NETIF_F_HIGHDMA | \
-                                NETIF_F_SCTP_CSUM | NETIF_F_FCOE_CRC)
+                                NETIF_F_SCTP_CSUM | \
+                                NETIF_F_ALL_FCOE)
 
        /*
         * If one device supports one of these features, then enable them
@@ -1142,13 +1143,16 @@ struct net_device {
        const struct header_ops *header_ops;
 
        unsigned int            flags;  /* interface flags (a la BSD)   */
+       unsigned int            priv_flags; /* Like 'flags' but invisible to userspace. */
        unsigned short          gflags;
-        unsigned int            priv_flags; /* Like 'flags' but invisible to userspace. */
        unsigned short          padded; /* How much padding added by alloc_netdev() */
 
        unsigned char           operstate; /* RFC2863 operstate */
        unsigned char           link_mode; /* mapping policy to operstate */
 
+       unsigned char           if_port;        /* Selectable AUI, TP,..*/
+       unsigned char           dma;            /* DMA channel          */
+
        unsigned int            mtu;    /* interface MTU value          */
        unsigned short          type;   /* interface hardware type      */
        unsigned short          hard_header_len;        /* hardware hdr length  */
@@ -1289,7 +1293,9 @@ struct net_device {
               NETREG_UNREGISTERED,     /* completed unregister todo */
               NETREG_RELEASED,         /* called free_netdev */
               NETREG_DUMMY,            /* dummy device for NAPI poll */
-       } reg_state:16;
+       } reg_state:8;
+
+       bool dismantle; /* device is going do be freed */
 
        enum {
                RTNL_LINK_INITIALIZED,
@@ -2561,6 +2567,7 @@ u32 netdev_increment_features(u32 all, u32 one, u32 mask);
 u32 netdev_fix_features(struct net_device *dev, u32 features);
 int __netdev_update_features(struct net_device *dev);
 void netdev_update_features(struct net_device *dev);
+void netdev_change_features(struct net_device *dev);
 
 void netif_stacked_transfer_operstate(const struct net_device *rootdev,
                                        struct net_device *dev);