Prechádzať zdrojové kódy

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] Fix lh7a40x_udc.c
  [ARM] Fix warning in consistent.c
  [ARM] Fix warnings in arch/arm/kernel/setup.c
  [ARM] Fix ecard.c resource warnings.
  [ARM] Fix ISA IRQ resources
  [ARM] Fix bad asm instruction in proc-arm925.S
  [ARM] More missing proc-macros.S includes
  [ARM] 3708/2: fix SMP build after section ioremap changes
Linus Torvalds 19 rokov pred
rodič
commit
060ec6f2fb

+ 1 - 1
arch/arm/kernel/ecard.c

@@ -883,7 +883,7 @@ static ssize_t ecard_show_resources(struct device *dev, struct device_attribute
 	int i;
 
 	for (i = 0; i < ECARD_NUM_RESOURCES; i++)
-		str += sprintf(str, "%08lx %08lx %08lx\n",
+		str += sprintf(str, "%08x %08x %08lx\n",
 				ec->resource[i].start,
 				ec->resource[i].end,
 				ec->resource[i].flags);

+ 1 - 1
arch/arm/kernel/setup.c

@@ -344,7 +344,7 @@ static void __init setup_processor(void)
 	cpu_cache = *list->cache;
 #endif
 
-	printk("CPU: %s [%08x] revision %d (ARMv%s), cr=%08x\n",
+	printk("CPU: %s [%08x] revision %d (ARMv%s), cr=%08lx\n",
 	       cpu_name, processor_id, (int)processor_id & 15,
 	       proc_arch[cpu_architecture()], cr_alignment);
 

+ 16 - 3
arch/arm/mach-footbridge/isa-irq.c

@@ -98,9 +98,22 @@ isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
 	desc_handle_irq(isa_irq, desc, regs);
 }
 
-static struct irqaction irq_cascade = { .handler = no_action, .name = "cascade", };
-static struct resource pic1_resource = { "pic1", 0x20, 0x3f };
-static struct resource pic2_resource = { "pic2", 0xa0, 0xbf };
+static struct irqaction irq_cascade = {
+	.handler = no_action,
+	.name = "cascade",
+};
+
+static struct resource pic1_resource = {
+	.name	= "pic1",
+	.start	= 0x20,
+	.end	= 0x3f,
+};
+
+static struct resource pic2_resource = {
+	.name	= "pic2",
+	.start	= 0xa0,
+	.end	= 0xbf,
+};
 
 void __init isa_init_irq(unsigned int host_irq)
 {

+ 3 - 2
arch/arm/mm/ioremap.c

@@ -303,7 +303,6 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
 	int err;
 	unsigned long addr;
  	struct vm_struct * area;
-	unsigned int cr = get_cr();
 
 	/*
 	 * High mappings must be supersection aligned
@@ -317,7 +316,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
  	addr = (unsigned long)area->addr;
 
 #ifndef CONFIG_SMP
-	if ((((cpu_architecture() >= CPU_ARCH_ARMv6) && (cr & CR_XP)) ||
+	if ((((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
 	       cpu_is_xsc3()) &&
 	       !((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) {
 		area->flags |= VM_ARM_SECTION_MAPPING;
@@ -369,6 +368,7 @@ void __iounmap(void __iomem *addr)
 
 	addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr);
 
+#ifndef CONFIG_SMP
 	/*
 	 * If this is a section based mapping we need to handle it
 	 * specially as the VM subysystem does not know how to handle
@@ -390,6 +390,7 @@ void __iounmap(void __iomem *addr)
 		}
 	}
 	write_unlock(&vmlist_lock);
+#endif
 
 	if (!section_mapping)
 		vunmap(addr);

+ 2 - 0
arch/arm/mm/proc-arm1020.S

@@ -34,6 +34,8 @@
 #include <asm/procinfo.h>
 #include <asm/ptrace.h>
 
+#include "proc-macros.S"
+
 /*
  * This is the maximum size of an area which will be invalidated
  * using the single invalidate entry instructions.  Anything larger

+ 2 - 0
arch/arm/mm/proc-arm1020e.S

@@ -34,6 +34,8 @@
 #include <asm/procinfo.h>
 #include <asm/ptrace.h>
 
+#include "proc-macros.S"
+
 /*
  * This is the maximum size of an area which will be invalidated
  * using the single invalidate entry instructions.  Anything larger

+ 2 - 0
arch/arm/mm/proc-arm1022.S

@@ -23,6 +23,8 @@
 #include <asm/procinfo.h>
 #include <asm/ptrace.h>
 
+#include "proc-macros.S"
+
 /*
  * This is the maximum size of an area which will be invalidated
  * using the single invalidate entry instructions.  Anything larger

+ 2 - 0
arch/arm/mm/proc-arm1026.S

@@ -23,6 +23,8 @@
 #include <asm/procinfo.h>
 #include <asm/ptrace.h>
 
+#include "proc-macros.S"
+
 /*
  * This is the maximum size of an area which will be invalidated
  * using the single invalidate entry instructions.  Anything larger

+ 2 - 1
arch/arm/mm/proc-arm925.S

@@ -454,7 +454,8 @@ __arm925_setup:
 	mcr	p15, 7, r0, c15, c0, 0
 #endif
 
-	adr	r5, {r5, r6}
+	adr	r5, arm925_crval
+	ldmia	r5, {r5, r6}
 	mrc	p15, 0, r0, c1, c0		@ get control register v4
 	bic	r0, r0, r5
 	orr	r0, r0, r6

+ 1 - 1
drivers/usb/gadget/lh7a40x_udc.c

@@ -2143,7 +2143,7 @@ static int lh7a40x_udc_remove(struct platform_device *pdev)
 
 static struct platform_driver udc_driver = {
 	.probe = lh7a40x_udc_probe,
-	.remove = lh7a40x_udc_remove
+	.remove = lh7a40x_udc_remove,
 	    /* FIXME power management support */
 	    /* .suspend = ... disable UDC */
 	    /* .resume = ... re-enable UDC */