Skip to content

Commit

Permalink
tms380tr: convert to net_device_ops
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Jan 21, 2009
1 parent efda072 commit f1608f8
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 13 deletions.
10 changes: 8 additions & 2 deletions drivers/net/tokenring/abyss.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
}

Expand Down
21 changes: 12 additions & 9 deletions drivers/net/tokenring/tms380tr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
Expand Down
1 change: 1 addition & 0 deletions drivers/net/tokenring/tms380tr.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/tokenring/tmspci.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit f1608f8

Please sign in to comment.