/* Traversal func that looks for a <busno,devfcn> value. If found, the pci_dn is returned (thus terminating the traversal).  */
static void* is_devfn_node(struct device_node *dn, void *data)
/* Traversal func that looks for a <busno,devfcn> value. If found, the pci_dn is returned (thus terminating the traversal).  */
static void* is_devfn_node(struct device_node *dn, void *data)
{
	int busno = ((unsigned long)data >> 8) & 0xff;
	int devfn = ((unsigned long)data) & 0xff;
	struct pci_dn *pci = dn->data;
	if (pci && (devfn == pci->devfn) && (busno == pci->busno))
		return dn;
	return NULL;
}