aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/bus.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/bus.c')
-rw-r--r--drivers/pci/bus.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 8fb16188cd82..90fa3a78fb7c 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -20,17 +20,16 @@
20void pci_add_resource_offset(struct list_head *resources, struct resource *res, 20void pci_add_resource_offset(struct list_head *resources, struct resource *res,
21 resource_size_t offset) 21 resource_size_t offset)
22{ 22{
23 struct pci_host_bridge_window *window; 23 struct resource_entry *entry;
24 24
25 window = kzalloc(sizeof(struct pci_host_bridge_window), GFP_KERNEL); 25 entry = resource_list_create_entry(res, 0);
26 if (!window) { 26 if (!entry) {
27 printk(KERN_ERR "PCI: can't add host bridge window %pR\n", res); 27 printk(KERN_ERR "PCI: can't add host bridge window %pR\n", res);
28 return; 28 return;
29 } 29 }
30 30
31 window->res = res; 31 entry->offset = offset;
32 window->offset = offset; 32 resource_list_add_tail(entry, resources);
33 list_add_tail(&window->list, resources);
34} 33}
35EXPORT_SYMBOL(pci_add_resource_offset); 34EXPORT_SYMBOL(pci_add_resource_offset);
36 35
@@ -42,12 +41,7 @@ EXPORT_SYMBOL(pci_add_resource);
42 41
43void pci_free_resource_list(struct list_head *resources) 42void pci_free_resource_list(struct list_head *resources)
44{ 43{
45 struct pci_host_bridge_window *window, *tmp; 44 resource_list_free(resources);
46
47 list_for_each_entry_safe(window, tmp, resources, list) {
48 list_del(&window->list);
49 kfree(window);
50 }
51} 45}
52EXPORT_SYMBOL(pci_free_resource_list); 46EXPORT_SYMBOL(pci_free_resource_list);
53 47