diff options
Diffstat (limited to 'drivers/net/smc-ultra.c')
-rw-r--r-- | drivers/net/smc-ultra.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/drivers/net/smc-ultra.c b/drivers/net/smc-ultra.c index 00d6cf1af484..b3866089a206 100644 --- a/drivers/net/smc-ultra.c +++ b/drivers/net/smc-ultra.c | |||
@@ -187,6 +187,21 @@ out: | |||
187 | } | 187 | } |
188 | #endif | 188 | #endif |
189 | 189 | ||
190 | static const struct net_device_ops ultra_netdev_ops = { | ||
191 | .ndo_open = ultra_open, | ||
192 | .ndo_stop = ultra_close_card, | ||
193 | |||
194 | .ndo_start_xmit = ei_start_xmit, | ||
195 | .ndo_tx_timeout = ei_tx_timeout, | ||
196 | .ndo_get_stats = ei_get_stats, | ||
197 | .ndo_set_multicast_list = ei_set_multicast_list, | ||
198 | .ndo_validate_addr = eth_validate_addr, | ||
199 | .ndo_change_mtu = eth_change_mtu, | ||
200 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
201 | .ndo_poll_controller = ei_poll, | ||
202 | #endif | ||
203 | }; | ||
204 | |||
190 | static int __init ultra_probe1(struct net_device *dev, int ioaddr) | 205 | static int __init ultra_probe1(struct net_device *dev, int ioaddr) |
191 | { | 206 | { |
192 | int i, retval; | 207 | int i, retval; |
@@ -198,7 +213,6 @@ static int __init ultra_probe1(struct net_device *dev, int ioaddr) | |||
198 | unsigned char num_pages, irqreg, addr, piomode; | 213 | unsigned char num_pages, irqreg, addr, piomode; |
199 | unsigned char idreg = inb(ioaddr + 7); | 214 | unsigned char idreg = inb(ioaddr + 7); |
200 | unsigned char reg4 = inb(ioaddr + 4) & 0x7f; | 215 | unsigned char reg4 = inb(ioaddr + 4) & 0x7f; |
201 | DECLARE_MAC_BUF(mac); | ||
202 | 216 | ||
203 | if (!request_region(ioaddr, ULTRA_IO_EXTENT, DRV_NAME)) | 217 | if (!request_region(ioaddr, ULTRA_IO_EXTENT, DRV_NAME)) |
204 | return -EBUSY; | 218 | return -EBUSY; |
@@ -228,8 +242,8 @@ static int __init ultra_probe1(struct net_device *dev, int ioaddr) | |||
228 | for (i = 0; i < 6; i++) | 242 | for (i = 0; i < 6; i++) |
229 | dev->dev_addr[i] = inb(ioaddr + 8 + i); | 243 | dev->dev_addr[i] = inb(ioaddr + 8 + i); |
230 | 244 | ||
231 | printk("%s: %s at %#3x, %s", dev->name, model_name, | 245 | printk("%s: %s at %#3x, %pM", dev->name, model_name, |
232 | ioaddr, print_mac(mac, dev->dev_addr)); | 246 | ioaddr, dev->dev_addr); |
233 | 247 | ||
234 | /* Switch from the station address to the alternate register set and | 248 | /* Switch from the station address to the alternate register set and |
235 | read the useful registers there. */ | 249 | read the useful registers there. */ |
@@ -301,11 +315,8 @@ static int __init ultra_probe1(struct net_device *dev, int ioaddr) | |||
301 | ei_status.get_8390_hdr = &ultra_get_8390_hdr; | 315 | ei_status.get_8390_hdr = &ultra_get_8390_hdr; |
302 | } | 316 | } |
303 | ei_status.reset_8390 = &ultra_reset_8390; | 317 | ei_status.reset_8390 = &ultra_reset_8390; |
304 | dev->open = &ultra_open; | 318 | |
305 | dev->stop = &ultra_close_card; | 319 | dev->netdev_ops = &ultra_netdev_ops; |
306 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
307 | dev->poll_controller = ei_poll; | ||
308 | #endif | ||
309 | NS8390_init(dev, 0); | 320 | NS8390_init(dev, 0); |
310 | 321 | ||
311 | retval = register_netdev(dev); | 322 | retval = register_netdev(dev); |