aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-25 00:17:51 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-25 00:17:51 -0500
commita86b4ad6da23b7d2b55813f0cf026f7149932028 (patch)
tree216878cb17332441563797ed8768f45fee4ab198 /arch
parent701b259f446be2f3625fb852bceb93afe76e206d (diff)
parent3493c85366ba09c9d0972c919e7123367a39982a (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.dtsi4
-rw-r--r--arch/powerpc/boot/dts/fsl/p1010si-post.dtsi3
-rw-r--r--arch/powerpc/boot/dts/fsl/p1020si-post.dtsi4
-rw-r--r--arch/powerpc/boot/dts/fsl/p1022si-post.dtsi3
-rw-r--r--arch/powerpc/boot/dts/fsl/p2020si-post.dtsi4
-rw-r--r--arch/powerpc/boot/dts/p1020rdb.dtsi13
-rw-r--r--arch/powerpc/boot/dts/p1021mds.dts3
-rw-r--r--arch/powerpc/boot/dts/p2020ds.dtsi3
-rw-r--r--arch/powerpc/boot/dts/p2020rdb.dts3
-rw-r--r--arch/powerpc/kernel/crash.c2
-rw-r--r--arch/powerpc/kernel/legacy_serial.c2
-rw-r--r--arch/powerpc/platforms/85xx/p1022_ds.c1
-rw-r--r--arch/powerpc/platforms/powernv/pci-ioda.c43
-rw-r--r--arch/powerpc/platforms/pseries/Kconfig2
-rw-r--r--arch/powerpc/sysdev/fsl_pci.c5
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. */
48int crashing_cpu = -1; 48int crashing_cpu = -1;
49static atomic_t cpus_in_crash;
50static int time_to_dump; 49static 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
68static atomic_t cpus_in_crash;
69void crash_ipi_callback(struct pt_regs *regs) 69void 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
449static void __init fixup_port_pio(int index, 451static 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
124config PSERIES_IDLE 124config 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
360out:
360 iounmap(pci); 361 iounmap(pci);
361} 362}
362 363