tms380tr: convert to net_device_ops
Conver this related group of drivers to new API Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
efda072393
Коммит
f1608f859a
|
@ -92,6 +92,8 @@ static void abyss_sifwritew(struct net_device *dev, unsigned short val, unsigned
|
|||
outw(val, dev->base_addr + reg);
|
||||
}
|
||||
|
||||
static struct net_device_ops abyss_netdev_ops;
|
||||
|
||||
static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
static int versionprinted;
|
||||
|
@ -157,8 +159,7 @@ static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_
|
|||
|
||||
memcpy(tp->ProductID, "Madge PCI 16/4 Mk2", PROD_ID_SIZE + 1);
|
||||
|
||||
dev->open = abyss_open;
|
||||
dev->stop = abyss_close;
|
||||
dev->netdev_ops = &abyss_netdev_ops;
|
||||
|
||||
pci_set_drvdata(pdev, dev);
|
||||
SET_NETDEV_DEV(dev, &pdev->dev);
|
||||
|
@ -450,6 +451,11 @@ static struct pci_driver abyss_driver = {
|
|||
|
||||
static int __init abyss_init (void)
|
||||
{
|
||||
abyss_netdev_ops = tms380tr_netdev_ops;
|
||||
|
||||
abyss_netdev_ops.ndo_open = abyss_open;
|
||||
abyss_netdev_ops.ndo_stop = abyss_close;
|
||||
|
||||
return pci_register_driver(&abyss_driver);
|
||||
}
|
||||
|
||||
|
|
|
@ -2330,6 +2330,17 @@ void tmsdev_term(struct net_device *dev)
|
|||
DMA_BIDIRECTIONAL);
|
||||
}
|
||||
|
||||
const struct net_device_ops tms380tr_netdev_ops = {
|
||||
.ndo_open = tms380tr_open,
|
||||
.ndo_stop = tms380tr_close,
|
||||
.ndo_start_xmit = tms380tr_send_packet,
|
||||
.ndo_tx_timeout = tms380tr_timeout,
|
||||
.ndo_get_stats = tms380tr_get_stats,
|
||||
.ndo_set_multicast_list = tms380tr_set_multicast_list,
|
||||
.ndo_set_mac_address = tms380tr_set_mac_address,
|
||||
};
|
||||
EXPORT_SYMBOL(tms380tr_netdev_ops);
|
||||
|
||||
int tmsdev_init(struct net_device *dev, struct device *pdev)
|
||||
{
|
||||
struct net_local *tms_local;
|
||||
|
@ -2353,16 +2364,8 @@ int tmsdev_init(struct net_device *dev, struct device *pdev)
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* These can be overridden by the card driver if needed */
|
||||
dev->open = tms380tr_open;
|
||||
dev->stop = tms380tr_close;
|
||||
dev->do_ioctl = NULL;
|
||||
dev->hard_start_xmit = tms380tr_send_packet;
|
||||
dev->tx_timeout = tms380tr_timeout;
|
||||
dev->netdev_ops = &tms380tr_netdev_ops;
|
||||
dev->watchdog_timeo = HZ;
|
||||
dev->get_stats = tms380tr_get_stats;
|
||||
dev->set_multicast_list = &tms380tr_set_multicast_list;
|
||||
dev->set_mac_address = tms380tr_set_mac_address;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
|
||||
/* module prototypes */
|
||||
extern const struct net_device_ops tms380tr_netdev_ops;
|
||||
int tms380tr_open(struct net_device *dev);
|
||||
int tms380tr_close(struct net_device *dev);
|
||||
irqreturn_t tms380tr_interrupt(int irq, void *dev_id);
|
||||
|
|
|
@ -157,8 +157,8 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
|
|||
|
||||
tp->tmspriv = cardinfo;
|
||||
|
||||
dev->open = tms380tr_open;
|
||||
dev->stop = tms380tr_close;
|
||||
dev->netdev_ops = &tms380tr_netdev_ops;
|
||||
|
||||
pci_set_drvdata(pdev, dev);
|
||||
SET_NETDEV_DEV(dev, &pdev->dev);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче