"%s: SiByte Ethernet at 0x%08lX, address: %02X:%02X:%02X:%02X:%02X:%02X\n", 
"%s: SiByte Ethernet at 0x%08lX, address: %02X:%02X:%02X:%02X:%02X:%02X\n", 
static int sbmac_init(struct net_device *dev, int idx){	struct sbmac_softc *sc;	unsigned char *eaddr;	uint64_t ea_reg;	int i;	int err;		sc = netdev_priv(dev);		/* Determine controller base address */		sc->sbm_base = IOADDR(dev->base_addr);	sc->sbm_dev = dev;	sc->sbe_idx = idx;		eaddr = sc->sbm_hwaddr;		/* 	 * Read the ethernet address.  The firwmare left this programmed	 * for us in the ethernet address register for each mac.	 */		ea_reg = __raw_readq(sc->sbm_base + R_MAC_ETHERNET_ADDR);	__raw_writeq(0, sc->sbm_base + R_MAC_ETHERNET_ADDR);	for (i = 0; i < 6; i++) {		eaddr[i] = (uint8_t) (ea_reg & 0xFF);		ea_reg >>= 8;	}		for (i = 0; i < 6; i++) {		dev->dev_addr[i] = eaddr[i];	}			/*	 * Init packet size 	 */		sc->sbm_buffersize = ENET_PACKET_SIZE + SMP_CACHE_BYTES * 2 + ETHER_ALIGN;	/* 	 * Initialize context (get pointers to registers and stuff), then	 * allocate the memory for the descriptor tables.	 */		sbmac_initctx(sc);		/*	 * Set up Linux device callins	 */		spin_lock_init(&(sc->sbm_lock));		dev->open               = sbmac_open;	dev->hard_start_xmit    = sbmac_start_tx;	dev->stop               = sbmac_close;	dev->get_stats          = sbmac_get_stats;	dev->set_multicast_list = sbmac_set_rx_mode;	dev->do_ioctl           = sbmac_mii_ioctl;	dev->tx_timeout         = sbmac_tx_timeout;	dev->watchdog_timeo     = TX_TIMEOUT;	dev->change_mtu         = sb1250_change_mtu;	/* This is needed for PASS2 for Rx H/W checksum feature */	sbmac_set_iphdr_offset(sc);	err = register_netdev(dev);	if (err)		goto out_uninit;	if (sc->rx_hw_checksum == ENABLE) {		printk(KERN_INFO "%s: enabling TCP rcv checksum\n",			sc->sbm_dev->name);	}	/*	 * Display Ethernet address (this is called during the config	 * process so we need to finish off the config message that	 * was being displayed)	 */	printk(KERN_INFO	       "%s: SiByte Ethernet at 0x%08lX, address: %02X:%02X:%02X:%02X:%02X:%02X\n", 	       dev->name, dev->base_addr,	       eaddr[0],eaddr[1],eaddr[2],eaddr[3],eaddr[4],eaddr[5]);		return 0;out_uninit:	sbmac_uninitctx(sc);	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/74b0247fbd4b6ed1693a420d85cf50267d840ef4/sb1250-mac.c/buggy/drivers/net/sb1250-mac.c