diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:50:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:50:25 -0400 |
commit | 3960208f9ca0cf6bdb31c21c59ac0526303f8b34 (patch) | |
tree | ca1948cec8fb390e5298498361194db145e2e49f | |
parent | b0b73cb41d56ee391f20cbd3e4304e2303a8829b (diff) | |
parent | 47cc3e780474be2e462278d63d77c27a493b28ed (diff) |
Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32
* 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32:
[AVR32] Wire up sys_utimensat
[AVR32] Fix section mismatch .taglist -> .init.text
[AVR32] Implement dma_{alloc,free}_writecombine()
AVR32: Spinlock initializer cleanup
[AVR32] Use correct config symbol when setting cpuflags
-rw-r--r-- | arch/avr32/Makefile | 2 | ||||
-rw-r--r-- | arch/avr32/kernel/syscall_table.S | 1 | ||||
-rw-r--r-- | arch/avr32/kernel/traps.c | 2 | ||||
-rw-r--r-- | arch/avr32/kernel/vmlinux.lds.c | 2 | ||||
-rw-r--r-- | arch/avr32/mach-at32ap/clock.c | 2 | ||||
-rw-r--r-- | arch/avr32/mm/dma-coherent.c | 12 | ||||
-rw-r--r-- | include/asm-avr32/setup.h | 2 | ||||
-rw-r--r-- | include/asm-avr32/unistd.h | 4 |
8 files changed, 17 insertions, 10 deletions
diff --git a/arch/avr32/Makefile b/arch/avr32/Makefile index 6115fc1f0cfa..dc6bc01f232c 100644 --- a/arch/avr32/Makefile +++ b/arch/avr32/Makefile | |||
@@ -16,7 +16,7 @@ AFLAGS += -mrelax -mno-pic | |||
16 | CFLAGS_MODULE += -mno-relax | 16 | CFLAGS_MODULE += -mno-relax |
17 | LDFLAGS_vmlinux += --relax | 17 | LDFLAGS_vmlinux += --relax |
18 | 18 | ||
19 | cpuflags-$(CONFIG_CPU_AP7000) += -mcpu=ap7000 | 19 | cpuflags-$(CONFIG_CPU_AT32AP7000) += -mcpu=ap7000 |
20 | 20 | ||
21 | CFLAGS += $(cpuflags-y) | 21 | CFLAGS += $(cpuflags-y) |
22 | AFLAGS += $(cpuflags-y) | 22 | AFLAGS += $(cpuflags-y) |
diff --git a/arch/avr32/kernel/syscall_table.S b/arch/avr32/kernel/syscall_table.S index 7c279586fbba..07f6a6fa340d 100644 --- a/arch/avr32/kernel/syscall_table.S +++ b/arch/avr32/kernel/syscall_table.S | |||
@@ -291,4 +291,5 @@ sys_call_table: | |||
291 | .long sys_shmget /* 275 */ | 291 | .long sys_shmget /* 275 */ |
292 | .long sys_shmdt | 292 | .long sys_shmdt |
293 | .long sys_shmctl | 293 | .long sys_shmctl |
294 | .long sys_utimensat | ||
294 | .long sys_ni_syscall /* r8 is saturated at nr_syscalls */ | 295 | .long sys_ni_syscall /* r8 is saturated at nr_syscalls */ |
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c index 4de9edf96ed2..86d107511dd4 100644 --- a/arch/avr32/kernel/traps.c +++ b/arch/avr32/kernel/traps.c | |||
@@ -123,7 +123,7 @@ asmlinkage void do_address_exception(unsigned long ecr, struct pt_regs *regs) | |||
123 | 123 | ||
124 | /* This way of handling undefined instructions is stolen from ARM */ | 124 | /* This way of handling undefined instructions is stolen from ARM */ |
125 | static LIST_HEAD(undef_hook); | 125 | static LIST_HEAD(undef_hook); |
126 | static spinlock_t undef_lock = SPIN_LOCK_UNLOCKED; | 126 | static DEFINE_SPINLOCK(undef_lock); |
127 | 127 | ||
128 | void register_undef_hook(struct undef_hook *hook) | 128 | void register_undef_hook(struct undef_hook *hook) |
129 | { | 129 | { |
diff --git a/arch/avr32/kernel/vmlinux.lds.c b/arch/avr32/kernel/vmlinux.lds.c index 7ad20cfb48a8..e7f72c995a32 100644 --- a/arch/avr32/kernel/vmlinux.lds.c +++ b/arch/avr32/kernel/vmlinux.lds.c | |||
@@ -35,7 +35,7 @@ SECTIONS | |||
35 | _einittext = .; | 35 | _einittext = .; |
36 | . = ALIGN(4); | 36 | . = ALIGN(4); |
37 | __tagtable_begin = .; | 37 | __tagtable_begin = .; |
38 | *(.taglist) | 38 | *(.taglist.init) |
39 | __tagtable_end = .; | 39 | __tagtable_end = .; |
40 | *(.init.data) | 40 | *(.init.data) |
41 | . = ALIGN(16); | 41 | . = ALIGN(16); |
diff --git a/arch/avr32/mach-at32ap/clock.c b/arch/avr32/mach-at32ap/clock.c index 00c435452d7e..0f8c89c9f832 100644 --- a/arch/avr32/mach-at32ap/clock.c +++ b/arch/avr32/mach-at32ap/clock.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | #include "clock.h" | 19 | #include "clock.h" |
20 | 20 | ||
21 | static spinlock_t clk_lock = SPIN_LOCK_UNLOCKED; | 21 | static DEFINE_SPINLOCK(clk_lock); |
22 | 22 | ||
23 | struct clk *clk_get(struct device *dev, const char *id) | 23 | struct clk *clk_get(struct device *dev, const char *id) |
24 | { | 24 | { |
diff --git a/arch/avr32/mm/dma-coherent.c b/arch/avr32/mm/dma-coherent.c index b68d669f823d..099212d4567c 100644 --- a/arch/avr32/mm/dma-coherent.c +++ b/arch/avr32/mm/dma-coherent.c | |||
@@ -112,16 +112,21 @@ void dma_free_coherent(struct device *dev, size_t size, | |||
112 | } | 112 | } |
113 | EXPORT_SYMBOL(dma_free_coherent); | 113 | EXPORT_SYMBOL(dma_free_coherent); |
114 | 114 | ||
115 | #if 0 | ||
116 | void *dma_alloc_writecombine(struct device *dev, size_t size, | 115 | void *dma_alloc_writecombine(struct device *dev, size_t size, |
117 | dma_addr_t *handle, gfp_t gfp) | 116 | dma_addr_t *handle, gfp_t gfp) |
118 | { | 117 | { |
119 | struct page *page; | 118 | struct page *page; |
119 | dma_addr_t phys; | ||
120 | 120 | ||
121 | page = __dma_alloc(dev, size, handle, gfp); | 121 | page = __dma_alloc(dev, size, handle, gfp); |
122 | if (!page) | ||
123 | return NULL; | ||
124 | |||
125 | phys = page_to_phys(page); | ||
126 | *handle = phys; | ||
122 | 127 | ||
123 | /* Now, map the page into P3 with write-combining turned on */ | 128 | /* Now, map the page into P3 with write-combining turned on */ |
124 | return __ioremap(page_to_phys(page), size, _PAGE_BUFFER); | 129 | return __ioremap(phys, size, _PAGE_BUFFER); |
125 | } | 130 | } |
126 | EXPORT_SYMBOL(dma_alloc_writecombine); | 131 | EXPORT_SYMBOL(dma_alloc_writecombine); |
127 | 132 | ||
@@ -132,8 +137,7 @@ void dma_free_writecombine(struct device *dev, size_t size, | |||
132 | 137 | ||
133 | iounmap(cpu_addr); | 138 | iounmap(cpu_addr); |
134 | 139 | ||
135 | page = bus_to_page(handle); | 140 | page = phys_to_page(handle); |
136 | __dma_free(dev, size, page, handle); | 141 | __dma_free(dev, size, page, handle); |
137 | } | 142 | } |
138 | EXPORT_SYMBOL(dma_free_writecombine); | 143 | EXPORT_SYMBOL(dma_free_writecombine); |
139 | #endif | ||
diff --git a/include/asm-avr32/setup.h b/include/asm-avr32/setup.h index 1ff1a217015d..b0828d43e110 100644 --- a/include/asm-avr32/setup.h +++ b/include/asm-avr32/setup.h | |||
@@ -110,7 +110,7 @@ struct tagtable { | |||
110 | int (*parse)(struct tag *); | 110 | int (*parse)(struct tag *); |
111 | }; | 111 | }; |
112 | 112 | ||
113 | #define __tag __attribute_used__ __attribute__((__section__(".taglist"))) | 113 | #define __tag __attribute_used__ __attribute__((__section__(".taglist.init"))) |
114 | #define __tagtable(tag, fn) \ | 114 | #define __tagtable(tag, fn) \ |
115 | static struct tagtable __tagtable_##fn __tag = { tag, fn } | 115 | static struct tagtable __tagtable_##fn __tag = { tag, fn } |
116 | 116 | ||
diff --git a/include/asm-avr32/unistd.h b/include/asm-avr32/unistd.h index 8f5120471819..2418cce624cc 100644 --- a/include/asm-avr32/unistd.h +++ b/include/asm-avr32/unistd.h | |||
@@ -295,8 +295,10 @@ | |||
295 | #define __NR_shmdt 276 | 295 | #define __NR_shmdt 276 |
296 | #define __NR_shmctl 277 | 296 | #define __NR_shmctl 277 |
297 | 297 | ||
298 | #define __NR_utimensat 278 | ||
299 | |||
298 | #ifdef __KERNEL__ | 300 | #ifdef __KERNEL__ |
299 | #define NR_syscalls 278 | 301 | #define NR_syscalls 279 |
300 | 302 | ||
301 | 303 | ||
302 | #define __ARCH_WANT_IPC_PARSE_VERSION | 304 | #define __ARCH_WANT_IPC_PARSE_VERSION |