if (is_php_dn(dn, &indexes, &names, &types, &power_domains)) slot_type = HOTPLUG; else if (is_dr_dn(dn, &indexes, &names, &types, &power_domains, &my_drc_index)) slot_type = EMBEDDED; else goto exit; 
if (!is_php_dn(dn, &indexes, &names, &types, &power_domains)) goto exit; 
int rpaphp_add_slot(struct device_node *dn){	struct slot *slot;	int retval = 0;	int i, *my_drc_index, slot_type;	int *indexes, *names, *types, *power_domains;	char *name, *type;	dbg("Entry %s: dn->full_name=%s\n", __FUNCTION__, dn->full_name);	/* register PCI devices */	if (dn->name != 0 && strcmp(dn->name, "pci") == 0) {		if (is_php_dn(dn, &indexes, &names, &types, &power_domains))  			slot_type = HOTPLUG;		else if (is_dr_dn(dn, &indexes, &names, &types, &power_domains, &my_drc_index)) 			slot_type = EMBEDDED;		else goto exit;		name = (char *) &names[1];		type = (char *) &types[1];		for (i = 0; i < indexes[0]; i++,	     		name += (strlen(name) + 1), type += (strlen(type) + 1)) {			if (slot_type == HOTPLUG ||			    (slot_type == EMBEDDED &&			     indexes[i + 1] == my_drc_index[0] &&			     is_dlpar_type(type))) {				if (!(slot = alloc_slot_struct(dn, indexes[i + 1], name,					       power_domains[i + 1]))) {					retval = -ENOMEM;					goto exit;				}				if (!strcmp(type, "PHB"))					slot->type = PHB;				else if (slot_type == EMBEDDED)					slot->type = EMBEDDED;				else					slot->type = simple_strtoul(type, NULL, 10);								dbg("    Found drc-index:0x%x drc-name:%s drc-type:%s\n",					indexes[i + 1], name, type);				retval = register_pci_slot(slot);				if (slot_type == EMBEDDED)					goto exit;			}		}	}exit:	dbg("%s - Exit: num_slots=%d rc[%d]\n",	    __FUNCTION__, num_slots, retval);	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/56d8456b06ad1316bff3c75caed5e06e786f20d8/rpaphp_core.c/clean/drivers/pci/hotplug/rpaphp_core.c