Commit ba9c8f22 authored by Daniel Axtens's avatar Daniel Axtens Committed by Michael Ellerman

powerpc/powermac: move pmac_pci_probe_mode from setup.c to pci.c

Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent bdc728a8
...@@ -1223,3 +1223,20 @@ static void fixup_u4_pcie(struct pci_dev* dev) ...@@ -1223,3 +1223,20 @@ static void fixup_u4_pcie(struct pci_dev* dev)
pci_write_config_dword(dev, PCI_PREF_MEMORY_BASE, 0); pci_write_config_dword(dev, PCI_PREF_MEMORY_BASE, 0);
} }
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_U4_PCIE, fixup_u4_pcie); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_U4_PCIE, fixup_u4_pcie);
#ifdef CONFIG_PPC64
int pmac_pci_probe_mode(struct pci_bus *bus)
{
struct device_node *node = pci_bus_to_OF_node(bus);
/* We need to use normal PCI probing for the AGP bus,
* since the device for the AGP bridge isn't in the tree.
* Same for the PCIe host on U4 and the HT host bridge.
*/
if (bus->self == NULL && (of_device_is_compatible(node, "u3-agp") ||
of_device_is_compatible(node, "u4-pcie") ||
of_device_is_compatible(node, "u3-ht")))
return PCI_PROBE_NORMAL;
return PCI_PROBE_DEVTREE;
}
#endif /* CONFIG_PPC64 */
...@@ -39,4 +39,8 @@ extern void low_cpu_die(void) __attribute__((noreturn)); ...@@ -39,4 +39,8 @@ extern void low_cpu_die(void) __attribute__((noreturn));
extern int pmac_nvram_init(void); extern int pmac_nvram_init(void);
extern void pmac_pic_init(void); extern void pmac_pic_init(void);
#ifdef CONFIG_PPC64
extern int pmac_pci_probe_mode(struct pci_bus *bus);
#endif
#endif /* __PMAC_H__ */ #endif /* __PMAC_H__ */
...@@ -637,24 +637,6 @@ static int __init pmac_probe(void) ...@@ -637,24 +637,6 @@ static int __init pmac_probe(void)
return 1; return 1;
} }
#ifdef CONFIG_PPC64
/* Move that to pci.c */
static int pmac_pci_probe_mode(struct pci_bus *bus)
{
struct device_node *node = pci_bus_to_OF_node(bus);
/* We need to use normal PCI probing for the AGP bus,
* since the device for the AGP bridge isn't in the tree.
* Same for the PCIe host on U4 and the HT host bridge.
*/
if (bus->self == NULL && (of_device_is_compatible(node, "u3-agp") ||
of_device_is_compatible(node, "u4-pcie") ||
of_device_is_compatible(node, "u3-ht")))
return PCI_PROBE_NORMAL;
return PCI_PROBE_DEVTREE;
}
#endif /* CONFIG_PPC64 */
define_machine(powermac) { define_machine(powermac) {
.name = "PowerMac", .name = "PowerMac",
.probe = pmac_probe, .probe = pmac_probe,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment