Loading arch/avr32/boards/atstk1000/atstk1000.h 0 → 100644 +15 −0 Original line number Diff line number Diff line /* * ATSTK1000 setup code: Daughterboard interface * * Copyright (C) 2007 Atmel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H #define __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H extern struct atmel_lcdfb_info atstk1000_lcdc_data; #endif /* __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H */ arch/avr32/boards/atstk1000/atstk1002.c +5 −5 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ #include <linux/types.h> #include <linux/spi/spi.h> #include <video/atmel_lcdc.h> #include <asm/io.h> #include <asm/setup.h> #include <asm/arch/at32ap7000.h> Loading @@ -23,6 +25,7 @@ #include <asm/arch/init.h> #include <asm/arch/portmux.h> #include "atstk1000.h" #define SW2_DEFAULT /* MMCI and UART_A available */ Loading @@ -31,9 +34,7 @@ struct eth_addr { }; static struct eth_addr __initdata hw_addr[2]; static struct eth_platform_data __initdata eth_data[2]; static struct lcdc_platform_data atstk1000_fb0_data; static struct spi_board_info spi0_board_info[] __initdata = { { Loading Loading @@ -148,9 +149,8 @@ static int __init atstk1002_init(void) set_hw_addr(at32_add_device_eth(0, ð_data[0])); at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); atstk1000_fb0_data.fbmem_start = fbmem_start; atstk1000_fb0_data.fbmem_size = fbmem_size; at32_add_device_lcdc(0, &atstk1000_fb0_data); at32_add_device_lcdc(0, &atstk1000_lcdc_data, fbmem_start, fbmem_size); return 0; } Loading arch/avr32/boards/atstk1000/setup.c +44 −1 Original line number Diff line number Diff line Loading @@ -8,13 +8,56 @@ * published by the Free Software Foundation. */ #include <linux/bootmem.h> #include <linux/fb.h> #include <linux/init.h> #include <linux/types.h> #include <linux/linkage.h> #include <asm/setup.h> #include <video/atmel_lcdc.h> #include <asm/setup.h> #include <asm/arch/board.h> #include "atstk1000.h" /* Initialized by bootloader-specific startup code. */ struct tag *bootloader_tags __initdata; static struct fb_videomode __initdata ltv350qv_modes[] = { { .name = "320x240 @ 75", .refresh = 75, .xres = 320, .yres = 240, .pixclock = KHZ2PICOS(6891), .left_margin = 17, .right_margin = 33, .upper_margin = 10, .lower_margin = 10, .hsync_len = 16, .vsync_len = 1, .sync = 0, .vmode = FB_VMODE_NONINTERLACED, }, }; static struct fb_monspecs __initdata atstk1000_default_monspecs = { .manufacturer = "SNG", .monitor = "LTV350QV", .modedb = ltv350qv_modes, .modedb_len = ARRAY_SIZE(ltv350qv_modes), .hfmin = 14820, .hfmax = 22230, .vfmin = 60, .vfmax = 90, .dclkmax = 30000000, }; struct atmel_lcdfb_info __initdata atstk1000_lcdc_data = { .default_bpp = 24, .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN, .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT | ATMEL_LCDC_INVCLK | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE | ATMEL_LCDC_MEMOR_BIG), .default_monspecs = &atstk1000_default_monspecs, .guard_time = 2, }; arch/avr32/kernel/irq.c +0 −9 Original line number Diff line number Diff line Loading @@ -7,15 +7,6 @@ * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This file contains the code used by various IRQ handling routines: * asking for different IRQ's should be done through these routines * instead of just grabbing them. Thus setups with different IRQ numbers * shouldn't result in any weird surprises, and installing new handlers * should be easier. * * IRQ's are in fact implemented a bit like signal handlers for the kernel. * Naturally it's not a 1:1 relation, but there are similarities. */ #include <linux/interrupt.h> Loading arch/avr32/kernel/kprobes.c +1 −6 Original line number Diff line number Diff line Loading @@ -179,7 +179,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) return 1; } static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) { struct kprobe *cur = kprobe_running(); Loading Loading @@ -216,11 +216,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self, if (post_kprobe_handler(args->regs)) ret = NOTIFY_STOP; break; case DIE_FAULT: if (kprobe_running() && kprobe_fault_handler(args->regs, args->trapnr)) ret = NOTIFY_STOP; break; default: break; } Loading Loading
arch/avr32/boards/atstk1000/atstk1000.h 0 → 100644 +15 −0 Original line number Diff line number Diff line /* * ATSTK1000 setup code: Daughterboard interface * * Copyright (C) 2007 Atmel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H #define __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H extern struct atmel_lcdfb_info atstk1000_lcdc_data; #endif /* __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H */
arch/avr32/boards/atstk1000/atstk1002.c +5 −5 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ #include <linux/types.h> #include <linux/spi/spi.h> #include <video/atmel_lcdc.h> #include <asm/io.h> #include <asm/setup.h> #include <asm/arch/at32ap7000.h> Loading @@ -23,6 +25,7 @@ #include <asm/arch/init.h> #include <asm/arch/portmux.h> #include "atstk1000.h" #define SW2_DEFAULT /* MMCI and UART_A available */ Loading @@ -31,9 +34,7 @@ struct eth_addr { }; static struct eth_addr __initdata hw_addr[2]; static struct eth_platform_data __initdata eth_data[2]; static struct lcdc_platform_data atstk1000_fb0_data; static struct spi_board_info spi0_board_info[] __initdata = { { Loading Loading @@ -148,9 +149,8 @@ static int __init atstk1002_init(void) set_hw_addr(at32_add_device_eth(0, ð_data[0])); at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); atstk1000_fb0_data.fbmem_start = fbmem_start; atstk1000_fb0_data.fbmem_size = fbmem_size; at32_add_device_lcdc(0, &atstk1000_fb0_data); at32_add_device_lcdc(0, &atstk1000_lcdc_data, fbmem_start, fbmem_size); return 0; } Loading
arch/avr32/boards/atstk1000/setup.c +44 −1 Original line number Diff line number Diff line Loading @@ -8,13 +8,56 @@ * published by the Free Software Foundation. */ #include <linux/bootmem.h> #include <linux/fb.h> #include <linux/init.h> #include <linux/types.h> #include <linux/linkage.h> #include <asm/setup.h> #include <video/atmel_lcdc.h> #include <asm/setup.h> #include <asm/arch/board.h> #include "atstk1000.h" /* Initialized by bootloader-specific startup code. */ struct tag *bootloader_tags __initdata; static struct fb_videomode __initdata ltv350qv_modes[] = { { .name = "320x240 @ 75", .refresh = 75, .xres = 320, .yres = 240, .pixclock = KHZ2PICOS(6891), .left_margin = 17, .right_margin = 33, .upper_margin = 10, .lower_margin = 10, .hsync_len = 16, .vsync_len = 1, .sync = 0, .vmode = FB_VMODE_NONINTERLACED, }, }; static struct fb_monspecs __initdata atstk1000_default_monspecs = { .manufacturer = "SNG", .monitor = "LTV350QV", .modedb = ltv350qv_modes, .modedb_len = ARRAY_SIZE(ltv350qv_modes), .hfmin = 14820, .hfmax = 22230, .vfmin = 60, .vfmax = 90, .dclkmax = 30000000, }; struct atmel_lcdfb_info __initdata atstk1000_lcdc_data = { .default_bpp = 24, .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN, .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT | ATMEL_LCDC_INVCLK | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE | ATMEL_LCDC_MEMOR_BIG), .default_monspecs = &atstk1000_default_monspecs, .guard_time = 2, };
arch/avr32/kernel/irq.c +0 −9 Original line number Diff line number Diff line Loading @@ -7,15 +7,6 @@ * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This file contains the code used by various IRQ handling routines: * asking for different IRQ's should be done through these routines * instead of just grabbing them. Thus setups with different IRQ numbers * shouldn't result in any weird surprises, and installing new handlers * should be easier. * * IRQ's are in fact implemented a bit like signal handlers for the kernel. * Naturally it's not a 1:1 relation, but there are similarities. */ #include <linux/interrupt.h> Loading
arch/avr32/kernel/kprobes.c +1 −6 Original line number Diff line number Diff line Loading @@ -179,7 +179,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) return 1; } static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) { struct kprobe *cur = kprobe_running(); Loading Loading @@ -216,11 +216,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self, if (post_kprobe_handler(args->regs)) ret = NOTIFY_STOP; break; case DIE_FAULT: if (kprobe_running() && kprobe_fault_handler(args->regs, args->trapnr)) ret = NOTIFY_STOP; break; default: break; } Loading