mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
hippi: convert driver to net_device_ops
Convert the HIPPI infrastructure for use with net_device_ops. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fd8f4997e3
commit
748ff68fad
3 changed files with 23 additions and 10 deletions
|
@ -63,6 +63,16 @@ MODULE_LICENSE("GPL");
|
||||||
|
|
||||||
static char version[] __devinitdata = "rrunner.c: v0.50 11/11/2002 Jes Sorensen (jes@wildopensource.com)\n";
|
static char version[] __devinitdata = "rrunner.c: v0.50 11/11/2002 Jes Sorensen (jes@wildopensource.com)\n";
|
||||||
|
|
||||||
|
|
||||||
|
static const struct net_device_ops rr_netdev_ops = {
|
||||||
|
.ndo_open = rr_open,
|
||||||
|
.ndo_stop = rr_close,
|
||||||
|
.ndo_do_ioctl = rr_ioctl,
|
||||||
|
.ndo_start_xmit = rr_start_xmit,
|
||||||
|
.ndo_change_mtu = hippi_change_mtu,
|
||||||
|
.ndo_set_mac_address = hippi_mac_addr,
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implementation notes:
|
* Implementation notes:
|
||||||
*
|
*
|
||||||
|
@ -115,10 +125,7 @@ static int __devinit rr_init_one(struct pci_dev *pdev,
|
||||||
spin_lock_init(&rrpriv->lock);
|
spin_lock_init(&rrpriv->lock);
|
||||||
|
|
||||||
dev->irq = pdev->irq;
|
dev->irq = pdev->irq;
|
||||||
dev->open = &rr_open;
|
dev->netdev_ops = &rr_netdev_ops;
|
||||||
dev->hard_start_xmit = &rr_start_xmit;
|
|
||||||
dev->stop = &rr_close;
|
|
||||||
dev->do_ioctl = &rr_ioctl;
|
|
||||||
|
|
||||||
dev->base_addr = pci_resource_start(pdev, 0);
|
dev->base_addr = pci_resource_start(pdev, 0);
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,9 @@ struct hippi_cb {
|
||||||
};
|
};
|
||||||
|
|
||||||
extern __be16 hippi_type_trans(struct sk_buff *skb, struct net_device *dev);
|
extern __be16 hippi_type_trans(struct sk_buff *skb, struct net_device *dev);
|
||||||
|
extern int hippi_change_mtu(struct net_device *dev, int new_mtu);
|
||||||
|
extern int hippi_mac_addr(struct net_device *dev, void *p);
|
||||||
|
extern int hippi_neigh_setup_dev(struct net_device *dev, struct neigh_parms *p);
|
||||||
extern struct net_device *alloc_hippi_dev(int sizeof_priv);
|
extern struct net_device *alloc_hippi_dev(int sizeof_priv);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ __be16 hippi_type_trans(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
EXPORT_SYMBOL(hippi_type_trans);
|
EXPORT_SYMBOL(hippi_type_trans);
|
||||||
|
|
||||||
static int hippi_change_mtu(struct net_device *dev, int new_mtu)
|
int hippi_change_mtu(struct net_device *dev, int new_mtu)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* HIPPI's got these nice large MTUs.
|
* HIPPI's got these nice large MTUs.
|
||||||
|
@ -154,12 +154,13 @@ static int hippi_change_mtu(struct net_device *dev, int new_mtu)
|
||||||
dev->mtu = new_mtu;
|
dev->mtu = new_mtu;
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(hippi_change_mtu);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For HIPPI we will actually use the lower 4 bytes of the hardware
|
* For HIPPI we will actually use the lower 4 bytes of the hardware
|
||||||
* address as the I-FIELD rather than the actual hardware address.
|
* address as the I-FIELD rather than the actual hardware address.
|
||||||
*/
|
*/
|
||||||
static int hippi_mac_addr(struct net_device *dev, void *p)
|
int hippi_mac_addr(struct net_device *dev, void *p)
|
||||||
{
|
{
|
||||||
struct sockaddr *addr = p;
|
struct sockaddr *addr = p;
|
||||||
if (netif_running(dev))
|
if (netif_running(dev))
|
||||||
|
@ -167,8 +168,9 @@ static int hippi_mac_addr(struct net_device *dev, void *p)
|
||||||
memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
|
memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(hippi_mac_addr);
|
||||||
|
|
||||||
static int hippi_neigh_setup_dev(struct net_device *dev, struct neigh_parms *p)
|
int hippi_neigh_setup_dev(struct net_device *dev, struct neigh_parms *p)
|
||||||
{
|
{
|
||||||
/* Never send broadcast/multicast ARP messages */
|
/* Never send broadcast/multicast ARP messages */
|
||||||
p->mcast_probes = 0;
|
p->mcast_probes = 0;
|
||||||
|
@ -181,6 +183,7 @@ static int hippi_neigh_setup_dev(struct net_device *dev, struct neigh_parms *p)
|
||||||
p->ucast_probes = 0;
|
p->ucast_probes = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(hippi_neigh_setup_dev);
|
||||||
|
|
||||||
static const struct header_ops hippi_header_ops = {
|
static const struct header_ops hippi_header_ops = {
|
||||||
.create = hippi_header,
|
.create = hippi_header,
|
||||||
|
@ -190,11 +193,12 @@ static const struct header_ops hippi_header_ops = {
|
||||||
|
|
||||||
static void hippi_setup(struct net_device *dev)
|
static void hippi_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
dev->set_multicast_list = NULL;
|
#ifdef CONFIG_COMPAT_NET_DEV_OPS
|
||||||
dev->change_mtu = hippi_change_mtu;
|
dev->change_mtu = hippi_change_mtu;
|
||||||
dev->header_ops = &hippi_header_ops;
|
|
||||||
dev->set_mac_address = hippi_mac_addr;
|
dev->set_mac_address = hippi_mac_addr;
|
||||||
dev->neigh_setup = hippi_neigh_setup_dev;
|
dev->neigh_setup = hippi_neigh_setup_dev;
|
||||||
|
#endif
|
||||||
|
dev->header_ops = &hippi_header_ops;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We don't support HIPPI `ARP' for the time being, and probably
|
* We don't support HIPPI `ARP' for the time being, and probably
|
||||||
|
|
Loading…
Reference in a new issue