aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2009-01-09 08:01:25 -0500
committerDavid S. Miller <davem@davemloft.net>2009-01-21 17:02:30 -0500
commitf1608f859a3fba95a3b0ae70f2528b81c6928d77 (patch)
tree4cb19e2f821c5c868c21b1e63ba208b21fd6c62a
parentefda072393fb4213e43d92bdd20cf180a06a8eb0 (diff)
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>
-rw-r--r--drivers/net/tokenring/abyss.c10
-rw-r--r--drivers/net/tokenring/tms380tr.c21
-rw-r--r--drivers/net/tokenring/tms380tr.h1
-rw-r--r--drivers/net/tokenring/tmspci.c4
4 files changed, 23 insertions, 13 deletions
diff --git a/drivers/net/tokenring/abyss.c b/drivers/net/tokenring/abyss.c
index b566d6d79ecd..b9db1b5a58a3 100644
--- a/drivers/net/tokenring/abyss.c
+++ b/drivers/net/tokenring/abyss.c
@@ -92,6 +92,8 @@ static void abyss_sifwritew(struct net_device *dev, unsigned short val, unsigned
92 outw(val, dev->base_addr + reg); 92 outw(val, dev->base_addr + reg);
93} 93}
94 94
95static struct net_device_ops abyss_netdev_ops;
96
95static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_id *ent) 97static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_id *ent)
96{ 98{
97 static int versionprinted; 99 static int versionprinted;
@@ -157,8 +159,7 @@ static int __devinit abyss_attach(struct pci_dev *pdev, const struct pci_device_
157 159
158 memcpy(tp->ProductID, "Madge PCI 16/4 Mk2", PROD_ID_SIZE + 1); 160 memcpy(tp->ProductID, "Madge PCI 16/4 Mk2", PROD_ID_SIZE + 1);
159 161
160 dev->open = abyss_open; 162 dev->netdev_ops = &abyss_netdev_ops;
161 dev->stop = abyss_close;
162 163
163 pci_set_drvdata(pdev, dev); 164 pci_set_drvdata(pdev, dev);
164 SET_NETDEV_DEV(dev, &pdev->dev); 165 SET_NETDEV_DEV(dev, &pdev->dev);
@@ -450,6 +451,11 @@ static struct pci_driver abyss_driver = {
450 451
451static int __init abyss_init (void) 452static int __init abyss_init (void)
452{ 453{
454 abyss_netdev_ops = tms380tr_netdev_ops;
455
456 abyss_netdev_ops.ndo_open = abyss_open;
457 abyss_netdev_ops.ndo_stop = abyss_close;
458
453 return pci_register_driver(&abyss_driver); 459 return pci_register_driver(&abyss_driver);
454} 460}
455 461
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
index 5be34c2fd483..b11bb72dc7ab 100644
--- a/drivers/net/tokenring/tms380tr.c
+++ b/drivers/net/tokenring/tms380tr.c
@@ -2330,6 +2330,17 @@ void tmsdev_term(struct net_device *dev)
2330 DMA_BIDIRECTIONAL); 2330 DMA_BIDIRECTIONAL);
2331} 2331}
2332 2332
2333const struct net_device_ops tms380tr_netdev_ops = {
2334 .ndo_open = tms380tr_open,
2335 .ndo_stop = tms380tr_close,
2336 .ndo_start_xmit = tms380tr_send_packet,
2337 .ndo_tx_timeout = tms380tr_timeout,
2338 .ndo_get_stats = tms380tr_get_stats,
2339 .ndo_set_multicast_list = tms380tr_set_multicast_list,
2340 .ndo_set_mac_address = tms380tr_set_mac_address,
2341};
2342EXPORT_SYMBOL(tms380tr_netdev_ops);
2343
2333int tmsdev_init(struct net_device *dev, struct device *pdev) 2344int tmsdev_init(struct net_device *dev, struct device *pdev)
2334{ 2345{
2335 struct net_local *tms_local; 2346 struct net_local *tms_local;
@@ -2353,16 +2364,8 @@ int tmsdev_init(struct net_device *dev, struct device *pdev)
2353 return -ENOMEM; 2364 return -ENOMEM;
2354 } 2365 }
2355 2366
2356 /* These can be overridden by the card driver if needed */ 2367 dev->netdev_ops = &tms380tr_netdev_ops;
2357 dev->open = tms380tr_open;
2358 dev->stop = tms380tr_close;
2359 dev->do_ioctl = NULL;
2360 dev->hard_start_xmit = tms380tr_send_packet;
2361 dev->tx_timeout = tms380tr_timeout;
2362 dev->watchdog_timeo = HZ; 2368 dev->watchdog_timeo = HZ;
2363 dev->get_stats = tms380tr_get_stats;
2364 dev->set_multicast_list = &tms380tr_set_multicast_list;
2365 dev->set_mac_address = tms380tr_set_mac_address;
2366 2369
2367 return 0; 2370 return 0;
2368} 2371}
diff --git a/drivers/net/tokenring/tms380tr.h b/drivers/net/tokenring/tms380tr.h
index 7af76d708849..60b30ee38dcb 100644
--- a/drivers/net/tokenring/tms380tr.h
+++ b/drivers/net/tokenring/tms380tr.h
@@ -14,6 +14,7 @@
14#include <linux/interrupt.h> 14#include <linux/interrupt.h>
15 15
16/* module prototypes */ 16/* module prototypes */
17extern const struct net_device_ops tms380tr_netdev_ops;
17int tms380tr_open(struct net_device *dev); 18int tms380tr_open(struct net_device *dev);
18int tms380tr_close(struct net_device *dev); 19int tms380tr_close(struct net_device *dev);
19irqreturn_t tms380tr_interrupt(int irq, void *dev_id); 20irqreturn_t tms380tr_interrupt(int irq, void *dev_id);
diff --git a/drivers/net/tokenring/tmspci.c b/drivers/net/tokenring/tmspci.c
index 5f601773c260..b397e8785d6d 100644
--- a/drivers/net/tokenring/tmspci.c
+++ b/drivers/net/tokenring/tmspci.c
@@ -157,8 +157,8 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic
157 157
158 tp->tmspriv = cardinfo; 158 tp->tmspriv = cardinfo;
159 159
160 dev->open = tms380tr_open; 160 dev->netdev_ops = &tms380tr_netdev_ops;
161 dev->stop = tms380tr_close; 161
162 pci_set_drvdata(pdev, dev); 162 pci_set_drvdata(pdev, dev);
163 SET_NETDEV_DEV(dev, &pdev->dev); 163 SET_NETDEV_DEV(dev, &pdev->dev);
164 164