diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-25 00:17:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-25 00:17:51 -0500 |
commit | a86b4ad6da23b7d2b55813f0cf026f7149932028 (patch) | |
tree | 216878cb17332441563797ed8768f45fee4ab198 /arch | |
parent | 701b259f446be2f3625fb852bceb93afe76e206d (diff) | |
parent | 3493c85366ba09c9d0972c919e7123367a39982a (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc: Fix build on some non-freescale platforms
powerpc/powernv: Fix PCI resource handling
powerpc/crash: Fix build error without SMP
powerpc/cpuidle: Make it a bool, not a tristate
powerpc/85xx: Add dr_mode property in USB nodes
powerpc/85xx: Enable USB2 controller node for P1020RDB
powerpc/85xx: Fix cmd12 bug and add the chip compatible for eSDHC
arch/powerpc/sysdev/fsl_pci.c: add missing iounmap
powerpc: fix compile error with 85xx/p1022_ds.c
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/fsl/p1010si-post.dtsi | 3 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/fsl/p1020si-post.dtsi | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/fsl/p1022si-post.dtsi | 3 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/fsl/p2020si-post.dtsi | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1020rdb.dtsi | 13 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p1021mds.dts | 3 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2020ds.dtsi | 3 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2020rdb.dts | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/crash.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/legacy_serial.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/p1022_ds.c | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/powernv/pci-ioda.c | 43 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_pci.c | 5 |
15 files changed, 63 insertions, 32 deletions
diff --git a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi index 89af62637707..b37da56018b6 100644 --- a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi | |||
@@ -236,6 +236,10 @@ | |||
236 | }; | 236 | }; |
237 | 237 | ||
238 | /include/ "pq3-esdhc-0.dtsi" | 238 | /include/ "pq3-esdhc-0.dtsi" |
239 | sdhc@2e000 { | ||
240 | compatible = "fsl,mpc8536-esdhc", "fsl,esdhc"; | ||
241 | }; | ||
242 | |||
239 | /include/ "pq3-sec3.0-0.dtsi" | 243 | /include/ "pq3-sec3.0-0.dtsi" |
240 | /include/ "pq3-mpic.dtsi" | 244 | /include/ "pq3-mpic.dtsi" |
241 | /include/ "pq3-mpic-timer-B.dtsi" | 245 | /include/ "pq3-mpic-timer-B.dtsi" |
diff --git a/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi index bd9e163c764b..a97d1263372c 100644 --- a/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi | |||
@@ -158,7 +158,8 @@ | |||
158 | /include/ "pq3-usb2-dr-0.dtsi" | 158 | /include/ "pq3-usb2-dr-0.dtsi" |
159 | /include/ "pq3-esdhc-0.dtsi" | 159 | /include/ "pq3-esdhc-0.dtsi" |
160 | sdhc@2e000 { | 160 | sdhc@2e000 { |
161 | fsl,sdhci-auto-cmd12; | 161 | compatible = "fsl,p1010-esdhc", "fsl,esdhc"; |
162 | sdhci,auto-cmd12; | ||
162 | }; | 163 | }; |
163 | 164 | ||
164 | /include/ "pq3-sec4.4-0.dtsi" | 165 | /include/ "pq3-sec4.4-0.dtsi" |
diff --git a/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi index fc924c5ffebe..5de5fc351314 100644 --- a/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi | |||
@@ -145,6 +145,10 @@ | |||
145 | /include/ "pq3-usb2-dr-1.dtsi" | 145 | /include/ "pq3-usb2-dr-1.dtsi" |
146 | 146 | ||
147 | /include/ "pq3-esdhc-0.dtsi" | 147 | /include/ "pq3-esdhc-0.dtsi" |
148 | sdhc@2e000 { | ||
149 | compatible = "fsl,p1020-esdhc", "fsl,esdhc"; | ||
150 | sdhci,auto-cmd12; | ||
151 | }; | ||
148 | /include/ "pq3-sec3.3-0.dtsi" | 152 | /include/ "pq3-sec3.3-0.dtsi" |
149 | 153 | ||
150 | /include/ "pq3-mpic.dtsi" | 154 | /include/ "pq3-mpic.dtsi" |
diff --git a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi index 16239b199d0a..ff9ed1d87929 100644 --- a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi | |||
@@ -203,7 +203,8 @@ | |||
203 | 203 | ||
204 | /include/ "pq3-esdhc-0.dtsi" | 204 | /include/ "pq3-esdhc-0.dtsi" |
205 | sdhc@2e000 { | 205 | sdhc@2e000 { |
206 | fsl,sdhci-auto-cmd12; | 206 | compatible = "fsl,p1022-esdhc", "fsl,esdhc"; |
207 | sdhci,auto-cmd12; | ||
207 | }; | 208 | }; |
208 | 209 | ||
209 | /include/ "pq3-sec3.3-0.dtsi" | 210 | /include/ "pq3-sec3.3-0.dtsi" |
diff --git a/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi index c041050561a7..332e9e75e6c2 100644 --- a/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi +++ b/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi | |||
@@ -182,6 +182,10 @@ | |||
182 | /include/ "pq3-etsec1-1.dtsi" | 182 | /include/ "pq3-etsec1-1.dtsi" |
183 | /include/ "pq3-etsec1-2.dtsi" | 183 | /include/ "pq3-etsec1-2.dtsi" |
184 | /include/ "pq3-esdhc-0.dtsi" | 184 | /include/ "pq3-esdhc-0.dtsi" |
185 | sdhc@2e000 { | ||
186 | compatible = "fsl,p2020-esdhc", "fsl,esdhc"; | ||
187 | }; | ||
188 | |||
185 | /include/ "pq3-sec3.1-0.dtsi" | 189 | /include/ "pq3-sec3.1-0.dtsi" |
186 | /include/ "pq3-mpic.dtsi" | 190 | /include/ "pq3-mpic.dtsi" |
187 | /include/ "pq3-mpic-timer-B.dtsi" | 191 | /include/ "pq3-mpic-timer-B.dtsi" |
diff --git a/arch/powerpc/boot/dts/p1020rdb.dtsi b/arch/powerpc/boot/dts/p1020rdb.dtsi index b5bd86f4baf2..1fb7e0e0940f 100644 --- a/arch/powerpc/boot/dts/p1020rdb.dtsi +++ b/arch/powerpc/boot/dts/p1020rdb.dtsi | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * P1020 RDB Device Tree Source stub (no addresses or top-level ranges) | 2 | * P1020 RDB Device Tree Source stub (no addresses or top-level ranges) |
3 | * | 3 | * |
4 | * Copyright 2011 Freescale Semiconductor Inc. | 4 | * Copyright 2011-2012 Freescale Semiconductor Inc. |
5 | * | 5 | * |
6 | * Redistribution and use in source and binary forms, with or without | 6 | * Redistribution and use in source and binary forms, with or without |
7 | * modification, are permitted provided that the following conditions are met: | 7 | * modification, are permitted provided that the following conditions are met: |
@@ -190,17 +190,16 @@ | |||
190 | 190 | ||
191 | usb@22000 { | 191 | usb@22000 { |
192 | phy_type = "ulpi"; | 192 | phy_type = "ulpi"; |
193 | dr_mode = "host"; | ||
193 | }; | 194 | }; |
194 | 195 | ||
195 | /* USB2 is shared with localbus, so it must be disabled | 196 | /* USB2 is shared with localbus. It is used |
196 | by default. We can't put 'status = "disabled";' here | 197 | only in case of SPI and SD boot after |
197 | since U-Boot doesn't clear the status property when | 198 | appropriate device-tree fixup done by uboot */ |
198 | it enables USB2. OTOH, U-Boot does create a new node | ||
199 | when there isn't any. So, just comment it out. | ||
200 | usb@23000 { | 199 | usb@23000 { |
201 | phy_type = "ulpi"; | 200 | phy_type = "ulpi"; |
201 | dr_mode = "host"; | ||
202 | }; | 202 | }; |
203 | */ | ||
204 | 203 | ||
205 | mdio@24000 { | 204 | mdio@24000 { |
206 | phy0: ethernet-phy@0 { | 205 | phy0: ethernet-phy@0 { |
diff --git a/arch/powerpc/boot/dts/p1021mds.dts b/arch/powerpc/boot/dts/p1021mds.dts index d9540791e434..97116f198a37 100644 --- a/arch/powerpc/boot/dts/p1021mds.dts +++ b/arch/powerpc/boot/dts/p1021mds.dts | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * P1021 MDS Device Tree Source | 2 | * P1021 MDS Device Tree Source |
3 | * | 3 | * |
4 | * Copyright 2010 Freescale Semiconductor Inc. | 4 | * Copyright 2010,2012 Freescale Semiconductor Inc. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms of the GNU General Public License as published by the | 7 | * under the terms of the GNU General Public License as published by the |
@@ -151,6 +151,7 @@ | |||
151 | 151 | ||
152 | usb@22000 { | 152 | usb@22000 { |
153 | phy_type = "ulpi"; | 153 | phy_type = "ulpi"; |
154 | dr_mode = "host"; | ||
154 | }; | 155 | }; |
155 | 156 | ||
156 | mdio@24000 { | 157 | mdio@24000 { |
diff --git a/arch/powerpc/boot/dts/p2020ds.dtsi b/arch/powerpc/boot/dts/p2020ds.dtsi index c1cf6cef4dd6..d3b939c573b0 100644 --- a/arch/powerpc/boot/dts/p2020ds.dtsi +++ b/arch/powerpc/boot/dts/p2020ds.dtsi | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * P2020DS Device Tree Source stub (no addresses or top-level ranges) | 2 | * P2020DS Device Tree Source stub (no addresses or top-level ranges) |
3 | * | 3 | * |
4 | * Copyright 2011 Freescale Semiconductor Inc. | 4 | * Copyright 2011-2012 Freescale Semiconductor Inc. |
5 | * | 5 | * |
6 | * Redistribution and use in source and binary forms, with or without | 6 | * Redistribution and use in source and binary forms, with or without |
7 | * modification, are permitted provided that the following conditions are met: | 7 | * modification, are permitted provided that the following conditions are met: |
@@ -134,6 +134,7 @@ | |||
134 | &board_soc { | 134 | &board_soc { |
135 | usb@22000 { | 135 | usb@22000 { |
136 | phy_type = "ulpi"; | 136 | phy_type = "ulpi"; |
137 | dr_mode = "host"; | ||
137 | }; | 138 | }; |
138 | 139 | ||
139 | mdio@24520 { | 140 | mdio@24520 { |
diff --git a/arch/powerpc/boot/dts/p2020rdb.dts b/arch/powerpc/boot/dts/p2020rdb.dts index 26759a591712..eb8a6aa2bda5 100644 --- a/arch/powerpc/boot/dts/p2020rdb.dts +++ b/arch/powerpc/boot/dts/p2020rdb.dts | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * P2020 RDB Device Tree Source | 2 | * P2020 RDB Device Tree Source |
3 | * | 3 | * |
4 | * Copyright 2009-2011 Freescale Semiconductor Inc. | 4 | * Copyright 2009-2012 Freescale Semiconductor Inc. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms of the GNU General Public License as published by the | 7 | * under the terms of the GNU General Public License as published by the |
@@ -197,6 +197,7 @@ | |||
197 | 197 | ||
198 | usb@22000 { | 198 | usb@22000 { |
199 | phy_type = "ulpi"; | 199 | phy_type = "ulpi"; |
200 | dr_mode = "host"; | ||
200 | }; | 201 | }; |
201 | 202 | ||
202 | mdio@24520 { | 203 | mdio@24520 { |
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c index 28be3452e67a..abef75176c07 100644 --- a/arch/powerpc/kernel/crash.c +++ b/arch/powerpc/kernel/crash.c | |||
@@ -46,7 +46,6 @@ | |||
46 | 46 | ||
47 | /* This keeps a track of which one is the crashing cpu. */ | 47 | /* This keeps a track of which one is the crashing cpu. */ |
48 | int crashing_cpu = -1; | 48 | int crashing_cpu = -1; |
49 | static atomic_t cpus_in_crash; | ||
50 | static int time_to_dump; | 49 | static int time_to_dump; |
51 | 50 | ||
52 | #define CRASH_HANDLER_MAX 3 | 51 | #define CRASH_HANDLER_MAX 3 |
@@ -66,6 +65,7 @@ static int handle_fault(struct pt_regs *regs) | |||
66 | 65 | ||
67 | #ifdef CONFIG_SMP | 66 | #ifdef CONFIG_SMP |
68 | 67 | ||
68 | static atomic_t cpus_in_crash; | ||
69 | void crash_ipi_callback(struct pt_regs *regs) | 69 | void crash_ipi_callback(struct pt_regs *regs) |
70 | { | 70 | { |
71 | static cpumask_t cpus_state_saved = CPU_MASK_NONE; | 71 | static cpumask_t cpus_state_saved = CPU_MASK_NONE; |
diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c index 3fea3689527e..bedd12e1cfbc 100644 --- a/arch/powerpc/kernel/legacy_serial.c +++ b/arch/powerpc/kernel/legacy_serial.c | |||
@@ -442,8 +442,10 @@ static void __init fixup_port_irq(int index, | |||
442 | 442 | ||
443 | port->irq = virq; | 443 | port->irq = virq; |
444 | 444 | ||
445 | #ifdef CONFIG_SERIAL_8250_FSL | ||
445 | if (of_device_is_compatible(np, "fsl,ns16550")) | 446 | if (of_device_is_compatible(np, "fsl,ns16550")) |
446 | port->handle_irq = fsl8250_handle_irq; | 447 | port->handle_irq = fsl8250_handle_irq; |
448 | #endif | ||
447 | } | 449 | } |
448 | 450 | ||
449 | static void __init fixup_port_pio(int index, | 451 | static void __init fixup_port_pio(int index, |
diff --git a/arch/powerpc/platforms/85xx/p1022_ds.c b/arch/powerpc/platforms/85xx/p1022_ds.c index bb3d84f4046f..b0984ada3f83 100644 --- a/arch/powerpc/platforms/85xx/p1022_ds.c +++ b/arch/powerpc/platforms/85xx/p1022_ds.c | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | #include <sysdev/fsl_soc.h> | 26 | #include <sysdev/fsl_soc.h> |
27 | #include <sysdev/fsl_pci.h> | 27 | #include <sysdev/fsl_pci.h> |
28 | #include <asm/udbg.h> | ||
28 | #include <asm/fsl_guts.h> | 29 | #include <asm/fsl_guts.h> |
29 | #include "smp.h" | 30 | #include "smp.h" |
30 | 31 | ||
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index f31162cfdaa9..5e155dfc4320 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c | |||
@@ -204,11 +204,10 @@ static void __devinit pnv_ioda_offset_bus(struct pci_bus *bus, | |||
204 | pr_devel(" -> OBR %s [%x] +%016llx\n", | 204 | pr_devel(" -> OBR %s [%x] +%016llx\n", |
205 | bus->self ? pci_name(bus->self) : "root", flags, offset); | 205 | bus->self ? pci_name(bus->self) : "root", flags, offset); |
206 | 206 | ||
207 | for (i = 0; i < 2; i++) { | 207 | pci_bus_for_each_resource(bus, r, i) { |
208 | r = bus->resource[i]; | ||
209 | if (r && (r->flags & flags)) { | 208 | if (r && (r->flags & flags)) { |
210 | bus->resource[i]->start += offset; | 209 | r->start += offset; |
211 | bus->resource[i]->end += offset; | 210 | r->end += offset; |
212 | } | 211 | } |
213 | } | 212 | } |
214 | list_for_each_entry(dev, &bus->devices, bus_list) | 213 | list_for_each_entry(dev, &bus->devices, bus_list) |
@@ -288,12 +287,17 @@ static void __devinit pnv_ioda_calc_bus(struct pci_bus *bus, unsigned int flags, | |||
288 | * assignment algorithm is going to be uber-trivial for now, we | 287 | * assignment algorithm is going to be uber-trivial for now, we |
289 | * can try to be smarter later at filling out holes. | 288 | * can try to be smarter later at filling out holes. |
290 | */ | 289 | */ |
291 | start = bus->self ? 0 : bus->resource[bres]->start; | 290 | if (bus->self) { |
292 | 291 | /* No offset for downstream bridges */ | |
293 | /* Don't hand out IO 0 */ | 292 | start = 0; |
294 | if ((flags & IORESOURCE_IO) && !bus->self) | 293 | } else { |
295 | start += 0x1000; | 294 | /* Offset from the root */ |
296 | 295 | if (flags & IORESOURCE_IO) | |
296 | /* Don't hand out IO 0 */ | ||
297 | start = hose->io_resource.start + 0x1000; | ||
298 | else | ||
299 | start = hose->mem_resources[0].start; | ||
300 | } | ||
297 | while(!list_empty(&head)) { | 301 | while(!list_empty(&head)) { |
298 | w = list_first_entry(&head, struct resource_wrap, link); | 302 | w = list_first_entry(&head, struct resource_wrap, link); |
299 | list_del(&w->link); | 303 | list_del(&w->link); |
@@ -321,13 +325,20 @@ static void __devinit pnv_ioda_calc_bus(struct pci_bus *bus, unsigned int flags, | |||
321 | empty: | 325 | empty: |
322 | /* Only setup P2P's, not the PHB itself */ | 326 | /* Only setup P2P's, not the PHB itself */ |
323 | if (bus->self) { | 327 | if (bus->self) { |
324 | WARN_ON(bus->resource[bres] == NULL); | 328 | struct resource *res = bus->resource[bres]; |
325 | bus->resource[bres]->start = 0; | 329 | |
326 | bus->resource[bres]->flags = (*size) ? flags : 0; | 330 | if (WARN_ON(res == NULL)) |
327 | bus->resource[bres]->end = (*size) ? (*size - 1) : 0; | 331 | return; |
328 | 332 | ||
329 | /* Clear prefetch bus resources for now */ | 333 | /* |
330 | bus->resource[2]->flags = 0; | 334 | * FIXME: We should probably export and call |
335 | * pci_bridge_check_ranges() to properly re-initialize | ||
336 | * the PCI portion of the flags here, and to detect | ||
337 | * what the bridge actually supports. | ||
338 | */ | ||
339 | res->start = 0; | ||
340 | res->flags = (*size) ? flags : 0; | ||
341 | res->end = (*size) ? (*size - 1) : 0; | ||
331 | } | 342 | } |
332 | 343 | ||
333 | pr_devel("<- CBR %s [%x] *size=%016llx *align=%016llx\n", | 344 | pr_devel("<- CBR %s [%x] *size=%016llx *align=%016llx\n", |
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig index ae7b6d41fed3..31f22c1f657d 100644 --- a/arch/powerpc/platforms/pseries/Kconfig +++ b/arch/powerpc/platforms/pseries/Kconfig | |||
@@ -122,7 +122,7 @@ config DTL | |||
122 | Say N if you are unsure. | 122 | Say N if you are unsure. |
123 | 123 | ||
124 | config PSERIES_IDLE | 124 | config PSERIES_IDLE |
125 | tristate "Cpuidle driver for pSeries platforms" | 125 | bool "Cpuidle driver for pSeries platforms" |
126 | depends on CPU_IDLE | 126 | depends on CPU_IDLE |
127 | depends on PPC_PSERIES | 127 | depends on PPC_PSERIES |
128 | default y | 128 | default y |
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index 3b61e8cf3421..30eb17ecad49 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c | |||
@@ -205,12 +205,12 @@ static void __init setup_pci_atmu(struct pci_controller *hose, | |||
205 | 205 | ||
206 | if (paddr_hi == paddr_lo) { | 206 | if (paddr_hi == paddr_lo) { |
207 | pr_err("%s: No outbound window space\n", name); | 207 | pr_err("%s: No outbound window space\n", name); |
208 | return ; | 208 | goto out; |
209 | } | 209 | } |
210 | 210 | ||
211 | if (paddr_lo == 0) { | 211 | if (paddr_lo == 0) { |
212 | pr_err("%s: No space for inbound window\n", name); | 212 | pr_err("%s: No space for inbound window\n", name); |
213 | return ; | 213 | goto out; |
214 | } | 214 | } |
215 | 215 | ||
216 | /* setup PCSRBAR/PEXCSRBAR */ | 216 | /* setup PCSRBAR/PEXCSRBAR */ |
@@ -357,6 +357,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose, | |||
357 | (u64)hose->dma_window_size); | 357 | (u64)hose->dma_window_size); |
358 | } | 358 | } |
359 | 359 | ||
360 | out: | ||
360 | iounmap(pci); | 361 | iounmap(pci); |
361 | } | 362 | } |
362 | 363 | ||