static int initialized = 0; 
static int one_time_init(void){	int loop;	int retval = 0;	static int initialized = 0;	if (initialized)		return 0;	power_mode = 0;	retval = pci_print_IRQ_route();	if (retval)		goto error;	dbg("Initialize + Start the notification mechanism \n");	retval = cpqhp_event_start_thread();	if (retval)		goto error;	dbg("Initialize slot lists\n");	for (loop = 0; loop < 256; loop++) {		cpqhp_slot_list[loop] = NULL;	}	// FIXME: We also need to hook the NMI handler eventually.	// this also needs to be worked with Christoph	// register_NMI_handler();	// Map rom address	cpqhp_rom_start = ioremap(ROM_PHY_ADDR, ROM_PHY_LEN);	if (!cpqhp_rom_start) {		err ("Could not ioremap memory region for ROM\n");		retval = -EIO;		goto error;	}		/* Now, map the int15 entry point if we are on compaq specific hardware */	compaq_nvram_init(cpqhp_rom_start);		/* Map smbios table entry point structure */	smbios_table = detect_SMBIOS_pointer(cpqhp_rom_start,					cpqhp_rom_start + ROM_PHY_LEN);	if (!smbios_table) {		err ("Could not find the SMBIOS pointer in memory\n");		retval = -EIO;		goto error_rom_start;	}	smbios_start = ioremap(readl(smbios_table + ST_ADDRESS),					readw(smbios_table + ST_LENGTH));	if (!smbios_start) {		err ("Could not ioremap memory region taken from SMBIOS values\n");		retval = -EIO;		goto error_smbios_start;	}	initialized = 1;	return retval;error_smbios_start:	iounmap(smbios_start);error_rom_start:	iounmap(cpqhp_rom_start);error:	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4002307d2b563a6ab317ca4d7eb1d201a6673d37/cpqphp_core.c/clean/drivers/pci/hotplug/cpqphp_core.c