net: introduce and use netdev_features_t for device features sets
v2: add couple missing conversions in drivers split unexporting netdev_fix_features() implemented %pNF convert sock::sk_route_(no?)caps Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a59e2ecb85
commit
c8f44affb7
74 changed files with 305 additions and 202 deletions
|
|
@ -1325,11 +1325,12 @@ static int bond_sethwaddr(struct net_device *bond_dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static u32 bond_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t bond_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct slave *slave;
|
||||
struct bonding *bond = netdev_priv(dev);
|
||||
u32 mask;
|
||||
netdev_features_t mask;
|
||||
int i;
|
||||
|
||||
read_lock(&bond->lock);
|
||||
|
|
@ -1363,7 +1364,7 @@ static void bond_compute_features(struct bonding *bond)
|
|||
{
|
||||
struct slave *slave;
|
||||
struct net_device *bond_dev = bond->dev;
|
||||
u32 vlan_features = BOND_VLAN_FEATURES;
|
||||
netdev_features_t vlan_features = BOND_VLAN_FEATURES;
|
||||
unsigned short max_hard_header_len = ETH_HLEN;
|
||||
int i;
|
||||
|
||||
|
|
@ -1897,7 +1898,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev)
|
|||
struct bonding *bond = netdev_priv(bond_dev);
|
||||
struct slave *slave, *oldcurrent;
|
||||
struct sockaddr addr;
|
||||
u32 old_features = bond_dev->features;
|
||||
netdev_features_t old_features = bond_dev->features;
|
||||
|
||||
/* slave is not a slave or master is not master of this slave */
|
||||
if (!(slave_dev->flags & IFF_SLAVE) ||
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ static void atl1c_set_multi(struct net_device *netdev)
|
|||
}
|
||||
}
|
||||
|
||||
static void __atl1c_vlan_mode(u32 features, u32 *mac_ctrl_data)
|
||||
static void __atl1c_vlan_mode(netdev_features_t features, u32 *mac_ctrl_data)
|
||||
{
|
||||
if (features & NETIF_F_HW_VLAN_RX) {
|
||||
/* enable VLAN tag insert/strip */
|
||||
|
|
@ -422,7 +422,8 @@ static void __atl1c_vlan_mode(u32 features, u32 *mac_ctrl_data)
|
|||
}
|
||||
}
|
||||
|
||||
static void atl1c_vlan_mode(struct net_device *netdev, u32 features)
|
||||
static void atl1c_vlan_mode(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct atl1c_adapter *adapter = netdev_priv(netdev);
|
||||
struct pci_dev *pdev = adapter->pdev;
|
||||
|
|
@ -482,7 +483,8 @@ static void atl1c_set_rxbufsize(struct atl1c_adapter *adapter,
|
|||
roundup(mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN, 8) : AT_RX_BUF_SIZE;
|
||||
}
|
||||
|
||||
static u32 atl1c_fix_features(struct net_device *netdev, u32 features)
|
||||
static netdev_features_t atl1c_fix_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -499,9 +501,10 @@ static u32 atl1c_fix_features(struct net_device *netdev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int atl1c_set_features(struct net_device *netdev, u32 features)
|
||||
static int atl1c_set_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
u32 changed = netdev->features ^ features;
|
||||
netdev_features_t changed = netdev->features ^ features;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
atl1c_vlan_mode(netdev, features);
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ static void atl1e_set_multi(struct net_device *netdev)
|
|||
}
|
||||
}
|
||||
|
||||
static void __atl1e_vlan_mode(u32 features, u32 *mac_ctrl_data)
|
||||
static void __atl1e_vlan_mode(netdev_features_t features, u32 *mac_ctrl_data)
|
||||
{
|
||||
if (features & NETIF_F_HW_VLAN_RX) {
|
||||
/* enable VLAN tag insert/strip */
|
||||
|
|
@ -324,7 +324,8 @@ static void __atl1e_vlan_mode(u32 features, u32 *mac_ctrl_data)
|
|||
}
|
||||
}
|
||||
|
||||
static void atl1e_vlan_mode(struct net_device *netdev, u32 features)
|
||||
static void atl1e_vlan_mode(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct atl1e_adapter *adapter = netdev_priv(netdev);
|
||||
u32 mac_ctrl_data = 0;
|
||||
|
|
@ -370,7 +371,8 @@ static int atl1e_set_mac_addr(struct net_device *netdev, void *p)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static u32 atl1e_fix_features(struct net_device *netdev, u32 features)
|
||||
static netdev_features_t atl1e_fix_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -384,9 +386,10 @@ static u32 atl1e_fix_features(struct net_device *netdev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int atl1e_set_features(struct net_device *netdev, u32 features)
|
||||
static int atl1e_set_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
u32 changed = netdev->features ^ features;
|
||||
netdev_features_t changed = netdev->features ^ features;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
atl1e_vlan_mode(netdev, features);
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ static inline void atl2_irq_disable(struct atl2_adapter *adapter)
|
|||
synchronize_irq(adapter->pdev->irq);
|
||||
}
|
||||
|
||||
static void __atl2_vlan_mode(u32 features, u32 *ctrl)
|
||||
static void __atl2_vlan_mode(netdev_features_t features, u32 *ctrl)
|
||||
{
|
||||
if (features & NETIF_F_HW_VLAN_RX) {
|
||||
/* enable VLAN tag insert/strip */
|
||||
|
|
@ -372,7 +372,8 @@ static void __atl2_vlan_mode(u32 features, u32 *ctrl)
|
|||
}
|
||||
}
|
||||
|
||||
static void atl2_vlan_mode(struct net_device *netdev, u32 features)
|
||||
static void atl2_vlan_mode(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct atl2_adapter *adapter = netdev_priv(netdev);
|
||||
u32 ctrl;
|
||||
|
|
@ -391,7 +392,8 @@ static void atl2_restore_vlan(struct atl2_adapter *adapter)
|
|||
atl2_vlan_mode(adapter->netdev, adapter->netdev->features);
|
||||
}
|
||||
|
||||
static u32 atl2_fix_features(struct net_device *netdev, u32 features)
|
||||
static netdev_features_t atl2_fix_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -405,9 +407,10 @@ static u32 atl2_fix_features(struct net_device *netdev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int atl2_set_features(struct net_device *netdev, u32 features)
|
||||
static int atl2_set_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
u32 changed = netdev->features ^ features;
|
||||
netdev_features_t changed = netdev->features ^ features;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
atl2_vlan_mode(netdev, features);
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ static void atlx_link_chg_task(struct work_struct *work)
|
|||
spin_unlock_irqrestore(&adapter->lock, flags);
|
||||
}
|
||||
|
||||
static void __atlx_vlan_mode(u32 features, u32 *ctrl)
|
||||
static void __atlx_vlan_mode(netdev_features_t features, u32 *ctrl)
|
||||
{
|
||||
if (features & NETIF_F_HW_VLAN_RX) {
|
||||
/* enable VLAN tag insert/strip */
|
||||
|
|
@ -222,7 +222,8 @@ static void __atlx_vlan_mode(u32 features, u32 *ctrl)
|
|||
}
|
||||
}
|
||||
|
||||
static void atlx_vlan_mode(struct net_device *netdev, u32 features)
|
||||
static void atlx_vlan_mode(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct atlx_adapter *adapter = netdev_priv(netdev);
|
||||
unsigned long flags;
|
||||
|
|
@ -242,7 +243,8 @@ static void atlx_restore_vlan(struct atlx_adapter *adapter)
|
|||
atlx_vlan_mode(adapter->netdev, adapter->netdev->features);
|
||||
}
|
||||
|
||||
static u32 atlx_fix_features(struct net_device *netdev, u32 features)
|
||||
static netdev_features_t atlx_fix_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -256,9 +258,10 @@ static u32 atlx_fix_features(struct net_device *netdev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int atlx_set_features(struct net_device *netdev, u32 features)
|
||||
static int atlx_set_features(struct net_device *netdev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
u32 changed = netdev->features ^ features;
|
||||
netdev_features_t changed = netdev->features ^ features;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
atlx_vlan_mode(netdev, features);
|
||||
|
|
|
|||
|
|
@ -7571,8 +7571,8 @@ bnx2_set_phys_id(struct net_device *dev, enum ethtool_phys_id_state state)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static u32
|
||||
bnx2_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t
|
||||
bnx2_fix_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
|
||||
|
|
@ -7583,7 +7583,7 @@ bnx2_fix_features(struct net_device *dev, u32 features)
|
|||
}
|
||||
|
||||
static int
|
||||
bnx2_set_features(struct net_device *dev, u32 features)
|
||||
bnx2_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct bnx2 *bp = netdev_priv(dev);
|
||||
|
||||
|
|
|
|||
|
|
@ -3398,7 +3398,8 @@ int bnx2x_change_mtu(struct net_device *dev, int new_mtu)
|
|||
return bnx2x_reload_if_running(dev);
|
||||
}
|
||||
|
||||
u32 bnx2x_fix_features(struct net_device *dev, u32 features)
|
||||
netdev_features_t bnx2x_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct bnx2x *bp = netdev_priv(dev);
|
||||
|
||||
|
|
@ -3409,7 +3410,7 @@ u32 bnx2x_fix_features(struct net_device *dev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
int bnx2x_set_features(struct net_device *dev, u32 features)
|
||||
int bnx2x_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct bnx2x *bp = netdev_priv(dev);
|
||||
u32 flags = bp->flags;
|
||||
|
|
|
|||
|
|
@ -533,8 +533,9 @@ int bnx2x_change_mtu(struct net_device *dev, int new_mtu);
|
|||
*/
|
||||
int bnx2x_fcoe_get_wwn(struct net_device *dev, u64 *wwn, int type);
|
||||
#endif
|
||||
u32 bnx2x_fix_features(struct net_device *dev, u32 features);
|
||||
int bnx2x_set_features(struct net_device *dev, u32 features);
|
||||
netdev_features_t bnx2x_fix_features(struct net_device *dev,
|
||||
netdev_features_t features);
|
||||
int bnx2x_set_features(struct net_device *dev, netdev_features_t features);
|
||||
|
||||
/**
|
||||
* bnx2x_tx_timeout - tx timeout netdev callback
|
||||
|
|
|
|||
|
|
@ -6968,7 +6968,7 @@ static int tg3_phy_lpbk_set(struct tg3 *tp, u32 speed, bool extlpbk)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void tg3_set_loopback(struct net_device *dev, u32 features)
|
||||
static void tg3_set_loopback(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
|
||||
|
|
@ -6994,7 +6994,8 @@ static void tg3_set_loopback(struct net_device *dev, u32 features)
|
|||
}
|
||||
}
|
||||
|
||||
static u32 tg3_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t tg3_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct tg3 *tp = netdev_priv(dev);
|
||||
|
||||
|
|
@ -7004,9 +7005,9 @@ static u32 tg3_fix_features(struct net_device *dev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int tg3_set_features(struct net_device *dev, u32 features)
|
||||
static int tg3_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
|
||||
if ((changed & NETIF_F_LOOPBACK) && netif_running(dev))
|
||||
tg3_set_loopback(dev, features);
|
||||
|
|
@ -15313,7 +15314,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,
|
|||
u32 sndmbx, rcvmbx, intmbx;
|
||||
char str[40];
|
||||
u64 dma_mask, persist_dma_mask;
|
||||
u32 features = 0;
|
||||
netdev_features_t features = 0;
|
||||
|
||||
printk_once(KERN_INFO "%s\n", version);
|
||||
|
||||
|
|
|
|||
|
|
@ -850,7 +850,8 @@ static int t1_set_mac_addr(struct net_device *dev, void *p)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static u32 t1_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t t1_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -864,9 +865,9 @@ static u32 t1_fix_features(struct net_device *dev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int t1_set_features(struct net_device *dev, u32 features)
|
||||
static int t1_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
struct adapter *adapter = dev->ml_priv;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
|
|
|
|||
|
|
@ -742,7 +742,7 @@ static inline void setup_ring_params(struct adapter *adapter, u64 addr,
|
|||
/*
|
||||
* Enable/disable VLAN acceleration.
|
||||
*/
|
||||
void t1_vlan_mode(struct adapter *adapter, u32 features)
|
||||
void t1_vlan_mode(struct adapter *adapter, netdev_features_t features)
|
||||
{
|
||||
struct sge *sge = adapter->sge;
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ irqreturn_t t1_interrupt(int irq, void *cookie);
|
|||
int t1_poll(struct napi_struct *, int);
|
||||
|
||||
netdev_tx_t t1_start_xmit(struct sk_buff *skb, struct net_device *dev);
|
||||
void t1_vlan_mode(struct adapter *adapter, u32 features);
|
||||
void t1_vlan_mode(struct adapter *adapter, netdev_features_t features);
|
||||
void t1_sge_start(struct sge *);
|
||||
void t1_sge_stop(struct sge *);
|
||||
int t1_sge_intr_error_handler(struct sge *);
|
||||
|
|
|
|||
|
|
@ -2532,7 +2532,7 @@ static void t3_synchronize_rx(struct adapter *adap, const struct port_info *p)
|
|||
}
|
||||
}
|
||||
|
||||
static void cxgb_vlan_mode(struct net_device *dev, u32 features)
|
||||
static void cxgb_vlan_mode(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct port_info *pi = netdev_priv(dev);
|
||||
struct adapter *adapter = pi->adapter;
|
||||
|
|
@ -2553,7 +2553,8 @@ static void cxgb_vlan_mode(struct net_device *dev, u32 features)
|
|||
t3_synchronize_rx(adapter, pi);
|
||||
}
|
||||
|
||||
static u32 cxgb_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t cxgb_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -2567,9 +2568,9 @@ static u32 cxgb_fix_features(struct net_device *dev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int cxgb_set_features(struct net_device *dev, u32 features)
|
||||
static int cxgb_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
cxgb_vlan_mode(dev, features);
|
||||
|
|
|
|||
|
|
@ -1856,10 +1856,10 @@ static int set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
|
|||
return err;
|
||||
}
|
||||
|
||||
static int cxgb_set_features(struct net_device *dev, u32 features)
|
||||
static int cxgb_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
const struct port_info *pi = netdev_priv(dev);
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
int err;
|
||||
|
||||
if (!(changed & NETIF_F_HW_VLAN_RX))
|
||||
|
|
@ -3538,7 +3538,7 @@ static int __devinit init_one(struct pci_dev *pdev,
|
|||
{
|
||||
int func, i, err;
|
||||
struct port_info *pi;
|
||||
unsigned int highdma = 0;
|
||||
bool highdma = false;
|
||||
struct adapter *adapter = NULL;
|
||||
|
||||
printk_once(KERN_INFO "%s - version %s\n", DRV_DESC, DRV_VERSION);
|
||||
|
|
@ -3564,7 +3564,7 @@ static int __devinit init_one(struct pci_dev *pdev,
|
|||
}
|
||||
|
||||
if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
|
||||
highdma = NETIF_F_HIGHDMA;
|
||||
highdma = true;
|
||||
err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "unable to obtain 64-bit DMA for "
|
||||
|
|
@ -3638,7 +3638,9 @@ static int __devinit init_one(struct pci_dev *pdev,
|
|||
NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
|
||||
NETIF_F_RXCSUM | NETIF_F_RXHASH |
|
||||
NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
|
||||
netdev->features |= netdev->hw_features | highdma;
|
||||
if (highdma)
|
||||
netdev->hw_features |= NETIF_F_HIGHDMA;
|
||||
netdev->features |= netdev->hw_features;
|
||||
netdev->vlan_features = netdev->features & VLAN_FEAT;
|
||||
|
||||
netdev->priv_flags |= IFF_UNICAST_FLT;
|
||||
|
|
|
|||
|
|
@ -1092,7 +1092,8 @@ static int cxgb4vf_change_mtu(struct net_device *dev, int new_mtu)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static u32 cxgb4vf_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t cxgb4vf_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since there is no support for separate rx/tx vlan accel
|
||||
|
|
@ -1106,10 +1107,11 @@ static u32 cxgb4vf_fix_features(struct net_device *dev, u32 features)
|
|||
return features;
|
||||
}
|
||||
|
||||
static int cxgb4vf_set_features(struct net_device *dev, u32 features)
|
||||
static int cxgb4vf_set_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct port_info *pi = netdev_priv(dev);
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
|
||||
if (changed & NETIF_F_HW_VLAN_RX)
|
||||
t4vf_set_rxmode(pi->adapter, pi->viid, -1, -1, -1, -1,
|
||||
|
|
|
|||
|
|
@ -474,10 +474,11 @@ static int dm9000_nway_reset(struct net_device *dev)
|
|||
return mii_nway_restart(&dm->mii);
|
||||
}
|
||||
|
||||
static int dm9000_set_features(struct net_device *dev, u32 features)
|
||||
static int dm9000_set_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
board_info_t *dm = to_dm9000_board(dev);
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
unsigned long flags;
|
||||
|
||||
if (!(changed & NETIF_F_RXCSUM))
|
||||
|
|
|
|||
|
|
@ -2306,7 +2306,7 @@ void gfar_check_rx_parser_mode(struct gfar_private *priv)
|
|||
}
|
||||
|
||||
/* Enables and disables VLAN insertion/extraction */
|
||||
void gfar_vlan_mode(struct net_device *dev, u32 features)
|
||||
void gfar_vlan_mode(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct gfar_private *priv = netdev_priv(dev);
|
||||
struct gfar __iomem *regs = NULL;
|
||||
|
|
|
|||
|
|
@ -1179,9 +1179,9 @@ extern void gfar_phy_test(struct mii_bus *bus, struct phy_device *phydev,
|
|||
extern void gfar_configure_coalescing(struct gfar_private *priv,
|
||||
unsigned long tx_mask, unsigned long rx_mask);
|
||||
void gfar_init_sysfs(struct net_device *dev);
|
||||
int gfar_set_features(struct net_device *dev, u32 features);
|
||||
int gfar_set_features(struct net_device *dev, netdev_features_t features);
|
||||
extern void gfar_check_rx_parser_mode(struct gfar_private *priv);
|
||||
extern void gfar_vlan_mode(struct net_device *dev, u32 features);
|
||||
extern void gfar_vlan_mode(struct net_device *dev, netdev_features_t features);
|
||||
|
||||
extern const struct ethtool_ops gfar_ethtool_ops;
|
||||
|
||||
|
|
|
|||
|
|
@ -519,12 +519,12 @@ static int gfar_sringparam(struct net_device *dev, struct ethtool_ringparam *rva
|
|||
return err;
|
||||
}
|
||||
|
||||
int gfar_set_features(struct net_device *dev, u32 features)
|
||||
int gfar_set_features(struct net_device *dev, netdev_features_t features)
|
||||
{
|
||||
struct gfar_private *priv = netdev_priv(dev);
|
||||
unsigned long flags;
|
||||
int err = 0, i = 0;
|
||||
u32 changed = dev->features ^ features;
|
||||
netdev_features_t changed = dev->features ^ features;
|
||||
|
||||
if (changed & (NETIF_F_HW_VLAN_TX|NETIF_F_HW_VLAN_RX))
|
||||
gfar_vlan_mode(dev, features);
|
||||
|
|
|
|||
|
|
@ -735,7 +735,8 @@ static void netdev_get_drvinfo(struct net_device *dev,
|
|||
sizeof(info->version) - 1);
|
||||
}
|
||||
|
||||
static u32 ibmveth_fix_features(struct net_device *dev, u32 features)
|
||||
static netdev_features_t ibmveth_fix_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
/*
|
||||
* Since the ibmveth firmware interface does not have the
|
||||
|
|
@ -838,7 +839,8 @@ static int ibmveth_set_csum_offload(struct net_device *dev, u32 data)
|
|||
return rc1 ? rc1 : rc2;
|
||||
}
|
||||
|
||||
static int ibmveth_set_features(struct net_device *dev, u32 features)
|
||||
static int ibmveth_set_features(struct net_device *dev,
|
||||
netdev_features_t features)
|
||||
{
|
||||
struct ibmveth_adapter *adapter = netdev_priv(dev);
|
||||
int rx_csum = !!(features & NETIF_F_RXCSUM);
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue