Skip to content

Commit 4fbca53

Browse files
author
Linus Torvalds
committed
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] arch/arm/kernel/dma-isa.c: named initializers [ARM] 3527/1: MPCore Boot Lockup Fix [ARM] arch/arm/kernel/process.c: Fix warning [ARM] 3526/1: ioremap should use vunmap instead of vfree on ARM [ARM] 3524/1: ARM EABI: more 64-bit aligned stack fixes [ARM] 3517/1: move definition of PROC_INFO_SZ from procinfo.h to asm-offsets.h
2 parents 509b70b + 3170a5e commit 4fbca53

File tree

8 files changed

+30
-16
lines changed

8 files changed

+30
-16
lines changed

arch/arm/kernel/asm-offsets.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ int main(void)
9999
DEFINE(MACHINFO_NAME, offsetof(struct machine_desc, name));
100100
DEFINE(MACHINFO_PHYSIO, offsetof(struct machine_desc, phys_io));
101101
DEFINE(MACHINFO_PGOFFIO, offsetof(struct machine_desc, io_pg_offst));
102+
BLANK();
103+
DEFINE(PROC_INFO_SZ, sizeof(struct proc_info_list));
102104
DEFINE(PROCINFO_INITFUNC, offsetof(struct proc_info_list, __cpu_flush));
103105
DEFINE(PROCINFO_MMUFLAGS, offsetof(struct proc_info_list, __cpu_mmu_flags));
104106
return 0;

arch/arm/kernel/dma-isa.c

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,23 @@ static struct dma_ops isa_dma_ops = {
143143
.residue = isa_get_dma_residue,
144144
};
145145

146-
static struct resource dma_resources[] = {
147-
{ "dma1", 0x0000, 0x000f },
148-
{ "dma low page", 0x0080, 0x008f },
149-
{ "dma2", 0x00c0, 0x00df },
150-
{ "dma high page", 0x0480, 0x048f }
151-
};
146+
static struct resource dma_resources[] = { {
147+
.name = "dma1",
148+
.start = 0x0000,
149+
.end = 0x000f
150+
}, {
151+
.name = "dma low page",
152+
.start = 0x0080,
153+
.end = 0x008f
154+
}, {
155+
.name = "dma2",
156+
.start = 0x00c0,
157+
.end = 0x00df
158+
}, {
159+
.name = "dma high page",
160+
.start = 0x0480,
161+
.end = 0x048f
162+
} };
152163

153164
void __init isa_init_dma(dma_t *dma)
154165
{

arch/arm/kernel/process.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ void free_thread_info(struct thread_info *thread)
311311
struct thread_info_list *th = &get_cpu_var(thread_info_list);
312312
if (th->nr < EXTRA_TASK_STRUCT) {
313313
unsigned long *p = (unsigned long *)thread;
314-
p[0] = th->head;
314+
p[0] = (unsigned long)th->head;
315315
th->head = p;
316316
th->nr += 1;
317317
put_cpu_var(thread_info_list);

arch/arm/lib/backtrace.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ ENTRY(c_backtrace)
122122
#define reg r5
123123
#define stack r6
124124

125-
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, lr}
125+
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, r8, lr}
126126
mov stack, r0
127127
mov instr, r1
128128
mov reg, #9
@@ -145,7 +145,7 @@ ENTRY(c_backtrace)
145145
adrne r0, .Lcr
146146
blne printk
147147
mov r0, stack
148-
LOADREGS(fd, sp!, {instr, reg, stack, r7, pc})
148+
LOADREGS(fd, sp!, {instr, reg, stack, r7, r8, pc})
149149

150150
.Lfp: .asciz " r%d = %08X%c"
151151
.Lcr: .asciz "\n"

arch/arm/lib/div64.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,12 @@ ENTRY(__do_div64)
189189
moveq pc, lr
190190

191191
@ Division by 0:
192-
str lr, [sp, #-4]!
192+
str lr, [sp, #-8]!
193193
bl __div0
194194

195195
@ as wrong as it could be...
196196
mov yl, #0
197197
mov yh, #0
198198
mov xh, #0
199-
ldr pc, [sp], #4
199+
ldr pc, [sp], #8
200200

arch/arm/mach-realview/realview_eb.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,11 @@ static struct amba_device *amba_devs[] __initdata = {
137137
static void __init gic_init_irq(void)
138138
{
139139
#ifdef CONFIG_REALVIEW_MPCORE
140+
unsigned int pldctrl;
140141
writel(0x0000a05f, __io_address(REALVIEW_SYS_LOCK));
141-
writel(0x008003c0, __io_address(REALVIEW_SYS_BASE) + 0xd8);
142+
pldctrl = readl(__io_address(REALVIEW_SYS_BASE) + 0xd8);
143+
pldctrl |= 0x00800000; /* New irq mode */
144+
writel(pldctrl, __io_address(REALVIEW_SYS_BASE) + 0xd8);
142145
writel(0x00000000, __io_address(REALVIEW_SYS_LOCK));
143146
#endif
144147
gic_dist_init(__io_address(REALVIEW_GIC_DIST_BASE));

arch/arm/mm/ioremap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
141141
return NULL;
142142
addr = (unsigned long)area->addr;
143143
if (remap_area_pages(addr, pfn, size, flags)) {
144-
vfree((void *)addr);
144+
vunmap((void *)addr);
145145
return NULL;
146146
}
147147
return (void __iomem *) (offset + (char *)addr);
@@ -173,7 +173,7 @@ EXPORT_SYMBOL(__ioremap);
173173

174174
void __iounmap(void __iomem *addr)
175175
{
176-
vfree((void *) (PAGE_MASK & (unsigned long) addr));
176+
vunmap((void *)(PAGE_MASK & (unsigned long)addr));
177177
}
178178
EXPORT_SYMBOL(__iounmap);
179179

include/asm-arm/procinfo.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ extern unsigned int elf_hwcap;
4545

4646
#endif /* __ASSEMBLY__ */
4747

48-
#define PROC_INFO_SZ 48
49-
5048
#define HWCAP_SWP 1
5149
#define HWCAP_HALF 2
5250
#define HWCAP_THUMB 4

0 commit comments

Comments
 (0)