diff options
Diffstat (limited to 'arch/ia64/hp/sim/simeth.c')
| -rw-r--r-- | arch/ia64/hp/sim/simeth.c | 34 | 
1 files changed, 8 insertions, 26 deletions
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c index 7e81966ce48..d1b04c4c95e 100644 --- a/arch/ia64/hp/sim/simeth.c +++ b/arch/ia64/hp/sim/simeth.c @@ -20,7 +20,6 @@  #include <linux/skbuff.h>  #include <linux/notifier.h>  #include <linux/bitops.h> -#include <asm/system.h>  #include <asm/irq.h>  #include <asm/hpsim.h> @@ -129,17 +128,6 @@ netdev_probe(char *name, unsigned char *ether)  static inline int -netdev_connect(int irq) -{ -	/* XXX Fix me -	 * this does not support multiple cards -	 * also no return value -	 */ -	ia64_ssc_connect_irq(NETWORK_INTR, irq); -	return 0; -} - -static inline int  netdev_attach(int fd, int irq, unsigned int ipaddr)  {  	/* this puts the host interface in the right mode (start interrupting) */ @@ -172,7 +160,7 @@ static const struct net_device_ops simeth_netdev_ops = {  	.ndo_stop		= simeth_close,  	.ndo_start_xmit		= simeth_tx,  	.ndo_get_stats		= simeth_get_stats, -	.ndo_set_multicast_list	= set_multicast_list, /* not yet used */ +	.ndo_set_rx_mode	= set_multicast_list, /* not yet used */  }; @@ -193,7 +181,7 @@ simeth_probe1(void)  	unsigned char mac_addr[ETH_ALEN];  	struct simeth_local *local;  	struct net_device *dev; -	int fd, i, err, rc; +	int fd, err, rc;  	/*  	 * XXX Fix me @@ -226,22 +214,16 @@ simeth_probe1(void)  		return err;  	} -	if ((rc = assign_irq_vector(AUTO_ASSIGN)) < 0) -		panic("%s: out of interrupt vectors!\n", __func__); -	dev->irq = rc; -  	/*  	 * attach the interrupt in the simulator, this does enable interrupts  	 * until a netdev_attach() is called  	 */ -	netdev_connect(dev->irq); +	if ((rc = hpsim_get_irq(NETWORK_INTR)) < 0) +		panic("%s: out of interrupt vectors!\n", __func__); +	dev->irq = rc; -	printk(KERN_INFO "%s: hosteth=%s simfd=%d, HwAddr", -	       dev->name, simeth_device, local->simfd); -	for(i = 0; i < ETH_ALEN; i++) { -		printk(" %2.2x", dev->dev_addr[i]); -	} -	printk(", IRQ %d\n", dev->irq); +	printk(KERN_INFO "%s: hosteth=%s simfd=%d, HwAddr=%pm, IRQ %d\n", +	       dev->name, simeth_device, local->simfd, dev->dev_addr, dev->irq);  	return 0;  } @@ -286,7 +268,7 @@ static __inline__ int dev_is_ethdev(struct net_device *dev)  static int  simeth_device_event(struct notifier_block *this,unsigned long event, void *ptr)  { -	struct net_device *dev = ptr; +	struct net_device *dev = netdev_notifier_info_to_dev(ptr);  	struct simeth_local *local;  	struct in_device *in_dev;  	struct in_ifaddr **ifap = NULL;  | 
