Commit 060ec6f2 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 0d178214 0f1482fd
...@@ -883,7 +883,7 @@ static ssize_t ecard_show_resources(struct device *dev, struct device_attribute ...@@ -883,7 +883,7 @@ static ssize_t ecard_show_resources(struct device *dev, struct device_attribute
int i; int i;
for (i = 0; i < ECARD_NUM_RESOURCES; 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].start,
ec->resource[i].end, ec->resource[i].end,
ec->resource[i].flags); ec->resource[i].flags);
......
...@@ -344,7 +344,7 @@ static void __init setup_processor(void) ...@@ -344,7 +344,7 @@ static void __init setup_processor(void)
cpu_cache = *list->cache; cpu_cache = *list->cache;
#endif #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, cpu_name, processor_id, (int)processor_id & 15,
proc_arch[cpu_architecture()], cr_alignment); proc_arch[cpu_architecture()], cr_alignment);
......
...@@ -98,9 +98,22 @@ isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) ...@@ -98,9 +98,22 @@ isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
desc_handle_irq(isa_irq, desc, regs); desc_handle_irq(isa_irq, desc, regs);
} }
static struct irqaction irq_cascade = { .handler = no_action, .name = "cascade", }; static struct irqaction irq_cascade = {
static struct resource pic1_resource = { "pic1", 0x20, 0x3f }; .handler = no_action,
static struct resource pic2_resource = { "pic2", 0xa0, 0xbf }; .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) void __init isa_init_irq(unsigned int host_irq)
{ {
......
...@@ -303,7 +303,6 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size, ...@@ -303,7 +303,6 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
int err; int err;
unsigned long addr; unsigned long addr;
struct vm_struct * area; struct vm_struct * area;
unsigned int cr = get_cr();
/* /*
* High mappings must be supersection aligned * High mappings must be supersection aligned
...@@ -317,7 +316,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size, ...@@ -317,7 +316,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
addr = (unsigned long)area->addr; addr = (unsigned long)area->addr;
#ifndef CONFIG_SMP #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()) && cpu_is_xsc3()) &&
!((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) { !((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) {
area->flags |= VM_ARM_SECTION_MAPPING; area->flags |= VM_ARM_SECTION_MAPPING;
...@@ -369,6 +368,7 @@ void __iounmap(void __iomem *addr) ...@@ -369,6 +368,7 @@ void __iounmap(void __iomem *addr)
addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr); addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr);
#ifndef CONFIG_SMP
/* /*
* If this is a section based mapping we need to handle it * If this is a section based mapping we need to handle it
* specially as the VM subysystem does not know how to handle * specially as the VM subysystem does not know how to handle
...@@ -390,6 +390,7 @@ void __iounmap(void __iomem *addr) ...@@ -390,6 +390,7 @@ void __iounmap(void __iomem *addr)
} }
} }
write_unlock(&vmlist_lock); write_unlock(&vmlist_lock);
#endif
if (!section_mapping) if (!section_mapping)
vunmap(addr); vunmap(addr);
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#include <asm/procinfo.h> #include <asm/procinfo.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include "proc-macros.S"
/* /*
* This is the maximum size of an area which will be invalidated * This is the maximum size of an area which will be invalidated
* using the single invalidate entry instructions. Anything larger * using the single invalidate entry instructions. Anything larger
......
...@@ -34,6 +34,8 @@ ...@@ -34,6 +34,8 @@
#include <asm/procinfo.h> #include <asm/procinfo.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include "proc-macros.S"
/* /*
* This is the maximum size of an area which will be invalidated * This is the maximum size of an area which will be invalidated
* using the single invalidate entry instructions. Anything larger * using the single invalidate entry instructions. Anything larger
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#include <asm/procinfo.h> #include <asm/procinfo.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include "proc-macros.S"
/* /*
* This is the maximum size of an area which will be invalidated * This is the maximum size of an area which will be invalidated
* using the single invalidate entry instructions. Anything larger * using the single invalidate entry instructions. Anything larger
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#include <asm/procinfo.h> #include <asm/procinfo.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include "proc-macros.S"
/* /*
* This is the maximum size of an area which will be invalidated * This is the maximum size of an area which will be invalidated
* using the single invalidate entry instructions. Anything larger * using the single invalidate entry instructions. Anything larger
......
...@@ -454,7 +454,8 @@ __arm925_setup: ...@@ -454,7 +454,8 @@ __arm925_setup:
mcr p15, 7, r0, c15, c0, 0 mcr p15, 7, r0, c15, c0, 0
#endif #endif
adr r5, {r5, r6} adr r5, arm925_crval
ldmia r5, {r5, r6}
mrc p15, 0, r0, c1, c0 @ get control register v4 mrc p15, 0, r0, c1, c0 @ get control register v4
bic r0, r0, r5 bic r0, r0, r5
orr r0, r0, r6 orr r0, r0, r6
......
...@@ -2143,7 +2143,7 @@ static int lh7a40x_udc_remove(struct platform_device *pdev) ...@@ -2143,7 +2143,7 @@ static int lh7a40x_udc_remove(struct platform_device *pdev)
static struct platform_driver udc_driver = { static struct platform_driver udc_driver = {
.probe = lh7a40x_udc_probe, .probe = lh7a40x_udc_probe,
.remove = lh7a40x_udc_remove .remove = lh7a40x_udc_remove,
/* FIXME power management support */ /* FIXME power management support */
/* .suspend = ... disable UDC */ /* .suspend = ... disable UDC */
/* .resume = ... re-enable UDC */ /* .resume = ... re-enable UDC */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment