strncpy(tms_device.bus_id,dev->name, BUS_ID_SIZE);  if (request_firmware(&fw_entry, "tms380tr.bin", &tms_device) != 0) { 
if (request_firmware(&fw_entry, "tms380tr.bin", tp->pdev) != 0) { 
static int tms380tr_reset_adapter(struct net_device *dev){	struct net_local *tp = netdev_priv(dev);	unsigned short *fw_ptr;	unsigned short count, c, count2;	const struct firmware *fw_entry = NULL;	strncpy(tms_device.bus_id,dev->name, BUS_ID_SIZE);	if (request_firmware(&fw_entry, "tms380tr.bin", &tms_device) != 0) {		printk(KERN_ALERT "%s: firmware %s is missing, cannot start.\n",			dev->name, "tms380tr.bin");		return (-1);	}	fw_ptr = (unsigned short *)fw_entry->data;	count2 = fw_entry->size / 2;	/* Hardware adapter reset */	SIFWRITEW(ACL_ARESET, SIFACL);	tms380tr_wait(40);		c = SIFREADW(SIFACL);	tms380tr_wait(20);	if(dev->dma == 0)	/* For PCI adapters */	{		c &= ~(ACL_NSELOUT0 | ACL_NSELOUT1);	/* Clear bits */		if(tp->setnselout)		  c |= (*tp->setnselout)(dev);	}	/* In case a command is pending - forget it */	tp->ScbInUse = 0;	c &= ~ACL_ARESET;		/* Clear adapter reset bit */	c |=  ACL_CPHALT;		/* Halt adapter CPU, allow download */	c |= ACL_BOOT;	c |= ACL_SINTEN;	c &= ~ACL_PSDMAEN;		/* Clear pseudo dma bit */	SIFWRITEW(c, SIFACL);	tms380tr_wait(40);	count = 0;	/* Download firmware via DIO interface: */	do {		if (count2 < 3) continue;		/* Download first address part */		SIFWRITEW(*fw_ptr, SIFADX);		fw_ptr++;		count2--;		/* Download second address part */		SIFWRITEW(*fw_ptr, SIFADD);		fw_ptr++;		count2--;		if((count = *fw_ptr) != 0)	/* Load loop counter */		{			fw_ptr++;	/* Download block data */			count2--;			if (count > count2) continue;			for(; count > 0; count--)			{				SIFWRITEW(*fw_ptr, SIFINC);				fw_ptr++;				count2--;			}		}		else	/* Stop, if last block downloaded */		{			c = SIFREADW(SIFACL);			c &= (~ACL_CPHALT | ACL_SINTEN);			/* Clear CPHALT and start BUD */			SIFWRITEW(c, SIFACL);			if (fw_entry)				release_firmware(fw_entry);			return (1);		}	} while(count == 0);	if (fw_entry)		release_firmware(fw_entry);	printk(KERN_INFO "%s: Adapter Download Failed\n", dev->name);	return (-1);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/504ff16cecf2a788181eddc9d6e47d94ce50a9f6/tms380tr.c/clean/drivers/net/tokenring/tms380tr.c