kni: fix build with kernel 3.16

SET_ETHTOOL_OPS is gone in 3.16, so modify drivers accordingly.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
This commit is contained in:
Aaro Koskinen 2014-06-17 17:32:03 +03:00 committed by Thomas Monjalon
parent cacf4a0d10
commit e0b7ca0c03
3 changed files with 7 additions and 1 deletions

View File

@ -3859,6 +3859,7 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
#endif /* < 3.14.0 */
#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0) )
#define SET_ETHTOOL_OPS(netdev, ops) ((netdev)->ethtool_ops = (ops))
#define HAVE_VF_MIN_MAX_TXRATE 1
#endif /* >= 3.16.0 */

View File

@ -3135,4 +3135,9 @@ static inline int __kc_pci_vfs_assigned(struct pci_dev *dev)
#define pci_vfs_assigned(dev) __kc_pci_vfs_assigned(dev)
#endif
#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0) )
#define SET_ETHTOOL_OPS(netdev, ops) ((netdev)->ethtool_ops = (ops))
#endif /* >= 3.16.0 */
#endif /* _KCOMPAT_H_ */

View File

@ -213,5 +213,5 @@ struct ethtool_ops kni_ethtool_ops = {
void
kni_set_ethtool_ops(struct net_device *netdev)
{
SET_ETHTOOL_OPS(netdev, &kni_ethtool_ops);
netdev->ethtool_ops = &kni_ethtool_ops;
}