mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
net: remove COMPAT_NET_DEV_OPS
All drivers are already converted to new net_device_ops API and nobody uses old API anymore. Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c649c0e31d
commit
e3804cbebb
8 changed files with 0 additions and 123 deletions
|
@ -25,15 +25,6 @@ menuconfig NETDEVICES
|
||||||
# that for each of the symbols.
|
# that for each of the symbols.
|
||||||
if NETDEVICES
|
if NETDEVICES
|
||||||
|
|
||||||
config COMPAT_NET_DEV_OPS
|
|
||||||
default y
|
|
||||||
bool "Enable older network device API compatibility"
|
|
||||||
---help---
|
|
||||||
This option enables kernel compatibility with older network devices
|
|
||||||
that do not use net_device_ops interface.
|
|
||||||
|
|
||||||
If unsure, say Y.
|
|
||||||
|
|
||||||
config IFB
|
config IFB
|
||||||
tristate "Intermediate Functional Block support"
|
tristate "Intermediate Functional Block support"
|
||||||
depends on NET_CLS_ACT
|
depends on NET_CLS_ACT
|
||||||
|
|
|
@ -901,44 +901,6 @@ struct net_device
|
||||||
/* max exchange id for FCoE LRO by ddp */
|
/* max exchange id for FCoE LRO by ddp */
|
||||||
unsigned int fcoe_ddp_xid;
|
unsigned int fcoe_ddp_xid;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
struct {
|
|
||||||
int (*init)(struct net_device *dev);
|
|
||||||
void (*uninit)(struct net_device *dev);
|
|
||||||
int (*open)(struct net_device *dev);
|
|
||||||
int (*stop)(struct net_device *dev);
|
|
||||||
int (*hard_start_xmit) (struct sk_buff *skb,
|
|
||||||
struct net_device *dev);
|
|
||||||
u16 (*select_queue)(struct net_device *dev,
|
|
||||||
struct sk_buff *skb);
|
|
||||||
void (*change_rx_flags)(struct net_device *dev,
|
|
||||||
int flags);
|
|
||||||
void (*set_rx_mode)(struct net_device *dev);
|
|
||||||
void (*set_multicast_list)(struct net_device *dev);
|
|
||||||
int (*set_mac_address)(struct net_device *dev,
|
|
||||||
void *addr);
|
|
||||||
int (*validate_addr)(struct net_device *dev);
|
|
||||||
int (*do_ioctl)(struct net_device *dev,
|
|
||||||
struct ifreq *ifr, int cmd);
|
|
||||||
int (*set_config)(struct net_device *dev,
|
|
||||||
struct ifmap *map);
|
|
||||||
int (*change_mtu)(struct net_device *dev, int new_mtu);
|
|
||||||
int (*neigh_setup)(struct net_device *dev,
|
|
||||||
struct neigh_parms *);
|
|
||||||
void (*tx_timeout) (struct net_device *dev);
|
|
||||||
struct net_device_stats* (*get_stats)(struct net_device *dev);
|
|
||||||
void (*vlan_rx_register)(struct net_device *dev,
|
|
||||||
struct vlan_group *grp);
|
|
||||||
void (*vlan_rx_add_vid)(struct net_device *dev,
|
|
||||||
unsigned short vid);
|
|
||||||
void (*vlan_rx_kill_vid)(struct net_device *dev,
|
|
||||||
unsigned short vid);
|
|
||||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
||||||
void (*poll_controller)(struct net_device *dev);
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
#define to_net_dev(d) container_of(d, struct net_device, dev)
|
#define to_net_dev(d) container_of(d, struct net_device, dev)
|
||||||
|
|
||||||
|
|
|
@ -185,10 +185,6 @@ static const struct header_ops fddi_header_ops = {
|
||||||
static void fddi_setup(struct net_device *dev)
|
static void fddi_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
dev->header_ops = &fddi_header_ops;
|
dev->header_ops = &fddi_header_ops;
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
dev->change_mtu = fddi_change_mtu,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dev->type = ARPHRD_FDDI;
|
dev->type = ARPHRD_FDDI;
|
||||||
dev->hard_header_len = FDDI_K_SNAP_HLEN+3; /* Assume 802.2 SNAP hdr len + 3 pad bytes */
|
dev->hard_header_len = FDDI_K_SNAP_HLEN+3; /* Assume 802.2 SNAP hdr len + 3 pad bytes */
|
||||||
dev->mtu = FDDI_K_SNAP_DLEN; /* Assume max payload of 802.2 SNAP frame */
|
dev->mtu = FDDI_K_SNAP_DLEN; /* Assume max payload of 802.2 SNAP frame */
|
||||||
|
|
|
@ -193,11 +193,6 @@ static const struct header_ops hippi_header_ops = {
|
||||||
|
|
||||||
static void hippi_setup(struct net_device *dev)
|
static void hippi_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
dev->change_mtu = hippi_change_mtu;
|
|
||||||
dev->set_mac_address = hippi_mac_addr;
|
|
||||||
dev->neigh_setup = hippi_neigh_setup_dev;
|
|
||||||
#endif
|
|
||||||
dev->header_ops = &hippi_header_ops;
|
dev->header_ops = &hippi_header_ops;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -644,7 +644,6 @@ static int vlan_dev_init(struct net_device *dev)
|
||||||
dev->hard_header_len = real_dev->hard_header_len + VLAN_HLEN;
|
dev->hard_header_len = real_dev->hard_header_len + VLAN_HLEN;
|
||||||
dev->netdev_ops = &vlan_netdev_ops;
|
dev->netdev_ops = &vlan_netdev_ops;
|
||||||
}
|
}
|
||||||
netdev_resync_ops(dev);
|
|
||||||
|
|
||||||
if (is_vlan_dev(real_dev))
|
if (is_vlan_dev(real_dev))
|
||||||
subclass = 1;
|
subclass = 1;
|
||||||
|
|
|
@ -9,21 +9,10 @@
|
||||||
#include <linux/if_arp.h>
|
#include <linux/if_arp.h>
|
||||||
#include <linux/if_ltalk.h>
|
#include <linux/if_ltalk.h>
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
static int ltalk_change_mtu(struct net_device *dev, int mtu)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void ltalk_setup(struct net_device *dev)
|
static void ltalk_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
/* Fill in the fields of the device structure with localtalk-generic values. */
|
/* Fill in the fields of the device structure with localtalk-generic values. */
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
dev->change_mtu = ltalk_change_mtu;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dev->type = ARPHRD_LOCALTLK;
|
dev->type = ARPHRD_LOCALTLK;
|
||||||
dev->hard_header_len = LTALK_HLEN;
|
dev->hard_header_len = LTALK_HLEN;
|
||||||
dev->mtu = LTALK_MTU;
|
dev->mtu = LTALK_MTU;
|
||||||
|
|
|
@ -4580,39 +4580,6 @@ unsigned long netdev_fix_features(unsigned long features, const char *name)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(netdev_fix_features);
|
EXPORT_SYMBOL(netdev_fix_features);
|
||||||
|
|
||||||
/* Some devices need to (re-)set their netdev_ops inside
|
|
||||||
* ->init() or similar. If that happens, we have to setup
|
|
||||||
* the compat pointers again.
|
|
||||||
*/
|
|
||||||
void netdev_resync_ops(struct net_device *dev)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
const struct net_device_ops *ops = dev->netdev_ops;
|
|
||||||
|
|
||||||
dev->init = ops->ndo_init;
|
|
||||||
dev->uninit = ops->ndo_uninit;
|
|
||||||
dev->open = ops->ndo_open;
|
|
||||||
dev->change_rx_flags = ops->ndo_change_rx_flags;
|
|
||||||
dev->set_rx_mode = ops->ndo_set_rx_mode;
|
|
||||||
dev->set_multicast_list = ops->ndo_set_multicast_list;
|
|
||||||
dev->set_mac_address = ops->ndo_set_mac_address;
|
|
||||||
dev->validate_addr = ops->ndo_validate_addr;
|
|
||||||
dev->do_ioctl = ops->ndo_do_ioctl;
|
|
||||||
dev->set_config = ops->ndo_set_config;
|
|
||||||
dev->change_mtu = ops->ndo_change_mtu;
|
|
||||||
dev->neigh_setup = ops->ndo_neigh_setup;
|
|
||||||
dev->tx_timeout = ops->ndo_tx_timeout;
|
|
||||||
dev->get_stats = ops->ndo_get_stats;
|
|
||||||
dev->vlan_rx_register = ops->ndo_vlan_rx_register;
|
|
||||||
dev->vlan_rx_add_vid = ops->ndo_vlan_rx_add_vid;
|
|
||||||
dev->vlan_rx_kill_vid = ops->ndo_vlan_rx_kill_vid;
|
|
||||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
||||||
dev->poll_controller = ops->ndo_poll_controller;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(netdev_resync_ops);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* register_netdevice - register a network device
|
* register_netdevice - register a network device
|
||||||
* @dev: device to register
|
* @dev: device to register
|
||||||
|
@ -4652,23 +4619,6 @@ int register_netdevice(struct net_device *dev)
|
||||||
|
|
||||||
dev->iflink = -1;
|
dev->iflink = -1;
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
/* Netdevice_ops API compatibility support.
|
|
||||||
* This is temporary until all network devices are converted.
|
|
||||||
*/
|
|
||||||
if (dev->netdev_ops) {
|
|
||||||
netdev_resync_ops(dev);
|
|
||||||
} else {
|
|
||||||
char drivername[64];
|
|
||||||
pr_info("%s (%s): not using net_device_ops yet\n",
|
|
||||||
dev->name, netdev_drivername(dev, drivername, 64));
|
|
||||||
|
|
||||||
/* This works only because net_device_ops and the
|
|
||||||
compatibility structure are the same. */
|
|
||||||
dev->netdev_ops = (void *) &(dev->init);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Init, if this function is available */
|
/* Init, if this function is available */
|
||||||
if (dev->netdev_ops->ndo_init) {
|
if (dev->netdev_ops->ndo_init) {
|
||||||
ret = dev->netdev_ops->ndo_init(dev);
|
ret = dev->netdev_ops->ndo_init(dev);
|
||||||
|
|
|
@ -337,11 +337,6 @@ const struct header_ops eth_header_ops ____cacheline_aligned = {
|
||||||
void ether_setup(struct net_device *dev)
|
void ether_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
dev->header_ops = ð_header_ops;
|
dev->header_ops = ð_header_ops;
|
||||||
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
|
||||||
dev->change_mtu = eth_change_mtu;
|
|
||||||
dev->set_mac_address = eth_mac_addr;
|
|
||||||
dev->validate_addr = eth_validate_addr;
|
|
||||||
#endif
|
|
||||||
dev->type = ARPHRD_ETHER;
|
dev->type = ARPHRD_ETHER;
|
||||||
dev->hard_header_len = ETH_HLEN;
|
dev->hard_header_len = ETH_HLEN;
|
||||||
dev->mtu = ETH_DATA_LEN;
|
dev->mtu = ETH_DATA_LEN;
|
||||||
|
|
Loading…
Reference in a new issue