diff options
| -rw-r--r-- | drivers/pci/probe.c | 3 | ||||
| -rw-r--r-- | include/linux/pci.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 2ec0df04e0dc..2a651089a606 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
| @@ -595,6 +595,7 @@ struct pci_host_bridge *pci_alloc_host_bridge(size_t priv) | |||
| 595 | return NULL; | 595 | return NULL; |
| 596 | 596 | ||
| 597 | INIT_LIST_HEAD(&bridge->windows); | 597 | INIT_LIST_HEAD(&bridge->windows); |
| 598 | INIT_LIST_HEAD(&bridge->dma_ranges); | ||
| 598 | bridge->dev.release = pci_release_host_bridge_dev; | 599 | bridge->dev.release = pci_release_host_bridge_dev; |
| 599 | 600 | ||
| 600 | /* | 601 | /* |
| @@ -623,6 +624,7 @@ struct pci_host_bridge *devm_pci_alloc_host_bridge(struct device *dev, | |||
| 623 | return NULL; | 624 | return NULL; |
| 624 | 625 | ||
| 625 | INIT_LIST_HEAD(&bridge->windows); | 626 | INIT_LIST_HEAD(&bridge->windows); |
| 627 | INIT_LIST_HEAD(&bridge->dma_ranges); | ||
| 626 | bridge->dev.release = devm_pci_release_host_bridge_dev; | 628 | bridge->dev.release = devm_pci_release_host_bridge_dev; |
| 627 | 629 | ||
| 628 | return bridge; | 630 | return bridge; |
| @@ -632,6 +634,7 @@ EXPORT_SYMBOL(devm_pci_alloc_host_bridge); | |||
| 632 | void pci_free_host_bridge(struct pci_host_bridge *bridge) | 634 | void pci_free_host_bridge(struct pci_host_bridge *bridge) |
| 633 | { | 635 | { |
| 634 | pci_free_resource_list(&bridge->windows); | 636 | pci_free_resource_list(&bridge->windows); |
| 637 | pci_free_resource_list(&bridge->dma_ranges); | ||
| 635 | 638 | ||
| 636 | kfree(bridge); | 639 | kfree(bridge); |
| 637 | } | 640 | } |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 77448215ef5b..bba0a29a5066 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -490,6 +490,7 @@ struct pci_host_bridge { | |||
| 490 | void *sysdata; | 490 | void *sysdata; |
| 491 | int busnr; | 491 | int busnr; |
| 492 | struct list_head windows; /* resource_entry */ | 492 | struct list_head windows; /* resource_entry */ |
| 493 | struct list_head dma_ranges; /* dma ranges resource list */ | ||
| 493 | u8 (*swizzle_irq)(struct pci_dev *, u8 *); /* Platform IRQ swizzler */ | 494 | u8 (*swizzle_irq)(struct pci_dev *, u8 *); /* Platform IRQ swizzler */ |
| 494 | int (*map_irq)(const struct pci_dev *, u8, u8); | 495 | int (*map_irq)(const struct pci_dev *, u8, u8); |
| 495 | void (*release_fn)(struct pci_host_bridge *); | 496 | void (*release_fn)(struct pci_host_bridge *); |
