int fd, i, err;
int fd, i, err, rc;
simeth_probe1(void){	unsigned char mac_addr[ETH_ALEN];	struct simeth_local *local;	struct net_device *dev;	int fd, i, err;	/*	 * XXX Fix me	 * let's support just one card for now	 */	if (test_and_set_bit(0, &card_count))		return -ENODEV;	/*	 * check with the simulator for the device	 */	fd = netdev_probe(simeth_device, mac_addr);	if (fd == -1)		return -ENODEV;	dev = alloc_etherdev(sizeof(struct simeth_local));	if (!dev)		return -ENOMEM;	memcpy(dev->dev_addr, mac_addr, sizeof(mac_addr));	local = dev->priv;	local->simfd = fd; /* keep track of underlying file descriptor */	dev->open		= simeth_open;	dev->stop		= simeth_close;	dev->hard_start_xmit	= simeth_tx;	dev->get_stats		= simeth_get_stats;	dev->set_multicast_list = set_multicast_list; /* no yet used */	err = register_netdev(dev);	if (err) {		free_netdev(dev);		return err;	}	dev->irq = assign_irq_vector(AUTO_ASSIGN);	/*	 * attach the interrupt in the simulator, this does enable interrupts	 * until a netdev_attach() is called	 */	netdev_connect(dev->irq);	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);	return 0;}