|
@@ -20,6 +20,36 @@
|
|
|
LIST_HEAD(pci_root_buses);
|
|
|
EXPORT_SYMBOL(pci_root_buses);
|
|
|
|
|
|
+static LIST_HEAD(pci_domain_busn_res_list);
|
|
|
+
|
|
|
+struct pci_domain_busn_res {
|
|
|
+ struct list_head list;
|
|
|
+ struct resource res;
|
|
|
+ int domain_nr;
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource *get_pci_domain_busn_res(int domain_nr)
|
|
|
+{
|
|
|
+ struct pci_domain_busn_res *r;
|
|
|
+
|
|
|
+ list_for_each_entry(r, &pci_domain_busn_res_list, list)
|
|
|
+ if (r->domain_nr == domain_nr)
|
|
|
+ return &r->res;
|
|
|
+
|
|
|
+ r = kzalloc(sizeof(*r), GFP_KERNEL);
|
|
|
+ if (!r)
|
|
|
+ return NULL;
|
|
|
+
|
|
|
+ r->domain_nr = domain_nr;
|
|
|
+ r->res.start = 0;
|
|
|
+ r->res.end = 0xff;
|
|
|
+ r->res.flags = IORESOURCE_BUS | IORESOURCE_PCI_FIXED;
|
|
|
+
|
|
|
+ list_add_tail(&r->list, &pci_domain_busn_res_list);
|
|
|
+
|
|
|
+ return &r->res;
|
|
|
+}
|
|
|
+
|
|
|
static int find_anything(struct device *dev, void *data)
|
|
|
{
|
|
|
return 1;
|