diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-11-11 01:24:52 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-12-04 00:00:14 -0500 |
commit | 69108cf00679716bcab58acb3135390654c5bb99 (patch) | |
tree | 6f0672ef563df33f5fa14c53e4d28dc211e06c81 | |
parent | f90bb153b1493719d18b4529a46ebfe43220ea6c (diff) |
[POWERPC] Remove ppc_md.pci_map_irq & ppc_swizzle for ARCH=powerpc
These were inherited from ARCH=ppc, but are not needed since parsing of interrupts
should be done via the of_* functions (who can do swizzling). If we ever need to
do non-standard swizzling on bridges without a device-node, then we might add
back a slightly different version of ppc_md.pci_swizzle but for now, that is not
the case.
I removed the couple of calls for these in 83xx. If that breaks something, then
there is a problem with the device-tree on these.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/kernel/pci_32.c | 23 | ||||
-rw-r--r-- | arch/powerpc/platforms/83xx/mpc832x_mds.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/83xx/mpc8360e_pb.c | 2 | ||||
-rw-r--r-- | include/asm-powerpc/machdep.h | 4 |
4 files changed, 0 insertions, 31 deletions
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 853ecef81780..d32cd500d8b8 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c | |||
@@ -1283,10 +1283,6 @@ pcibios_init(void) | |||
1283 | if (pci_assign_all_buses && have_of) | 1283 | if (pci_assign_all_buses && have_of) |
1284 | pcibios_make_OF_bus_map(); | 1284 | pcibios_make_OF_bus_map(); |
1285 | 1285 | ||
1286 | /* Do machine dependent PCI interrupt routing */ | ||
1287 | if (ppc_md.pci_swizzle && ppc_md.pci_map_irq) | ||
1288 | pci_fixup_irqs(ppc_md.pci_swizzle, ppc_md.pci_map_irq); | ||
1289 | |||
1290 | /* Call machine dependent fixup */ | 1286 | /* Call machine dependent fixup */ |
1291 | if (ppc_md.pcibios_fixup) | 1287 | if (ppc_md.pcibios_fixup) |
1292 | ppc_md.pcibios_fixup(); | 1288 | ppc_md.pcibios_fixup(); |
@@ -1309,25 +1305,6 @@ pcibios_init(void) | |||
1309 | 1305 | ||
1310 | subsys_initcall(pcibios_init); | 1306 | subsys_initcall(pcibios_init); |
1311 | 1307 | ||
1312 | unsigned char __init | ||
1313 | common_swizzle(struct pci_dev *dev, unsigned char *pinp) | ||
1314 | { | ||
1315 | struct pci_controller *hose = dev->sysdata; | ||
1316 | |||
1317 | if (dev->bus->number != hose->first_busno) { | ||
1318 | u8 pin = *pinp; | ||
1319 | do { | ||
1320 | pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn)); | ||
1321 | /* Move up the chain of bridges. */ | ||
1322 | dev = dev->bus->self; | ||
1323 | } while (dev->bus->self); | ||
1324 | *pinp = pin; | ||
1325 | |||
1326 | /* The slot is the idsel of the last bridge. */ | ||
1327 | } | ||
1328 | return PCI_SLOT(dev->devfn); | ||
1329 | } | ||
1330 | |||
1331 | unsigned long resource_fixup(struct pci_dev * dev, struct resource * res, | 1308 | unsigned long resource_fixup(struct pci_dev * dev, struct resource * res, |
1332 | unsigned long start, unsigned long size) | 1309 | unsigned long start, unsigned long size) |
1333 | { | 1310 | { |
diff --git a/arch/powerpc/platforms/83xx/mpc832x_mds.c b/arch/powerpc/platforms/83xx/mpc832x_mds.c index a43ac71ab740..f58c9780b66f 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c | |||
@@ -97,8 +97,6 @@ static void __init mpc832x_sys_setup_arch(void) | |||
97 | #ifdef CONFIG_PCI | 97 | #ifdef CONFIG_PCI |
98 | for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) | 98 | for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) |
99 | add_bridge(np); | 99 | add_bridge(np); |
100 | |||
101 | ppc_md.pci_swizzle = common_swizzle; | ||
102 | ppc_md.pci_exclude_device = mpc83xx_exclude_device; | 100 | ppc_md.pci_exclude_device = mpc83xx_exclude_device; |
103 | #endif | 101 | #endif |
104 | 102 | ||
diff --git a/arch/powerpc/platforms/83xx/mpc8360e_pb.c b/arch/powerpc/platforms/83xx/mpc8360e_pb.c index 1a523c81c06e..7bfd47ad7233 100644 --- a/arch/powerpc/platforms/83xx/mpc8360e_pb.c +++ b/arch/powerpc/platforms/83xx/mpc8360e_pb.c | |||
@@ -102,8 +102,6 @@ static void __init mpc8360_sys_setup_arch(void) | |||
102 | #ifdef CONFIG_PCI | 102 | #ifdef CONFIG_PCI |
103 | for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) | 103 | for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) |
104 | add_bridge(np); | 104 | add_bridge(np); |
105 | |||
106 | ppc_md.pci_swizzle = common_swizzle; | ||
107 | ppc_md.pci_exclude_device = mpc83xx_exclude_device; | 105 | ppc_md.pci_exclude_device = mpc83xx_exclude_device; |
108 | #endif | 106 | #endif |
109 | 107 | ||
diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h index 3810f131901c..162205f62641 100644 --- a/include/asm-powerpc/machdep.h +++ b/include/asm-powerpc/machdep.h | |||
@@ -199,10 +199,6 @@ struct machdep_calls { | |||
199 | * Returns 0 to allow assignment/enabling of the device. */ | 199 | * Returns 0 to allow assignment/enabling of the device. */ |
200 | int (*pcibios_enable_device_hook)(struct pci_dev *, int initial); | 200 | int (*pcibios_enable_device_hook)(struct pci_dev *, int initial); |
201 | 201 | ||
202 | /* For interrupt routing */ | ||
203 | unsigned char (*pci_swizzle)(struct pci_dev *, unsigned char *); | ||
204 | int (*pci_map_irq)(struct pci_dev *, unsigned char, unsigned char); | ||
205 | |||
206 | /* Called in indirect_* to avoid touching devices */ | 202 | /* Called in indirect_* to avoid touching devices */ |
207 | int (*pci_exclude_device)(unsigned char, unsigned char); | 203 | int (*pci_exclude_device)(unsigned char, unsigned char); |
208 | 204 | ||