diff options
Diffstat (limited to 'target/linux/at91/patches-2.6.21')
15 files changed, 706 insertions, 560 deletions
diff --git a/target/linux/at91/patches-2.6.21/000-at91patches.patch b/target/linux/at91/patches-2.6.21/000-at91patches.patch index 93fa2cf..09cdcf7 100644 --- a/target/linux/at91/patches-2.6.21/000-at91patches.patch +++ b/target/linux/at91/patches-2.6.21/000-at91patches.patch @@ -1,6 +1,7 @@ -diff -urN -x CVS linux-2.6.21/arch/arm/boot/compressed/head-at91rm9200.S linux-2.6-stable/arch/arm/boot/compressed/head-at91rm9200.S ---- linux-2.6.21/arch/arm/boot/compressed/head-at91rm9200.S Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/boot/compressed/head-at91rm9200.S Tue May 8 12:13:30 2007 +Index: linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/boot/compressed/head-at91rm9200.S ++++ linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S @@ -67,6 +67,12 @@ cmp r7, r3 beq 99f @@ -14,10 +15,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/boot/compressed/head-at91rm9200.S linux-2 @ Unknown board, use the AT91RM9200DK board @ mov r7, #MACH_TYPE_AT91RM9200 mov r7, #(MACH_TYPE_AT91RM9200DK & 0xff) -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/arm/mach-at91/Kconfig ---- linux-2.6.21/arch/arm/mach-at91/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/Kconfig Wed May 9 10:20:54 2007 -@@ -17,6 +17,9 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/Kconfig ++++ linux-2.6.21.7/arch/arm/mach-at91/Kconfig +@@ -17,6 +17,9 @@ config ARCH_AT91SAM9261 config ARCH_AT91SAM9263 bool "AT91SAM9263" @@ -27,7 +29,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/a endchoice # ---------------------------------------------------------- -@@ -87,6 +90,12 @@ +@@ -87,6 +90,12 @@ config MACH_KAFA help Select this if you are using Sperry-Sun's KAFA board. @@ -40,7 +42,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/a endif # ---------------------------------------------------------- -@@ -111,6 +120,13 @@ +@@ -111,6 +120,13 @@ config MACH_AT91SAM9260EK Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933> @@ -54,7 +56,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/a endif # ---------------------------------------------------------- -@@ -145,6 +161,20 @@ +@@ -145,6 +161,20 @@ endif # ---------------------------------------------------------- @@ -75,7 +77,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/a comment "AT91 Board Options" config MTD_AT91_DATAFLASH_CARD -@@ -160,6 +190,20 @@ +@@ -160,6 +190,20 @@ config MTD_NAND_AT91_BUSWIDTH_16 On AT91SAM926x boards both types of NAND flash can be present (8 and 16 bit data bus width). @@ -96,7 +98,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/a # ---------------------------------------------------------- comment "AT91 Feature Selections" -@@ -170,6 +214,20 @@ +@@ -170,6 +214,20 @@ config AT91_PROGRAMMABLE_CLOCKS Select this if you need to program one or more of the PCK0..PCK3 programmable clock outputs. @@ -117,10 +119,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Kconfig linux-2.6-stable/arch/a endmenu endif -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Makefile linux-2.6-stable/arch/arm/mach-at91/Makefile ---- linux-2.6.21/arch/arm/mach-at91/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/Makefile Wed May 9 12:37:19 2007 -@@ -8,12 +8,15 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile ++++ linux-2.6.21.7/arch/arm/mach-at91/Makefile +@@ -8,12 +8,15 @@ obj-n := obj- := obj-$(CONFIG_PM) += pm.o @@ -136,7 +139,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Makefile linux-2.6-stable/arch/ # AT91RM9200 board-specific support obj-$(CONFIG_MACH_ONEARM) += board-1arm.o -@@ -25,9 +28,11 @@ +@@ -25,9 +28,11 @@ obj-$(CONFIG_MACH_CARMEVA) += board-carm obj-$(CONFIG_MACH_KB9200) += board-kb9202.o obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o obj-$(CONFIG_MACH_KAFA) += board-kafa.o @@ -148,7 +151,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Makefile linux-2.6-stable/arch/ # AT91SAM9261 board-specific support obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o -@@ -35,9 +40,13 @@ +@@ -35,9 +40,13 @@ obj-$(CONFIG_MACH_AT91SAM9261EK) += boar # AT91SAM9263 board-specific support obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o @@ -162,7 +165,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Makefile linux-2.6-stable/arch/ led-$(CONFIG_MACH_CSB337) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o -@@ -45,7 +54,7 @@ +@@ -45,7 +54,7 @@ led-$(CONFIG_MACH_KAFA) += leds.o obj-$(CONFIG_LEDS) += $(led-y) # VGA support @@ -171,10 +174,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/Makefile linux-2.6-stable/arch/ ifeq ($(CONFIG_PM_DEBUG),y) -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200.c linux-2.6-stable/arch/arm/mach-at91/at91rm9200.c ---- linux-2.6.21/arch/arm/mach-at91/at91rm9200.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91rm9200.c Tue May 8 12:13:30 2007 -@@ -117,6 +117,21 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200.c +@@ -117,6 +117,21 @@ static struct clk pioD_clk = { .pmc_mask = 1 << AT91RM9200_ID_PIOD, .type = CLK_TYPE_PERIPHERAL, }; @@ -196,7 +200,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200.c linux-2.6-stable/a static struct clk tc0_clk = { .name = "tc0_clk", .pmc_mask = 1 << AT91RM9200_ID_TC0, -@@ -161,7 +176,9 @@ +@@ -161,7 +176,9 @@ static struct clk *periph_clocks[] __ini &udc_clk, &twi_clk, &spi_clk, @@ -207,7 +211,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200.c linux-2.6-stable/a &tc0_clk, &tc1_clk, &tc2_clk, -@@ -250,6 +267,33 @@ +@@ -250,6 +267,33 @@ static void at91rm9200_reset(void) /* -------------------------------------------------------------------- @@ -241,7 +245,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200.c linux-2.6-stable/a * AT91RM9200 processor initialization * -------------------------------------------------------------------- */ void __init at91rm9200_initialize(unsigned long main_clock, unsigned short banks) -@@ -271,6 +315,9 @@ +@@ -271,6 +315,9 @@ void __init at91rm9200_initialize(unsign /* Initialize GPIO subsystem */ at91_gpio_init(at91rm9200_gpio, banks); @@ -251,7 +255,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200.c linux-2.6-stable/a } -@@ -284,28 +331,28 @@ +@@ -284,28 +331,28 @@ void __init at91rm9200_initialize(unsign static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = { 7, /* Advanced Interrupt Controller (FIQ) */ 7, /* System Peripherals */ @@ -295,10 +299,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200.c linux-2.6-stable/a 3, /* Ethernet MAC */ 0, /* Advanced Interrupt Controller (IRQ0) */ 0, /* Advanced Interrupt Controller (IRQ1) */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6-stable/arch/arm/mach-at91/at91rm9200_devices.c ---- linux-2.6.21/arch/arm/mach-at91/at91rm9200_devices.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91rm9200_devices.c Tue May 8 12:13:30 2007 -@@ -480,7 +480,18 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200_devices.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c +@@ -480,7 +480,18 @@ void __init at91_add_device_i2c(void) {} * SPI * -------------------------------------------------------------------- */ @@ -318,7 +323,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6- static u64 spi_dmamask = 0xffffffffUL; static struct resource spi_resources[] = { -@@ -497,7 +508,7 @@ +@@ -497,7 +508,7 @@ static struct resource spi_resources[] = }; static struct platform_device at91rm9200_spi_device = { @@ -327,7 +332,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6- .id = 0, .dev = { .dma_mask = &spi_dmamask, -@@ -606,6 +617,32 @@ +@@ -606,6 +617,32 @@ void __init at91_init_leds(u8 cpu_led, u #endif @@ -360,10 +365,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6- /* -------------------------------------------------------------------- * UART * -------------------------------------------------------------------- */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260.c linux-2.6-stable/arch/arm/mach-at91/at91sam9260.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9260.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9260.c Tue May 8 12:13:30 2007 -@@ -119,6 +119,11 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9260.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9260.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9260.c +@@ -119,6 +119,11 @@ static struct clk spi1_clk = { .pmc_mask = 1 << AT91SAM9260_ID_SPI1, .type = CLK_TYPE_PERIPHERAL, }; @@ -375,7 +381,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260.c linux-2.6-stable/ static struct clk tc0_clk = { .name = "tc0_clk", .pmc_mask = 1 << AT91SAM9260_ID_TC0, -@@ -193,7 +198,7 @@ +@@ -193,7 +198,7 @@ static struct clk *periph_clocks[] __ini &twi_clk, &spi0_clk, &spi1_clk, @@ -384,7 +390,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260.c linux-2.6-stable/ &tc0_clk, &tc1_clk, &tc2_clk, -@@ -264,6 +269,33 @@ +@@ -264,6 +269,33 @@ static void at91sam9260_reset(void) /* -------------------------------------------------------------------- @@ -418,7 +424,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260.c linux-2.6-stable/ * AT91SAM9260 processor initialization * -------------------------------------------------------------------- */ -@@ -310,6 +342,9 @@ +@@ -310,6 +342,9 @@ void __init at91sam9260_initialize(unsig /* Register GPIO subsystem */ at91_gpio_init(at91sam9260_gpio, 3); @@ -428,7 +434,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260.c linux-2.6-stable/ } /* -------------------------------------------------------------------- -@@ -322,30 +357,30 @@ +@@ -322,30 +357,30 @@ void __init at91sam9260_initialize(unsig static unsigned int at91sam9260_default_irq_priority[NR_AIC_IRQS] __initdata = { 7, /* Advanced Interrupt Controller */ 7, /* System Peripherals */ @@ -473,10 +479,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260.c linux-2.6-stable/ 0, /* Timer Counter 3 */ 0, /* Timer Counter 4 */ 0, /* Timer Counter 5 */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6-stable/arch/arm/mach-at91/at91sam9260_devices.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9260_devices.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9260_devices.c Tue May 8 12:13:30 2007 -@@ -527,6 +527,32 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9260_devices.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9260_devices.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9260_devices.c +@@ -527,6 +527,32 @@ void __init at91_init_leds(u8 cpu_led, u #endif @@ -509,10 +516,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6 /* -------------------------------------------------------------------- * UART * -------------------------------------------------------------------- */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261.c linux-2.6-stable/arch/arm/mach-at91/at91sam9261.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9261.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9261.c Tue May 8 12:13:30 2007 -@@ -97,6 +97,21 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9261.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9261.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9261.c +@@ -97,6 +97,21 @@ static struct clk spi1_clk = { .pmc_mask = 1 << AT91SAM9261_ID_SPI1, .type = CLK_TYPE_PERIPHERAL, }; @@ -534,7 +542,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261.c linux-2.6-stable/ static struct clk tc0_clk = { .name = "tc0_clk", .pmc_mask = 1 << AT91SAM9261_ID_TC0, -@@ -135,7 +150,9 @@ +@@ -135,7 +150,9 @@ static struct clk *periph_clocks[] __ini &twi_clk, &spi0_clk, &spi1_clk, @@ -545,7 +553,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261.c linux-2.6-stable/ &tc0_clk, &tc1_clk, &tc2_clk, -@@ -230,6 +247,28 @@ +@@ -230,6 +247,28 @@ static void at91sam9261_reset(void) /* -------------------------------------------------------------------- @@ -574,7 +582,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261.c linux-2.6-stable/ * AT91SAM9261 processor initialization * -------------------------------------------------------------------- */ -@@ -250,6 +289,9 @@ +@@ -250,6 +289,9 @@ void __init at91sam9261_initialize(unsig /* Register GPIO subsystem */ at91_gpio_init(at91sam9261_gpio, 3); @@ -584,20 +592,21 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261.c linux-2.6-stable/ } /* -------------------------------------------------------------------- -@@ -262,25 +304,25 @@ +@@ -262,25 +304,25 @@ void __init at91sam9261_initialize(unsig static unsigned int at91sam9261_default_irq_priority[NR_AIC_IRQS] __initdata = { 7, /* Advanced Interrupt Controller */ 7, /* System Peripherals */ - 0, /* Parallel IO Controller A */ - 0, /* Parallel IO Controller B */ - 0, /* Parallel IO Controller C */ -+ 1, /* Parallel IO Controller A */ -+ 1, /* Parallel IO Controller B */ -+ 1, /* Parallel IO Controller C */ - 0, +- 0, - 6, /* USART 0 */ - 6, /* USART 1 */ - 6, /* USART 2 */ ++ 1, /* Parallel IO Controller A */ ++ 1, /* Parallel IO Controller B */ ++ 1, /* Parallel IO Controller C */ ++ 0, + 5, /* USART 0 */ + 5, /* USART 1 */ + 5, /* USART 2 */ @@ -624,9 +633,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261.c linux-2.6-stable/ 3, /* LCD Controller */ 0, 0, -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6-stable/arch/arm/mach-at91/at91sam9261_devices.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9261_devices.c Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9261_devices.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9261_devices.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9261_devices.c @@ -14,6 +14,9 @@ #include <asm/mach/map.h> @@ -637,7 +647,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6 #include <asm/arch/board.h> #include <asm/arch/gpio.h> -@@ -430,9 +433,9 @@ +@@ -430,9 +433,9 @@ void __init at91_add_device_spi(struct s * LCD Controller * -------------------------------------------------------------------- */ @@ -649,7 +659,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6 static struct resource lcdc_resources[] = { [0] = { -@@ -455,7 +458,7 @@ +@@ -455,7 +458,7 @@ static struct resource lcdc_resources[] }; static struct platform_device at91_lcdc_device = { @@ -658,7 +668,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6 .id = 0, .dev = { .dma_mask = &lcdc_dmamask, -@@ -466,7 +469,7 @@ +@@ -466,7 +469,7 @@ static struct platform_device at91_lcdc_ .num_resources = ARRAY_SIZE(lcdc_resources), }; @@ -667,7 +677,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6 { if (!data) { return; -@@ -499,7 +502,7 @@ +@@ -499,7 +502,7 @@ void __init at91_add_device_lcdc(struct platform_device_register(&at91_lcdc_device); } #else @@ -676,7 +686,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6 #endif -@@ -525,6 +528,32 @@ +@@ -525,6 +528,32 @@ void __init at91_init_leds(u8 cpu_led, u #endif @@ -709,10 +719,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6 /* -------------------------------------------------------------------- * UART * -------------------------------------------------------------------- */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/arch/arm/mach-at91/at91sam9263.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9263.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9263.c Tue May 8 12:13:30 2007 -@@ -87,6 +87,11 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9263.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9263.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9263.c +@@ -87,6 +87,11 @@ static struct clk mmc1_clk = { .pmc_mask = 1 << AT91SAM9263_ID_MCI1, .type = CLK_TYPE_PERIPHERAL, }; @@ -724,7 +735,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/ static struct clk twi_clk = { .name = "twi_clk", .pmc_mask = 1 << AT91SAM9263_ID_TWI, -@@ -102,16 +107,46 @@ +@@ -102,16 +107,46 @@ static struct clk spi1_clk = { .pmc_mask = 1 << AT91SAM9263_ID_SPI1, .type = CLK_TYPE_PERIPHERAL, }; @@ -771,7 +782,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/ static struct clk udc_clk = { .name = "udc_clk", .pmc_mask = 1 << AT91SAM9263_ID_UDP, -@@ -142,20 +177,21 @@ +@@ -142,20 +177,21 @@ static struct clk *periph_clocks[] __ini &usart2_clk, &mmc0_clk, &mmc1_clk, @@ -799,7 +810,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/ &ohci_clk, // irq0 .. irq1 }; -@@ -237,6 +273,28 @@ +@@ -237,6 +273,28 @@ static void at91sam9263_reset(void) /* -------------------------------------------------------------------- @@ -828,7 +839,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/ * AT91SAM9263 processor initialization * -------------------------------------------------------------------- */ -@@ -256,6 +314,9 @@ +@@ -256,6 +314,9 @@ void __init at91sam9263_initialize(unsig /* Register GPIO subsystem */ at91_gpio_init(at91sam9263_gpio, 5); @@ -838,7 +849,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/ } /* -------------------------------------------------------------------- -@@ -268,34 +329,34 @@ +@@ -268,34 +329,34 @@ void __init at91sam9263_initialize(unsig static unsigned int at91sam9263_default_irq_priority[NR_AIC_IRQS] __initdata = { 7, /* Advanced Interrupt Controller (FIQ) */ 7, /* System Peripherals */ @@ -888,9 +899,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263.c linux-2.6-stable/ 0, /* Advanced Interrupt Controller (IRQ0) */ 0, /* Advanced Interrupt Controller (IRQ1) */ }; -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6-stable/arch/arm/mach-at91/at91sam9263_devices.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9263_devices.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9263_devices.c Thu May 10 12:23:46 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9263_devices.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9263_devices.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9263_devices.c @@ -13,6 +13,9 @@ #include <asm/mach/map.h> @@ -901,7 +913,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6 #include <asm/arch/board.h> #include <asm/arch/gpio.h> -@@ -573,6 +576,180 @@ +@@ -573,6 +576,180 @@ void __init at91_add_device_spi(struct s /* -------------------------------------------------------------------- @@ -1082,7 +1094,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6 * LEDs * -------------------------------------------------------------------- */ -@@ -594,6 +771,32 @@ +@@ -594,6 +771,32 @@ void __init at91_init_leds(u8 cpu_led, u #endif @@ -1115,9 +1127,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6 /* -------------------------------------------------------------------- * UART * -------------------------------------------------------------------- */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9rl.c linux-2.6-stable/arch/arm/mach-at91/at91sam9rl.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9rl.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9rl.c Fri May 11 15:48:14 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9rl.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9rl.c @@ -0,0 +1,366 @@ +/* + * arch/arm/mach-at91/at91sam9rl.c @@ -1485,9 +1498,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9rl.c linux-2.6-stable/a + /* Enable GPIO interrupts */ + at91_gpio_irq_setup(); +} -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6-stable/arch/arm/mach-at91/at91sam9rl_devices.c ---- linux-2.6.21/arch/arm/mach-at91/at91sam9rl_devices.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/at91sam9rl_devices.c Fri May 11 16:03:25 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9rl_devices.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9rl_devices.c @@ -0,0 +1,660 @@ +/* + * Copyright (C) 2007 Atmel Corporation @@ -2149,9 +2163,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6- +} + +arch_initcall(at91_add_standard_devices); -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-cam60.c linux-2.6-stable/arch/arm/mach-at91/board-cam60.c ---- linux-2.6.21/arch/arm/mach-at91/board-cam60.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/board-cam60.c Tue May 8 12:13:30 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-cam60.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/board-cam60.c @@ -0,0 +1,148 @@ +/* + * KwikByte CAM60 @@ -2301,9 +2316,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-cam60.c linux-2.6-stable/ + .init_irq = cam60_init_irq, + .init_machine = cam60_board_init, +MACHINE_END -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-chub.c linux-2.6-stable/arch/arm/mach-at91/board-chub.c ---- linux-2.6.21/arch/arm/mach-at91/board-chub.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/board-chub.c Tue May 8 12:13:30 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-chub.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/board-chub.c @@ -0,0 +1,132 @@ +/* + * linux/arch/arm/mach-at91/board-chub.c @@ -2437,9 +2453,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-chub.c linux-2.6-stable/a + .init_irq = chub_init_irq, + .init_machine = chub_board_init, +MACHINE_END -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-csb337.c linux-2.6-stable/arch/arm/mach-at91/board-csb337.c ---- linux-2.6.21/arch/arm/mach-at91/board-csb337.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-csb337.c Tue May 8 12:13:30 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-csb337.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-csb337.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-csb337.c @@ -24,6 +24,7 @@ #include <linux/module.h> #include <linux/platform_device.h> @@ -2448,7 +2465,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-csb337.c linux-2.6-stable #include <linux/mtd/physmap.h> #include <asm/hardware.h> -@@ -59,6 +60,7 @@ +@@ -59,6 +60,7 @@ static void __init csb337_map_io(void) /* Setup the LEDs */ at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); @@ -2456,7 +2473,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-csb337.c linux-2.6-stable /* Setup the serial ports and console */ at91_init_serial(&csb337_uart_config); -@@ -149,6 +151,55 @@ +@@ -149,6 +151,55 @@ static struct platform_device csb_flash .num_resources = ARRAY_SIZE(csb_flash_resources), }; @@ -2512,7 +2529,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-csb337.c linux-2.6-stable static void __init csb337_board_init(void) { /* Serial */ -@@ -168,8 +219,12 @@ +@@ -168,8 +219,12 @@ static void __init csb337_board_init(voi at91_add_device_spi(csb337_spi_devices, ARRAY_SIZE(csb337_spi_devices)); /* MMC */ at91_add_device_mmc(0, &csb337_mmc_data); @@ -2525,10 +2542,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-csb337.c linux-2.6-stable } MACHINE_START(CSB337, "Cogent CSB337") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-dk.c linux-2.6-stable/arch/arm/mach-at91/board-dk.c ---- linux-2.6.21/arch/arm/mach-at91/board-dk.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-dk.c Tue May 8 14:29:12 2007 -@@ -73,6 +73,185 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-dk.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-dk.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-dk.c +@@ -73,6 +73,185 @@ static void __init dk_init_irq(void) at91rm9200_init_interrupts(NULL); } @@ -2714,7 +2732,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-dk.c linux-2.6-stable/arc static struct at91_eth_data __initdata dk_eth_data = { .phy_irq_pin = AT91_PIN_PC4, .is_rmii = 1, -@@ -151,7 +330,7 @@ +@@ -151,7 +330,7 @@ static struct at91_nand_data __initdata #define DK_FLASH_SIZE 0x200000 static struct physmap_flash_data dk_flash_data = { @@ -2723,7 +2741,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-dk.c linux-2.6-stable/arc }; static struct resource dk_flash_resource = { -@@ -170,6 +349,13 @@ +@@ -170,6 +349,13 @@ static struct platform_device dk_flash = .num_resources = 1, }; @@ -2737,7 +2755,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-dk.c linux-2.6-stable/arc static void __init dk_board_init(void) { -@@ -200,8 +386,10 @@ +@@ -200,8 +386,10 @@ static void __init dk_board_init(void) at91_add_device_nand(&dk_nand_data); /* NOR Flash */ platform_device_register(&dk_flash); @@ -2749,10 +2767,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-dk.c linux-2.6-stable/arc } MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-ek.c linux-2.6-stable/arch/arm/mach-at91/board-ek.c ---- linux-2.6.21/arch/arm/mach-at91/board-ek.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-ek.c Tue May 8 14:29:22 2007 -@@ -73,6 +73,187 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-ek.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-ek.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-ek.c +@@ -73,6 +73,187 @@ static void __init ek_init_irq(void) at91rm9200_init_interrupts(NULL); } @@ -2940,7 +2959,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-ek.c linux-2.6-stable/arc static struct at91_eth_data __initdata ek_eth_data = { .phy_irq_pin = AT91_PIN_PC4, .is_rmii = 1, -@@ -113,7 +294,7 @@ +@@ -113,7 +294,7 @@ static struct spi_board_info ek_spi_devi #define EK_FLASH_SIZE 0x200000 static struct physmap_flash_data ek_flash_data = { @@ -2949,7 +2968,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-ek.c linux-2.6-stable/arc }; static struct resource ek_flash_resource = { -@@ -132,6 +313,18 @@ +@@ -132,6 +313,18 @@ static struct platform_device ek_flash = .num_resources = 1, }; @@ -2968,7 +2987,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-ek.c linux-2.6-stable/arc static void __init ek_board_init(void) { -@@ -158,8 +351,10 @@ +@@ -158,8 +351,10 @@ static void __init ek_board_init(void) #endif /* NOR Flash */ platform_device_register(&ek_flash); @@ -2980,9 +2999,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-ek.c linux-2.6-stable/arc } MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-kb9202.c linux-2.6-stable/arch/arm/mach-at91/board-kb9202.c ---- linux-2.6.21/arch/arm/mach-at91/board-kb9202.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-kb9202.c Tue May 8 12:21:31 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-kb9202.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-kb9202.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-kb9202.c @@ -37,6 +37,8 @@ #include <asm/arch/board.h> #include <asm/arch/gpio.h> @@ -2992,7 +3012,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-kb9202.c linux-2.6-stable #include "generic.h" -@@ -111,6 +113,48 @@ +@@ -111,6 +113,48 @@ static struct at91_nand_data __initdata .partition_info = nand_partitions, }; @@ -3041,7 +3061,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-kb9202.c linux-2.6-stable static void __init kb9202_board_init(void) { /* Serial */ -@@ -129,6 +173,8 @@ +@@ -129,6 +173,8 @@ static void __init kb9202_board_init(voi at91_add_device_spi(NULL, 0); /* NAND */ at91_add_device_nand(&kb9202_nand_data); @@ -3050,10 +3070,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-kb9202.c linux-2.6-stable } MACHINE_START(KB9200, "KB920x") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9260ek.c linux-2.6-stable/arch/arm/mach-at91/board-sam9260ek.c ---- linux-2.6.21/arch/arm/mach-at91/board-sam9260ek.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-sam9260ek.c Tue May 8 12:13:30 2007 -@@ -104,9 +104,9 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-sam9260ek.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-sam9260ek.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-sam9260ek.c +@@ -104,9 +104,9 @@ static struct spi_board_info ek_spi_devi }, #endif #endif @@ -3065,7 +3086,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9260ek.c linux-2.6-sta .chip_select = 0, .max_speed_hz = 10 * 1000 * 1000, .bus_num = 1, -@@ -118,7 +118,7 @@ +@@ -118,7 +118,7 @@ static struct spi_board_info ek_spi_devi /* * MACB Ethernet device */ @@ -3074,7 +3095,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9260ek.c linux-2.6-sta .phy_irq_pin = AT91_PIN_PA7, .is_rmii = 1, }; -@@ -188,6 +188,8 @@ +@@ -188,6 +188,8 @@ static void __init ek_board_init(void) at91_add_device_eth(&ek_macb_data); /* MMC */ at91_add_device_mmc(0, &ek_mmc_data); @@ -3083,9 +3104,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9260ek.c linux-2.6-sta } MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-stable/arch/arm/mach-at91/board-sam9261ek.c ---- linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-sam9261ek.c Wed May 9 12:37:19 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-sam9261ek.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-sam9261ek.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-sam9261ek.c @@ -25,7 +25,11 @@ #include <linux/module.h> #include <linux/platform_device.h> @@ -3098,7 +3120,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta #include <asm/hardware.h> #include <asm/setup.h> -@@ -59,6 +63,9 @@ +@@ -59,6 +63,9 @@ static void __init ek_map_io(void) /* Initialize processor: 18.432 MHz crystal */ at91sam9261_initialize(18432000); @@ -3108,7 +3130,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta /* Setup the serial ports and console */ at91_init_serial(&ek_uart_config); } -@@ -195,6 +202,41 @@ +@@ -195,6 +202,41 @@ static struct at91_nand_data __initdata }; /* @@ -3150,7 +3172,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta * SPI devices */ static struct spi_board_info ek_spi_devices[] = { -@@ -204,6 +246,17 @@ +@@ -204,6 +246,17 @@ static struct spi_board_info ek_spi_devi .max_speed_hz = 15 * 1000 * 1000, .bus_num = 0, }, @@ -3168,7 +3190,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD) { /* DataFlash card - jumper (J12) configurable to CS3 or CS0 */ .modalias = "mtd_dataflash", -@@ -211,9 +264,9 @@ +@@ -211,9 +264,9 @@ static struct spi_board_info ek_spi_devi .max_speed_hz = 15 * 1000 * 1000, .bus_num = 0, }, @@ -3180,7 +3202,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta .chip_select = 3, .max_speed_hz = 10 * 1000 * 1000, .bus_num = 0, -@@ -222,6 +275,65 @@ +@@ -222,6 +275,65 @@ static struct spi_board_info ek_spi_devi }; @@ -3246,7 +3268,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta static void __init ek_board_init(void) { /* Serial */ -@@ -241,10 +353,14 @@ +@@ -241,10 +353,14 @@ static void __init ek_board_init(void) #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE) /* SPI */ at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); @@ -3261,9 +3283,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9261ek.c linux-2.6-sta } MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-stable/arch/arm/mach-at91/board-sam9263ek.c ---- linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/board-sam9263ek.c Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-sam9263ek.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-sam9263ek.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-sam9263ek.c @@ -25,6 +25,10 @@ #include <linux/module.h> #include <linux/platform_device.h> @@ -3275,7 +3298,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-sta #include <asm/hardware.h> #include <asm/setup.h> -@@ -86,6 +90,40 @@ +@@ -86,6 +90,40 @@ static struct at91_udc_data __initdata e /* @@ -3316,7 +3339,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-sta * SPI devices. */ static struct spi_board_info ek_spi_devices[] = { -@@ -97,6 +135,16 @@ +@@ -97,6 +135,16 @@ static struct spi_board_info ek_spi_devi .bus_num = 0, }, #endif @@ -3333,7 +3356,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-sta }; -@@ -112,6 +160,14 @@ +@@ -112,6 +160,14 @@ static struct at91_mmc_data __initdata e /* @@ -3348,7 +3371,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-sta * NAND flash */ static struct mtd_partition __initdata ek_nand_partition[] = { -@@ -148,6 +204,73 @@ +@@ -148,6 +204,73 @@ static struct at91_nand_data __initdata }; @@ -3422,7 +3445,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-sta static void __init ek_board_init(void) { /* Serial */ -@@ -157,11 +280,22 @@ +@@ -157,11 +280,22 @@ static void __init ek_board_init(void) /* USB Device */ at91_add_device_udc(&ek_udc_data); /* SPI */ @@ -3445,9 +3468,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9263ek.c linux-2.6-sta } MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK") -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9rlek.c linux-2.6-stable/arch/arm/mach-at91/board-sam9rlek.c ---- linux-2.6.21/arch/arm/mach-at91/board-sam9rlek.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/board-sam9rlek.c Wed May 9 10:58:34 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-sam9rlek.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/board-sam9rlek.c @@ -0,0 +1,204 @@ +/* + * Copyright (C) 2005 SAN People @@ -3653,9 +3677,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/board-sam9rlek.c linux-2.6-stab + .init_irq = ek_init_irq, + .init_machine = ek_board_init, +MACHINE_END -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/clock.c linux-2.6-stable/arch/arm/mach-at91/clock.c ---- linux-2.6.21/arch/arm/mach-at91/clock.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/clock.c Tue May 8 12:13:30 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/clock.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/clock.c ++++ linux-2.6.21.7/arch/arm/mach-at91/clock.c @@ -32,6 +32,7 @@ #include <asm/arch/cpu.h> @@ -3664,7 +3689,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/clock.c linux-2.6-stable/arch/a /* -@@ -254,6 +255,23 @@ +@@ -254,6 +255,23 @@ EXPORT_SYMBOL(clk_get_rate); /*------------------------------------------------------------------------*/ @@ -3688,7 +3713,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/clock.c linux-2.6-stable/arch/a #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS /* -@@ -375,6 +393,7 @@ +@@ -375,6 +393,7 @@ static int at91_clk_show(struct seq_file seq_printf(s, "PLLB = %8x\n", at91_sys_read(AT91_CKGR_PLLBR)); seq_printf(s, "MCKR = %8x\n", at91_sys_read(AT91_PMC_MCKR)); @@ -3696,10 +3721,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/clock.c linux-2.6-stable/arch/a for (i = 0; i < 4; i++) seq_printf(s, "PCK%d = %8x\n", i, at91_sys_read(AT91_PMC_PCKR(i))); seq_printf(s, "SR = %8x\n", sr = at91_sys_read(AT91_PMC_SR)); -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/generic.h linux-2.6-stable/arch/arm/mach-at91/generic.h ---- linux-2.6.21/arch/arm/mach-at91/generic.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/generic.h Wed May 9 10:20:54 2007 -@@ -13,12 +13,14 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/generic.h +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/generic.h ++++ linux-2.6.21.7/arch/arm/mach-at91/generic.h +@@ -13,12 +13,14 @@ extern void __init at91rm9200_initialize extern void __init at91sam9260_initialize(unsigned long main_clock); extern void __init at91sam9261_initialize(unsigned long main_clock); extern void __init at91sam9263_initialize(unsigned long main_clock); @@ -3714,7 +3740,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/generic.h linux-2.6-stable/arch extern void __init at91_aic_init(unsigned int priority[]); /* Timer */ -@@ -34,6 +36,7 @@ +@@ -34,6 +36,7 @@ extern void __init at91_clock_associate( /* Power Management */ extern void at91_irq_suspend(void); extern void at91_irq_resume(void); @@ -3722,9 +3748,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/generic.h linux-2.6-stable/arch /* GPIO */ #define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/ics1523.c linux-2.6-stable/arch/arm/mach-at91/ics1523.c ---- linux-2.6.21/arch/arm/mach-at91/ics1523.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/ics1523.c Tue May 8 12:13:30 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/ics1523.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/ics1523.c @@ -0,0 +1,207 @@ +/* + * arch/arm/mach-at91rm9200/ics1523.c @@ -3933,10 +3960,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/ics1523.c linux-2.6-stable/arch + + return ack; +} -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/pm.c linux-2.6-stable/arch/arm/mach-at91/pm.c ---- linux-2.6.21/arch/arm/mach-at91/pm.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mach-at91/pm.c Tue May 8 12:13:31 2007 -@@ -63,6 +63,7 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/pm.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/pm.c ++++ linux-2.6.21.7/arch/arm/mach-at91/pm.c +@@ -63,6 +63,7 @@ static int at91_pm_prepare(suspend_state * Verify that all the clocks are correct before entering * slow-clock mode. */ @@ -3944,7 +3972,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/pm.c linux-2.6-stable/arch/arm/ static int at91_pm_verify_clocks(void) { unsigned long scsr; -@@ -104,20 +105,15 @@ +@@ -104,20 +105,15 @@ static int at91_pm_verify_clocks(void) } /* @@ -3966,7 +3994,7 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/pm.c linux-2.6-stable/arch/arm/ static void (*slow_clock)(void); -@@ -207,16 +203,23 @@ +@@ -207,16 +203,23 @@ static struct pm_ops at91_pm_ops ={ .enter = at91_pm_enter, }; @@ -3995,9 +4023,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/pm.c linux-2.6-stable/arch/arm/ #endif /* Disable SDRAM low-power mode. Cannot be used with self-refresh. */ -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/pm_slowclock.S linux-2.6-stable/arch/arm/mach-at91/pm_slowclock.S ---- linux-2.6.21/arch/arm/mach-at91/pm_slowclock.S Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/pm_slowclock.S Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/pm_slowclock.S +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/pm_slowclock.S @@ -0,0 +1,172 @@ +/* + * arch/arm/mach-at91/pm_slow_clock.S @@ -4171,9 +4200,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/pm_slowclock.S linux-2.6-stable + +ENTRY(at91rm9200_slow_clock_sz) + .word .-at91rm9200_slow_clock -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/tclib.c linux-2.6-stable/arch/arm/mach-at91/tclib.c ---- linux-2.6.21/arch/arm/mach-at91/tclib.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/tclib.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/tclib.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/tclib.c @@ -0,0 +1,17 @@ +#include <linux/clk.h> +#include <linux/kernel.h> @@ -4192,9 +4222,10 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/tclib.c linux-2.6-stable/arch/a + blocks = tcblocks; + nblocks = n; +} -diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/tclib.h linux-2.6-stable/arch/arm/mach-at91/tclib.h ---- linux-2.6.21/arch/arm/mach-at91/tclib.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/arch/arm/mach-at91/tclib.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/arch/arm/mach-at91/tclib.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/tclib.h @@ -0,0 +1,11 @@ + +#define TC_PER_TCB 3 @@ -4207,10 +4238,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mach-at91/tclib.h linux-2.6-stable/arch/a +}; + +extern void __init atmel_tc_init(struct atmel_tcblock *tcblocks, int n); -diff -urN -x CVS linux-2.6.21/arch/arm/mm/Kconfig linux-2.6-stable/arch/arm/mm/Kconfig ---- linux-2.6.21/arch/arm/mm/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/mm/Kconfig Wed May 9 10:20:54 2007 -@@ -171,8 +171,8 @@ +Index: linux-2.6.21.7/arch/arm/mm/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mm/Kconfig ++++ linux-2.6.21.7/arch/arm/mm/Kconfig +@@ -171,8 +171,8 @@ config CPU_ARM925T # ARM926T config CPU_ARM926T bool "Support ARM926T processor" @@ -4221,10 +4253,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/mm/Kconfig linux-2.6-stable/arch/arm/mm/K select CPU_32v5 select CPU_ABRT_EV5TJ select CPU_CACHE_VIVT -diff -urN -x CVS linux-2.6.21/arch/arm/tools/mach-types linux-2.6-stable/arch/arm/tools/mach-types ---- linux-2.6.21/arch/arm/tools/mach-types Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/arch/arm/tools/mach-types Tue May 8 12:13:31 2007 -@@ -1335,3 +1335,32 @@ +Index: linux-2.6.21.7/arch/arm/tools/mach-types +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/tools/mach-types ++++ linux-2.6.21.7/arch/arm/tools/mach-types +@@ -1335,3 +1335,32 @@ at91sam9rlek MACH_AT91SAM9RLEK AT91SAM9 comtech_router MACH_COMTECH_ROUTER COMTECH_ROUTER 1327 sbc2410x MACH_SBC2410X SBC2410X 1328 at4x0bd MACH_AT4X0BD AT4X0BD 1329 @@ -4257,10 +4290,11 @@ diff -urN -x CVS linux-2.6.21/arch/arm/tools/mach-types linux-2.6-stable/arch/ar +dwl2100 MACH_DWL2100 DWL2100 1356 +vinsi MACH_VINSI VINSI 1357 +db88f5281 MACH_DB88F5281 DB88F5281 1358 -diff -urN -x CVS linux-2.6.21/drivers/char/Kconfig linux-2.6-stable/drivers/char/Kconfig ---- linux-2.6.21/drivers/char/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/char/Kconfig Tue May 8 14:31:24 2007 -@@ -1071,5 +1071,21 @@ +Index: linux-2.6.21.7/drivers/char/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/char/Kconfig ++++ linux-2.6.21.7/drivers/char/Kconfig +@@ -1071,5 +1071,21 @@ config TELCLOCK /sys/devices/platform/telco_clock, with a number of files for controlling the behavior of this hardware. @@ -4282,10 +4316,11 @@ diff -urN -x CVS linux-2.6.21/drivers/char/Kconfig linux-2.6-stable/drivers/char + endmenu -diff -urN -x CVS linux-2.6.21/drivers/char/Makefile linux-2.6-stable/drivers/char/Makefile ---- linux-2.6.21/drivers/char/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/char/Makefile Tue May 8 14:31:24 2007 -@@ -93,6 +93,8 @@ +Index: linux-2.6.21.7/drivers/char/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/char/Makefile ++++ linux-2.6.21.7/drivers/char/Makefile +@@ -93,6 +93,8 @@ obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o obj-$(CONFIG_TANBAC_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o @@ -4294,9 +4329,10 @@ diff -urN -x CVS linux-2.6.21/drivers/char/Makefile linux-2.6-stable/drivers/cha obj-$(CONFIG_WATCHDOG) += watchdog/ obj-$(CONFIG_MWAVE) += mwave/ -diff -urN -x CVS linux-2.6.21/drivers/char/at91_spi.c linux-2.6-stable/drivers/char/at91_spi.c ---- linux-2.6.21/drivers/char/at91_spi.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/char/at91_spi.c Tue May 8 14:31:24 2007 +Index: linux-2.6.21.7/drivers/char/at91_spi.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/char/at91_spi.c @@ -0,0 +1,336 @@ +/* + * Serial Peripheral Interface (SPI) driver for the Atmel AT91RM9200 (Thunder) @@ -4634,9 +4670,10 @@ diff -urN -x CVS linux-2.6.21/drivers/char/at91_spi.c linux-2.6-stable/drivers/c +MODULE_LICENSE("GPL") +MODULE_AUTHOR("Andrew Victor") +MODULE_DESCRIPTION("SPI driver for Atmel AT91RM9200") -diff -urN -x CVS linux-2.6.21/drivers/char/at91_spidev.c linux-2.6-stable/drivers/char/at91_spidev.c ---- linux-2.6.21/drivers/char/at91_spidev.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/char/at91_spidev.c Tue May 8 14:31:24 2007 +Index: linux-2.6.21.7/drivers/char/at91_spidev.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/char/at91_spidev.c @@ -0,0 +1,236 @@ +/* + * User-space interface to the SPI bus on Atmel AT91RM9200 @@ -4874,10 +4911,11 @@ diff -urN -x CVS linux-2.6.21/drivers/char/at91_spidev.c linux-2.6-stable/driver +MODULE_LICENSE("GPL") +MODULE_AUTHOR("Andrew Victor") +MODULE_DESCRIPTION("SPI /dev interface for Atmel AT91RM9200") -diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/Kconfig linux-2.6-stable/drivers/i2c/busses/Kconfig ---- linux-2.6.21/drivers/i2c/busses/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/i2c/busses/Kconfig Tue May 8 12:13:31 2007 -@@ -81,6 +81,14 @@ +Index: linux-2.6.21.7/drivers/i2c/busses/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/i2c/busses/Kconfig ++++ linux-2.6.21.7/drivers/i2c/busses/Kconfig +@@ -81,6 +81,14 @@ config I2C_AT91 This supports the use of the I2C interface on Atmel AT91 processors. @@ -4892,7 +4930,7 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/Kconfig linux-2.6-stable/driver config I2C_AU1550 tristate "Au1550/Au1200 SMBus interface" depends on I2C && (SOC_AU1550 || SOC_AU1200) -@@ -545,6 +553,14 @@ +@@ -545,6 +553,14 @@ config I2C_VOODOO3 This driver can also be built as a module. If so, the module will be called i2c-voodoo3. @@ -4907,10 +4945,11 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/Kconfig linux-2.6-stable/driver config I2C_PCA_ISA tristate "PCA9564 on an ISA bus" depends on I2C -diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/Makefile linux-2.6-stable/drivers/i2c/busses/Makefile ---- linux-2.6.21/drivers/i2c/busses/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/i2c/busses/Makefile Tue May 8 12:13:31 2007 -@@ -28,6 +28,7 @@ +Index: linux-2.6.21.7/drivers/i2c/busses/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/i2c/busses/Makefile ++++ linux-2.6.21.7/drivers/i2c/busses/Makefile +@@ -28,6 +28,7 @@ obj-$(CONFIG_I2C_OMAP) += i2c-omap.o obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o @@ -4918,9 +4957,10 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/Makefile linux-2.6-stable/drive obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o obj-$(CONFIG_I2C_PIIX4) += i2c-piix4.o obj-$(CONFIG_I2C_PNX) += i2c-pnx.o -diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/i2c-at91.c linux-2.6-stable/drivers/i2c/busses/i2c-at91.c ---- linux-2.6.21/drivers/i2c/busses/i2c-at91.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/i2c/busses/i2c-at91.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/i2c/busses/i2c-at91.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/i2c/busses/i2c-at91.c ++++ linux-2.6.21.7/drivers/i2c/busses/i2c-at91.c @@ -31,8 +31,11 @@ #include <asm/arch/board.h> #include <asm/arch/cpu.h> @@ -4934,7 +4974,7 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/i2c-at91.c linux-2.6-stable/dri static struct clk *twi_clk; static void __iomem *twi_base; -@@ -53,7 +56,7 @@ +@@ -53,7 +56,7 @@ static void __devinit at91_twi_hwinit(vo at91_twi_write(AT91_TWI_CR, AT91_TWI_MSEN); /* Set Master mode */ /* Calcuate clock dividers */ @@ -4943,7 +4983,7 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/i2c-at91.c linux-2.6-stable/dri cdiv = cdiv + 1; /* round up */ ckdiv = 0; while (cdiv > 255) { -@@ -61,11 +64,12 @@ +@@ -61,11 +64,12 @@ static void __devinit at91_twi_hwinit(vo cdiv = cdiv >> 1; } @@ -4961,9 +5001,10 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/i2c-at91.c linux-2.6-stable/dri } at91_twi_write(AT91_TWI_CWGR, (ckdiv << 16) | (cdiv << 8) | cdiv); -diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/i2c-pca.c linux-2.6-stable/drivers/i2c/busses/i2c-pca.c ---- linux-2.6.21/drivers/i2c/busses/i2c-pca.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/i2c/busses/i2c-pca.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/i2c/busses/i2c-pca.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/i2c/busses/i2c-pca.c @@ -0,0 +1,213 @@ +/* + * Platform driver for PCA9564 I2C bus controller. @@ -5178,9 +5219,10 @@ diff -urN -x CVS linux-2.6.21/drivers/i2c/busses/i2c-pca.c linux-2.6-stable/driv +MODULE_AUTHOR("Andrew Victor"); +MODULE_DESCRIPTION("PCA9564 platform driver"); +MODULE_LICENSE("GPL"); -diff -urN -x CVS linux-2.6.21/drivers/input/touchscreen/ads7846.c linux-2.6-stable/drivers/input/touchscreen/ads7846.c ---- linux-2.6.21/drivers/input/touchscreen/ads7846.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/input/touchscreen/ads7846.c Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/drivers/input/touchscreen/ads7846.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/input/touchscreen/ads7846.c ++++ linux-2.6.21.7/drivers/input/touchscreen/ads7846.c @@ -39,7 +39,8 @@ /* * This code has been heavily tested on a Nokia 770, and lightly @@ -5191,7 +5233,7 @@ diff -urN -x CVS linux-2.6.21/drivers/input/touchscreen/ads7846.c linux-2.6-stab * * IRQ handling needs a workaround because of a shortcoming in handling * edge triggered IRQs on some platforms like the OMAP1/2. These -@@ -246,18 +247,16 @@ +@@ -246,18 +247,16 @@ static int ads7846_read12_ser(struct dev /* REVISIT: take a few more samples, and compare ... */ @@ -5220,7 +5262,7 @@ diff -urN -x CVS linux-2.6.21/drivers/input/touchscreen/ads7846.c linux-2.6-stab ts->irq_disabled = 1; disable_irq(spi->irq); -@@ -536,6 +535,9 @@ +@@ -536,6 +535,9 @@ static void ads7846_rx(void *ads) } else Rt = 0; @@ -5230,10 +5272,11 @@ diff -urN -x CVS linux-2.6.21/drivers/input/touchscreen/ads7846.c linux-2.6-stab /* Sample found inconsistent by debouncing or pressure is beyond * the maximum. Don't report it to user space, repeat at least * once more the measurement -diff -urN -x CVS linux-2.6.21/drivers/leds/Kconfig linux-2.6-stable/drivers/leds/Kconfig ---- linux-2.6.21/drivers/leds/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/leds/Kconfig Tue May 8 12:13:31 2007 -@@ -76,6 +76,13 @@ +Index: linux-2.6.21.7/drivers/leds/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/leds/Kconfig ++++ linux-2.6.21.7/drivers/leds/Kconfig +@@ -76,6 +76,13 @@ config LEDS_NET48XX This option enables support for the Soekris net4801 and net4826 error LED. @@ -5247,10 +5290,11 @@ diff -urN -x CVS linux-2.6.21/drivers/leds/Kconfig linux-2.6-stable/drivers/leds config LEDS_WRAP tristate "LED Support for the WRAP series LEDs" depends on LEDS_CLASS && SCx200_GPIO -diff -urN -x CVS linux-2.6.21/drivers/leds/Makefile linux-2.6-stable/drivers/leds/Makefile ---- linux-2.6.21/drivers/leds/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/leds/Makefile Tue May 8 12:13:31 2007 -@@ -16,6 +16,7 @@ +Index: linux-2.6.21.7/drivers/leds/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/leds/Makefile ++++ linux-2.6.21.7/drivers/leds/Makefile +@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX) += leds-net4 obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o obj-$(CONFIG_LEDS_H1940) += leds-h1940.o obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o @@ -5258,9 +5302,10 @@ diff -urN -x CVS linux-2.6.21/drivers/leds/Makefile linux-2.6-stable/drivers/led # LED Triggers obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o -diff -urN -x CVS linux-2.6.21/drivers/leds/leds-at91.c linux-2.6-stable/drivers/leds/leds-at91.c ---- linux-2.6.21/drivers/leds/leds-at91.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/leds/leds-at91.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/leds/leds-at91.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/leds/leds-at91.c @@ -0,0 +1,140 @@ +/* + * AT91 GPIO based LED driver @@ -5402,9 +5447,10 @@ diff -urN -x CVS linux-2.6.21/drivers/leds/leds-at91.c linux-2.6-stable/drivers/ +MODULE_DESCRIPTION("AT91 GPIO LED driver"); +MODULE_AUTHOR("David Brownell"); +MODULE_LICENSE("GPL"); -diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mmc/at91_mci.c ---- linux-2.6.21/drivers/mmc/at91_mci.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/mmc/at91_mci.c Fri May 11 17:13:13 2007 +Index: linux-2.6.21.7/drivers/mmc/at91_mci.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/mmc/at91_mci.c ++++ linux-2.6.21.7/drivers/mmc/at91_mci.c @@ -86,7 +86,7 @@ #define AT91_MCI_ERRORS (AT91_MCI_RINDE | AT91_MCI_RDIRE | AT91_MCI_RCRCE \ @@ -5414,7 +5460,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm #define at91_mci_read(host, reg) __raw_readl((host)->baseaddr + (reg)) #define at91_mci_write(host, reg, val) __raw_writel((val), (host)->baseaddr + (reg)) -@@ -561,9 +561,7 @@ +@@ -561,9 +561,7 @@ static void at91mci_completed_command(st pr_debug("Status = %08X [%08X %08X %08X %08X]\n", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); @@ -5425,7 +5471,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm if ((status & AT91_MCI_RCRCE) && ((cmd->opcode == MMC_SEND_OP_COND) || (cmd->opcode == SD_APP_OP_COND))) { cmd->error = MMC_ERR_NONE; -@@ -665,15 +663,15 @@ +@@ -665,15 +663,15 @@ static irqreturn_t at91_mci_irq(int irq, int_status = at91_mci_read(host, AT91_MCI_SR); int_mask = at91_mci_read(host, AT91_MCI_IMR); @@ -5444,7 +5490,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm if (int_status & AT91_MCI_UNRE) pr_debug("MMC: Underrun error\n"); if (int_status & AT91_MCI_OVRE) -@@ -821,7 +819,7 @@ +@@ -821,7 +819,7 @@ static int __init at91_mci_probe(struct mmc->f_min = 375000; mmc->f_max = 25000000; mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; @@ -5453,7 +5499,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm mmc->max_blk_size = 4095; mmc->max_blk_count = mmc->max_req_size; -@@ -895,6 +893,8 @@ +@@ -895,6 +893,8 @@ static int __init at91_mci_probe(struct mmc_add_host(mmc); @@ -5462,7 +5508,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm /* * monitor card insertion/removal if we can */ -@@ -924,6 +924,8 @@ +@@ -924,6 +924,8 @@ static int __exit at91_mci_remove(struct host = mmc_priv(mmc); @@ -5471,7 +5517,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm if (host->present != -1) { free_irq(host->board->det_pin, host); cancel_delayed_work(&host->mmc->detect); -@@ -951,8 +953,12 @@ +@@ -951,8 +953,12 @@ static int __exit at91_mci_remove(struct static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state) { struct mmc_host *mmc = platform_get_drvdata(pdev); @@ -5484,7 +5530,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm if (mmc) ret = mmc_suspend_host(mmc, state); -@@ -962,8 +968,12 @@ +@@ -962,8 +968,12 @@ static int at91_mci_suspend(struct platf static int at91_mci_resume(struct platform_device *pdev) { struct mmc_host *mmc = platform_get_drvdata(pdev); @@ -5497,10 +5543,11 @@ diff -urN -x CVS linux-2.6.21/drivers/mmc/at91_mci.c linux-2.6-stable/drivers/mm if (mmc) ret = mmc_resume_host(mmc); -diff -urN -x CVS linux-2.6.21/drivers/mtd/devices/Kconfig linux-2.6-stable/drivers/mtd/devices/Kconfig ---- linux-2.6.21/drivers/mtd/devices/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/mtd/devices/Kconfig Tue May 8 14:31:24 2007 -@@ -267,5 +267,11 @@ +Index: linux-2.6.21.7/drivers/mtd/devices/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/devices/Kconfig ++++ linux-2.6.21.7/drivers/mtd/devices/Kconfig +@@ -267,5 +267,11 @@ config MTD_DOCPROBE_55AA LinuxBIOS or if you need to recover a DiskOnChip Millennium on which you have managed to wipe the first block. @@ -5513,17 +5560,19 @@ diff -urN -x CVS linux-2.6.21/drivers/mtd/devices/Kconfig linux-2.6-stable/drive + If you have such a board, say 'Y'. +endmenu -diff -urN -x CVS linux-2.6.21/drivers/mtd/devices/Makefile linux-2.6-stable/drivers/mtd/devices/Makefile ---- linux-2.6.21/drivers/mtd/devices/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/mtd/devices/Makefile Tue May 8 14:31:24 2007 -@@ -17,3 +17,4 @@ +Index: linux-2.6.21.7/drivers/mtd/devices/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/devices/Makefile ++++ linux-2.6.21.7/drivers/mtd/devices/Makefile +@@ -17,3 +17,4 @@ obj-$(CONFIG_MTD_LART) += lart.o obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o obj-$(CONFIG_MTD_M25P80) += m25p80.o +obj-$(CONFIG_MTD_AT91_DATAFLASH)+= at91_dataflash.o -diff -urN -x CVS linux-2.6.21/drivers/mtd/devices/at91_dataflash.c linux-2.6-stable/drivers/mtd/devices/at91_dataflash.c ---- linux-2.6.21/drivers/mtd/devices/at91_dataflash.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/mtd/devices/at91_dataflash.c Tue May 8 14:31:24 2007 +Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c @@ -0,0 +1,667 @@ +/* + * Atmel DataFlash driver for Atmel AT91RM9200 (Thunder) @@ -6192,10 +6241,11 @@ diff -urN -x CVS linux-2.6.21/drivers/mtd/devices/at91_dataflash.c linux-2.6-sta +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Andrew Victor"); +MODULE_DESCRIPTION("DataFlash driver for Atmel AT91RM9200"); -diff -urN -x CVS linux-2.6.21/drivers/mtd/nand/at91_nand.c linux-2.6-stable/drivers/mtd/nand/at91_nand.c ---- linux-2.6.21/drivers/mtd/nand/at91_nand.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/mtd/nand/at91_nand.c Tue May 8 12:13:31 2007 -@@ -82,6 +82,10 @@ +Index: linux-2.6.21.7/drivers/mtd/nand/at91_nand.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/nand/at91_nand.c ++++ linux-2.6.21.7/drivers/mtd/nand/at91_nand.c +@@ -82,6 +82,10 @@ static void at91_nand_disable(struct at9 at91_set_gpio_value(host->board->enable_pin, 1); } @@ -6206,7 +6256,7 @@ diff -urN -x CVS linux-2.6.21/drivers/mtd/nand/at91_nand.c linux-2.6-stable/driv /* * Probe for the NAND device. */ -@@ -151,6 +155,12 @@ +@@ -151,6 +155,12 @@ static int __init at91_nand_probe(struct #ifdef CONFIG_MTD_PARTITIONS if (host->board->partition_info) partitions = host->board->partition_info(mtd->size, &num_partitions); @@ -6219,10 +6269,11 @@ diff -urN -x CVS linux-2.6.21/drivers/mtd/nand/at91_nand.c linux-2.6-stable/driv if ((!partitions) || (num_partitions == 0)) { printk(KERN_ERR "at91_nand: No parititions defined, or unsupported device.\n"); -diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/drivers/net/arm/at91_ether.c ---- linux-2.6.21/drivers/net/arm/at91_ether.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/net/arm/at91_ether.c Tue May 8 12:13:31 2007 -@@ -225,6 +225,16 @@ +Index: linux-2.6.21.7/drivers/net/arm/at91_ether.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/net/arm/at91_ether.c ++++ linux-2.6.21.7/drivers/net/arm/at91_ether.c +@@ -225,6 +225,16 @@ static irqreturn_t at91ether_phy_interru if (!(phy & ((1 << 2) | 1))) goto done; } @@ -6239,7 +6290,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv update_linkspeed(dev, 0); -@@ -280,6 +290,19 @@ +@@ -280,6 +290,19 @@ static void enable_phyirq(struct net_dev dsintr = (1 << 10) | ( 1 << 8); write_phy(lp->phy_address, MII_TPISTATUS, dsintr); } @@ -6259,7 +6310,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv disable_mdi(); spin_unlock_irq(&lp->lock); -@@ -323,6 +346,19 @@ +@@ -323,6 +346,19 @@ static void disable_phyirq(struct net_de dsintr = ~((1 << 10) | (1 << 8)); write_phy(lp->phy_address, MII_TPISTATUS, dsintr); } @@ -6279,7 +6330,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv disable_mdi(); spin_unlock_irq(&lp->lock); -@@ -535,8 +571,8 @@ +@@ -535,8 +571,8 @@ static void at91ether_sethashtable(struc mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); } @@ -6290,7 +6341,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv } /* -@@ -943,14 +979,22 @@ +@@ -943,14 +979,22 @@ static int __init at91ether_setup(unsign struct net_device *dev; struct at91_private *lp; unsigned int val; @@ -6316,7 +6367,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv SET_MODULE_OWNER(dev); /* Install the interrupt handler */ -@@ -1023,12 +1067,12 @@ +@@ -1023,12 +1067,12 @@ static int __init at91ether_setup(unsign lp->phy_address = phy_address; /* MDI address of PHY */ /* Register the network interface */ @@ -6332,7 +6383,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv } /* Determine current link speed */ -@@ -1063,10 +1107,16 @@ +@@ -1063,10 +1107,16 @@ static int __init at91ether_setup(unsign printk(KERN_INFO "%s: Broadcom BCM5221 PHY\n", dev->name); else if (phy_type == MII_DP83847_ID) printk(KERN_INFO "%s: National Semiconductor DP83847 PHY\n", dev->name); @@ -6349,7 +6400,7 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv return 0; } -@@ -1104,8 +1154,11 @@ +@@ -1104,8 +1154,11 @@ static int __init at91ether_probe(struct case MII_RTL8201_ID: /* Realtek RTL8201: PHY_ID1 = 0, PHY_ID2 = 0x8201 */ case MII_BCM5221_ID: /* Broadcom BCM5221: PHY_ID1 = 0x40, PHY_ID2 = 0x61e0 */ case MII_DP83847_ID: /* National Semiconductor DP83847: */ @@ -6361,9 +6412,10 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.c linux-2.6-stable/driv detected = at91ether_setup(phy_id, phy_address, pdev, ether_clk); break; } -diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.h linux-2.6-stable/drivers/net/arm/at91_ether.h ---- linux-2.6.21/drivers/net/arm/at91_ether.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/net/arm/at91_ether.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/net/arm/at91_ether.h +=================================================================== +--- linux-2.6.21.7.orig/drivers/net/arm/at91_ether.h ++++ linux-2.6.21.7/drivers/net/arm/at91_ether.h @@ -17,39 +17,46 @@ @@ -6432,10 +6484,11 @@ diff -urN -x CVS linux-2.6.21/drivers/net/arm/at91_ether.h linux-2.6-stable/driv /* ........................................................................ */ -diff -urN -x CVS linux-2.6.21/drivers/pcmcia/at91_cf.c linux-2.6-stable/drivers/pcmcia/at91_cf.c ---- linux-2.6.21/drivers/pcmcia/at91_cf.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/pcmcia/at91_cf.c Tue May 8 12:13:31 2007 -@@ -332,20 +332,27 @@ +Index: linux-2.6.21.7/drivers/pcmcia/at91_cf.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/pcmcia/at91_cf.c ++++ linux-2.6.21.7/drivers/pcmcia/at91_cf.c +@@ -332,20 +332,27 @@ static int at91_cf_suspend(struct platfo struct at91_cf_data *board = cf->board; pcmcia_socket_dev_suspend(&pdev->dev, mesg); @@ -6467,7 +6520,7 @@ diff -urN -x CVS linux-2.6.21/drivers/pcmcia/at91_cf.c linux-2.6-stable/drivers/ pcmcia_socket_dev_resume(&pdev->dev); return 0; } -@@ -360,7 +367,6 @@ +@@ -360,7 +367,6 @@ static struct platform_driver at91_cf_dr .name = (char *) driver_name, .owner = THIS_MODULE, }, @@ -6475,7 +6528,7 @@ diff -urN -x CVS linux-2.6.21/drivers/pcmcia/at91_cf.c linux-2.6-stable/drivers/ .remove = __exit_p(at91_cf_remove), .suspend = at91_cf_suspend, .resume = at91_cf_resume, -@@ -370,7 +376,7 @@ +@@ -370,7 +376,7 @@ static struct platform_driver at91_cf_dr static int __init at91_cf_init(void) { @@ -6484,9 +6537,10 @@ diff -urN -x CVS linux-2.6.21/drivers/pcmcia/at91_cf.c linux-2.6-stable/drivers/ } module_init(at91_cf_init); -diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/drivers/serial/atmel_serial.c ---- linux-2.6.21/drivers/serial/atmel_serial.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/serial/atmel_serial.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/serial/atmel_serial.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/serial/atmel_serial.c ++++ linux-2.6.21.7/drivers/serial/atmel_serial.c @@ -7,6 +7,8 @@ * Based on drivers/char/serial_sa1100.c, by Deep Blue Solutions Ltd. * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. @@ -6530,7 +6584,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri /* * We wrap our port structure around the generic uart_port. */ -@@ -114,10 +129,20 @@ +@@ -114,10 +129,20 @@ struct atmel_uart_port { struct uart_port uart; /* uart */ struct clk *clk; /* uart clock */ unsigned short suspended; /* is port suspended? */ @@ -6551,7 +6605,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri #ifdef SUPPORT_SYSRQ static struct console atmel_console; #endif -@@ -205,7 +230,12 @@ +@@ -205,7 +230,12 @@ static void atmel_stop_tx(struct uart_po { struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port; @@ -6565,7 +6619,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri } /* -@@ -215,7 +245,17 @@ +@@ -215,7 +245,17 @@ static void atmel_start_tx(struct uart_p { struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port; @@ -6584,7 +6638,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri } /* -@@ -225,7 +265,12 @@ +@@ -225,7 +265,12 @@ static void atmel_stop_rx(struct uart_po { struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port; @@ -6598,7 +6652,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri } /* -@@ -248,6 +293,134 @@ +@@ -248,6 +293,134 @@ static void atmel_break_ctl(struct uart_ } /* @@ -6733,7 +6787,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri * Characters received (called from interrupt handler) */ static void atmel_rx_chars(struct uart_port *port) -@@ -349,6 +522,14 @@ +@@ -349,6 +522,14 @@ static irqreturn_t atmel_interrupt(int i status = UART_GET_CSR(port); pending = status & UART_GET_IMR(port); while (pending) { @@ -6748,7 +6802,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri /* Interrupt receive */ if (pending & ATMEL_US_RXRDY) atmel_rx_chars(port); -@@ -363,6 +544,12 @@ +@@ -363,6 +544,12 @@ static irqreturn_t atmel_interrupt(int i if (pending & (ATMEL_US_RIIC | ATMEL_US_DSRIC | ATMEL_US_DCDIC | ATMEL_US_CTSIC)) wake_up_interruptible(&port->info->delta_msr_wait); @@ -6761,7 +6815,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri /* Interrupt transmit */ if (pending & ATMEL_US_TXRDY) atmel_tx_chars(port); -@@ -401,6 +588,47 @@ +@@ -401,6 +588,47 @@ static int atmel_startup(struct uart_por } /* @@ -6809,7 +6863,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri * If there is a specific "open" function (to register * control line interrupts) */ -@@ -418,7 +646,15 @@ +@@ -418,7 +646,15 @@ static int atmel_startup(struct uart_por UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX); UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN); /* enable xmit & rcvr */ @@ -6826,7 +6880,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri return 0; } -@@ -431,6 +667,31 @@ +@@ -431,6 +667,31 @@ static void atmel_shutdown(struct uart_p struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port; /* @@ -6858,7 +6912,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri * Disable all interrupts, port and break condition. */ UART_PUT_CR(port, ATMEL_US_RSTSTA); -@@ -481,14 +742,20 @@ +@@ -481,14 +742,20 @@ static void atmel_serial_pm(struct uart_ */ static void atmel_set_termios(struct uart_port *port, struct ktermios * termios, struct ktermios * old) { @@ -6881,7 +6935,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri /* byte size */ switch (termios->c_cflag & CSIZE) { -@@ -534,6 +801,9 @@ +@@ -534,6 +801,9 @@ static void atmel_set_termios(struct uar if (termios->c_iflag & (BRKINT | PARMRK)) port->read_status_mask |= ATMEL_US_RXBRK; @@ -6891,7 +6945,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri /* * Characters to ignore */ -@@ -712,6 +982,13 @@ +@@ -712,6 +982,13 @@ static void __devinit atmel_init_port(st clk_enable(atmel_port->clk); port->uartclk = clk_get_rate(atmel_port->clk); } @@ -6905,7 +6959,7 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri } /* -@@ -888,7 +1165,8 @@ +@@ -888,7 +1165,8 @@ static int atmel_serial_suspend(struct p struct uart_port *port = platform_get_drvdata(pdev); struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port; @@ -6915,9 +6969,10 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.c linux-2.6-stable/dri enable_irq_wake(port->irq); else { uart_suspend_port(&atmel_uart, port); -diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.h linux-2.6-stable/drivers/serial/atmel_serial.h ---- linux-2.6.21/drivers/serial/atmel_serial.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/serial/atmel_serial.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/serial/atmel_serial.h +=================================================================== +--- linux-2.6.21.7.orig/drivers/serial/atmel_serial.h ++++ linux-2.6.21.7/drivers/serial/atmel_serial.h @@ -46,6 +46,9 @@ #define ATMEL_US_USMODE_ISO7816_T1 6 #define ATMEL_US_USMODE_IRDA 8 @@ -6928,10 +6983,11 @@ diff -urN -x CVS linux-2.6.21/drivers/serial/atmel_serial.h linux-2.6-stable/dri #define ATMEL_US_CHRL (3 << 6) /* Character Length */ #define ATMEL_US_CHRL_5 (0 << 6) #define ATMEL_US_CHRL_6 (1 << 6) -diff -urN -x CVS linux-2.6.21/drivers/spi/Kconfig linux-2.6-stable/drivers/spi/Kconfig ---- linux-2.6.21/drivers/spi/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/spi/Kconfig Tue May 8 14:31:24 2007 -@@ -54,6 +54,7 @@ +Index: linux-2.6.21.7/drivers/spi/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/spi/Kconfig ++++ linux-2.6.21.7/drivers/spi/Kconfig +@@ -54,6 +54,7 @@ comment "SPI Master Controller Drivers" config SPI_ATMEL tristate "Atmel SPI Controller" depends on (ARCH_AT91 || AVR32) && SPI_MASTER @@ -6939,7 +6995,7 @@ diff -urN -x CVS linux-2.6.21/drivers/spi/Kconfig linux-2.6-stable/drivers/spi/K help This selects a driver for the Atmel SPI Controller, present on many AT32 (AVR32) and AT91 (ARM) chips. -@@ -82,6 +83,24 @@ +@@ -82,6 +83,24 @@ config SPI_BUTTERFLY inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. @@ -6964,10 +7020,11 @@ diff -urN -x CVS linux-2.6.21/drivers/spi/Kconfig linux-2.6-stable/drivers/spi/K config SPI_IMX tristate "Freescale iMX SPI controller" depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL -diff -urN -x CVS linux-2.6.21/drivers/spi/Makefile linux-2.6-stable/drivers/spi/Makefile ---- linux-2.6.21/drivers/spi/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/spi/Makefile Tue May 8 14:31:24 2007 -@@ -20,6 +20,7 @@ +Index: linux-2.6.21.7/drivers/spi/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/spi/Makefile ++++ linux-2.6.21.7/drivers/spi/Makefile +@@ -20,6 +20,7 @@ obj-$(CONFIG_SPI_OMAP_UWIRE) += omap_uw obj-$(CONFIG_SPI_MPC83xx) += spi_mpc83xx.o obj-$(CONFIG_SPI_S3C24XX_GPIO) += spi_s3c24xx_gpio.o obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o @@ -6975,9 +7032,10 @@ diff -urN -x CVS linux-2.6.21/drivers/spi/Makefile linux-2.6-stable/drivers/spi/ # ... add above this line ... # SPI protocol drivers (device/link on bus) -diff -urN -x CVS linux-2.6.21/drivers/spi/spi_at91_bitbang.c linux-2.6-stable/drivers/spi/spi_at91_bitbang.c ---- linux-2.6.21/drivers/spi/spi_at91_bitbang.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/spi/spi_at91_bitbang.c Tue May 8 14:31:24 2007 +Index: linux-2.6.21.7/drivers/spi/spi_at91_bitbang.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/spi/spi_at91_bitbang.c @@ -0,0 +1,207 @@ +/* + * at91_spi.c - at91 SPI driver (BOOTSTRAP/BITBANG VERSION) @@ -7186,10 +7244,11 @@ diff -urN -x CVS linux-2.6.21/drivers/spi/spi_at91_bitbang.c linux-2.6-stable/dr +MODULE_DESCRIPTION("AT91 SPI support (BOOTSTRAP/BITBANG VERSION)"); +MODULE_AUTHOR("David Brownell"); +MODULE_LICENSE("GPL"); -diff -urN -x CVS linux-2.6.21/drivers/usb/gadget/Kconfig linux-2.6-stable/drivers/usb/gadget/Kconfig ---- linux-2.6.21/drivers/usb/gadget/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/usb/gadget/Kconfig Wed May 9 10:20:54 2007 -@@ -189,7 +189,7 @@ +Index: linux-2.6.21.7/drivers/usb/gadget/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/usb/gadget/Kconfig ++++ linux-2.6.21.7/drivers/usb/gadget/Kconfig +@@ -189,7 +189,7 @@ config USB_OTG config USB_GADGET_AT91 boolean "AT91 USB Device Port" @@ -7198,10 +7257,11 @@ diff -urN -x CVS linux-2.6.21/drivers/usb/gadget/Kconfig linux-2.6-stable/driver select USB_GADGET_SELECTED help Many Atmel AT91 processors (such as the AT91RM2000) have a -diff -urN -x CVS linux-2.6.21/drivers/usb/gadget/at91_udc.c linux-2.6-stable/drivers/usb/gadget/at91_udc.c ---- linux-2.6.21/drivers/usb/gadget/at91_udc.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/usb/gadget/at91_udc.c Tue May 8 12:13:31 2007 -@@ -1804,7 +1804,7 @@ +Index: linux-2.6.21.7/drivers/usb/gadget/at91_udc.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/usb/gadget/at91_udc.c ++++ linux-2.6.21.7/drivers/usb/gadget/at91_udc.c +@@ -1804,7 +1804,7 @@ static int at91udc_suspend(struct platfo */ if ((!udc->suspended && udc->addr) || !wake @@ -7210,10 +7270,11 @@ diff -urN -x CVS linux-2.6.21/drivers/usb/gadget/at91_udc.c linux-2.6-stable/dri pullup(udc, 0); wake = 0; } else -diff -urN -x CVS linux-2.6.21/drivers/usb/host/ohci-at91.c linux-2.6-stable/drivers/usb/host/ohci-at91.c ---- linux-2.6.21/drivers/usb/host/ohci-at91.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/usb/host/ohci-at91.c Tue May 8 12:13:31 2007 -@@ -299,7 +299,7 @@ +Index: linux-2.6.21.7/drivers/usb/host/ohci-at91.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/usb/host/ohci-at91.c ++++ linux-2.6.21.7/drivers/usb/host/ohci-at91.c +@@ -299,7 +299,7 @@ ohci_hcd_at91_drv_suspend(struct platfor * * REVISIT: some boards will be able to turn VBUS off... */ @@ -7222,10 +7283,11 @@ diff -urN -x CVS linux-2.6.21/drivers/usb/host/ohci-at91.c linux-2.6-stable/driv ohci_usb_reset (ohci); at91_stop_clock(); } -diff -urN -x CVS linux-2.6.21/drivers/video/Kconfig linux-2.6-stable/drivers/video/Kconfig ---- linux-2.6.21/drivers/video/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/video/Kconfig Thu May 10 12:34:41 2007 -@@ -663,6 +663,17 @@ +Index: linux-2.6.21.7/drivers/video/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/video/Kconfig ++++ linux-2.6.21.7/drivers/video/Kconfig +@@ -663,6 +663,17 @@ config FB_EPSON1355 framebuffer. Product specs at <http://www.erd.epson.com/vdc/html/products.htm>. @@ -7243,7 +7305,7 @@ diff -urN -x CVS linux-2.6.21/drivers/video/Kconfig linux-2.6-stable/drivers/vid config FB_S1D13XXX tristate "Epson S1D13XXX framebuffer support" depends on FB -@@ -674,6 +685,22 @@ +@@ -674,6 +685,22 @@ config FB_S1D13XXX working with S1D13806). Product specs at <http://www.erd.epson.com/vdc/html/legacy_13xxx.htm> @@ -7266,10 +7328,11 @@ diff -urN -x CVS linux-2.6.21/drivers/video/Kconfig linux-2.6-stable/drivers/vid config FB_NVIDIA tristate "nVidia Framebuffer Support" depends on FB && PCI -diff -urN -x CVS linux-2.6.21/drivers/video/Makefile linux-2.6-stable/drivers/video/Makefile ---- linux-2.6.21/drivers/video/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/video/Makefile Thu May 10 12:34:01 2007 -@@ -75,6 +75,8 @@ +Index: linux-2.6.21.7/drivers/video/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/video/Makefile ++++ linux-2.6.21.7/drivers/video/Makefile +@@ -75,6 +75,8 @@ obj-$(CONFIG_FB_G364) += g36 obj-$(CONFIG_FB_SA1100) += sa1100fb.o obj-$(CONFIG_FB_HIT) += hitfb.o obj-$(CONFIG_FB_EPSON1355) += epson1355fb.o @@ -7278,9 +7341,10 @@ diff -urN -x CVS linux-2.6.21/drivers/video/Makefile linux-2.6-stable/drivers/vi obj-$(CONFIG_FB_PVR2) += pvr2fb.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o -diff -urN -x CVS linux-2.6.21/drivers/video/atmel_lcdfb.c linux-2.6-stable/drivers/video/atmel_lcdfb.c ---- linux-2.6.21/drivers/video/atmel_lcdfb.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/video/atmel_lcdfb.c Thu May 10 12:34:01 2007 +Index: linux-2.6.21.7/drivers/video/atmel_lcdfb.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/video/atmel_lcdfb.c @@ -0,0 +1,752 @@ +/* + * Driver for AT91/AT32 LCD Controller @@ -8034,10 +8098,11 @@ diff -urN -x CVS linux-2.6.21/drivers/video/atmel_lcdfb.c linux-2.6-stable/drive +MODULE_DESCRIPTION("AT91/AT32 LCD Controller framebuffer driver"); +MODULE_AUTHOR("Nicolas Ferre <nicolas.ferre@rfo.atmel.com>"); +MODULE_LICENSE("GPL"); -diff -urN -x CVS linux-2.6.21/drivers/video/backlight/Kconfig linux-2.6-stable/drivers/video/backlight/Kconfig ---- linux-2.6.21/drivers/video/backlight/Kconfig Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/video/backlight/Kconfig Tue May 8 12:13:31 2007 -@@ -63,3 +63,11 @@ +Index: linux-2.6.21.7/drivers/video/backlight/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/video/backlight/Kconfig ++++ linux-2.6.21.7/drivers/video/backlight/Kconfig +@@ -63,3 +63,11 @@ config BACKLIGHT_PROGEAR help If you have a Frontpath ProGear say Y to enable the backlight driver. @@ -8049,17 +8114,19 @@ diff -urN -x CVS linux-2.6.21/drivers/video/backlight/Kconfig linux-2.6-stable/d + help + If you have a KwikByte KB9202 board, say Y to enable the + backlight driver. -diff -urN -x CVS linux-2.6.21/drivers/video/backlight/Makefile linux-2.6-stable/drivers/video/backlight/Makefile ---- linux-2.6.21/drivers/video/backlight/Makefile Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/drivers/video/backlight/Makefile Tue May 8 12:13:31 2007 -@@ -6,3 +6,4 @@ +Index: linux-2.6.21.7/drivers/video/backlight/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/video/backlight/Makefile ++++ linux-2.6.21.7/drivers/video/backlight/Makefile +@@ -6,3 +6,4 @@ obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_b obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomolcd.o obj-$(CONFIG_BACKLIGHT_PROGEAR) += progear_bl.o +obj-$(CONFIG_BACKLIGHT_KB920x) += kb920x_bl.o -diff -urN -x CVS linux-2.6.21/drivers/video/backlight/kb920x_bl.c linux-2.6-stable/drivers/video/backlight/kb920x_bl.c ---- linux-2.6.21/drivers/video/backlight/kb920x_bl.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/video/backlight/kb920x_bl.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/video/backlight/kb920x_bl.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/video/backlight/kb920x_bl.c @@ -0,0 +1,164 @@ +/* + * Backlight Driver for KB9202 @@ -8225,9 +8292,10 @@ diff -urN -x CVS linux-2.6.21/drivers/video/backlight/kb920x_bl.c linux-2.6-stab +MODULE_AUTHOR("KwikByte <kb9200_dev@kwikbyte.com>"); +MODULE_DESCRIPTION("KB9202 Backlight Driver"); +MODULE_LICENSE("GPL"); -diff -urN -x CVS linux-2.6.21/drivers/video/s1d15605fb.c linux-2.6-stable/drivers/video/s1d15605fb.c ---- linux-2.6.21/drivers/video/s1d15605fb.c Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/drivers/video/s1d15605fb.c Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/drivers/video/s1d15605fb.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/video/s1d15605fb.c @@ -0,0 +1,659 @@ +/* + * drivers/video/s1d15605.c @@ -8888,9 +8956,10 @@ diff -urN -x CVS linux-2.6.21/drivers/video/s1d15605fb.c linux-2.6-stable/driver +MODULE_AUTHOR("KwikByte"); +MODULE_DESCRIPTION("Epson S1D15605 LCD Controller framebuffer driver"); +MODULE_LICENSE("GPL"); -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91_adc.h linux-2.6-stable/include/asm-arm/arch-at91/at91_adc.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91_adc.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91_adc.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91_adc.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91_adc.h @@ -0,0 +1,61 @@ +/* + * include/asm-arm/arch-at91/at91_adc.h @@ -8953,9 +9022,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91_adc.h linux-2.6-sta +#define AT91_ADC_DATA (0x3ff) + +#endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91_mci.h linux-2.6-stable/include/asm-arm/arch-at91/at91_mci.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91_mci.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91_mci.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91_mci.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91_mci.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91_mci.h @@ -26,6 +26,9 @@ #define AT91_MCI_MR 0x04 /* Mode Register */ #define AT91_MCI_CLKDIV (0xff << 0) /* Clock Divider */ @@ -8966,9 +9036,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91_mci.h linux-2.6-sta #define AT91_MCI_PDCPADV (1 << 14) /* PDC Padding Value */ #define AT91_MCI_PDCMODE (1 << 15) /* PDC-orientated Mode */ #define AT91_MCI_BLKLEN (0xfff << 18) /* Data Block Length */ -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91_pmc.h linux-2.6-stable/include/asm-arm/arch-at91/at91_pmc.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91_pmc.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91_pmc.h Fri May 11 16:45:00 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91_pmc.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91_pmc.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91_pmc.h @@ -37,7 +37,9 @@ #define AT91_PMC_PCDR (AT91_PMC + 0x14) /* Peripheral Clock Disable Register */ #define AT91_PMC_PCSR (AT91_PMC + 0x18) /* Peripheral Clock Status Register */ @@ -8980,9 +9051,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91_pmc.h linux-2.6-sta #define AT91_PMC_MOSCEN (1 << 0) /* Main Oscillator Enable */ #define AT91_PMC_OSCBYPASS (1 << 1) /* Oscillator Bypass [AT91SAM926x only] */ #define AT91_PMC_OSCOUNT (0xff << 8) /* Main Oscillator Start-up Time */ -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91rm9200.h linux-2.6-stable/include/asm-arm/arch-at91/at91rm9200.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91rm9200.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91rm9200.h Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91rm9200.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91rm9200.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91rm9200.h @@ -107,185 +107,4 @@ #define AT91RM9200_UHP_BASE 0x00300000 /* USB Host controller */ @@ -9169,9 +9241,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91rm9200.h linux-2.6-s -#endif - #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9260.h linux-2.6-stable/include/asm-arm/arch-at91/at91sam9260.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91sam9260.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91sam9260.h Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9260.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91sam9260.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9260.h @@ -117,13 +117,4 @@ #define AT91SAM9XE_SRAM_BASE 0x00300000 /* Internal SRAM base address */ @@ -9186,9 +9259,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9260.h linux-2.6- -#endif - #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9260_matrix.h linux-2.6-stable/include/asm-arm/arch-at91/at91sam9260_matrix.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91sam9260_matrix.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91sam9260_matrix.h Fri May 11 16:20:33 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9260_matrix.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91sam9260_matrix.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9260_matrix.h @@ -67,7 +67,7 @@ #define AT91_MATRIX_CS4A (1 << 4) /* Chip Select 4 Assignment */ #define AT91_MATRIX_CS4A_SMC (0 << 4) @@ -9198,9 +9272,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9260_matrix.h lin #define AT91_MATRIX_CS5A_SMC (0 << 5) #define AT91_MATRIX_CS5A_SMC_CF2 (1 << 5) #define AT91_MATRIX_DBPUC (1 << 8) /* Data Bus Pull-up Configuration */ -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9261.h linux-2.6-stable/include/asm-arm/arch-at91/at91sam9261.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91sam9261.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91sam9261.h Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9261.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91sam9261.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9261.h @@ -98,195 +98,4 @@ #define AT91SAM9261_LCDC_BASE 0x00600000 /* LDC controller */ @@ -9397,9 +9472,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9261.h linux-2.6- -#endif - #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9263.h linux-2.6-stable/include/asm-arm/arch-at91/at91sam9263.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91sam9263.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91sam9263.h Tue May 8 12:56:33 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9263.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/at91sam9263.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9263.h @@ -119,13 +119,5 @@ #define AT91SAM9263_DMAC_BASE 0x00800000 /* DMA Controller */ #define AT91SAM9263_UHP_BASE 0x00a00000 /* USB Host controller */ @@ -9414,9 +9490,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9263.h linux-2.6- -#endif #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9rl.h linux-2.6-stable/include/asm-arm/arch-at91/at91sam9rl.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91sam9rl.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91sam9rl.h Fri May 11 14:53:48 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9rl.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9rl.h @@ -0,0 +1,110 @@ +/* + * include/asm-arm/arch-at91/at91sam9260.h @@ -9528,9 +9605,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9rl.h linux-2.6-s +#define AT91SAM9RL_UDPHS_BASE 0x00600000 /* USB Device HS controller */ + +#endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9rl_matrix.h linux-2.6-stable/include/asm-arm/arch-at91/at91sam9rl_matrix.h ---- linux-2.6.21/include/asm-arm/arch-at91/at91sam9rl_matrix.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/include/asm-arm/arch-at91/at91sam9rl_matrix.h Fri May 11 16:18:45 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9rl_matrix.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/include/asm-arm/arch-at91/at91sam9rl_matrix.h @@ -0,0 +1,96 @@ +/* + * include/asm-arm/arch-at91/at91sam9rl_matrix.h @@ -9628,10 +9706,11 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/at91sam9rl_matrix.h linu + + +#endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/board.h linux-2.6-stable/include/asm-arm/arch-at91/board.h ---- linux-2.6.21/include/asm-arm/arch-at91/board.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/board.h Thu May 10 12:21:10 2007 -@@ -62,7 +62,7 @@ +Index: linux-2.6.21.7/include/asm-arm/arch-at91/board.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/board.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/board.h +@@ -62,7 +62,7 @@ struct at91_mmc_data { }; extern void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data); @@ -9640,7 +9719,7 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/board.h linux-2.6-stable struct at91_eth_data { u8 phy_irq_pin; /* PHY IRQ */ u8 is_rmii; /* using RMII interface? */ -@@ -114,9 +114,31 @@ +@@ -114,9 +114,31 @@ struct atmel_uart_data { }; extern void __init at91_add_device_serial(void); @@ -9672,9 +9751,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/board.h linux-2.6-stable +extern void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr); + #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/cpu.h linux-2.6-stable/include/asm-arm/arch-at91/cpu.h ---- linux-2.6.21/include/asm-arm/arch-at91/cpu.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/cpu.h Wed May 9 10:20:54 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/cpu.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/cpu.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/cpu.h @@ -26,6 +26,8 @@ #define ARCH_ID_AT91SAM9XE256 0x329a93a0 #define ARCH_ID_AT91SAM9XE512 0x329aa3a0 @@ -9684,7 +9764,7 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/cpu.h linux-2.6-stable/i static inline unsigned long at91_cpu_identify(void) { return (at91_sys_read(AT91_DBGU_CIDR) & ~AT91_CIDR_VERSION); -@@ -68,4 +70,10 @@ +@@ -68,4 +70,10 @@ static inline unsigned long at91_arch_id #define cpu_is_at91sam9263() (0) #endif @@ -9695,9 +9775,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/cpu.h linux-2.6-stable/i +#endif + #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/hardware.h linux-2.6-stable/include/asm-arm/arch-at91/hardware.h ---- linux-2.6.21/include/asm-arm/arch-at91/hardware.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/hardware.h Fri May 11 14:45:12 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/hardware.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/hardware.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/hardware.h @@ -24,6 +24,8 @@ #include <asm/arch/at91sam9261.h> #elif defined(CONFIG_ARCH_AT91SAM9263) @@ -9730,9 +9811,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/hardware.h linux-2.6-sta -#endif #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/ics1523.h linux-2.6-stable/include/asm-arm/arch-at91/ics1523.h ---- linux-2.6.21/include/asm-arm/arch-at91/ics1523.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/include/asm-arm/arch-at91/ics1523.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/ics1523.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/include/asm-arm/arch-at91/ics1523.h @@ -0,0 +1,154 @@ +//*---------------------------------------------------------------------------- +//* ATMEL Microcontroller Software Support - ROUSSET - @@ -9888,9 +9970,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/ics1523.h linux-2.6-stab +int at91_ics1523_init(void); + +#endif /* ics1523_h */ -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/io.h linux-2.6-stable/include/asm-arm/arch-at91/io.h ---- linux-2.6.21/include/asm-arm/arch-at91/io.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/io.h Fri May 11 14:45:12 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/io.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/io.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/io.h @@ -29,4 +29,22 @@ #define __mem_pci(a) (a) @@ -9914,9 +9997,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/io.h linux-2.6-stable/in +#endif + #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/irqs.h linux-2.6-stable/include/asm-arm/arch-at91/irqs.h ---- linux-2.6.21/include/asm-arm/arch-at91/irqs.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/irqs.h Fri May 11 14:45:12 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/irqs.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/irqs.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/irqs.h @@ -21,6 +21,7 @@ #ifndef __ASM_ARCH_IRQS_H #define __ASM_ARCH_IRQS_H @@ -9925,9 +10009,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/irqs.h linux-2.6-stable/ #include <asm/arch/at91_aic.h> #define NR_AIC_IRQS 32 -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/spi.h linux-2.6-stable/include/asm-arm/arch-at91/spi.h ---- linux-2.6.21/include/asm-arm/arch-at91/spi.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/include/asm-arm/arch-at91/spi.h Tue May 8 14:31:24 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/spi.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/include/asm-arm/arch-at91/spi.h @@ -0,0 +1,54 @@ +/* + * Serial Peripheral Interface (SPI) driver for the Atmel AT91RM9200 @@ -9983,9 +10068,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/spi.h linux-2.6-stable/i +extern int spi_transfer(struct spi_transfer_list* list); + +#endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/timex.h linux-2.6-stable/include/asm-arm/arch-at91/timex.h ---- linux-2.6.21/include/asm-arm/arch-at91/timex.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/timex.h Wed May 9 10:20:53 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/timex.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/timex.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/timex.h @@ -37,6 +37,11 @@ #define AT91SAM9_MASTER_CLOCK 99959500 #define CLOCK_TICK_RATE (AT91SAM9_MASTER_CLOCK/16) @@ -9998,9 +10084,10 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/timex.h linux-2.6-stable #endif #endif -diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/uncompress.h linux-2.6-stable/include/asm-arm/arch-at91/uncompress.h ---- linux-2.6.21/include/asm-arm/arch-at91/uncompress.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/asm-arm/arch-at91/uncompress.h Fri May 11 14:45:12 2007 +Index: linux-2.6.21.7/include/asm-arm/arch-at91/uncompress.h +=================================================================== +--- linux-2.6.21.7.orig/include/asm-arm/arch-at91/uncompress.h ++++ linux-2.6.21.7/include/asm-arm/arch-at91/uncompress.h @@ -21,7 +21,7 @@ #ifndef __ASM_ARCH_UNCOMPRESS_H #define __ASM_ARCH_UNCOMPRESS_H @@ -10010,10 +10097,11 @@ diff -urN -x CVS linux-2.6.21/include/asm-arm/arch-at91/uncompress.h linux-2.6-s #include <asm/arch/at91_dbgu.h> /* -diff -urN -x CVS linux-2.6.21/include/linux/clk.h linux-2.6-stable/include/linux/clk.h ---- linux-2.6.21/include/linux/clk.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/linux/clk.h Tue May 8 12:13:31 2007 -@@ -121,4 +121,24 @@ +Index: linux-2.6.21.7/include/linux/clk.h +=================================================================== +--- linux-2.6.21.7.orig/include/linux/clk.h ++++ linux-2.6.21.7/include/linux/clk.h +@@ -121,4 +121,24 @@ int clk_set_parent(struct clk *clk, stru */ struct clk *clk_get_parent(struct clk *clk); @@ -10038,9 +10126,10 @@ diff -urN -x CVS linux-2.6.21/include/linux/clk.h linux-2.6-stable/include/linux +int clk_must_disable(struct clk *clk); + #endif -diff -urN -x CVS linux-2.6.21/include/linux/i2c-id.h linux-2.6-stable/include/linux/i2c-id.h ---- linux-2.6.21/include/linux/i2c-id.h Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/include/linux/i2c-id.h Tue May 8 12:13:31 2007 +Index: linux-2.6.21.7/include/linux/i2c-id.h +=================================================================== +--- linux-2.6.21.7.orig/include/linux/i2c-id.h ++++ linux-2.6.21.7/include/linux/i2c-id.h @@ -202,6 +202,7 @@ /* --- PCA 9564 based algorithms */ @@ -10049,9 +10138,10 @@ diff -urN -x CVS linux-2.6.21/include/linux/i2c-id.h linux-2.6-stable/include/li /* --- ACPI Embedded controller algorithms */ #define I2C_HW_ACPI_EC 0x1f0000 -diff -urN -x CVS linux-2.6.21/include/video/atmel_lcdc.h linux-2.6-stable/include/video/atmel_lcdc.h ---- linux-2.6.21/include/video/atmel_lcdc.h Thu Jan 1 02:00:00 1970 -+++ linux-2.6-stable/include/video/atmel_lcdc.h Thu May 10 12:34:01 2007 +Index: linux-2.6.21.7/include/video/atmel_lcdc.h +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/include/video/atmel_lcdc.h @@ -0,0 +1,196 @@ +/* + * Header file for AT91/AT32 LCD Controller @@ -10249,9 +10339,10 @@ diff -urN -x CVS linux-2.6.21/include/video/atmel_lcdc.h linux-2.6-stable/includ +#define ATMEL_LCDC_LUT(n) (0x0c00 + ((n)*4)) + +#endif /* __ATMEL_LCDC_H__ */ -diff -urN -x CVS linux-2.6.21/sound/soc/at91/eti_b1_wm8731.c linux-2.6-stable/sound/soc/at91/eti_b1_wm8731.c ---- linux-2.6.21/sound/soc/at91/eti_b1_wm8731.c Thu Apr 26 05:08:32 2007 -+++ linux-2.6-stable/sound/soc/at91/eti_b1_wm8731.c Tue May 8 12:13:58 2007 +Index: linux-2.6.21.7/sound/soc/at91/eti_b1_wm8731.c +=================================================================== +--- linux-2.6.21.7.orig/sound/soc/at91/eti_b1_wm8731.c ++++ linux-2.6.21.7/sound/soc/at91/eti_b1_wm8731.c @@ -34,8 +34,7 @@ #include <sound/soc.h> #include <sound/soc-dapm.h> @@ -10276,7 +10367,7 @@ diff -urN -x CVS linux-2.6.21/sound/soc/at91/eti_b1_wm8731.c linux-2.6-stable/so static struct clk *pck1_clk; static struct clk *pllb_clk; -@@ -277,7 +269,6 @@ +@@ -277,7 +269,6 @@ static struct platform_device *eti_b1_sn static int __init eti_b1_init(void) { int ret; @@ -10284,7 +10375,7 @@ diff -urN -x CVS linux-2.6.21/sound/soc/at91/eti_b1_wm8731.c linux-2.6-stable/so struct at91_ssc_periph *ssc = eti_b1_dai.cpu_dai->private_data; if (!request_mem_region(AT91RM9200_BASE_SSC1, SZ_16K, "soc-audio")) { -@@ -311,19 +302,12 @@ +@@ -311,19 +302,12 @@ static int __init eti_b1_init(void) goto fail_io_unmap; } diff --git a/target/linux/at91/patches-2.6.21/001-vlink-machine.patch b/target/linux/at91/patches-2.6.21/001-vlink-machine.patch index 1c12db3..f40dbae 100644 --- a/target/linux/at91/patches-2.6.21/001-vlink-machine.patch +++ b/target/linux/at91/patches-2.6.21/001-vlink-machine.patch @@ -1,5 +1,7 @@ ---- linux-2.6.21.1.orig/arch/arm/boot/compressed/head-at91rm9200.S 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/boot/compressed/head-at91rm9200.S 2007-05-28 12:52:16.000000000 +0200 +Index: linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/boot/compressed/head-at91rm9200.S ++++ linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S @@ -61,6 +61,12 @@ cmp r7, r3 beq 99f @@ -13,8 +15,10 @@ @ Ajeco 1ARM : 1075 mov r3, #(MACH_TYPE_ONEARM & 0xff) orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00) ---- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 13:09:54.000000000 +0200 +Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c @@ -0,0 +1,160 @@ +/* + * linux/arch/arm/mach-at91/board-vlink.c @@ -176,9 +180,11 @@ + .init_irq = vlink_init_irq, + .init_machine = vlink_board_init, +MACHINE_END ---- linux-2.6.21.1.orig/arch/arm/mach-at91/Kconfig 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/Kconfig 2007-05-28 13:11:45.000000000 +0200 -@@ -96,6 +96,12 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/Kconfig ++++ linux-2.6.21.7/arch/arm/mach-at91/Kconfig +@@ -96,6 +96,12 @@ config MACH_CHUB help Select this if you are using Promwad's Chub board. @@ -191,9 +197,11 @@ endif # ---------------------------------------------------------- ---- linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/Makefile 2007-05-28 13:13:15.000000000 +0200 -@@ -29,6 +29,7 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile ++++ linux-2.6.21.7/arch/arm/mach-at91/Makefile +@@ -29,6 +29,7 @@ obj-$(CONFIG_MACH_KB9200) += board-kb920 obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o obj-$(CONFIG_MACH_KAFA) += board-kafa.o obj-$(CONFIG_MACH_CHUB) += board-chub.o @@ -201,7 +209,7 @@ # AT91SAM9260 board-specific support obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o -@@ -51,6 +52,7 @@ +@@ -51,6 +52,7 @@ led-$(CONFIG_MACH_CSB337) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o led-$(CONFIG_MACH_KAFA) += leds.o diff --git a/target/linux/at91/patches-2.6.21/002-led-driver.patch b/target/linux/at91/patches-2.6.21/002-led-driver.patch index e78ed44..f8e915d 100644 --- a/target/linux/at91/patches-2.6.21/002-led-driver.patch +++ b/target/linux/at91/patches-2.6.21/002-led-driver.patch @@ -1,7 +1,8 @@ -diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c ---- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c 2007-05-28 13:33:41.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 14:43:28.000000000 +0200 -@@ -61,7 +61,7 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +@@ -61,7 +61,7 @@ static void __init vlink_map_io(void) at91rm9200_initialize(18432000, AT91RM9200_PQFP); /* Setup the LEDs */ @@ -10,7 +11,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar /* Setup the serial ports and console */ at91_init_serial(&vlink_uart_config); -@@ -81,10 +81,12 @@ +@@ -81,10 +81,12 @@ static struct at91_usbh_data __initdata .ports = 1, }; @@ -23,7 +24,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar static struct at91_mmc_data __initdata vlink_mmc_data = { // .det_pin = AT91_PIN_PB27, -@@ -108,18 +110,19 @@ +@@ -108,18 +110,19 @@ static struct spi_board_info vlink_spi_d #endif }; @@ -46,7 +47,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar static void __init vlink_board_init(void) { -@@ -130,8 +133,8 @@ +@@ -130,8 +133,8 @@ static void __init vlink_board_init(void /* USB Host */ at91_add_device_usbh(&vlink_usbh_data); /* USB Device */ @@ -57,7 +58,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar /* I2C */ at91_add_device_i2c(); /* SPI */ -@@ -145,7 +148,7 @@ +@@ -145,7 +148,7 @@ static void __init vlink_board_init(void at91_add_device_mmc(0, &vlink_mmc_data); #endif /* LEDs */ @@ -66,10 +67,11 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar } MACHINE_START(VLINK, "FDL VersaLink") -diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile linux-2.6.21.1/arch/arm/mach-at91/Makefile ---- linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile 2007-05-28 13:13:15.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/Makefile 2007-05-28 14:19:06.000000000 +0200 -@@ -52,7 +52,7 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile ++++ linux-2.6.21.7/arch/arm/mach-at91/Makefile +@@ -52,7 +52,7 @@ led-$(CONFIG_MACH_CSB337) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o led-$(CONFIG_MACH_KAFA) += leds.o @@ -78,9 +80,10 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile linux-2.6.21.1/arch/ar obj-$(CONFIG_LEDS) += $(led-y) # VGA support -diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/vlink_leds.c linux-2.6.21.1/arch/arm/mach-at91/vlink_leds.c ---- linux-2.6.21.1.orig/arch/arm/mach-at91/vlink_leds.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.21.1/arch/arm/mach-at91/vlink_leds.c 2007-05-28 14:41:03.000000000 +0200 +Index: linux-2.6.21.7/arch/arm/mach-at91/vlink_leds.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/arch/arm/mach-at91/vlink_leds.c @@ -0,0 +1,105 @@ +/* + * LED driver for Atmel AT91-based boards. diff --git a/target/linux/at91/patches-2.6.21/003-gpio-driver.patch b/target/linux/at91/patches-2.6.21/003-gpio-driver.patch index aa5a2e3..b4ef42d 100644 --- a/target/linux/at91/patches-2.6.21/003-gpio-driver.patch +++ b/target/linux/at91/patches-2.6.21/003-gpio-driver.patch @@ -1,5 +1,7 @@ ---- linux-2.6.21.1.orig/arch/arm/mach-at91/gpio.c 2007-04-27 23:49:26.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/gpio.c 2007-05-28 15:30:48.000000000 +0200 +Index: linux-2.6.21.7/arch/arm/mach-at91/gpio.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/gpio.c ++++ linux-2.6.21.7/arch/arm/mach-at91/gpio.c @@ -27,6 +27,7 @@ static struct at91_gpio_bank *gpio; @@ -8,7 +10,7 @@ static inline void __iomem *pin_to_controller(unsigned pin) -@@ -71,9 +72,13 @@ +@@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip { void __iomem *pio = pin_to_controller(pin); unsigned mask = pin_to_mask(pin); @@ -22,7 +24,7 @@ __raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + PIO_PER); -@@ -130,10 +135,13 @@ +@@ -130,10 +135,13 @@ int __init_or_module at91_set_gpio_input { void __iomem *pio = pin_to_controller(pin); unsigned mask = pin_to_mask(pin); @@ -36,7 +38,7 @@ __raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + PIO_ODR); -@@ -151,10 +159,13 @@ +@@ -151,10 +159,13 @@ int __init_or_module at91_set_gpio_outpu { void __iomem *pio = pin_to_controller(pin); unsigned mask = pin_to_mask(pin); @@ -50,7 +52,7 @@ __raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_PUDR); __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); -@@ -262,6 +273,18 @@ +@@ -262,6 +273,18 @@ int at91_get_gpio_value(unsigned pin) } EXPORT_SYMBOL(at91_get_gpio_value); @@ -69,9 +71,11 @@ /*--------------------------------------------------------------------------*/ #ifdef CONFIG_PM ---- linux-2.6.21.1.orig/drivers/char/Kconfig 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/drivers/char/Kconfig 2007-05-28 15:37:43.000000000 +0200 -@@ -1087,5 +1087,12 @@ +Index: linux-2.6.21.7/drivers/char/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/char/Kconfig ++++ linux-2.6.21.7/drivers/char/Kconfig +@@ -1087,5 +1087,12 @@ config AT91_SPIDEV The SPI driver gives user mode access to this serial bus on the AT91RM9200 processor. @@ -84,9 +88,11 @@ + endmenu ---- linux-2.6.21.1.orig/drivers/char/Makefile 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/drivers/char/Makefile 2007-05-28 15:38:11.000000000 +0200 -@@ -95,6 +95,7 @@ +Index: linux-2.6.21.7/drivers/char/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/char/Makefile ++++ linux-2.6.21.7/drivers/char/Makefile +@@ -95,6 +95,7 @@ obj-$(CONFIG_TANBAC_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o obj-$(CONFIG_AT91_SPI) += at91_spi.o obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o @@ -94,8 +100,10 @@ obj-$(CONFIG_WATCHDOG) += watchdog/ obj-$(CONFIG_MWAVE) += mwave/ ---- linux-2.6.21.1.orig/drivers/char/vlink_giu.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.21.1/drivers/char/vlink_giu.c 2007-05-28 15:39:47.000000000 +0200 +Index: linux-2.6.21.7/drivers/char/vlink_giu.c +=================================================================== +--- /dev/null ++++ linux-2.6.21.7/drivers/char/vlink_giu.c @@ -0,0 +1,256 @@ +/* + * Driver for FDL Versalink GPIO diff --git a/target/linux/at91/patches-2.6.21/006-change-gpios.patch b/target/linux/at91/patches-2.6.21/006-change-gpios.patch index 97a4a8d..97c71fe 100644 --- a/target/linux/at91/patches-2.6.21/006-change-gpios.patch +++ b/target/linux/at91/patches-2.6.21/006-change-gpios.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c 2007-05-28 15:53:31.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 15:58:46.000000000 +0200 -@@ -149,6 +149,33 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +@@ -149,6 +149,33 @@ static void __init vlink_board_init(void #endif /* LEDs */ // at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds)); diff --git a/target/linux/at91/patches-2.6.21/007-mtd-partition.patch b/target/linux/at91/patches-2.6.21/007-mtd-partition.patch index 98bec0d..f97f45b 100644 --- a/target/linux/at91/patches-2.6.21/007-mtd-partition.patch +++ b/target/linux/at91/patches-2.6.21/007-mtd-partition.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.1.orig/drivers/mtd/devices/at91_dataflash.c 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/drivers/mtd/devices/at91_dataflash.c 2007-05-28 16:10:21.000000000 +0200 -@@ -173,7 +173,7 @@ +Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/devices/at91_dataflash.c ++++ linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c +@@ -173,7 +173,7 @@ static struct mtd_partition static_parti }; #endif @@ -9,9 +11,11 @@ #endif ---- linux-2.6.21.1.orig/drivers/mtd/Kconfig 2007-05-28 12:22:09.000000000 +0200 -+++ linux-2.6.21.1/drivers/mtd/Kconfig 2007-05-28 16:09:16.000000000 +0200 -@@ -157,6 +157,12 @@ +Index: linux-2.6.21.7/drivers/mtd/Kconfig +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/Kconfig ++++ linux-2.6.21.7/drivers/mtd/Kconfig +@@ -162,6 +162,12 @@ config MTD_AFS_PARTS for your particular device. It won't happen automatically. The 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. @@ -24,9 +28,11 @@ comment "User Modules And Translation Layers" depends on MTD ---- linux-2.6.21.1.orig/drivers/mtd/Makefile 2007-04-27 23:49:26.000000000 +0200 -+++ linux-2.6.21.1/drivers/mtd/Makefile 2007-05-28 16:09:55.000000000 +0200 -@@ -12,6 +12,7 @@ +Index: linux-2.6.21.7/drivers/mtd/Makefile +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/Makefile ++++ linux-2.6.21.7/drivers/mtd/Makefile +@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o diff --git a/target/linux/at91/patches-2.6.21/008-fdl-serial.patch b/target/linux/at91/patches-2.6.21/008-fdl-serial.patch index 4258919..1fc369d 100644 --- a/target/linux/at91/patches-2.6.21/008-fdl-serial.patch +++ b/target/linux/at91/patches-2.6.21/008-fdl-serial.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.1.orig/drivers/serial/atmel_serial.c 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/drivers/serial/atmel_serial.c 2007-05-28 16:39:09.000000000 +0200 -@@ -174,7 +174,35 @@ +Index: linux-2.6.21.7/drivers/serial/atmel_serial.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/serial/atmel_serial.c ++++ linux-2.6.21.7/drivers/serial/atmel_serial.c +@@ -174,7 +174,35 @@ static void atmel_set_mctrl(struct uart_ at91_set_gpio_value(AT91_PIN_PA21, 0); else at91_set_gpio_value(AT91_PIN_PA21, 1); @@ -36,7 +38,7 @@ } #endif -@@ -211,8 +239,10 @@ +@@ -211,8 +239,10 @@ static u_int atmel_get_mctrl(struct uart /* * The control signals are active low. */ @@ -49,7 +51,7 @@ if (!(status & ATMEL_US_CTS)) ret |= TIOCM_CTS; if (!(status & ATMEL_US_DSR)) -@@ -220,6 +250,16 @@ +@@ -220,6 +250,16 @@ static u_int atmel_get_mctrl(struct uart if (!(status & ATMEL_US_RI)) ret |= TIOCM_RI; @@ -66,7 +68,7 @@ return ret; } -@@ -511,6 +551,34 @@ +@@ -511,6 +551,34 @@ static void atmel_tx_chars(struct uart_p } /* @@ -101,7 +103,7 @@ * Interrupt handler */ static irqreturn_t atmel_interrupt(int irq, void *dev_id) -@@ -587,6 +655,23 @@ +@@ -587,6 +655,23 @@ static int atmel_startup(struct uart_por return retval; } @@ -125,7 +127,7 @@ /* * Initialize DMA (if necessary) */ -@@ -603,6 +688,10 @@ +@@ -603,6 +688,10 @@ static int atmel_startup(struct uart_por kfree(atmel_port->pdc_rx[0].buf); } free_irq(port->irq, port); @@ -136,7 +138,7 @@ return -ENOMEM; } pdc->dma_addr = dma_map_single(port->dev, pdc->buf, PDC_BUFFER_SIZE, DMA_FROM_DEVICE); -@@ -636,6 +725,10 @@ +@@ -636,6 +725,10 @@ static int atmel_startup(struct uart_por retval = atmel_open_hook(port); if (retval) { free_irq(port->irq, port); @@ -147,7 +149,7 @@ return retval; } } -@@ -701,6 +794,10 @@ +@@ -701,6 +794,10 @@ static void atmel_shutdown(struct uart_p * Free the interrupt */ free_irq(port->irq, port); diff --git a/target/linux/at91/patches-2.6.21/009-fdl-uartinit.patch b/target/linux/at91/patches-2.6.21/009-fdl-uartinit.patch index f2491f3..c604710 100644 --- a/target/linux/at91/patches-2.6.21/009-fdl-uartinit.patch +++ b/target/linux/at91/patches-2.6.21/009-fdl-uartinit.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.1.orig/arch/arm/mach-at91/at91rm9200_devices.c 2007-05-28 12:22:29.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/at91rm9200_devices.c 2007-05-28 16:44:36.000000000 +0200 -@@ -618,7 +618,6 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200_devices.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c +@@ -618,7 +618,6 @@ void __init at91_init_leds(u8 cpu_led, u #if defined(CONFIG_NEW_LEDS) @@ -8,7 +10,7 @@ static struct platform_device at91_leds = { .name = "at91_leds", .id = -1, -@@ -724,6 +723,10 @@ +@@ -724,6 +723,10 @@ static inline void configure_usart0_pins * We need to drive the pin manually. Default is off (RTS is active low). */ at91_set_gpio_output(AT91_PIN_PA21, 1); @@ -19,7 +21,7 @@ } static struct resource uart1_resources[] = { -@@ -835,6 +838,12 @@ +@@ -835,6 +838,12 @@ static inline void configure_usart3_pins { at91_set_B_periph(AT91_PIN_PA5, 1); /* TXD3 */ at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */ diff --git a/target/linux/at91/patches-2.6.21/010-dm9161a-phyfix.patch b/target/linux/at91/patches-2.6.21/010-dm9161a-phyfix.patch index 9ad8c42..7d7d51f 100644 --- a/target/linux/at91/patches-2.6.21/010-dm9161a-phyfix.patch +++ b/target/linux/at91/patches-2.6.21/010-dm9161a-phyfix.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.1/drivers/net/arm/at91_ether.c.old 2007-06-04 18:15:49.000000000 +0200 -+++ linux-2.6.21.1/drivers/net/arm/at91_ether.c 2007-06-04 18:10:36.000000000 +0200 -@@ -146,6 +146,7 @@ +Index: linux-2.6.21.7/drivers/net/arm/at91_ether.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/net/arm/at91_ether.c ++++ linux-2.6.21.7/drivers/net/arm/at91_ether.c +@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_ struct at91_private *lp = netdev_priv(dev); unsigned int bmsr, bmcr, lpa, mac_cfg; unsigned int speed, duplex; @@ -8,7 +10,7 @@ if (!mii_link_ok(&lp->mii)) { /* no link */ netif_carrier_off(dev); -@@ -158,8 +159,15 @@ +@@ -158,8 +159,15 @@ static void update_linkspeed(struct net_ read_phy(lp->phy_address, MII_BMSR, &bmsr); read_phy(lp->phy_address, MII_BMCR, &bmcr); if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */ diff --git a/target/linux/at91/patches-2.6.21/011-vlink-resetfix.patch b/target/linux/at91/patches-2.6.21/011-vlink-resetfix.patch index 78ff384..38014e8 100644 --- a/target/linux/at91/patches-2.6.21/011-vlink-resetfix.patch +++ b/target/linux/at91/patches-2.6.21/011-vlink-resetfix.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.1.old/arch/arm/mach-at91/board-vlink.c 2007-06-04 15:45:19.000000000 +0200 -+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-06-05 05:27:19.000000000 +0200 -@@ -175,6 +175,7 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +@@ -175,6 +175,7 @@ static void __init vlink_board_init(void /* USB Device control */ at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP diff --git a/target/linux/at91/patches-2.6.21/012-at91-mmcfix.patch b/target/linux/at91/patches-2.6.21/012-at91-mmcfix.patch index e8991ae..b7d6fe5 100644 --- a/target/linux/at91/patches-2.6.21/012-at91-mmcfix.patch +++ b/target/linux/at91/patches-2.6.21/012-at91-mmcfix.patch @@ -1,5 +1,7 @@ ---- linux-2.6.21.1.old/drivers/mmc/at91_mci.c 2007-06-05 09:08:57.000000000 +0200 -+++ linux-2.6.21.1/drivers/mmc/at91_mci.c 2007-06-05 10:59:11.000000000 +0200 +Index: linux-2.6.21.7/drivers/mmc/at91_mci.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/mmc/at91_mci.c ++++ linux-2.6.21.7/drivers/mmc/at91_mci.c @@ -79,7 +79,8 @@ #define DRIVER_NAME "at91_mci" @@ -10,7 +12,7 @@ #define FL_SENT_COMMAND (1 << 0) #define FL_SENT_STOP (1 << 1) -@@ -132,7 +133,7 @@ +@@ -132,7 +133,7 @@ struct at91mci_host /* * Copy from sg to a dma block - used for transfers */ @@ -19,7 +21,7 @@ { unsigned int len, i, size; unsigned *dmabuf = host->buffer; -@@ -181,7 +182,7 @@ +@@ -181,7 +182,7 @@ static inline void at91mci_sg_to_dma(str /* * Prepare a dma read */ @@ -28,7 +30,7 @@ { int i; struct scatterlist *sg; -@@ -249,23 +250,24 @@ +@@ -249,23 +250,24 @@ static void at91mci_pre_dma_read(struct /* * Handle after a dma read */ @@ -56,7 +58,7 @@ } while (host->in_use_index < host->transfer_index) { -@@ -300,39 +302,14 @@ +@@ -300,39 +302,14 @@ static void at91mci_post_dma_read(struct /* Is there another transfer to trigger? */ if (host->transfer_index < data->sg_len) @@ -99,7 +101,7 @@ } /* -@@ -340,10 +317,17 @@ +@@ -340,10 +317,17 @@ static void at91_mci_handle_transmitted( */ static void at91_mci_enable(struct at91mci_host *host) { @@ -118,7 +120,7 @@ /* use Slot A or B (only one at same time) */ at91_mci_write(host, AT91_MCI_SDCR, host->board->slot_b); -@@ -359,9 +343,8 @@ +@@ -359,9 +343,8 @@ static void at91_mci_disable(struct at91 /* * Send a command @@ -129,7 +131,7 @@ { unsigned int cmdr, mr; unsigned int block_length; -@@ -372,8 +355,7 @@ +@@ -372,8 +355,7 @@ static unsigned int at91_mci_send_comman host->cmd = cmd; @@ -139,7 +141,7 @@ if ((at91_mci_read(host, AT91_MCI_SR) & AT91_MCI_RTOE) && (cmd->opcode == 1)) { pr_debug("Clearing timeout\n"); at91_mci_write(host, AT91_MCI_ARGR, 0); -@@ -383,7 +365,7 @@ +@@ -383,7 +365,7 @@ static unsigned int at91_mci_send_comman pr_debug("Clearing: SR = %08X\n", at91_mci_read(host, AT91_MCI_SR)); } } @@ -148,7 +150,7 @@ cmdr = cmd->opcode; if (mmc_resp_type(cmd) == MMC_RSP_NONE) -@@ -440,50 +422,48 @@ +@@ -440,50 +422,48 @@ static unsigned int at91_mci_send_comman at91_mci_write(host, ATMEL_PDC_TCR, 0); at91_mci_write(host, ATMEL_PDC_TNPR, 0); at91_mci_write(host, ATMEL_PDC_TNCR, 0); @@ -239,7 +241,7 @@ } } -@@ -498,39 +478,24 @@ +@@ -498,39 +478,24 @@ static unsigned int at91_mci_send_comman if (cmdr & AT91_MCI_TRCMD_START) { if (cmdr & AT91_MCI_TRDIR) at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTEN); @@ -283,7 +285,7 @@ } else mmc_request_done(host->mmc, host->request); -@@ -539,7 +504,7 @@ +@@ -539,7 +504,7 @@ static void at91mci_process_next(struct /* * Handle a command that has been completed */ @@ -292,7 +294,7 @@ { struct mmc_command *cmd = host->cmd; unsigned int status; -@@ -583,7 +548,7 @@ +@@ -583,7 +548,7 @@ static void at91mci_completed_command(st else cmd->error = MMC_ERR_NONE; @@ -301,7 +303,7 @@ } /* -@@ -595,7 +560,60 @@ +@@ -595,7 +560,60 @@ static void at91_mci_request(struct mmc_ host->request = mrq; host->flags = 0; @@ -363,7 +365,7 @@ } /* -@@ -698,29 +716,33 @@ +@@ -698,29 +716,33 @@ static irqreturn_t at91_mci_irq(int irq, at91_mci_handle_transmitted(host); } @@ -405,7 +407,7 @@ if (int_status & AT91_MCI_TXRDY) pr_debug("Ready to transmit\n"); -@@ -730,14 +752,14 @@ +@@ -730,14 +752,14 @@ static irqreturn_t at91_mci_irq(int irq, if (int_status & AT91_MCI_CMDRDY) { pr_debug("Command ready\n"); diff --git a/target/linux/at91/patches-2.6.21/013-at91-mmc1wire.patch b/target/linux/at91/patches-2.6.21/013-at91-mmc1wire.patch index 31b1e96..5d68e63 100644 --- a/target/linux/at91/patches-2.6.21/013-at91-mmc1wire.patch +++ b/target/linux/at91/patches-2.6.21/013-at91-mmc1wire.patch @@ -1,5 +1,7 @@ ---- linux-2.6.21.1.old/drivers/mmc/at91_mci.c 2007-06-05 11:08:39.000000000 +0200 -+++ linux-2.6.21.1/drivers/mmc/at91_mci.c 2007-06-05 11:28:40.000000000 +0200 +Index: linux-2.6.21.7/drivers/mmc/at91_mci.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/mmc/at91_mci.c ++++ linux-2.6.21.7/drivers/mmc/at91_mci.c @@ -79,8 +79,7 @@ #define DRIVER_NAME "at91_mci" diff --git a/target/linux/at91/patches-2.6.21/014-initpartition.patch b/target/linux/at91/patches-2.6.21/014-initpartition.patch index 7e78e64..b8bccd2 100644 --- a/target/linux/at91/patches-2.6.21/014-initpartition.patch +++ b/target/linux/at91/patches-2.6.21/014-initpartition.patch @@ -1,6 +1,8 @@ ---- linux-2.6.21.5.old/drivers/mtd/devices/at91_dataflash.c 2007-06-13 13:31:24.000000000 +0200 -+++ linux-2.6.21.5/drivers/mtd/devices/at91_dataflash.c 2007-06-19 12:49:48.000000000 +0200 -@@ -161,12 +161,12 @@ +Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/mtd/devices/at91_dataflash.c ++++ linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c +@@ -161,12 +161,12 @@ static struct mtd_partition static_parti .mask_flags = MTD_WRITEABLE, /* read-only */ }, { diff --git a/target/linux/at91/patches-2.6.21/015-simenable.patch b/target/linux/at91/patches-2.6.21/015-simenable.patch index 5ec3f7a..9b11f76 100644 --- a/target/linux/at91/patches-2.6.21/015-simenable.patch +++ b/target/linux/at91/patches-2.6.21/015-simenable.patch @@ -1,16 +1,38 @@ -diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c ---- linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c 2007-07-26 12:43:11.000000000 +0200 -+++ linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c 2007-08-20 16:56:56.000000000 +0200 -@@ -151,31 +151,37 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +@@ -150,32 +150,38 @@ static void __init vlink_board_init(void + /* LEDs */ // at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds)); - /* Other LED's */ +-/* Other LED's */ - at91_set_gpio_output(AT91_PIN_PC7, 1); // LED FRONT AP1 - at91_set_gpio_output(AT91_PIN_PC8, 1); // LED FRONT BP1 - at91_set_gpio_output(AT91_PIN_PB14, 1); // LED BACK AP1 - at91_set_gpio_output(AT91_PIN_PB15, 1); // LED BACK BP1 - at91_set_gpio_output(AT91_PIN_PB16, 1); // LED BACK AP2 - at91_set_gpio_output(AT91_PIN_PB17, 1); // LED BACK BP2 +- +-/* SIM Cards */ +- at91_set_gpio_output(AT91_PIN_PB9, 1); // ENBSC3 +- at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2 +- at91_set_gpio_output(AT91_PIN_PB11, 1); // ENBSC1 +- +-/* GSM Module Control */ +- at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF +- +-/* Test jig presence detection */ +- at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT +- +-/* Power indicator */ +- at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND +- +-/* USB Device control */ +- at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX +- at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP +- at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive ++ /* Other LED's */ + at91_set_gpio_output(AT91_PIN_PC7, 1); // LED FRONT AP1 + at91_set_gpio_output(AT91_PIN_PC8, 1); // LED FRONT BP1 + at91_set_gpio_output(AT91_PIN_PB14, 1); // LED BACK AP1 @@ -18,13 +40,10 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc + at91_set_gpio_output(AT91_PIN_PB16, 1); // LED BACK AP2 + at91_set_gpio_output(AT91_PIN_PB17, 1); // LED BACK BP2 + -+/* Test jig presence detection */ ++ /* Test jig presence detection */ + at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT - - /* SIM Cards */ -- at91_set_gpio_output(AT91_PIN_PB9, 1); // ENBSC3 -- at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2 -- at91_set_gpio_output(AT91_PIN_PB11, 1); // ENBSC1 ++ ++ /* SIM Cards */ + if (at91_get_gpio_value(AT91_PIN_PB8)) { + at91_set_gpio_output(AT91_PIN_PB11, 0); + at91_set_gpio_output(AT91_PIN_PB9, 1); @@ -32,24 +51,16 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc + at91_set_gpio_output(AT91_PIN_PB11, 1); + at91_set_gpio_output(AT91_PIN_PB9, 0); + } -+ ++ + at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2 - - /* GSM Module Control */ -- at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF -- --/* Test jig presence detection */ -- at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT ++ ++ /* GSM Module Control */ + at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF - - /* Power indicator */ -- at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND ++ ++ /* Power indicator */ + at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND - - /* USB Device control */ -- at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX -- at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP -- at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive ++ ++ /* USB Device control */ + at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX + at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP + at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive diff --git a/target/linux/at91/patches-2.6.21/016-v1-15-detect.patch b/target/linux/at91/patches-2.6.21/016-v1-15-detect.patch index 0778d6a..ccdb579 100644 --- a/target/linux/at91/patches-2.6.21/016-v1-15-detect.patch +++ b/target/linux/at91/patches-2.6.21/016-v1-15-detect.patch @@ -1,7 +1,8 @@ -diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6.21.5/arch/arm/mach-at91/at91rm9200_devices.c ---- linux-2.6.21.5.old/arch/arm/mach-at91/at91rm9200_devices.c 2008-03-13 16:24:18.000000000 +0100 -+++ linux-2.6.21.5/arch/arm/mach-at91/at91rm9200_devices.c 2008-03-13 16:34:43.000000000 +0100 -@@ -840,9 +840,9 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200_devices.c ++++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c +@@ -840,9 +840,9 @@ static inline void configure_usart3_pins at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */ at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */ at91_set_B_periph(AT91_PIN_PB1, 0); /* CTS3 */ @@ -14,10 +15,11 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6.2 at91_set_deglitch(AT91_PIN_PA24, 1); } -diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c ---- linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c 2008-03-13 16:24:18.000000000 +0100 -+++ linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c 2008-03-13 16:35:05.000000000 +0100 -@@ -126,6 +126,7 @@ +Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +=================================================================== +--- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c ++++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c +@@ -126,6 +126,7 @@ static struct spi_board_info vlink_spi_d static void __init vlink_board_init(void) { @@ -25,7 +27,7 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc /* Serial */ at91_add_device_serial(); /* Ethernet */ -@@ -147,6 +148,10 @@ +@@ -147,6 +148,10 @@ static void __init vlink_board_init(void // at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ at91_add_device_mmc(0, &vlink_mmc_data); #endif @@ -36,8 +38,8 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc /* LEDs */ // at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds)); -@@ -164,10 +169,16 @@ - /* SIM Cards */ +@@ -164,10 +169,16 @@ static void __init vlink_board_init(void + /* SIM Cards */ if (at91_get_gpio_value(AT91_PIN_PB8)) { at91_set_gpio_output(AT91_PIN_PB11, 0); - at91_set_gpio_output(AT91_PIN_PB9, 1); @@ -53,9 +55,9 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc + else + at91_set_gpio_output(AT91_PIN_PC13, 0); } - + at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2 -@@ -182,7 +193,18 @@ +@@ -182,7 +193,18 @@ static void __init vlink_board_init(void at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive @@ -75,10 +77,11 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc } MACHINE_START(VLINK, "FDL VersaLink") -diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/char/vlink_giu.c ---- linux-2.6.21.5.old/drivers/char/vlink_giu.c 2008-03-13 16:24:18.000000000 +0100 -+++ linux-2.6.21.5/drivers/char/vlink_giu.c 2008-03-13 16:37:06.000000000 +0100 -@@ -41,8 +41,7 @@ +Index: linux-2.6.21.7/drivers/char/vlink_giu.c +=================================================================== +--- linux-2.6.21.7.orig/drivers/char/vlink_giu.c ++++ linux-2.6.21.7/drivers/char/vlink_giu.c +@@ -41,8 +41,7 @@ static int major; /* default is dynamic module_param(major, int, 0); MODULE_PARM_DESC(major, "Major device number"); @@ -88,7 +91,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha struct vio_dev { struct cdev cdev; }; -@@ -50,6 +49,53 @@ +@@ -50,6 +49,53 @@ struct vio_dev { struct vio_dev *vio_devices; static struct class *vio_class; @@ -142,7 +145,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha static ssize_t gpio_read(struct file *file, char __user *buf, size_t len, loff_t *ppos) { -@@ -160,6 +206,8 @@ +@@ -160,6 +206,8 @@ static int vio_probe(struct platform_dev { int retval, i, j; dev_t vdev = 0; @@ -151,7 +154,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha if (major) { vdev = MKDEV(major, 0); -@@ -185,6 +233,7 @@ +@@ -185,6 +233,7 @@ static int vio_probe(struct platform_dev vio_remove(dev); return PTR_ERR(vio_class); } @@ -159,7 +162,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha vio_devices = kmalloc(VIO_NR_DEVS * sizeof(struct vio_dev), GFP_KERNEL); if (!vio_devices) { -@@ -198,8 +247,10 @@ +@@ -198,8 +247,10 @@ static int vio_probe(struct platform_dev int iodev = at91_is_pin_gpio(PIN_BASE + i*32 + j); if (iodev) { vio_setup_cdev(&vio_devices[i*32 + j], i*32 + j); @@ -172,7 +175,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha } } -@@ -212,6 +263,29 @@ +@@ -212,6 +263,29 @@ fail: return retval; } |