diff options
Diffstat (limited to 'arch/ia64/hp/sim/simeth.c')
-rw-r--r-- | arch/ia64/hp/sim/simeth.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c index 3d47839a0c48..e4d8fde68103 100644 --- a/arch/ia64/hp/sim/simeth.c +++ b/arch/ia64/hp/sim/simeth.c | |||
@@ -167,6 +167,15 @@ netdev_read(int fd, unsigned char *buf, unsigned int len) | |||
167 | return ia64_ssc(fd, __pa(buf), len, 0, SSC_NETDEV_RECV); | 167 | return ia64_ssc(fd, __pa(buf), len, 0, SSC_NETDEV_RECV); |
168 | } | 168 | } |
169 | 169 | ||
170 | static const struct net_device_ops simeth_netdev_ops = { | ||
171 | .ndo_open = simeth_open, | ||
172 | .ndo_stop = simeth_close, | ||
173 | .ndo_start_xmit = simeth_tx, | ||
174 | .ndo_get_stats = simeth_get_stats, | ||
175 | .ndo_set_multicast_list = set_multicast_list, /* not yet used */ | ||
176 | |||
177 | }; | ||
178 | |||
170 | /* | 179 | /* |
171 | * Function shared with module code, so cannot be in init section | 180 | * Function shared with module code, so cannot be in init section |
172 | * | 181 | * |
@@ -206,14 +215,10 @@ simeth_probe1(void) | |||
206 | 215 | ||
207 | memcpy(dev->dev_addr, mac_addr, sizeof(mac_addr)); | 216 | memcpy(dev->dev_addr, mac_addr, sizeof(mac_addr)); |
208 | 217 | ||
209 | local = dev->priv; | 218 | local = netdev_priv(dev); |
210 | local->simfd = fd; /* keep track of underlying file descriptor */ | 219 | local->simfd = fd; /* keep track of underlying file descriptor */ |
211 | 220 | ||
212 | dev->open = simeth_open; | 221 | dev->netdev_ops = &simeth_netdev_ops; |
213 | dev->stop = simeth_close; | ||
214 | dev->hard_start_xmit = simeth_tx; | ||
215 | dev->get_stats = simeth_get_stats; | ||
216 | dev->set_multicast_list = set_multicast_list; /* no yet used */ | ||
217 | 222 | ||
218 | err = register_netdev(dev); | 223 | err = register_netdev(dev); |
219 | if (err) { | 224 | if (err) { |
@@ -325,7 +330,7 @@ simeth_device_event(struct notifier_block *this,unsigned long event, void *ptr) | |||
325 | * we get DOWN then UP. | 330 | * we get DOWN then UP. |
326 | */ | 331 | */ |
327 | 332 | ||
328 | local = dev->priv; | 333 | local = netdev_priv(dev); |
329 | /* now do it for real */ | 334 | /* now do it for real */ |
330 | r = event == NETDEV_UP ? | 335 | r = event == NETDEV_UP ? |
331 | netdev_attach(local->simfd, dev->irq, ntohl(ifa->ifa_local)): | 336 | netdev_attach(local->simfd, dev->irq, ntohl(ifa->ifa_local)): |
@@ -380,7 +385,7 @@ frame_print(unsigned char *from, unsigned char *frame, int len) | |||
380 | static int | 385 | static int |
381 | simeth_tx(struct sk_buff *skb, struct net_device *dev) | 386 | simeth_tx(struct sk_buff *skb, struct net_device *dev) |
382 | { | 387 | { |
383 | struct simeth_local *local = dev->priv; | 388 | struct simeth_local *local = netdev_priv(dev); |
384 | 389 | ||
385 | #if 0 | 390 | #if 0 |
386 | /* ensure we have at least ETH_ZLEN bytes (min frame size) */ | 391 | /* ensure we have at least ETH_ZLEN bytes (min frame size) */ |
@@ -443,7 +448,7 @@ simeth_rx(struct net_device *dev) | |||
443 | int len; | 448 | int len; |
444 | int rcv_count = SIMETH_RECV_MAX; | 449 | int rcv_count = SIMETH_RECV_MAX; |
445 | 450 | ||
446 | local = dev->priv; | 451 | local = netdev_priv(dev); |
447 | /* | 452 | /* |
448 | * the loop concept has been borrowed from other drivers | 453 | * the loop concept has been borrowed from other drivers |
449 | * looks to me like it's a throttling thing to avoid pushing to many | 454 | * looks to me like it's a throttling thing to avoid pushing to many |
@@ -507,7 +512,7 @@ simeth_interrupt(int irq, void *dev_id) | |||
507 | static struct net_device_stats * | 512 | static struct net_device_stats * |
508 | simeth_get_stats(struct net_device *dev) | 513 | simeth_get_stats(struct net_device *dev) |
509 | { | 514 | { |
510 | struct simeth_local *local = dev->priv; | 515 | struct simeth_local *local = netdev_priv(dev); |
511 | 516 | ||
512 | return &local->stats; | 517 | return &local->stats; |
513 | } | 518 | } |