net: ehea: convert to hw_features
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>
Sun, 17 Apr 2011 00:15:47 +0000 (00:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Apr 2011 00:47:35 +0000 (17:47 -0700)
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ehea/ehea_ethtool.c
drivers/net/ehea/ehea_main.c

index 3e2e734fecb73b7ee586be244bd8775521a8c225..5f13491cf2a96c4241148bed2ee83c502e3a1364 100644 (file)
@@ -162,11 +162,6 @@ static void ehea_set_msglevel(struct net_device *dev, u32 value)
        port->msg_enable = value;
 }
 
-static u32 ehea_get_rx_csum(struct net_device *dev)
-{
-       return 1;
-}
-
 static char ehea_ethtool_stats_keys[][ETH_GSTRING_LEN] = {
        {"sig_comp_iv"},
        {"swqe_refill_th"},
@@ -263,34 +258,16 @@ static void ehea_get_ethtool_stats(struct net_device *dev,
 
 }
 
-static int ehea_set_flags(struct net_device *dev, u32 data)
-{
-       /* Avoid changing the VLAN flags */
-       if ((data & (ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN)) !=
-           (ethtool_op_get_flags(dev) & (ETH_FLAG_RXVLAN |
-                                         ETH_FLAG_TXVLAN))){
-               return -EINVAL;
-       }
-
-       return ethtool_op_set_flags(dev, data, ETH_FLAG_LRO
-                                       | ETH_FLAG_TXVLAN
-                                       | ETH_FLAG_RXVLAN);
-}
-
 const struct ethtool_ops ehea_ethtool_ops = {
        .get_settings = ehea_get_settings,
        .get_drvinfo = ehea_get_drvinfo,
        .get_msglevel = ehea_get_msglevel,
        .set_msglevel = ehea_set_msglevel,
        .get_link = ethtool_op_get_link,
-       .set_tso = ethtool_op_set_tso,
        .get_strings = ehea_get_strings,
        .get_sset_count = ehea_get_sset_count,
        .get_ethtool_stats = ehea_get_ethtool_stats,
-       .get_rx_csum = ehea_get_rx_csum,
        .set_settings = ehea_set_settings,
-       .get_flags = ethtool_op_get_flags,
-       .set_flags = ehea_set_flags,
        .nway_reset = ehea_nway_reset,          /* Restart autonegotiation */
 };
 
index f75d3144b8a508e9668c48be6592eff49fbb7e3f..ce2f0ca61d9a5453d7e67a04a95cec37d2a17b60 100644 (file)
@@ -3262,10 +3262,12 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
        dev->netdev_ops = &ehea_netdev_ops;
        ehea_set_ethtool_ops(dev);
 
+       dev->hw_features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
+                     | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX | NETIF_F_LRO;
        dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
                      | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX
                      | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER
-                     | NETIF_F_LLTX;
+                     | NETIF_F_LLTX | NETIF_F_RXCSUM;
        dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT;
 
        if (use_lro)