static int __pmac amd_erase_bank(int bank) 
static int amd_erase_bank(int bank) 
static int __pmac amd_erase_bank(int bank){	int i, stat = 0;	unsigned long timeout;	u8* base = (u8 *)nvram_data + core99_bank*NVRAM_SIZE;       	DBG("nvram: AMD Erasing bank %d...\n", bank);	/* Unlock 1 */	out_8(base+0x555, 0xaa);	udelay(1);	/* Unlock 2 */	out_8(base+0x2aa, 0x55);	udelay(1);	/* Sector-Erase */	out_8(base+0x555, 0x80);	udelay(1);	out_8(base+0x555, 0xaa);	udelay(1);	out_8(base+0x2aa, 0x55);	udelay(1);	out_8(base, 0x30);	udelay(1);	timeout = 0;	do {		if (++timeout > 1000000) {			printk(KERN_ERR "nvram: AMD flash erase timeout !\n");			break;		}		stat = in_8(base) ^ in_8(base);	} while (stat != 0);		/* Reset */	out_8(base, 0xf0);	udelay(1);		for (i=0; i<NVRAM_SIZE; i++)		if (base[i] != 0xff) {			printk(KERN_ERR "nvram: AMD flash erase failed !\n");			return -ENXIO;		}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/aacaf9bd9646f6f611a08fca976411b6e5ddefe2/pmac_nvram.c/buggy/arch/ppc64/kernel/pmac_nvram.c