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
This commit is contained in:
commit
3960208f9c
@ -16,7 +16,7 @@ AFLAGS += -mrelax -mno-pic
|
|||||||
CFLAGS_MODULE += -mno-relax
|
CFLAGS_MODULE += -mno-relax
|
||||||
LDFLAGS_vmlinux += --relax
|
LDFLAGS_vmlinux += --relax
|
||||||
|
|
||||||
cpuflags-$(CONFIG_CPU_AP7000) += -mcpu=ap7000
|
cpuflags-$(CONFIG_CPU_AT32AP7000) += -mcpu=ap7000
|
||||||
|
|
||||||
CFLAGS += $(cpuflags-y)
|
CFLAGS += $(cpuflags-y)
|
||||||
AFLAGS += $(cpuflags-y)
|
AFLAGS += $(cpuflags-y)
|
||||||
|
@ -291,4 +291,5 @@ sys_call_table:
|
|||||||
.long sys_shmget /* 275 */
|
.long sys_shmget /* 275 */
|
||||||
.long sys_shmdt
|
.long sys_shmdt
|
||||||
.long sys_shmctl
|
.long sys_shmctl
|
||||||
|
.long sys_utimensat
|
||||||
.long sys_ni_syscall /* r8 is saturated at nr_syscalls */
|
.long sys_ni_syscall /* r8 is saturated at nr_syscalls */
|
||||||
|
@ -123,7 +123,7 @@ asmlinkage void do_address_exception(unsigned long ecr, struct pt_regs *regs)
|
|||||||
|
|
||||||
/* This way of handling undefined instructions is stolen from ARM */
|
/* This way of handling undefined instructions is stolen from ARM */
|
||||||
static LIST_HEAD(undef_hook);
|
static LIST_HEAD(undef_hook);
|
||||||
static spinlock_t undef_lock = SPIN_LOCK_UNLOCKED;
|
static DEFINE_SPINLOCK(undef_lock);
|
||||||
|
|
||||||
void register_undef_hook(struct undef_hook *hook)
|
void register_undef_hook(struct undef_hook *hook)
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ SECTIONS
|
|||||||
_einittext = .;
|
_einittext = .;
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__tagtable_begin = .;
|
__tagtable_begin = .;
|
||||||
*(.taglist)
|
*(.taglist.init)
|
||||||
__tagtable_end = .;
|
__tagtable_end = .;
|
||||||
*(.init.data)
|
*(.init.data)
|
||||||
. = ALIGN(16);
|
. = ALIGN(16);
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include "clock.h"
|
#include "clock.h"
|
||||||
|
|
||||||
static spinlock_t clk_lock = SPIN_LOCK_UNLOCKED;
|
static DEFINE_SPINLOCK(clk_lock);
|
||||||
|
|
||||||
struct clk *clk_get(struct device *dev, const char *id)
|
struct clk *clk_get(struct device *dev, const char *id)
|
||||||
{
|
{
|
||||||
|
@ -112,16 +112,21 @@ void dma_free_coherent(struct device *dev, size_t size,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_free_coherent);
|
EXPORT_SYMBOL(dma_free_coherent);
|
||||||
|
|
||||||
#if 0
|
|
||||||
void *dma_alloc_writecombine(struct device *dev, size_t size,
|
void *dma_alloc_writecombine(struct device *dev, size_t size,
|
||||||
dma_addr_t *handle, gfp_t gfp)
|
dma_addr_t *handle, gfp_t gfp)
|
||||||
{
|
{
|
||||||
struct page *page;
|
struct page *page;
|
||||||
|
dma_addr_t phys;
|
||||||
|
|
||||||
page = __dma_alloc(dev, size, handle, gfp);
|
page = __dma_alloc(dev, size, handle, gfp);
|
||||||
|
if (!page)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
phys = page_to_phys(page);
|
||||||
|
*handle = phys;
|
||||||
|
|
||||||
/* Now, map the page into P3 with write-combining turned on */
|
/* Now, map the page into P3 with write-combining turned on */
|
||||||
return __ioremap(page_to_phys(page), size, _PAGE_BUFFER);
|
return __ioremap(phys, size, _PAGE_BUFFER);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_alloc_writecombine);
|
EXPORT_SYMBOL(dma_alloc_writecombine);
|
||||||
|
|
||||||
@ -132,8 +137,7 @@ void dma_free_writecombine(struct device *dev, size_t size,
|
|||||||
|
|
||||||
iounmap(cpu_addr);
|
iounmap(cpu_addr);
|
||||||
|
|
||||||
page = bus_to_page(handle);
|
page = phys_to_page(handle);
|
||||||
__dma_free(dev, size, page, handle);
|
__dma_free(dev, size, page, handle);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_free_writecombine);
|
EXPORT_SYMBOL(dma_free_writecombine);
|
||||||
#endif
|
|
||||||
|
@ -110,7 +110,7 @@ struct tagtable {
|
|||||||
int (*parse)(struct tag *);
|
int (*parse)(struct tag *);
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __tag __attribute_used__ __attribute__((__section__(".taglist")))
|
#define __tag __attribute_used__ __attribute__((__section__(".taglist.init")))
|
||||||
#define __tagtable(tag, fn) \
|
#define __tagtable(tag, fn) \
|
||||||
static struct tagtable __tagtable_##fn __tag = { tag, fn }
|
static struct tagtable __tagtable_##fn __tag = { tag, fn }
|
||||||
|
|
||||||
|
@ -295,8 +295,10 @@
|
|||||||
#define __NR_shmdt 276
|
#define __NR_shmdt 276
|
||||||
#define __NR_shmctl 277
|
#define __NR_shmctl 277
|
||||||
|
|
||||||
|
#define __NR_utimensat 278
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
#define NR_syscalls 278
|
#define NR_syscalls 279
|
||||||
|
|
||||||
|
|
||||||
#define __ARCH_WANT_IPC_PARSE_VERSION
|
#define __ARCH_WANT_IPC_PARSE_VERSION
|
||||||
|
Loading…
Reference in New Issue
Block a user