From 9caebec7b8093574fca5a334a1939530872d75e3 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Sat, 12 May 2007 17:56:11 +0200 Subject: [AVR32] optimize pagefault path Avoid the costly notifier list in the pagefault path and call the kprobes code directly. The same change went into the 2.6.22 cycle for powerpc, 2s390 and sparc64 already. Signed-off-by: Christoph Hellwig Signed-off-by: Haavard Skinnemoen --- include/asm-avr32/kdebug.h | 17 +++++++++++++---- include/asm-avr32/kprobes.h | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/asm-avr32/kdebug.h b/include/asm-avr32/kdebug.h index de419278fc39..7f54e2b15d13 100644 --- a/include/asm-avr32/kdebug.h +++ b/include/asm-avr32/kdebug.h @@ -5,13 +5,22 @@ /* Grossly misnamed. */ enum die_val { - DIE_FAULT, DIE_BREAKPOINT, DIE_SSTEP, - DIE_PAGE_FAULT, }; -int register_page_fault_notifier(struct notifier_block *nb); -int unregister_page_fault_notifier(struct notifier_block *nb); +/* + * These are only here because kprobes.c wants them to implement a + * blatant layering violation. Will hopefully go away soon once all + * architectures are updated. + */ +static inline int register_page_fault_notifier(struct notifier_block *nb) +{ + return 0; +} +static inline int unregister_page_fault_notifier(struct notifier_block *nb) +{ + return 0; +} #endif /* __ASM_AVR32_KDEBUG_H */ diff --git a/include/asm-avr32/kprobes.h b/include/asm-avr32/kprobes.h index 09a5cbe2f896..190a6377c809 100644 --- a/include/asm-avr32/kprobes.h +++ b/include/asm-avr32/kprobes.h @@ -26,6 +26,7 @@ struct arch_specific_insn { kprobe_opcode_t insn[MAX_INSN_SIZE]; }; +extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr); extern int kprobe_exceptions_notify(struct notifier_block *self, unsigned long val, void *data); -- cgit v1.2.3 From 78c129b949bdee21dd996ac5f5cfc655cd5bd42e Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Sun, 13 May 2007 16:33:33 +0200 Subject: [AVR32] Wire up signalfd, timerfd and eventfd Signed-off-by: Haavard Skinnemoen --- include/asm-avr32/unistd.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/asm-avr32/unistd.h b/include/asm-avr32/unistd.h index 2418cce624cc..3b4e35b55c82 100644 --- a/include/asm-avr32/unistd.h +++ b/include/asm-avr32/unistd.h @@ -296,9 +296,12 @@ #define __NR_shmctl 277 #define __NR_utimensat 278 +#define __NR_signalfd 279 +#define __NR_timerfd 280 +#define __NR_eventfd 281 #ifdef __KERNEL__ -#define NR_syscalls 279 +#define NR_syscalls 282 #define __ARCH_WANT_IPC_PARSE_VERSION -- cgit v1.2.3 From d0a2b7af27f6d01a443f3af8252fa0b955bf1913 Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Wed, 21 Mar 2007 18:08:49 +0100 Subject: [AVR32] Implement platform hooks for atmel_lcdfb driver This modifies and extends the existing lcdc platform code to support the new atmel_lcdfb driver. The ATSTK1000 board code is set up to use the on-board Samsung LTV350QV LCD panel. Signed-off-by: Haavard Skinnemoen --- include/asm-avr32/arch-at32ap/board.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/asm-avr32/arch-at32ap/board.h b/include/asm-avr32/arch-at32ap/board.h index 1a7b07d436ff..9fd2e32f84b8 100644 --- a/include/asm-avr32/arch-at32ap/board.h +++ b/include/asm-avr32/arch-at32ap/board.h @@ -30,11 +30,9 @@ struct spi_board_info; struct platform_device * at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n); -struct lcdc_platform_data { - unsigned long fbmem_start; - unsigned long fbmem_size; -}; +struct atmel_lcdfb_info; struct platform_device * -at32_add_device_lcdc(unsigned int id, struct lcdc_platform_data *data); +at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data, + unsigned long fbmem_start, unsigned long fbmem_len); #endif /* __ASM_ARCH_BOARD_H */ -- cgit v1.2.3