diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-24 19:17:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-24 19:17:07 -0400 |
commit | 6dd53aa4563a2c69e80a24d2cc68d484b5ea2891 (patch) | |
tree | 0cca9f65984b524527910960d972fc6ef85fac88 /arch/mips | |
parent | f14121ab35912e3d2e57ac9a4ce1f9d4b7baeffb (diff) | |
parent | 63b96f7baeba71966c723912c3f8f0274577f877 (diff) |
Merge tag 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI changes from Bjorn Helgaas:
"Host bridge hotplug:
- Add MMCONFIG support for hot-added host bridges (Jiang Liu)
Device hotplug:
- Move fixups from __init to __devinit (Sebastian Andrzej Siewior)
- Call FINAL fixups for hot-added devices, too (Myron Stowe)
- Factor out generic code for P2P bridge hot-add (Yinghai Lu)
- Remove all functions in a slot, not just those with _EJx (Amos
Kong)
Dynamic resource management:
- Track bus number allocation (struct resource tree per domain)
(Yinghai Lu)
- Make P2P bridge 1K I/O windows work with resource reassignment
(Bjorn Helgaas, Yinghai Lu)
- Disable decoding while updating 64-bit BARs (Bjorn Helgaas)
Power management:
- Add PCIe runtime D3cold support (Huang Ying)
Virtualization:
- Add VFIO infrastructure (ACS, DMA source ID quirks) (Alex
Williamson)
- Add quirks for devices with broken INTx masking (Jan Kiszka)
Miscellaneous:
- Fix some PCI Express capability version issues (Myron Stowe)
- Factor out some arch code with a weak, generic, pcibios_setup()
(Myron Stowe)"
* tag 'for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (122 commits)
PCI: hotplug: ensure a consistent return value in error case
PCI: fix undefined reference to 'pci_fixup_final_inited'
PCI: build resource code for M68K architecture
PCI: pciehp: remove unused pciehp_get_max_lnk_width(), pciehp_get_cur_lnk_width()
PCI: reorder __pci_assign_resource() (no change)
PCI: fix truncation of resource size to 32 bits
PCI: acpiphp: merge acpiphp_debug and debug
PCI: acpiphp: remove unused res_lock
sparc/PCI: replace pci_cfg_fake_ranges() with pci_read_bridge_bases()
PCI: call final fixups hot-added devices
PCI: move final fixups from __init to __devinit
x86/PCI: move final fixups from __init to __devinit
MIPS/PCI: move final fixups from __init to __devinit
PCI: support sizing P2P bridge I/O windows with 1K granularity
PCI: reimplement P2P bridge 1K I/O windows (Intel P64H2)
PCI: disable MEM decoding while updating 64-bit MEM BARs
PCI: leave MEM and IO decoding disabled during 64-bit BAR sizing, too
PCI: never discard enable/suspend/resume_early/resume fixups
PCI: release temporary reference in __nv_msi_ht_cap_quirk()
PCI: restructure 'pci_do_fixups()'
...
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/pci/pci.c | 6 | ||||
-rw-r--r-- | arch/mips/pmc-sierra/yosemite/ht.c | 11 | ||||
-rw-r--r-- | arch/mips/txx9/generic/pci.c | 6 |
3 files changed, 6 insertions, 17 deletions
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c index 271e8c4a54c7..690356808f8a 100644 --- a/arch/mips/pci/pci.c +++ b/arch/mips/pci/pci.c | |||
@@ -102,7 +102,7 @@ static void __devinit pcibios_scanbus(struct pci_controller *hose) | |||
102 | need_domain_info = need_domain_info || hose->index; | 102 | need_domain_info = need_domain_info || hose->index; |
103 | hose->need_domain_info = need_domain_info; | 103 | hose->need_domain_info = need_domain_info; |
104 | if (bus) { | 104 | if (bus) { |
105 | next_busno = bus->subordinate + 1; | 105 | next_busno = bus->busn_res.end + 1; |
106 | /* Don't allow 8-bit bus number overflow inside the hose - | 106 | /* Don't allow 8-bit bus number overflow inside the hose - |
107 | reserve some space for bridges. */ | 107 | reserve some space for bridges. */ |
108 | if (next_busno > 224) { | 108 | if (next_busno > 224) { |
@@ -348,9 +348,9 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | |||
348 | vma->vm_end - vma->vm_start, vma->vm_page_prot); | 348 | vma->vm_end - vma->vm_start, vma->vm_page_prot); |
349 | } | 349 | } |
350 | 350 | ||
351 | char * (*pcibios_plat_setup)(char *str) __devinitdata; | 351 | char * (*pcibios_plat_setup)(char *str) __initdata; |
352 | 352 | ||
353 | char *__devinit pcibios_setup(char *str) | 353 | char *__init pcibios_setup(char *str) |
354 | { | 354 | { |
355 | if (pcibios_plat_setup) | 355 | if (pcibios_plat_setup) |
356 | return pcibios_plat_setup(str); | 356 | return pcibios_plat_setup(str); |
diff --git a/arch/mips/pmc-sierra/yosemite/ht.c b/arch/mips/pmc-sierra/yosemite/ht.c index 63be40e470db..14dc9c8fff0e 100644 --- a/arch/mips/pmc-sierra/yosemite/ht.c +++ b/arch/mips/pmc-sierra/yosemite/ht.c | |||
@@ -395,17 +395,6 @@ void __init pcibios_init(void) | |||
395 | pci_scan_bus(3, &titan_pci_ops, NULL); | 395 | pci_scan_bus(3, &titan_pci_ops, NULL); |
396 | } | 396 | } |
397 | 397 | ||
398 | /* | ||
399 | * for parsing "pci=" kernel boot arguments. | ||
400 | */ | ||
401 | char *pcibios_setup(char *str) | ||
402 | { | ||
403 | printk(KERN_INFO "rr: pcibios_setup\n"); | ||
404 | /* Nothing to do for now. */ | ||
405 | |||
406 | return str; | ||
407 | } | ||
408 | |||
409 | unsigned __init int pcibios_assign_all_busses(void) | 398 | unsigned __init int pcibios_assign_all_busses(void) |
410 | { | 399 | { |
411 | /* We want to use the PCI bus detection done by PMON */ | 400 | /* We want to use the PCI bus detection done by PMON */ |
diff --git a/arch/mips/txx9/generic/pci.c b/arch/mips/txx9/generic/pci.c index 64eb71b15280..125db323ab1e 100644 --- a/arch/mips/txx9/generic/pci.c +++ b/arch/mips/txx9/generic/pci.c | |||
@@ -256,7 +256,7 @@ static irqreturn_t i8259_interrupt(int irq, void *dev_id) | |||
256 | return IRQ_HANDLED; | 256 | return IRQ_HANDLED; |
257 | } | 257 | } |
258 | 258 | ||
259 | static int __init | 259 | static int __devinit |
260 | txx9_i8259_irq_setup(int irq) | 260 | txx9_i8259_irq_setup(int irq) |
261 | { | 261 | { |
262 | int err; | 262 | int err; |
@@ -398,9 +398,9 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) | |||
398 | return txx9_board_vec->pci_map_irq(dev, slot, pin); | 398 | return txx9_board_vec->pci_map_irq(dev, slot, pin); |
399 | } | 399 | } |
400 | 400 | ||
401 | char * (*txx9_board_pcibios_setup)(char *str) __devinitdata; | 401 | char * (*txx9_board_pcibios_setup)(char *str) __initdata; |
402 | 402 | ||
403 | char *__devinit txx9_pcibios_setup(char *str) | 403 | char *__init txx9_pcibios_setup(char *str) |
404 | { | 404 | { |
405 | if (txx9_board_pcibios_setup && !txx9_board_pcibios_setup(str)) | 405 | if (txx9_board_pcibios_setup && !txx9_board_pcibios_setup(str)) |
406 | return NULL; | 406 | return NULL; |