>> + >> + resource_list_for_each_entry_safe(window, n, resources) >> + list_move_tail(&window->node, &host->windows); >> + >> + return host; >> +} >> +EXPORT_SYMBOL(pci_create_host_bridge); > > Why does this need to be exported? I don't want code outside drivers/pci > using something like this. OK, I will unexport it, if some drivers really want to export it, we could do it when needed. > >> +void pci_free_host_bridge(struct pci_host_bridge *host) >> struct pci_host_bridge { >> u16 domain; >> + u16 busnum; >> struct device dev; >> struct pci_bus *bus; /* root bus */ >> struct list_head windows; /* resource_entry */ >> @@ -415,7 +416,8 @@ void pci_set_host_bridge_release(struct pci_host_bridge *bridge, >> void *release_data); >> >> int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge); >> - >> +struct pci_host_bridge *pci_create_host_bridge( >> + struct device *parent, u32 dombus, struct list_head *resources); > > Can these function declarations go in drivers/pci/pci.h instead? I'd > rather not expose them to the rest of the kernel unless we have to. I would move it in drivers/pci/pci.h, thanks. > >> /* >> * The first PCI_BRIDGE_RESOURCE_NUM PCI bus resources (those that correspond >> * to P2P or CardBus bridge windows) go in a table. Additional ones (for >> @@ -774,6 +776,7 @@ struct pci_bus *pci_scan_bus_legacy(u32 dombus, struct pci_ops *ops, void *sysda >> struct pci_bus *pci_create_root_bus(struct device *parent, u32 dombus, >> struct pci_ops *ops, void *sysdata, >> struct list_head *resources); >> +void pci_free_host_bridge(struct pci_host_bridge *host); >> int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int busmax); >> int pci_bus_update_busn_res_end(struct pci_bus *b, int busmax); >> void pci_bus_release_busn_res(struct pci_bus *b); >> -- >> 1.7.1 >> > > . > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html