On Thursday, February 06, 2014 7:18 PM, Liviu Dudau wrote: > On Wed, Feb 05, 2014 at 10:26:27PM +0000, Tanmay Inamdar wrote: > > Hello Liviu, > > > > I did not get the first email of this particular patch on any of > > subscribed mailing lists (don't know why), hence replying here. > > Strange, it shows in the MARC and GMANE archive for linux-pci, probably > a hickup on your receiving side? > > > > > +struct pci_host_bridge * > > +pci_host_bridge_of_init(struct device *parent, int busno, struct pci_ops *ops, > > + void *host_data, struct list_head *resources) > > +{ > > + struct pci_bus *root_bus; > > + struct pci_host_bridge *bridge; > > + > > + /* first parse the host bridge bus ranges */ > > + if (pci_host_bridge_of_get_ranges(parent->of_node, resources)) > > + return NULL; > > + > > + /* then create the root bus */ > > + root_bus = pci_create_root_bus(parent, busno, ops, host_data, resources); > > + if (!root_bus) > > + return NULL; > > + > > + bridge = to_pci_host_bridge(root_bus->bridge); > > + > > + return bridge; > > +} > > > > You are keeping the domain_nr inside pci_host_bridge structure. In > > above API, domain_nr is required in 'pci_find_bus' function called > > from 'pci_create_root_bus'. Since the bridge is allocated after > > creating root bus, 'pci_find_bus' always gets domain_nr as 0. This > > will cause problem for scanning multiple domains. > > Good catch. I was switching between creating a pci_controller in arch/arm64 and > adding the needed bits in pci_host_bridge. After internal review I've decided to > add the domain_nr to pci_host_bridge, but forgot to update the code everywhere. Hi Liviu Dudau, One more thing, I am reviewing and compiling your patch. Would you consider adding 'struct pci_sys_data' and 'struct hw_pci'? Currently, 4 PCIe Host drivers (pci-mvebu.c, pci-tegra.c, pci-rcar-gen2.c, pcie-designware.c) are using 'struct pci_sys_data' and 'struct hw_pci' in their drivers. Without this, it makes build errors. In arm32, 'struct pci_sys_data' and 'struct hw_pci' is defined in "arch/arm/include/asm/mach/pci.h". Tanmay Inamdar, Your 'APM X-Gene PCIe' patch also needs 'struct pci_sys_data' and 'struct hw_pci'. With Liviu Dudau's patch, it will make build errors. Would you check this? Thank you. Best regards, Jingoo Han > > Thanks for reviewing this, will fix in v2. > > Do you find porting to the new API straight forward? > -- 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