]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
Merge branch 'fixes-2.6.23' of master.kernel.org:/pub/scm/linux/kernel/git/galak...
authorPaul Mackerras <paulus@samba.org>
Thu, 26 Jul 2007 06:43:24 +0000 (16:43 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 26 Jul 2007 06:43:24 +0000 (16:43 +1000)
arch/powerpc/Kconfig.debug
arch/powerpc/boot/dts/mpc7448hpc2.dts
arch/powerpc/boot/dts/mpc8544ds.dts
arch/powerpc/boot/dts/mpc8568mds.dts
arch/powerpc/kernel/irq.c
arch/powerpc/kernel/pci-common.c
arch/powerpc/kernel/pci_32.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/udbg.c
arch/powerpc/sysdev/fsl_pci.c
arch/powerpc/sysdev/indirect_pci.c

index 346cd3befe1e2252bb0c132e20d3b9f33aefd8ad..5c71624ee38d41708af7dc299417c601606cde7d 100644 (file)
@@ -134,7 +134,7 @@ config BDI_SWITCH
 
 config BOOTX_TEXT
        bool "Support for early boot text console (BootX or OpenFirmware only)"
-       depends PPC_OF
+       depends PPC_OF && PPC_MULTIPLATFORM
        help
          Say Y here to see progress messages from the boot firmware in text
          mode. Requires either BootX or Open Firmware.
index 0e3d314a7158116351d5dccd4d6395eefd47e22b..b9158eb2797ea4e3e42b07b042a2e916227c5320 100644 (file)
@@ -45,7 +45,7 @@
                #address-cells = <1>;
                #size-cells = <1>;
                #interrupt-cells = <2>;
-               device_type = "tsi108-bridge";
+               device_type = "tsi-bridge";
                ranges = <00000000 c0000000 00010000>;
                reg = <c0000000 00010000>;
                bus-frequency = <0>;
index 4a900c6df762562b9f330d367af58de4f7ceb57c..4680e2010887e468d4fb4824f9fc795428943a31 100644 (file)
                        interrupts = <1d 2 1e 2 22 2>;
                        interrupt-parent = <&mpic>;
                        phy-handle = <&phy0>;
+                       phy-connection-type = "rgmii-id";
                };
 
                ethernet@26000 {
                        interrupts = <1f 2 20 2 21 2>;
                        interrupt-parent = <&mpic>;
                        phy-handle = <&phy1>;
+                       phy-connection-type = "rgmii-id";
                };
 
                serial@4500 {
 
                };
 
+               global-utilities@e0000 {        //global utilities block
+                       compatible = "fsl,mpc8548-guts";
+                       reg = <e0000 1000>;
+                       fsl,has-rstcr;
+               };
+
                mpic: pic@40000 {
                        clock-frequency = <0>;
                        interrupt-controller;
index 99fa5a0ea4255f9efff808d016828ddd0b774661..b1dcfbe8c1f8632b636ea1fe89215bc551862646 100644 (file)
                        interrupt-parent = <&mpic>;
                };
 
+               global-utilities@e0000 {        //global utilities block
+                       compatible = "fsl,mpc8548-guts";
+                       reg = <e0000 1000>;
+                       fsl,has-rstcr;
+               };
+
                pci@8000 {
                        interrupt-map-mask = <f800 0 0 7>;
                        interrupt-map = <
index 2fc87862146cbd68048c0d2307a5eb6b626de086..24bea97c736c75ca59f3ceed5e48443dd6d14daf 100644 (file)
@@ -418,10 +418,10 @@ irq_hw_number_t virq_to_hw(unsigned int virq)
 }
 EXPORT_SYMBOL_GPL(virq_to_hw);
 
-struct irq_host *irq_alloc_host(unsigned int revmap_type,
-                               unsigned int revmap_arg,
-                               struct irq_host_ops *ops,
-                               irq_hw_number_t inval_irq)
+__init_refok struct irq_host *irq_alloc_host(unsigned int revmap_type,
+                                               unsigned int revmap_arg,
+                                               struct irq_host_ops *ops,
+                                               irq_hw_number_t inval_irq)
 {
        struct irq_host *host;
        unsigned int size = sizeof(struct irq_host);
index 74a8fd450f67f84dc518987f62cba10b64b985b3..083cfbdbe0b2d7ed86edeb2ab55d5a7284fd8a91 100644 (file)
@@ -65,7 +65,7 @@ static void __devinit pci_setup_pci_controller(struct pci_controller *hose)
        spin_unlock(&hose_spinlock);
 }
 
