Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+63 -32
+4
arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
··· 236 236 }; 237 237 238 238 /include/ "pq3-esdhc-0.dtsi" 239 + sdhc@2e000 { 240 + compatible = "fsl,mpc8536-esdhc", "fsl,esdhc"; 241 + }; 242 + 239 243 /include/ "pq3-sec3.0-0.dtsi" 240 244 /include/ "pq3-mpic.dtsi" 241 245 /include/ "pq3-mpic-timer-B.dtsi"
+2 -1
arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
··· 158 158 /include/ "pq3-usb2-dr-0.dtsi" 159 159 /include/ "pq3-esdhc-0.dtsi" 160 160 sdhc@2e000 { 161 - fsl,sdhci-auto-cmd12; 161 + compatible = "fsl,p1010-esdhc", "fsl,esdhc"; 162 + sdhci,auto-cmd12; 162 163 }; 163 164 164 165 /include/ "pq3-sec4.4-0.dtsi"
+4
arch/powerpc/boot/dts/fsl/p1020si-post.dtsi
··· 145 145 /include/ "pq3-usb2-dr-1.dtsi" 146 146 147 147 /include/ "pq3-esdhc-0.dtsi" 148 + sdhc@2e000 { 149 + compatible = "fsl,p1020-esdhc", "fsl,esdhc"; 150 + sdhci,auto-cmd12; 151 + }; 148 152 /include/ "pq3-sec3.3-0.dtsi" 149 153 150 154 /include/ "pq3-mpic.dtsi"
+2 -1
arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
··· 203 203 204 204 /include/ "pq3-esdhc-0.dtsi" 205 205 sdhc@2e000 { 206 - fsl,sdhci-auto-cmd12; 206 + compatible = "fsl,p1022-esdhc", "fsl,esdhc"; 207 + sdhci,auto-cmd12; 207 208 }; 208 209 209 210 /include/ "pq3-sec3.3-0.dtsi"
+4
arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
··· 182 182 /include/ "pq3-etsec1-1.dtsi" 183 183 /include/ "pq3-etsec1-2.dtsi" 184 184 /include/ "pq3-esdhc-0.dtsi" 185 + sdhc@2e000 { 186 + compatible = "fsl,p2020-esdhc", "fsl,esdhc"; 187 + }; 188 + 185 189 /include/ "pq3-sec3.1-0.dtsi" 186 190 /include/ "pq3-mpic.dtsi" 187 191 /include/ "pq3-mpic-timer-B.dtsi"
+6 -7
arch/powerpc/boot/dts/p1020rdb.dtsi
··· 1 1 /* 2 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 6 * Redistribution and use in source and binary forms, with or without 7 7 * modification, are permitted provided that the following conditions are met: ··· 190 190 191 191 usb@22000 { 192 192 phy_type = "ulpi"; 193 + dr_mode = "host"; 193 194 }; 194 195 195 - /* USB2 is shared with localbus, so it must be disabled 196 - by default. We can't put 'status = "disabled";' here 197 - since U-Boot doesn't clear the status property when 198 - it enables USB2. OTOH, U-Boot does create a new node 199 - when there isn't any. So, just comment it out. 196 + /* USB2 is shared with localbus. It is used 197 + only in case of SPI and SD boot after 198 + appropriate device-tree fixup done by uboot */ 200 199 usb@23000 { 201 200 phy_type = "ulpi"; 201 + dr_mode = "host"; 202 202 }; 203 - */ 204 203 205 204 mdio@24000 { 206 205 phy0: ethernet-phy@0 {
+2 -1
arch/powerpc/boot/dts/p1021mds.dts
··· 1 1 /* 2 2 * P1021 MDS Device Tree Source 3 3 * 4 - * Copyright 2010 Freescale Semiconductor Inc. 4 + * Copyright 2010,2012 Freescale Semiconductor Inc. 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 151 151 152 152 usb@22000 { 153 153 phy_type = "ulpi"; 154 + dr_mode = "host"; 154 155 }; 155 156 156 157 mdio@24000 {
+2 -1
arch/powerpc/boot/dts/p2020ds.dtsi
··· 1 1 /* 2 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 6 * Redistribution and use in source and binary forms, with or without 7 7 * modification, are permitted provided that the following conditions are met: ··· 134 134 &board_soc { 135 135 usb@22000 { 136 136 phy_type = "ulpi"; 137 + dr_mode = "host"; 137 138 }; 138 139 139 140 mdio@24520 {
+2 -1
arch/powerpc/boot/dts/p2020rdb.dts
··· 1 1 /* 2 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 6 * This program is free software; you can redistribute it and/or modify it 7 7 * under the terms of the GNU General Public License as published by the ··· 197 197 198 198 usb@22000 { 199 199 phy_type = "ulpi"; 200 + dr_mode = "host"; 200 201 }; 201 202 202 203 mdio@24520 {
+1 -1
arch/powerpc/kernel/crash.c
··· 46 46 47 47 /* This keeps a track of which one is the crashing cpu. */ 48 48 int crashing_cpu = -1; 49 - static atomic_t cpus_in_crash; 50 49 static int time_to_dump; 51 50 52 51 #define CRASH_HANDLER_MAX 3 ··· 65 66 66 67 #ifdef CONFIG_SMP 67 68 69 + static atomic_t cpus_in_crash; 68 70 void crash_ipi_callback(struct pt_regs *regs) 69 71 { 70 72 static cpumask_t cpus_state_saved = CPU_MASK_NONE;
+2
arch/powerpc/kernel/legacy_serial.c
··· 442 442 443 443 port->irq = virq; 444 444 445 + #ifdef CONFIG_SERIAL_8250_FSL 445 446 if (of_device_is_compatible(np, "fsl,ns16550")) 446 447 port->handle_irq = fsl8250_handle_irq; 448 + #endif 447 449 } 448 450 449 451 static void __init fixup_port_pio(int index,
+1
arch/powerpc/platforms/85xx/p1022_ds.c
··· 25 25 26 26 #include <sysdev/fsl_soc.h> 27 27 #include <sysdev/fsl_pci.h> 28 + #include <asm/udbg.h> 28 29 #include <asm/fsl_guts.h> 29 30 #include "smp.h" 30 31
+27 -16
arch/powerpc/platforms/powernv/pci-ioda.c
··· 204 204 pr_devel(" -> OBR %s [%x] +%016llx\n", 205 205 bus->self ? pci_name(bus->self) : "root", flags, offset); 206 206 207 - for (i = 0; i < 2; i++) { 208 - r = bus->resource[i]; 207 + pci_bus_for_each_resource(bus, r, i) { 209 208 if (r && (r->flags & flags)) { 210 - bus->resource[i]->start += offset; 211 - bus->resource[i]->end += offset; 209 + r->start += offset; 210 + r->end += offset; 212 211 } 213 212 } 214 213 list_for_each_entry(dev, &bus->devices, bus_list) ··· 287 288 * assignment algorithm is going to be uber-trivial for now, we 288 289 * can try to be smarter later at filling out holes. 289 290 */ 290 - start = bus->self ? 0 : bus->resource[bres]->start; 291 - 292 - /* Don't hand out IO 0 */ 293 - if ((flags & IORESOURCE_IO) && !bus->self) 294 - start += 0x1000; 295 - 291 + if (bus->self) { 292 + /* No offset for downstream bridges */ 293 + start = 0; 294 + } else { 295 + /* Offset from the root */ 296 + if (flags & IORESOURCE_IO) 297 + /* Don't hand out IO 0 */ 298 + start = hose->io_resource.start + 0x1000; 299 + else 300 + start = hose->mem_resources[0].start; 301 + } 296 302 while(!list_empty(&head)) { 297 303 w = list_first_entry(&head, struct resource_wrap, link); 298 304 list_del(&w->link); ··· 325 321 empty: 326 322 /* Only setup P2P's, not the PHB itself */ 327 323 if (bus->self) { 328 - WARN_ON(bus->resource[bres] == NULL); 329 - bus->resource[bres]->start = 0; 330 - bus->resource[bres]->flags = (*size) ? flags : 0; 331 - bus->resource[bres]->end = (*size) ? (*size - 1) : 0; 324 + struct resource *res = bus->resource[bres]; 332 325 333 - /* Clear prefetch bus resources for now */ 334 - bus->resource[2]->flags = 0; 326 + if (WARN_ON(res == NULL)) 327 + return; 328 + 329 + /* 330 + * FIXME: We should probably export and call 331 + * pci_bridge_check_ranges() to properly re-initialize 332 + * the PCI portion of the flags here, and to detect 333 + * what the bridge actually supports. 334 + */ 335 + res->start = 0; 336 + res->flags = (*size) ? flags : 0; 337 + res->end = (*size) ? (*size - 1) : 0; 335 338 } 336 339 337 340 pr_devel("<- CBR %s [%x] *size=%016llx *align=%016llx\n",
+1 -1
arch/powerpc/platforms/pseries/Kconfig
··· 122 122 Say N if you are unsure. 123 123 124 124 config PSERIES_IDLE 125 - tristate "Cpuidle driver for pSeries platforms" 125 + bool "Cpuidle driver for pSeries platforms" 126 126 depends on CPU_IDLE 127 127 depends on PPC_PSERIES 128 128 default y
+3 -2
arch/powerpc/sysdev/fsl_pci.c
··· 205 205 206 206 if (paddr_hi == paddr_lo) { 207 207 pr_err("%s: No outbound window space\n", name); 208 - return ; 208 + goto out; 209 209 } 210 210 211 211 if (paddr_lo == 0) { 212 212 pr_err("%s: No space for inbound window\n", name); 213 - return ; 213 + goto out; 214 214 } 215 215 216 216 /* setup PCSRBAR/PEXCSRBAR */ ··· 357 357 (u64)hose->dma_window_size); 358 358 } 359 359 360 + out: 360 361 iounmap(pci); 361 362 } 362 363