struct pci_controller *phb = pdn->phb;
        struct pci_dev *dev = NULL;
 
-       rpaphp_eeh_init_nodes(dn);
+       eeh_add_device_tree_early(dn);
+
        /* Add EADS device to PHB bus, adding new entry to bus->devices */
        dev = of_create_pci_dev(dn, phb->bus, pdn->devfn);
        if (!dev) {
 
        return dev;
 }
 
-void rpaphp_eeh_init_nodes(struct device_node *dn)
-{
-       struct device_node *sib;
-
-       for (sib = dn->child; sib; sib = sib->sibling) 
-               rpaphp_eeh_init_nodes(sib);
-       eeh_add_device_early(dn);
-       return;
-       
-}
-EXPORT_SYMBOL_GPL(rpaphp_eeh_init_nodes);
-
 static void print_slot_pci_funcs(struct pci_bus *bus)
 {
        struct device_node *dn;
        if (!dn)
                goto exit;
 
-       rpaphp_eeh_init_nodes(dn);
+       eeh_add_device_tree_early(dn);
        dev = rpaphp_pci_config_slot(bus);
        if (!dev) {
                err("%s: can't find any devices.\n", __FUNCTION__);