static int rtas_read_config(struct device_node *dn, int where, int size, u32 *val) 
static int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val) 
static int rtas_read_config(struct device_node *dn, int where, int size, u32 *val){	int returnval = -1;	unsigned long buid, addr;	int ret;	struct pci_dn *pdn;	if (!dn || !dn->data)		return PCIBIOS_DEVICE_NOT_FOUND;	pdn = dn->data;	if (!config_access_valid(pdn, where))		return PCIBIOS_BAD_REGISTER_NUMBER;	addr = ((where & 0xf00) << 20) | (pdn->busno << 16) |		(pdn->devfn << 8) | (where & 0xff);	buid = pdn->phb->buid;	if (buid) {		ret = rtas_call(ibm_read_pci_config, 4, 2, &returnval,				addr, buid >> 32, buid & 0xffffffff, size);	} else {		ret = rtas_call(read_pci_config, 2, 2, &returnval, addr, size);	}	*val = returnval;	if (ret)		return PCIBIOS_DEVICE_NOT_FOUND;	if (returnval == EEH_IO_ERROR_VALUE(size) &&	    eeh_dn_check_failure (dn, NULL))		return PCIBIOS_DEVICE_NOT_FOUND;	return PCIBIOS_SUCCESSFUL;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ae65a391caf1830aea9e4cadd69bb1aa69aad492/rtas_pci.c/clean/arch/ppc64/kernel/rtas_pci.c