diff options
| author | Paul Mackerras <paulus@samba.org> | 2007-07-26 16:43:24 +1000 | 
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2007-07-26 16:43:24 +1000 | 
| commit | 46b2835771ad8ef19b8e081e8c90439408c7645f (patch) | |
| tree | 4059e1949df40d6c9078bcbe6783b03384ba61f3 /arch/powerpc/kernel | |
| parent | 9d78592ed72dbff1d8825207f8def07858a49768 (diff) | |
| parent | 141707892e92dca69b7b8af65b9367da2d1f8120 (diff) | |
Merge branch 'fixes-2.6.23' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge
Diffstat (limited to 'arch/powerpc/kernel')
| -rw-r--r-- | arch/powerpc/kernel/irq.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/kernel/pci-common.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/kernel/pci_32.c | 20 | ||||
| -rw-r--r-- | arch/powerpc/kernel/process.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/udbg.c | 2 | 
5 files changed, 29 insertions, 7 deletions
| diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 2fc87862146c..24bea97c736c 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -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); diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index 74a8fd450f67..083cfbdbe0b2 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c @@ -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; diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 721a69400d65..cd35c969bb28 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c @@ -60,6 +60,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)  {  	if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) { @@ -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; diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 84f000a45e36..a83727b308a0 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -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)); diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index cbca1df8bc60..0f9b4eadfbcb 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c @@ -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; | 
