static void add_resources(struct pci_root_info *info, struct list_head *resources) { int i; struct resource *res, *root, *conflict; coalesce_windows(info, IORESOURCE_MEM); coalesce_windows(info, IORESOURCE_IO); for (i = 0; i < info->res_num; i++) { res = &info->res[i]; if (res->flags & IORESOURCE_MEM) root = &iomem_resource; else if (res->flags & IORESOURCE_IO) root = &ioport_resource; else continue; conflict = insert_resource_conflict(root, res); if (conflict) dev_info(&info->bridge->dev, "ignoring host bridge window %pR (conflicts with %s %pR)\n", res, conflict->name, conflict); else pci_add_resource_offset(resources, res, info->res_offset[i]); } }
static void add_resources(struct pci_root_info *info) { int i; struct resource *res, *root, *conflict; if (!pci_use_crs) return; coalesce_windows(info, IORESOURCE_MEM); coalesce_windows(info, IORESOURCE_IO); for (i = 0; i < info->res_num; i++) { res = &info->res[i]; if (res->flags & IORESOURCE_MEM) root = &iomem_resource; else if (res->flags & IORESOURCE_IO) root = &ioport_resource; else continue; conflict = insert_resource_conflict(root, res); if (conflict) dev_err(&info->bridge->dev, "address space collision: host bridge window %pR " "conflicts with %s %pR\n", res, conflict->name, conflict); else pci_bus_add_resource(info->bus, res, 0); } }