diff options
author | Arnd Bergmann <arnd@arndb.de> | 2013-06-19 19:00:15 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-06-19 19:00:15 -0400 |
commit | 596fd95ea606548adaa8310a7c05a6dcfec46f16 (patch) | |
tree | 2d1f5bb81dff7a40ab030a87d6c7fb5ae2bcf559 /arch/arm/kernel | |
parent | 99ff1830426ed59cc722091eadffd17736bdf148 (diff) | |
parent | f55b2b56cd37fa8bcfcb75248c27094eaf09e04c (diff) |
Merge tag 'integrator-pci-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc
From Linus Walleij:
This is a patch series that:
- Pulls the Integrator/AP PCI bridge driver into one file
- Adds full device tree support for it
- Keeps ATAG support around for the time being
* tag 'integrator-pci-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
ARM: integrator: basic PCIv3 device tree support
ARM: integrator: move static ioremapping into PCIv3 driver
ARM: integrator: move VGA base assignment
ARM: integrator: remap PCIv3 base dynamically
ARM: integrator: move V3 register definitions into driver
ARM: integrator: move PCI base address grab to probe
ARM: integrator: grab PCI error IRQ in probe()
ARM: integrator: convert PCIv3 bridge to platform device
ARM: integrator: merge PCIv3 driver into one file
ARM: pci: create pci_common_init_dev()
Documentation/devicetree: add a small note on PCI
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/bios32.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index b2ed73c45489..261fcc826169 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -445,7 +445,8 @@ static int pcibios_init_resources(int busnr, struct pci_sys_data *sys) | |||
445 | return 0; | 445 | return 0; |
446 | } | 446 | } |
447 | 447 | ||
448 | static void pcibios_init_hw(struct hw_pci *hw, struct list_head *head) | 448 | static void pcibios_init_hw(struct device *parent, struct hw_pci *hw, |
449 | struct list_head *head) | ||
449 | { | 450 | { |
450 | struct pci_sys_data *sys = NULL; | 451 | struct pci_sys_data *sys = NULL; |
451 | int ret; | 452 | int ret; |
@@ -480,7 +481,7 @@ static void pcibios_init_hw(struct hw_pci *hw, struct list_head *head) | |||
480 | if (hw->scan) | 481 | if (hw->scan) |
481 | sys->bus = hw->scan(nr, sys); | 482 | sys->bus = hw->scan(nr, sys); |
482 | else | 483 | else |
483 | sys->bus = pci_scan_root_bus(NULL, sys->busnr, | 484 | sys->bus = pci_scan_root_bus(parent, sys->busnr, |
484 | hw->ops, sys, &sys->resources); | 485 | hw->ops, sys, &sys->resources); |
485 | 486 | ||
486 | if (!sys->bus) | 487 | if (!sys->bus) |
@@ -497,7 +498,7 @@ static void pcibios_init_hw(struct hw_pci *hw, struct list_head *head) | |||
497 | } | 498 | } |
498 | } | 499 | } |
499 | 500 | ||
500 | void pci_common_init(struct hw_pci *hw) | 501 | void pci_common_init_dev(struct device *parent, struct hw_pci *hw) |
501 | { | 502 | { |
502 | struct pci_sys_data *sys; | 503 | struct pci_sys_data *sys; |
503 | LIST_HEAD(head); | 504 | LIST_HEAD(head); |
@@ -505,7 +506,7 @@ void pci_common_init(struct hw_pci *hw) | |||
505 | pci_add_flags(PCI_REASSIGN_ALL_RSRC); | 506 | pci_add_flags(PCI_REASSIGN_ALL_RSRC); |
506 | if (hw->preinit) | 507 | if (hw->preinit) |
507 | hw->preinit(); | 508 | hw->preinit(); |
508 | pcibios_init_hw(hw, &head); | 509 | pcibios_init_hw(parent, hw, &head); |
509 | if (hw->postinit) | 510 | if (hw->postinit) |
510 | hw->postinit(); | 511 | hw->postinit(); |
511 | 512 | ||