-struct pci_controller * pcibios_alloc_controller(struct device_node *dev)
+__init_refok struct pci_controller * pcibios_alloc_controller(struct device_node *dev)
 {
        struct pci_controller *phb;
 
index 721a69400d6557c86fe2c3cc46705130c80df95d..cd35c969bb283f5a52d76b14e8bb208799aafd9f 100644 (file)
@@ -59,6 +59,24 @@ LIST_HEAD(hose_list);
 
 static int pci_bus_count;
 
+static void
+fixup_hide_host_resource_fsl(struct pci_dev* dev)
+{
+       int i, class = dev->class >> 8;
+
+       if ((class == PCI_CLASS_PROCESSOR_POWERPC) &&
+               (dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
+               (dev->bus->parent == NULL)) {
+               for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
+                       dev->resource[i].start = 0;
+                       dev->resource[i].end = 0;
+                       dev->resource[i].flags = 0;
+               }
+       }
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MOTOROLA, PCI_ANY_ID, fixup_hide_host_resource_fsl); 
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID, fixup_hide_host_resource_fsl); 
+
 static void
 fixup_broken_pcnet32(struct pci_dev* dev)
 {
@@ -1229,7 +1247,7 @@ pcibios_init(void)
 
 subsys_initcall(pcibios_init);
 
-void __init pcibios_fixup_bus(struct pci_bus *bus)
+void pcibios_fixup_bus(struct pci_bus *bus)
 {
        struct pci_controller *hose = (struct pci_controller *) bus->sysdata;
        unsigned long io_offset;
index 84f000a45e3678cf4d18fa8b194681bc6cdbaf00..a83727b308a0186e8a5dfadc06fd2be687029834 100644 (file)
@@ -423,7 +423,11 @@ void show_regs(struct pt_regs * regs)
        printk("  CR: %08lx  XER: %08lx\n", regs->ccr, regs->xer);
        trap = TRAP(regs);
        if (trap == 0x300 || trap == 0x600)
+#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
+               printk("DEAR: "REG", ESR: "REG"\n", regs->dar, regs->dsisr);
+#else
                printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
+#endif
        printk("TASK = %p[%d] '%s' THREAD: %p",
               current, current->pid, current->comm, task_thread_info(current));
 
index cbca1df8bc60f996edb343bf86a6944ecfdae108..0f9b4eadfbcbebaa27a60d369730f8b972284aa5 100644 (file)
@@ -155,7 +155,7 @@ static int early_console_initialized;
  * Called by setup_system after ppc_md->probe and ppc_md->early_init.
  * Call it again after setting udbg_putc in ppc_md->setup_arch.
  */
-void register_early_udbg_console(void)
+void __init register_early_udbg_console(void)
 {
        if (early_console_initialized)
                return;
index 51c223385feb23c897013079b15007401396e89e..9fb0ce5c71766c5807467ad76a906fe9a15744d4 100644 (file)
@@ -107,7 +107,7 @@ void __init setup_pci_cmd(struct pci_controller *hose)
        }
 }
 
-static void __devinit quirk_fsl_pcie_transparent(struct pci_dev *dev)
+static void __init quirk_fsl_pcie_transparent(struct pci_dev *dev)
 {
        struct resource *res;
        int i, res_idx = PCI_BRIDGE_RESOURCES;
@@ -216,7 +216,7 @@ int __init fsl_add_bridge(struct device_node *dev, int is_primary)
 
        /* check PCI express link status */
        if (early_find_capability(hose, 0, 0, PCI_CAP_ID_EXP)) {
-               hose->indirect_type = PPC_INDIRECT_TYPE_EXT_REG |
+               hose->indirect_type |= PPC_INDIRECT_TYPE_EXT_REG |
                        PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS;
                if (fsl_pcie_check_link(hose))
                        hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK;
index a8ac2dfdd3d477975db3e121148cd668cc2b1f0f..5294560c7b00b5d65876995e8a96c10d047e3b08 100644 (file)
@@ -160,4 +160,5 @@ setup_indirect_pci(struct pci_controller* hose, u32 cfg_addr, u32 cfg_data, u32
                mbase = ioremap(cfg_data & PAGE_MASK, PAGE_SIZE);
        hose->cfg_data = mbase + (cfg_data & ~PAGE_MASK);
        hose->ops = &indirect_pci_ops;
+       hose->indirect_type = flags;
 }