diff options
Diffstat (limited to 'target/linux/avr32')
| -rw-r--r-- | target/linux/avr32/patches/100-git_sync.patch | 1112 | ||||
| -rw-r--r-- | target/linux/avr32/patches/110-openwrt_flashmap.patch | 8 | 
2 files changed, 437 insertions, 683 deletions
diff --git a/target/linux/avr32/patches/100-git_sync.patch b/target/linux/avr32/patches/100-git_sync.patch index 8bfc0d407..9c2d5ddf4 100644 --- a/target/linux/avr32/patches/100-git_sync.patch +++ b/target/linux/avr32/patches/100-git_sync.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.24.7/arch/avr32/boards/atngw100/Kconfig -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/boards/atngw100/Kconfig ++++ b/arch/avr32/boards/atngw100/Kconfig  @@ -0,0 +1,12 @@  +# NGW100 customization  + @@ -15,10 +13,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/Kconfig  +  +	  Choose 'Y' here if you're having i2c-related problems and  +	  want to rule out the i2c bus driver. -Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atngw100/setup.c -+++ linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c +--- a/arch/avr32/boards/atngw100/setup.c ++++ b/arch/avr32/boards/atngw100/setup.c  @@ -20,7 +20,7 @@   #include <asm/io.h>   #include <asm/setup.h> @@ -28,7 +24,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c   #include <asm/arch/board.h>   #include <asm/arch/init.h>   #include <asm/arch/portmux.h> -@@ -37,11 +37,16 @@ static struct eth_platform_data __initda +@@ -37,11 +37,16 @@   static struct spi_board_info spi0_board_info[] __initdata = {   	{   		.modalias	= "mtd_dataflash", @@ -46,7 +42,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c   /*    * The next two functions should go away as the boot loader is    * supposed to initialize the macb address registers with a valid -@@ -124,6 +129,7 @@ static struct platform_device ngw_gpio_l +@@ -124,6 +129,7 @@   	}   }; @@ -54,7 +50,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c   static struct i2c_gpio_platform_data i2c_gpio_data = {   	.sda_pin		= GPIO_PIN_PA(6),   	.scl_pin		= GPIO_PIN_PA(7), -@@ -139,6 +145,7 @@ static struct platform_device i2c_gpio_d +@@ -139,6 +145,7 @@   		.platform_data	= &i2c_gpio_data,   	},   }; @@ -62,7 +58,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c   static int __init atngw100_init(void)   { -@@ -157,6 +164,7 @@ static int __init atngw100_init(void) +@@ -157,6 +164,7 @@   	set_hw_addr(at32_add_device_eth(1, ð_data[1]));   	at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); @@ -70,7 +66,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c   	at32_add_device_usba(0, NULL);   	for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) { -@@ -165,11 +173,15 @@ static int __init atngw100_init(void) +@@ -165,11 +173,15 @@   	}   	platform_device_register(&ngw_gpio_leds); @@ -86,10 +82,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atngw100/setup.c   	return 0;   } -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1000.h -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atstk1000/atstk1000.h -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1000.h +--- a/arch/avr32/boards/atstk1000/atstk1000.h ++++ b/arch/avr32/boards/atstk1000/atstk1000.h  @@ -12,4 +12,6 @@   extern struct atmel_lcdfb_info atstk1000_lcdc_data; @@ -97,10 +91,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1000.h  +void atstk1000_setup_j2_leds(void);  +   #endif /* __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H */ -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atstk1000/atstk1002.c -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c +--- a/arch/avr32/boards/atstk1000/atstk1002.c ++++ b/arch/avr32/boards/atstk1000/atstk1002.c  @@ -11,7 +11,6 @@   #include <linux/etherdevice.h>   #include <linux/init.h> @@ -118,7 +110,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   #include <asm/arch/board.h>   #include <asm/arch/init.h>   #include <asm/arch/portmux.h> -@@ -49,18 +48,16 @@ static struct eth_platform_data __initda +@@ -49,18 +48,16 @@   	},   }; @@ -140,7 +132,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   	{   		/* AT73C213 */   		.modalias	= "at73c213", -@@ -80,12 +77,25 @@ static struct spi_board_info spi0_board_ +@@ -80,12 +77,25 @@   };   #endif @@ -167,7 +159,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   /*    * The next two functions should go away as the boot loader is    * supposed to initialize the macb address registers with a valid -@@ -141,68 +151,8 @@ static void __init set_hw_addr(struct pl +@@ -141,68 +151,8 @@   	clk_put(pclk);   } @@ -238,7 +230,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   {   	struct clk *gclk;   	struct clk *pll; -@@ -220,7 +170,7 @@ static void __init at73c213_set_clk(stru +@@ -220,7 +170,7 @@   	}   	at32_select_periph(GPIO_PIN_PA(30), GPIO_PERIPH_A, 0); @@ -247,7 +239,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   err_set_clk:   	clk_put(pll); -@@ -229,12 +179,16 @@ err_pll: +@@ -229,12 +179,16 @@   err_gclk:   	return;   } @@ -267,7 +259,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   	at32_map_usart(0, 1);	/* USART 0/B: /dev/ttyS1, IRDA */   #else   	at32_map_usart(1, 0);	/* USART 1/A: /dev/ttyS0, DB9 */ -@@ -271,7 +225,7 @@ static int __init atstk1002_init(void) +@@ -271,7 +225,7 @@   	at32_add_system_devices(); @@ -276,7 +268,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   	at32_add_device_usart(1);   #else   	at32_add_device_usart(0); -@@ -281,12 +235,16 @@ static int __init atstk1002_init(void) +@@ -281,12 +235,16 @@   #ifndef CONFIG_BOARD_ATSTK1002_SW6_CUSTOM   	set_hw_addr(at32_add_device_eth(0, ð_data[0]));   #endif @@ -295,7 +287,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   #ifdef CONFIG_BOARD_ATSTK1002_SW5_CUSTOM   	set_hw_addr(at32_add_device_eth(1, ð_data[1]));   #else -@@ -294,18 +252,23 @@ static int __init atstk1002_init(void) +@@ -294,18 +252,23 @@   			     fbmem_start, fbmem_size);   #endif   	at32_add_device_usba(0, NULL); @@ -327,10 +319,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1002.c   	return 0;   }   postcore_initcall(atstk1002_init); -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1003.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1003.c ++++ b/arch/avr32/boards/atstk1000/atstk1003.c  @@ -0,0 +1,185 @@  +/*  + * ATSTK1003 daughterboard-specific init code @@ -517,10 +507,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1003.c  +	return 0;  +}  +postcore_initcall(atstk1003_init); -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1004.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1004.c ++++ b/arch/avr32/boards/atstk1000/atstk1004.c  @@ -0,0 +1,156 @@  +/*  + * ATSTK1003 daughterboard-specific init code @@ -678,10 +666,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/atstk1004.c  +	return 0;  +}  +postcore_initcall(atstk1004_init); -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atstk1000/Kconfig -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/Kconfig +--- a/arch/avr32/boards/atstk1000/Kconfig ++++ b/arch/avr32/boards/atstk1000/Kconfig  @@ -1,34 +1,53 @@   # STK1000 customization @@ -744,7 +730,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/Kconfig   	bool "SW4: use ISI/Camera (not GPIOs, SPI1, and PS2-B)"   	help   	  To use the camera interface you'll need a custom card (on the -@@ -36,27 +55,29 @@ config BOARD_ATSTK1002_SW4_CUSTOM +@@ -36,27 +55,29 @@   config BOARD_ATSTK1002_SW5_CUSTOM   	bool "SW5: use MACB1 (not LCDC)" @@ -779,7 +765,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/Kconfig   	optional   	help   	  Select this if you have jumpered the J2 jumper block to the -@@ -64,16 +85,77 @@ choice +@@ -64,16 +85,77 @@   	  IDC cable.  A default "heartbeat" trigger is provided, but   	  you can of course override this. @@ -860,19 +846,15 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/Kconfig  +	  operating on 3.3 volt.  +  +endif	# stk 1000 -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/Makefile -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atstk1000/Makefile -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/Makefile +--- a/arch/avr32/boards/atstk1000/Makefile ++++ b/arch/avr32/boards/atstk1000/Makefile  @@ -1,2 +1,4 @@   obj-y				+= setup.o flash.o   obj-$(CONFIG_BOARD_ATSTK1002)	+= atstk1002.o  +obj-$(CONFIG_BOARD_ATSTK1003)	+= atstk1003.o  +obj-$(CONFIG_BOARD_ATSTK1004)	+= atstk1004.o -Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/setup.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atstk1000/setup.c -+++ linux-2.6.24.7/arch/avr32/boards/atstk1000/setup.c +--- a/arch/avr32/boards/atstk1000/setup.c ++++ b/arch/avr32/boards/atstk1000/setup.c  @@ -10,13 +10,17 @@   #include <linux/bootmem.h>   #include <linux/fb.h> @@ -891,7 +873,7 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/setup.c   #include "atstk1000.h" -@@ -61,3 +65,63 @@ struct atmel_lcdfb_info __initdata atstk +@@ -61,3 +65,63 @@   	.default_monspecs	= &atstk1000_default_monspecs,   	.guard_time		= 2,   }; @@ -955,10 +937,8 @@ Index: linux-2.6.24.7/arch/avr32/boards/atstk1000/setup.c  +  +}  +#endif /* CONFIG_BOARD_ATSTK1000_J2_LED */ -Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/configs/atngw100_defconfig -+++ linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig +--- a/arch/avr32/configs/atngw100_defconfig ++++ b/arch/avr32/configs/atngw100_defconfig  @@ -1,46 +1,52 @@   #   # Automatically generated make config: don't edit @@ -1021,7 +1001,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_SYSFS_DEPRECATED=y   # CONFIG_RELAY is not set   CONFIG_BLK_DEV_INITRD=y -@@ -61,35 +67,28 @@ CONFIG_FUTEX=y +@@ -61,35 +67,28 @@   CONFIG_ANON_INODES=y   CONFIG_EPOLL=y   CONFIG_SIGNALFD=y @@ -1060,7 +1040,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # IO Schedulers -@@ -107,21 +106,28 @@ CONFIG_DEFAULT_IOSCHED="cfq" +@@ -107,21 +106,28 @@   #   # System Type and features   # @@ -1092,7 +1072,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_LOAD_ADDRESS=0x10000000   CONFIG_ENTRY_ADDRESS=0x90000000   CONFIG_PHYS_OFFSET=0x10000000 -@@ -141,10 +147,14 @@ CONFIG_FLATMEM_MANUAL=y +@@ -141,10 +147,14 @@   CONFIG_FLATMEM=y   CONFIG_FLAT_NODE_MEM_MAP=y   # CONFIG_SPARSEMEM_STATIC is not set @@ -1107,7 +1087,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_HZ_100 is not set   CONFIG_HZ_250=y   # CONFIG_HZ_300 is not set -@@ -153,13 +163,31 @@ CONFIG_HZ=250 +@@ -153,13 +163,31 @@   CONFIG_CMDLINE=""   # @@ -1142,7 +1122,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_PCCARD is not set   # -@@ -213,6 +241,7 @@ CONFIG_INET_TUNNEL=y +@@ -213,6 +241,7 @@   CONFIG_INET_XFRM_MODE_TRANSPORT=y   CONFIG_INET_XFRM_MODE_TUNNEL=y   CONFIG_INET_XFRM_MODE_BEET=y @@ -1150,7 +1130,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_INET_DIAG=y   CONFIG_INET_TCP_DIAG=y   # CONFIG_TCP_CONG_ADVANCED is not set -@@ -240,6 +269,7 @@ CONFIG_IPV6_SIT=y +@@ -240,6 +269,7 @@   # CONFIG_NETWORK_SECMARK is not set   CONFIG_NETFILTER=y   # CONFIG_NETFILTER_DEBUG is not set @@ -1158,7 +1138,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # Core Netfilter Configuration -@@ -252,6 +282,7 @@ CONFIG_NF_CONNTRACK_MARK=y +@@ -252,6 +282,7 @@   # CONFIG_NF_CONNTRACK_EVENTS is not set   CONFIG_NF_CT_PROTO_GRE=m   # CONFIG_NF_CT_PROTO_SCTP is not set @@ -1166,7 +1146,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_NF_CONNTRACK_AMANDA=m   CONFIG_NF_CONNTRACK_FTP=m   CONFIG_NF_CONNTRACK_H323=m -@@ -269,9 +300,11 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m +@@ -269,9 +300,11 @@   CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m   CONFIG_NETFILTER_XT_TARGET_NFLOG=m   # CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set @@ -1178,7 +1158,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_NETFILTER_XT_MATCH_CONNMARK=m   CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m   # CONFIG_NETFILTER_XT_MATCH_DCCP is not set -@@ -284,6 +317,7 @@ CONFIG_NETFILTER_XT_MATCH_MAC=m +@@ -284,6 +317,7 @@   CONFIG_NETFILTER_XT_MATCH_MARK=m   CONFIG_NETFILTER_XT_MATCH_POLICY=m   CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m @@ -1186,7 +1166,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m   CONFIG_NETFILTER_XT_MATCH_QUOTA=m   CONFIG_NETFILTER_XT_MATCH_REALM=m -@@ -292,6 +326,8 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m +@@ -292,6 +326,8 @@   CONFIG_NETFILTER_XT_MATCH_STATISTIC=m   CONFIG_NETFILTER_XT_MATCH_STRING=m   CONFIG_NETFILTER_XT_MATCH_TCPMSS=m @@ -1195,7 +1175,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m   # -@@ -359,13 +395,19 @@ CONFIG_IP6_NF_TARGET_REJECT=m +@@ -359,13 +395,19 @@   CONFIG_IP6_NF_MANGLE=m   CONFIG_IP6_NF_TARGET_HL=m   CONFIG_IP6_NF_RAW=m @@ -1216,7 +1196,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_LLC2 is not set   # CONFIG_IPX is not set   # CONFIG_ATALK is not set -@@ -373,10 +415,6 @@ CONFIG_VLAN_8021Q=m +@@ -373,10 +415,6 @@   # CONFIG_LAPB is not set   # CONFIG_ECONET is not set   # CONFIG_WAN_ROUTER is not set @@ -1227,7 +1207,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_NET_SCHED is not set   CONFIG_NET_CLS_ROUTE=y -@@ -384,6 +422,7 @@ CONFIG_NET_CLS_ROUTE=y +@@ -384,6 +422,7 @@   # Network testing   #   # CONFIG_NET_PKTGEN is not set @@ -1235,7 +1215,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_HAMRADIO is not set   # CONFIG_IRDA is not set   # CONFIG_BT is not set -@@ -397,6 +436,7 @@ CONFIG_NET_CLS_ROUTE=y +@@ -397,6 +436,7 @@   # CONFIG_MAC80211 is not set   # CONFIG_IEEE80211 is not set   # CONFIG_RFKILL is not set @@ -1243,7 +1223,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # Device Drivers -@@ -405,16 +445,13 @@ CONFIG_NET_CLS_ROUTE=y +@@ -405,16 +445,13 @@   #   # Generic Driver Options   # @@ -1261,7 +1241,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_CONNECTOR is not set   CONFIG_MTD=y   # CONFIG_MTD_DEBUG is not set -@@ -434,6 +471,7 @@ CONFIG_MTD_BLOCK=y +@@ -434,6 +471,7 @@   # CONFIG_INFTL is not set   # CONFIG_RFD_FTL is not set   # CONFIG_SSFDC is not set @@ -1269,7 +1249,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # RAM/ROM/Flash chip drivers -@@ -493,20 +531,8 @@ CONFIG_MTD_DATAFLASH=y +@@ -493,20 +531,8 @@   # UBI - Unsorted block images   #   # CONFIG_MTD_UBI is not set @@ -1291,7 +1271,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_BLK_DEV_COW_COMMON is not set   CONFIG_BLK_DEV_LOOP=m   # CONFIG_BLK_DEV_CRYPTOLOOP is not set -@@ -517,11 +543,13 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 +@@ -517,11 +543,13 @@   CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024   # CONFIG_CDROM_PKTCDVD is not set   # CONFIG_ATA_OVER_ETH is not set @@ -1310,7 +1290,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_IDE is not set   # -@@ -529,30 +557,42 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +@@ -529,30 +557,42 @@   #   # CONFIG_RAID_ATTRS is not set   # CONFIG_SCSI is not set @@ -1364,7 +1344,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_NETDEV_1000 is not set   # CONFIG_NETDEV_10000 is not set -@@ -571,21 +611,14 @@ CONFIG_PPP_DEFLATE=m +@@ -571,21 +611,14 @@   CONFIG_PPP_BSDCOMP=m   CONFIG_PPP_MPPE=m   CONFIG_PPPOE=m @@ -1387,7 +1367,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_PHONE is not set   # -@@ -615,28 +648,57 @@ CONFIG_SLHC=m +@@ -615,28 +648,57 @@   #   CONFIG_SERIAL_ATMEL=y   CONFIG_SERIAL_ATMEL_CONSOLE=y @@ -1455,7 +1435,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # SPI support -@@ -655,13 +717,25 @@ CONFIG_SPI_ATMEL=y +@@ -655,13 +717,25 @@   # SPI Protocol Masters   #   # CONFIG_SPI_AT25 is not set @@ -1485,7 +1465,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # Multifunction device drivers -@@ -678,23 +752,21 @@ CONFIG_SPI_ATMEL=y +@@ -678,23 +752,21 @@   #   # Graphics support   # @@ -1513,7 +1493,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_USB_ARCH_HAS_HCD is not set   # CONFIG_USB_ARCH_HAS_OHCI is not set   # CONFIG_USB_ARCH_HAS_EHCI is not set -@@ -706,12 +778,48 @@ CONFIG_SPI_ATMEL=y +@@ -706,12 +778,48 @@   #   # USB Gadget Support   # @@ -1565,7 +1545,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_NEW_LEDS=y   CONFIG_LEDS_CLASS=y -@@ -726,53 +834,71 @@ CONFIG_LEDS_GPIO=y +@@ -726,53 +834,71 @@   CONFIG_LEDS_TRIGGERS=y   CONFIG_LEDS_TRIGGER_TIMER=y   CONFIG_LEDS_TRIGGER_HEARTBEAT=y @@ -1658,7 +1638,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_REISERFS_FS is not set   # CONFIG_JFS_FS is not set   # CONFIG_FS_POSIX_ACL is not set -@@ -781,7 +907,8 @@ CONFIG_JBD=y +@@ -781,7 +907,8 @@   # CONFIG_OCFS2_FS is not set   # CONFIG_MINIX_FS is not set   # CONFIG_ROMFS_FS is not set @@ -1668,7 +1648,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_QUOTA is not set   # CONFIG_DNOTIFY is not set   # CONFIG_AUTOFS_FS is not set -@@ -814,7 +941,6 @@ CONFIG_SYSFS=y +@@ -814,7 +941,6 @@   CONFIG_TMPFS=y   # CONFIG_TMPFS_POSIX_ACL is not set   # CONFIG_HUGETLB_PAGE is not set @@ -1676,7 +1656,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_CONFIGFS_FS=y   # -@@ -830,10 +956,12 @@ CONFIG_CONFIGFS_FS=y +@@ -830,10 +956,12 @@   CONFIG_JFFS2_FS=y   CONFIG_JFFS2_FS_DEBUG=0   CONFIG_JFFS2_FS_WRITEBUFFER=y @@ -1689,7 +1669,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_JFFS2_RTIME=y   # CONFIG_JFFS2_RUBIN is not set   # CONFIG_CRAMFS is not set -@@ -842,19 +970,21 @@ CONFIG_JFFS2_RTIME=y +@@ -842,19 +970,21 @@   # CONFIG_QNX4FS_FS is not set   # CONFIG_SYSV_FS is not set   # CONFIG_UFS_FS is not set @@ -1716,7 +1696,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_NFS_COMMON=y   CONFIG_SUNRPC=y   # CONFIG_SUNRPC_BIND34 is not set -@@ -871,23 +1001,18 @@ CONFIG_CIFS=m +@@ -871,23 +1001,18 @@   # CONFIG_NCP_FS is not set   # CONFIG_CODA_FS is not set   # CONFIG_AFS_FS is not set @@ -1743,7 +1723,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_NLS_CODEPAGE_852 is not set   # CONFIG_NLS_CODEPAGE_855 is not set   # CONFIG_NLS_CODEPAGE_857 is not set -@@ -908,7 +1033,7 @@ CONFIG_NLS_CODEPAGE_850=y +@@ -908,7 +1033,7 @@   # CONFIG_NLS_CODEPAGE_1250 is not set   # CONFIG_NLS_CODEPAGE_1251 is not set   # CONFIG_NLS_ASCII is not set @@ -1752,7 +1732,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_NLS_ISO8859_2 is not set   # CONFIG_NLS_ISO8859_3 is not set   # CONFIG_NLS_ISO8859_4 is not set -@@ -921,18 +1046,19 @@ CONFIG_NLS_ISO8859_1=y +@@ -921,18 +1046,19 @@   # CONFIG_NLS_ISO8859_15 is not set   # CONFIG_NLS_KOI8_R is not set   # CONFIG_NLS_KOI8_U is not set @@ -1778,7 +1758,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_ENABLE_MUST_CHECK=y   CONFIG_MAGIC_SYSRQ=y   # CONFIG_UNUSED_SYMBOLS is not set -@@ -941,12 +1067,17 @@ CONFIG_MAGIC_SYSRQ=y +@@ -941,12 +1067,17 @@   CONFIG_DEBUG_KERNEL=y   # CONFIG_DEBUG_SHIRQ is not set   CONFIG_DETECT_SOFTLOCKUP=y @@ -1796,7 +1776,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_DEBUG_SPINLOCK_SLEEP is not set   # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set   # CONFIG_DEBUG_KOBJECT is not set -@@ -954,21 +1085,21 @@ CONFIG_DEBUG_BUGVERBOSE=y +@@ -954,21 +1085,21 @@   # CONFIG_DEBUG_INFO is not set   # CONFIG_DEBUG_VM is not set   # CONFIG_DEBUG_LIST is not set @@ -1823,7 +1803,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   CONFIG_CRYPTO=y   CONFIG_CRYPTO_ALGAPI=y   CONFIG_CRYPTO_BLKCIPHER=y -@@ -989,6 +1120,7 @@ CONFIG_CRYPTO_ECB=m +@@ -989,6 +1120,7 @@   CONFIG_CRYPTO_CBC=y   CONFIG_CRYPTO_PCBC=m   # CONFIG_CRYPTO_LRW is not set @@ -1831,7 +1811,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_CRYPTO_CRYPTD is not set   CONFIG_CRYPTO_DES=y   # CONFIG_CRYPTO_FCRYPT is not set -@@ -1002,15 +1134,14 @@ CONFIG_CRYPTO_DES=y +@@ -1002,15 +1134,14 @@   CONFIG_CRYPTO_ARC4=m   # CONFIG_CRYPTO_KHAZAD is not set   # CONFIG_CRYPTO_ANUBIS is not set @@ -1850,7 +1830,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   #   # Library routines -@@ -1018,8 +1149,9 @@ CONFIG_CRYPTO_DEFLATE=y +@@ -1018,8 +1149,9 @@   CONFIG_BITREVERSE=y   CONFIG_CRC_CCITT=m   # CONFIG_CRC16 is not set @@ -1861,10 +1841,8 @@ Index: linux-2.6.24.7/arch/avr32/configs/atngw100_defconfig   # CONFIG_LIBCRC32C is not set   CONFIG_ZLIB_INFLATE=y   CONFIG_ZLIB_DEFLATE=y -Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/configs/atstk1002_defconfig -+++ linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig +--- a/arch/avr32/configs/atstk1002_defconfig ++++ b/arch/avr32/configs/atstk1002_defconfig  @@ -1,48 +1,49 @@   #   # Automatically generated make config: don't edit @@ -1930,7 +1908,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_SYSFS_DEPRECATED=y   CONFIG_RELAY=y   CONFIG_BLK_DEV_INITRD=y -@@ -63,35 +64,28 @@ CONFIG_FUTEX=y +@@ -63,35 +64,28 @@   CONFIG_ANON_INODES=y   CONFIG_EPOLL=y   CONFIG_SIGNALFD=y @@ -1969,7 +1947,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # IO Schedulers -@@ -99,32 +93,49 @@ CONFIG_BLOCK=y +@@ -99,32 +93,49 @@   CONFIG_IOSCHED_NOOP=y   # CONFIG_IOSCHED_AS is not set   # CONFIG_IOSCHED_DEADLINE is not set @@ -2027,7 +2005,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_LOAD_ADDRESS=0x10000000   CONFIG_ENTRY_ADDRESS=0x90000000   CONFIG_PHYS_OFFSET=0x10000000 -@@ -144,10 +155,14 @@ CONFIG_FLATMEM_MANUAL=y +@@ -144,10 +155,14 @@   CONFIG_FLATMEM=y   CONFIG_FLAT_NODE_MEM_MAP=y   # CONFIG_SPARSEMEM_STATIC is not set @@ -2042,7 +2020,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_HZ_100 is not set   CONFIG_HZ_250=y   # CONFIG_HZ_300 is not set -@@ -156,13 +171,31 @@ CONFIG_HZ=250 +@@ -156,13 +171,31 @@   CONFIG_CMDLINE=""   # @@ -2077,7 +2055,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_PCCARD is not set   # -@@ -182,7 +215,12 @@ CONFIG_NET=y +@@ -182,7 +215,12 @@   CONFIG_PACKET=y   CONFIG_PACKET_MMAP=y   CONFIG_UNIX=y @@ -2091,7 +2069,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_INET=y   # CONFIG_IP_MULTICAST is not set   # CONFIG_IP_ADVANCED_ROUTER is not set -@@ -191,36 +229,52 @@ CONFIG_IP_PNP=y +@@ -191,36 +229,52 @@   CONFIG_IP_PNP_DHCP=y   # CONFIG_IP_PNP_BOOTP is not set   # CONFIG_IP_PNP_RARP is not set @@ -2156,7 +2134,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_LLC2 is not set   # CONFIG_IPX is not set   # CONFIG_ATALK is not set -@@ -228,16 +282,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" +@@ -228,16 +282,13 @@   # CONFIG_LAPB is not set   # CONFIG_ECONET is not set   # CONFIG_WAN_ROUTER is not set @@ -2174,7 +2152,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_HAMRADIO is not set   # CONFIG_IRDA is not set   # CONFIG_BT is not set -@@ -251,6 +302,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" +@@ -251,6 +302,7 @@   # CONFIG_MAC80211 is not set   # CONFIG_IEEE80211 is not set   # CONFIG_RFKILL is not set @@ -2182,7 +2160,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # Device Drivers -@@ -259,16 +311,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" +@@ -259,16 +311,13 @@   #   # Generic Driver Options   # @@ -2200,7 +2178,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_CONNECTOR is not set   CONFIG_MTD=y   # CONFIG_MTD_DEBUG is not set -@@ -288,6 +337,7 @@ CONFIG_MTD_BLOCK=y +@@ -288,6 +337,7 @@   # CONFIG_INFTL is not set   # CONFIG_RFD_FTL is not set   # CONFIG_SSFDC is not set @@ -2208,7 +2186,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # RAM/ROM/Flash chip drivers -@@ -327,6 +377,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +@@ -327,6 +377,8 @@   #   # Self-contained MTD device drivers   # @@ -2217,7 +2195,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_MTD_SLRAM is not set   # CONFIG_MTD_PHRAM is not set   # CONFIG_MTD_MTDRAM is not set -@@ -345,20 +397,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +@@ -345,20 +397,8 @@   # UBI - Unsorted block images   #   # CONFIG_MTD_UBI is not set @@ -2239,7 +2217,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_BLK_DEV_COW_COMMON is not set   CONFIG_BLK_DEV_LOOP=m   # CONFIG_BLK_DEV_CRYPTOLOOP is not set -@@ -369,42 +409,91 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 +@@ -369,42 +409,91 @@   CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024   # CONFIG_CDROM_PKTCDVD is not set   # CONFIG_ATA_OVER_ETH is not set @@ -2345,7 +2323,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_NETDEV_1000 is not set   # CONFIG_NETDEV_10000 is not set -@@ -423,27 +512,54 @@ CONFIG_PPP_DEFLATE=m +@@ -423,27 +512,54 @@   CONFIG_PPP_BSDCOMP=m   # CONFIG_PPP_MPPE is not set   # CONFIG_PPPOE is not set @@ -2409,7 +2387,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # Hardware I/O ports -@@ -467,40 +583,94 @@ CONFIG_SLHC=m +@@ -467,40 +583,94 @@   #   CONFIG_SERIAL_ATMEL=y   CONFIG_SERIAL_ATMEL_CONSOLE=y @@ -2516,7 +2494,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # Multifunction device drivers -@@ -517,23 +687,104 @@ CONFIG_UNIX98_PTYS=y +@@ -517,23 +687,104 @@   #   # Graphics support   # @@ -2626,7 +2604,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_USB_ARCH_HAS_HCD is not set   # CONFIG_USB_ARCH_HAS_OHCI is not set   # CONFIG_USB_ARCH_HAS_EHCI is not set -@@ -545,63 +796,137 @@ CONFIG_UNIX98_PTYS=y +@@ -545,63 +796,137 @@   #   # USB Gadget Support   # @@ -2782,7 +2760,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_ROMFS_FS is not set   CONFIG_INOTIFY=y   CONFIG_INOTIFY_USER=y -@@ -609,7 +934,7 @@ CONFIG_INOTIFY_USER=y +@@ -609,7 +934,7 @@   # CONFIG_DNOTIFY is not set   # CONFIG_AUTOFS_FS is not set   # CONFIG_AUTOFS4_FS is not set @@ -2791,7 +2769,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # CD-ROM/DVD Filesystems -@@ -637,8 +962,7 @@ CONFIG_SYSFS=y +@@ -637,8 +962,7 @@   CONFIG_TMPFS=y   # CONFIG_TMPFS_POSIX_ACL is not set   # CONFIG_HUGETLB_PAGE is not set @@ -2801,7 +2779,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # Miscellaneous filesystems -@@ -652,11 +976,12 @@ CONFIG_CONFIGFS_FS=m +@@ -652,11 +976,12 @@   # CONFIG_EFS_FS is not set   CONFIG_JFFS2_FS=y   CONFIG_JFFS2_FS_DEBUG=0 @@ -2815,7 +2793,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_JFFS2_RTIME=y   # CONFIG_JFFS2_RUBIN is not set   # CONFIG_CRAMFS is not set -@@ -665,10 +990,7 @@ CONFIG_JFFS2_RTIME=y +@@ -665,10 +990,7 @@   # CONFIG_QNX4FS_FS is not set   # CONFIG_SYSV_FS is not set   # CONFIG_UFS_FS is not set @@ -2827,7 +2805,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_NFS_FS=y   CONFIG_NFS_V3=y   # CONFIG_NFS_V3_ACL is not set -@@ -688,17 +1010,12 @@ CONFIG_SUNRPC=y +@@ -688,17 +1010,12 @@   # CONFIG_NCP_FS is not set   # CONFIG_CODA_FS is not set   # CONFIG_AFS_FS is not set @@ -2845,7 +2823,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_NLS=m   CONFIG_NLS_DEFAULT="iso8859-1"   CONFIG_NLS_CODEPAGE_437=m -@@ -739,17 +1056,18 @@ CONFIG_NLS_ISO8859_1=m +@@ -739,17 +1056,18 @@   # CONFIG_NLS_KOI8_R is not set   # CONFIG_NLS_KOI8_U is not set   CONFIG_NLS_UTF8=m @@ -2869,7 +2847,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_ENABLE_MUST_CHECK=y   CONFIG_MAGIC_SYSRQ=y   # CONFIG_UNUSED_SYMBOLS is not set -@@ -758,12 +1076,17 @@ CONFIG_DEBUG_FS=y +@@ -758,12 +1076,17 @@   CONFIG_DEBUG_KERNEL=y   # CONFIG_DEBUG_SHIRQ is not set   CONFIG_DETECT_SOFTLOCKUP=y @@ -2887,7 +2865,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   # CONFIG_DEBUG_SPINLOCK_SLEEP is not set   # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set   # CONFIG_DEBUG_KOBJECT is not set -@@ -771,22 +1094,63 @@ CONFIG_DEBUG_BUGVERBOSE=y +@@ -771,22 +1094,63 @@   # CONFIG_DEBUG_INFO is not set   # CONFIG_DEBUG_VM is not set   # CONFIG_DEBUG_LIST is not set @@ -2957,7 +2935,7 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   #   # Library routines -@@ -794,10 +1158,10 @@ CONFIG_FORCED_INLINING=y +@@ -794,10 +1158,10 @@   CONFIG_BITREVERSE=y   CONFIG_CRC_CCITT=m   # CONFIG_CRC16 is not set @@ -2970,10 +2948,8 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1002_defconfig   CONFIG_ZLIB_INFLATE=y   CONFIG_ZLIB_DEFLATE=y   CONFIG_PLIST=y -Index: linux-2.6.24.7/arch/avr32/configs/atstk1003_defconfig -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/configs/atstk1003_defconfig ++++ b/arch/avr32/configs/atstk1003_defconfig  @@ -0,0 +1,1041 @@  +#  +# Automatically generated make config: don't edit @@ -4016,10 +3992,8 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1003_defconfig  +CONFIG_HAS_IOMEM=y  +CONFIG_HAS_IOPORT=y  +CONFIG_HAS_DMA=y -Index: linux-2.6.24.7/arch/avr32/configs/atstk1004_defconfig -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/configs/atstk1004_defconfig ++++ b/arch/avr32/configs/atstk1004_defconfig  @@ -0,0 +1,639 @@  +#  +# Automatically generated make config: don't edit @@ -4660,10 +4634,8 @@ Index: linux-2.6.24.7/arch/avr32/configs/atstk1004_defconfig  +CONFIG_HAS_IOMEM=y  +CONFIG_HAS_IOPORT=y  +CONFIG_HAS_DMA=y -Index: linux-2.6.24.7/arch/avr32/drivers/dw-dmac.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/drivers/dw-dmac.c ++++ b/arch/avr32/drivers/dw-dmac.c  @@ -0,0 +1,761 @@  +/*  + * Driver for the Synopsys DesignWare DMA Controller @@ -5426,10 +5398,8 @@ Index: linux-2.6.24.7/arch/avr32/drivers/dw-dmac.c  +MODULE_DESCRIPTION("Synopsys DesignWare DMA Controller driver");  +MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/arch/avr32/drivers/dw-dmac.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/drivers/dw-dmac.h ++++ b/arch/avr32/drivers/dw-dmac.h  @@ -0,0 +1,42 @@  +/*  + * Driver for the Synopsys DesignWare DMA Controller @@ -5473,17 +5443,13 @@ Index: linux-2.6.24.7/arch/avr32/drivers/dw-dmac.h  +#define DW_DMAC_CHAN_DSR	0x050  +  +#endif /* __AVR32_DW_DMAC_H__ */ -Index: linux-2.6.24.7/arch/avr32/drivers/Makefile -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/drivers/Makefile ++++ b/arch/avr32/drivers/Makefile  @@ -0,0 +1 @@  +obj-$(CONFIG_DW_DMAC)			+= dw-dmac.o -Index: linux-2.6.24.7/arch/avr32/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/Kconfig -+++ linux-2.6.24.7/arch/avr32/Kconfig -@@ -45,6 +45,9 @@ config RWSEM_GENERIC_SPINLOCK +--- a/arch/avr32/Kconfig ++++ b/arch/avr32/Kconfig +@@ -45,6 +45,9 @@   config GENERIC_TIME   	def_bool y @@ -5493,7 +5459,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   config RWSEM_XCHGADD_ALGORITHM   	def_bool n -@@ -54,6 +57,9 @@ config ARCH_HAS_ILOG2_U32 +@@ -54,6 +57,9 @@   config ARCH_HAS_ILOG2_U64   	def_bool n @@ -5503,7 +5469,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   config GENERIC_HWEIGHT   	def_bool y -@@ -68,6 +74,8 @@ source "init/Kconfig" +@@ -68,6 +74,8 @@   menu "System Type and features" @@ -5512,7 +5478,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   config SUBARCH_AVR32B   	bool   config MMU -@@ -81,19 +89,23 @@ config PLATFORM_AT32AP +@@ -81,19 +89,23 @@   	select MMU   	select PERFORMANCE_COUNTERS @@ -5546,7 +5512,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   choice   	prompt "AVR32 board type" -@@ -101,15 +113,18 @@ choice +@@ -101,15 +113,18 @@   config BOARD_ATSTK1000   	bool "ATSTK1000 evaluation board" @@ -5566,7 +5532,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   choice   	prompt "Boot loader type" -@@ -123,15 +138,15 @@ source "arch/avr32/mach-at32ap/Kconfig" +@@ -123,15 +138,15 @@   config LOAD_ADDRESS   	hex @@ -5585,7 +5551,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   source "kernel/Kconfig.preempt" -@@ -163,6 +178,20 @@ config OWNERSHIP_TRACE +@@ -163,6 +178,20 @@   	  enabling Nexus-compliant debuggers to keep track of the PID of the   	  currently executing task. @@ -5606,7 +5572,7 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   # FPU emulation goes here   source "kernel/Kconfig.hz" -@@ -219,6 +248,8 @@ source "drivers/Kconfig" +@@ -219,6 +248,8 @@   source "fs/Kconfig" @@ -5615,11 +5581,9 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig   source "arch/avr32/Kconfig.debug"   source "security/Kconfig" -Index: linux-2.6.24.7/arch/avr32/Kconfig.debug -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/Kconfig.debug -+++ linux-2.6.24.7/arch/avr32/Kconfig.debug -@@ -6,14 +6,4 @@ config TRACE_IRQFLAGS_SUPPORT +--- a/arch/avr32/Kconfig.debug ++++ b/arch/avr32/Kconfig.debug +@@ -6,14 +6,4 @@   source "lib/Kconfig.debug" @@ -5634,10 +5598,8 @@ Index: linux-2.6.24.7/arch/avr32/Kconfig.debug  -          If in doubt, say "N".  -   endmenu -Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/cpu.c -+++ linux-2.6.24.7/arch/avr32/kernel/cpu.c +--- a/arch/avr32/kernel/cpu.c ++++ b/arch/avr32/kernel/cpu.c  @@ -13,6 +13,7 @@   #include <linux/percpu.h>   #include <linux/param.h> @@ -5646,7 +5608,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   #include <asm/setup.h>   #include <asm/sysreg.h> -@@ -187,9 +188,20 @@ static int __init topology_init(void) +@@ -187,9 +188,20 @@   subsys_initcall(topology_init); @@ -5668,7 +5630,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   };   #define NR_CPU_NAMES ARRAY_SIZE(cpu_names) -@@ -206,12 +218,32 @@ static const char *mmu_types[] = { +@@ -206,12 +218,32 @@   	"MPU"   }; @@ -5701,7 +5663,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   	config0 = sysreg_read(CONFIG0);   	config1 = sysreg_read(CONFIG1); -@@ -221,11 +253,14 @@ void __init setup_processor(void) +@@ -221,11 +253,14 @@   	arch_rev = SYSREG_BFEXT(AR, config0);   	mmu_type = SYSREG_BFEXT(MMUT, config0); @@ -5716,7 +5678,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   	tmp = SYSREG_BFEXT(ILSZ, config1);   	if (tmp) { -@@ -247,41 +282,34 @@ void __init setup_processor(void) +@@ -247,41 +282,34 @@   		return;   	} @@ -5773,7 +5735,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   	printk("\n");   	boot_cpu_data.features = features;   } -@@ -291,6 +319,8 @@ static int c_show(struct seq_file *m, vo +@@ -291,6 +319,8 @@   {   	unsigned int icache_size, dcache_size;   	unsigned int cpu = smp_processor_id(); @@ -5782,7 +5744,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   	icache_size = boot_cpu_data.icache.ways *   		boot_cpu_data.icache.sets * -@@ -301,15 +331,21 @@ static int c_show(struct seq_file *m, vo +@@ -301,15 +331,21 @@   	seq_printf(m, "processor\t: %d\n", cpu); @@ -5806,7 +5768,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   	seq_printf(m, "i-cache\t\t: %dK (%u ways x %u sets x %u)\n",   		   icache_size >> 10,   		   boot_cpu_data.icache.ways, -@@ -320,7 +356,13 @@ static int c_show(struct seq_file *m, vo +@@ -320,7 +356,13 @@   		   boot_cpu_data.dcache.ways,   		   boot_cpu_data.dcache.sets,   		   boot_cpu_data.dcache.linesz); @@ -5821,7 +5783,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   		   boot_cpu_data.loops_per_jiffy / (500000/HZ),   		   (boot_cpu_data.loops_per_jiffy / (5000/HZ)) % 100); -@@ -343,7 +385,7 @@ static void c_stop(struct seq_file *m, v +@@ -343,7 +385,7 @@   } @@ -5830,10 +5792,8 @@ Index: linux-2.6.24.7/arch/avr32/kernel/cpu.c   	.start	= c_start,   	.next	= c_next,   	.stop	= c_stop, -Index: linux-2.6.24.7/arch/avr32/kernel/dma-controller.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/kernel/dma-controller.c ++++ b/arch/avr32/kernel/dma-controller.c  @@ -0,0 +1,34 @@  +/*  + * Preliminary DMA controller framework for AVR32 @@ -5869,11 +5829,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/dma-controller.c  +	return NULL;  +}  +EXPORT_SYMBOL(find_dma_controller); -Index: linux-2.6.24.7/arch/avr32/kernel/entry-avr32b.S -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/entry-avr32b.S -+++ linux-2.6.24.7/arch/avr32/kernel/entry-avr32b.S -@@ -741,26 +741,6 @@ irq_level\level: +--- a/arch/avr32/kernel/entry-avr32b.S ++++ b/arch/avr32/kernel/entry-avr32b.S +@@ -741,26 +741,6 @@   	.section .irq.text,"ax",@progbits @@ -5900,11 +5858,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/entry-avr32b.S   	.global	irq_level0   	.global	irq_level1   	.global	irq_level2 -Index: linux-2.6.24.7/arch/avr32/kernel/irq.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/irq.c -+++ linux-2.6.24.7/arch/avr32/kernel/irq.c -@@ -25,6 +25,17 @@ void ack_bad_irq(unsigned int irq) +--- a/arch/avr32/kernel/irq.c ++++ b/arch/avr32/kernel/irq.c +@@ -25,6 +25,17 @@   	printk("unexpected IRQ %u\n", irq);   } @@ -5922,11 +5878,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/irq.c   #ifdef CONFIG_PROC_FS   int show_interrupts(struct seq_file *p, void *v)   { -Index: linux-2.6.24.7/arch/avr32/kernel/kprobes.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/kprobes.c -+++ linux-2.6.24.7/arch/avr32/kernel/kprobes.c -@@ -48,6 +48,7 @@ int __kprobes arch_prepare_kprobe(struct +--- a/arch/avr32/kernel/kprobes.c ++++ b/arch/avr32/kernel/kprobes.c +@@ -48,6 +48,7 @@   void __kprobes arch_arm_kprobe(struct kprobe *p)   {   	pr_debug("arming kprobe at %p\n", p->addr); @@ -5934,7 +5888,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/kprobes.c   	*p->addr = BREAKPOINT_INSTRUCTION;   	flush_icache_range((unsigned long)p->addr,   			   (unsigned long)p->addr + sizeof(kprobe_opcode_t)); -@@ -56,6 +57,7 @@ void __kprobes arch_arm_kprobe(struct kp +@@ -56,6 +57,7 @@   void __kprobes arch_disarm_kprobe(struct kprobe *p)   {   	pr_debug("disarming kprobe at %p\n", p->addr); @@ -5942,7 +5896,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/kprobes.c   	*p->addr = p->opcode;   	flush_icache_range((unsigned long)p->addr,   			   (unsigned long)p->addr + sizeof(kprobe_opcode_t)); -@@ -260,9 +262,6 @@ int __kprobes longjmp_break_handler(stru +@@ -260,9 +262,6 @@   int __init arch_init_kprobes(void)   { @@ -5952,11 +5906,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/kprobes.c   	/* TODO: Register kretprobe trampoline */   	return 0;   } -Index: linux-2.6.24.7/arch/avr32/kernel/Makefile -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/Makefile -+++ linux-2.6.24.7/arch/avr32/kernel/Makefile -@@ -6,9 +6,11 @@ extra-y				:= head.o vmlinux.lds +--- a/arch/avr32/kernel/Makefile ++++ b/arch/avr32/kernel/Makefile +@@ -6,9 +6,11 @@   obj-$(CONFIG_SUBARCH_AVR32B)	+= entry-avr32b.o   obj-y				+= syscall_table.o syscall-stubs.o irq.o @@ -5969,10 +5921,8 @@ Index: linux-2.6.24.7/arch/avr32/kernel/Makefile   obj-$(CONFIG_KPROBES)		+= kprobes.o   obj-$(CONFIG_STACKTRACE)	+= stacktrace.o  +obj-$(CONFIG_NMI_DEBUGGING)	+= nmi_debug.o -Index: linux-2.6.24.7/arch/avr32/kernel/nmi_debug.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/kernel/nmi_debug.c ++++ b/arch/avr32/kernel/nmi_debug.c  @@ -0,0 +1,82 @@  +/*  + * Copyright (C) 2007 Atmel Corporation @@ -6056,10 +6006,8 @@ Index: linux-2.6.24.7/arch/avr32/kernel/nmi_debug.c  +	return 0;  +}  +__setup("nmi_debug", nmi_debug_setup); -Index: linux-2.6.24.7/arch/avr32/kernel/ocd.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/kernel/ocd.c ++++ b/arch/avr32/kernel/ocd.c  @@ -0,0 +1,163 @@  +/*  + * Copyright (C) 2007 Atmel Corporation @@ -6224,10 +6172,8 @@ Index: linux-2.6.24.7/arch/avr32/kernel/ocd.c  +	return 0;  +}  +arch_initcall(ocd_init); -Index: linux-2.6.24.7/arch/avr32/kernel/process.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/process.c -+++ linux-2.6.24.7/arch/avr32/kernel/process.c +--- a/arch/avr32/kernel/process.c ++++ b/arch/avr32/kernel/process.c  @@ -11,17 +11,18 @@   #include <linux/fs.h>   #include <linux/ptrace.h> @@ -6249,7 +6195,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/process.c   /*    * This file handles the architecture-dependent parts of process handling..    */ -@@ -30,8 +31,10 @@ void cpu_idle(void) +@@ -30,8 +31,10 @@   {   	/* endless idle loop with no priority at all */   	while (1) { @@ -6260,7 +6206,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/process.c   		preempt_enable_no_resched();   		schedule();   		preempt_disable(); -@@ -103,7 +106,7 @@ EXPORT_SYMBOL(kernel_thread); +@@ -103,7 +106,7 @@    */   void exit_thread(void)   { @@ -6269,7 +6215,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/process.c   }   void flush_thread(void) -@@ -345,6 +348,10 @@ int copy_thread(int nr, unsigned long cl +@@ -345,6 +348,10 @@   	p->thread.cpu_context.ksp = (unsigned long)childregs;   	p->thread.cpu_context.pc = (unsigned long)ret_from_fork; @@ -6280,11 +6226,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/process.c   	return 0;   } -Index: linux-2.6.24.7/arch/avr32/kernel/ptrace.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/ptrace.c -+++ linux-2.6.24.7/arch/avr32/kernel/ptrace.c -@@ -58,6 +58,7 @@ void ptrace_disable(struct task_struct * +--- a/arch/avr32/kernel/ptrace.c ++++ b/arch/avr32/kernel/ptrace.c +@@ -58,6 +58,7 @@   {   	clear_tsk_thread_flag(child, TIF_SINGLE_STEP);   	clear_tsk_thread_flag(child, TIF_BREAKPOINT); @@ -6292,7 +6236,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/ptrace.c   }   /* -@@ -144,10 +145,6 @@ long arch_ptrace(struct task_struct *chi +@@ -144,10 +145,6 @@   {   	int ret; @@ -6303,11 +6247,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/ptrace.c   	switch (request) {   	/* Read the word at location addr in the child process */   	case PTRACE_PEEKTEXT: -Index: linux-2.6.24.7/arch/avr32/kernel/setup.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/setup.c -+++ linux-2.6.24.7/arch/avr32/kernel/setup.c -@@ -273,6 +273,8 @@ static int __init early_parse_fbmem(char +--- a/arch/avr32/kernel/setup.c ++++ b/arch/avr32/kernel/setup.c +@@ -273,6 +273,8 @@   			printk(KERN_WARNING   			       "Failed to allocate framebuffer memory\n");   			fbmem_size = 0; @@ -6316,11 +6258,9 @@ Index: linux-2.6.24.7/arch/avr32/kernel/setup.c   		}   	} -Index: linux-2.6.24.7/arch/avr32/kernel/signal.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/signal.c -+++ linux-2.6.24.7/arch/avr32/kernel/signal.c -@@ -270,19 +270,12 @@ int do_signal(struct pt_regs *regs, sigs +--- a/arch/avr32/kernel/signal.c ++++ b/arch/avr32/kernel/signal.c +@@ -270,19 +270,12 @@   	if (!user_mode(regs))   		return 0; @@ -6340,10 +6280,8 @@ Index: linux-2.6.24.7/arch/avr32/kernel/signal.c   	if (syscall) {   		switch (regs->r12) {   		case -ERESTART_RESTARTBLOCK: -Index: linux-2.6.24.7/arch/avr32/kernel/time.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/time.c -+++ linux-2.6.24.7/arch/avr32/kernel/time.c +--- a/arch/avr32/kernel/time.c ++++ b/arch/avr32/kernel/time.c  @@ -1,16 +1,12 @@   /*    * Copyright (C) 2004-2007 Atmel Corporation @@ -6654,10 +6592,8 @@ Index: linux-2.6.24.7/arch/avr32/kernel/time.c   }  -  -device_initcall(init_timer_sysfs); -Index: linux-2.6.24.7/arch/avr32/kernel/traps.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/kernel/traps.c -+++ linux-2.6.24.7/arch/avr32/kernel/traps.c +--- a/arch/avr32/kernel/traps.c ++++ b/arch/avr32/kernel/traps.c  @@ -9,6 +9,7 @@   #include <linux/bug.h>   #include <linux/init.h> @@ -6666,7 +6602,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/traps.c   #include <linux/module.h>   #include <linux/notifier.h>   #include <linux/sched.h> -@@ -107,9 +108,23 @@ void _exception(long signr, struct pt_re +@@ -107,9 +108,23 @@   asmlinkage void do_nmi(unsigned long ecr, struct pt_regs *regs)   { @@ -6693,9 +6629,7 @@ Index: linux-2.6.24.7/arch/avr32/kernel/traps.c   }   asmlinkage void do_critical_exception(unsigned long ecr, struct pt_regs *regs) -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/at32ap7000.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/at32ap7000.c +--- a/arch/avr32/mach-at32ap/at32ap7000.c  +++ /dev/null  @@ -1,1730 +0,0 @@  -/* @@ -8428,10 +8362,8 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/at32ap7000.c  -	pm_writel(PBA_MASK, pba_mask);  -	pm_writel(PBB_MASK, pbb_mask);  -} -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/at32ap700x.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/at32ap700x.c ++++ b/arch/avr32/mach-at32ap/at32ap700x.c  @@ -0,0 +1,1944 @@  +/*  + * Copyright (C) 2005-2006 Atmel Corporation @@ -10377,10 +10309,8 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/at32ap700x.c  +	pm_writel(PBA_MASK, pba_mask);  +	pm_writel(PBB_MASK, pbb_mask);  +} -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/extint.c -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c +--- a/arch/avr32/mach-at32ap/extint.c ++++ b/arch/avr32/mach-at32ap/extint.c  @@ -26,16 +26,10 @@   #define EIC_MODE				0x0014   #define EIC_EDGE				0x0018 @@ -10399,7 +10329,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   /* Bit manipulation macros */   #define EIC_BIT(name)					\ -@@ -63,6 +57,9 @@ struct eic { +@@ -63,6 +57,9 @@   	unsigned int first_irq;   }; @@ -10409,7 +10339,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   static void eic_ack_irq(unsigned int irq)   {   	struct eic *eic = get_irq_chip_data(irq); -@@ -133,8 +130,11 @@ static int eic_set_irq_type(unsigned int +@@ -133,8 +130,11 @@   		eic_writel(eic, EDGE, edge);   		eic_writel(eic, LEVEL, level); @@ -10422,7 +10352,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   		desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);   		desc->status |= flow_type;   	} -@@ -154,9 +154,8 @@ static struct irq_chip eic_chip = { +@@ -154,9 +154,8 @@   static void demux_eic_irq(unsigned int irq, struct irq_desc *desc)   {   	struct eic *eic = desc->handler_data; @@ -10433,7 +10363,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   	status = eic_readl(eic, ISR);   	pending = status & eic_readl(eic, IMR); -@@ -165,15 +164,28 @@ static void demux_eic_irq(unsigned int i +@@ -165,15 +164,28 @@   		i = fls(pending) - 1;   		pending &= ~(1 << i); @@ -10468,7 +10398,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   static int __init eic_probe(struct platform_device *pdev)   {   	struct eic *eic; -@@ -214,14 +226,13 @@ static int __init eic_probe(struct platf +@@ -214,14 +226,13 @@   	pattern = eic_readl(eic, MODE);   	nr_irqs = fls(pattern); @@ -10485,7 +10415,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   		set_irq_chip_and_handler(eic->first_irq + i, &eic_chip,   					 handle_level_irq);   		set_irq_chip_data(eic->first_irq + i, eic); -@@ -230,6 +241,16 @@ static int __init eic_probe(struct platf +@@ -230,6 +241,16 @@   	set_irq_chained_handler(int_irq, demux_eic_irq);   	set_irq_data(int_irq, eic); @@ -10502,10 +10432,8 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/extint.c   	dev_info(&pdev->dev,   		 "External Interrupt Controller at 0x%p, IRQ %u\n",   		 eic->regs, int_irq); -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/gpio-dev.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/gpio-dev.c ++++ b/arch/avr32/mach-at32ap/gpio-dev.c  @@ -0,0 +1,573 @@  +/*  + * GPIO /dev and configfs interface @@ -11080,10 +11008,8 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/gpio-dev.c  +	return err;  +}  +late_initcall(gpio_dev_init); -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/intc.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/intc.c -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/intc.c +--- a/arch/avr32/mach-at32ap/intc.c ++++ b/arch/avr32/mach-at32ap/intc.c  @@ -13,7 +13,6 @@   #include <linux/irq.h>   #include <linux/platform_device.h> @@ -11092,11 +11018,9 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/intc.c   #include <asm/io.h>   #include "intc.h" -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/Kconfig -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/Kconfig -@@ -3,9 +3,9 @@ if PLATFORM_AT32AP +--- a/arch/avr32/mach-at32ap/Kconfig ++++ b/arch/avr32/mach-at32ap/Kconfig +@@ -3,9 +3,9 @@   menu "Atmel AVR32 AP options"   choice @@ -11109,7 +11033,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/Kconfig   	help   	  Define the width of the AP7000 external static memory interface.   	  This is used to determine how to mangle the address and/or data -@@ -15,17 +15,24 @@ choice +@@ -15,17 +15,24 @@   	  width for all chip selects, excluding the flash (which is using   	  raw access and is thus not affected by any of this.) @@ -11137,10 +11061,8 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/Kconfig   endmenu   endif # PLATFORM_AT32AP -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/Makefile -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/Makefile -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/Makefile +--- a/arch/avr32/mach-at32ap/Makefile ++++ b/arch/avr32/mach-at32ap/Makefile  @@ -1,4 +1,4 @@   obj-y				+= at32ap.o clock.o intc.o extint.o pio.o hsmc.o  -obj-$(CONFIG_CPU_AT32AP7000)	+= at32ap7000.o @@ -11148,11 +11070,9 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/Makefile  +obj-$(CONFIG_CPU_AT32AP700X)	+= at32ap700x.o pm-at32ap700x.o   obj-$(CONFIG_CPU_FREQ_AT32AP)	+= cpufreq.o  +obj-$(CONFIG_GPIO_DEV)		+= gpio-dev.o -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/pio.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/pio.c -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/pio.c -@@ -162,6 +162,82 @@ fail: +--- a/arch/avr32/mach-at32ap/pio.c ++++ b/arch/avr32/mach-at32ap/pio.c +@@ -162,6 +162,82 @@   	dump_stack();   } @@ -11235,10 +11155,8 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/pio.c   /*--------------------------------------------------------------------------*/   /* GPIO API */ -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/pm-at32ap700x.S -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/mach-at32ap/pm-at32ap700x.S ++++ b/arch/avr32/mach-at32ap/pm-at32ap700x.S  @@ -0,0 +1,66 @@  +/*  + * Low-level Power Management code. @@ -11306,9 +11224,7 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/pm-at32ap700x.S  +	unmask_interrupts  +	retal	r12  +	.size	cpu_idle_skip_sleep, . - cpu_idle_skip_sleep -Index: linux-2.6.24.7/arch/avr32/mach-at32ap/time-tc.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mach-at32ap/time-tc.c +--- a/arch/avr32/mach-at32ap/time-tc.c  +++ /dev/null  @@ -1,218 +0,0 @@  -/* @@ -11529,11 +11445,9 @@ Index: linux-2.6.24.7/arch/avr32/mach-at32ap/time-tc.c  -  -	return IRQ_NONE;  -} -Index: linux-2.6.24.7/arch/avr32/Makefile -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/Makefile -+++ linux-2.6.24.7/arch/avr32/Makefile -@@ -16,7 +16,7 @@ KBUILD_AFLAGS	+= -mrelax -mno-pic +--- a/arch/avr32/Makefile ++++ b/arch/avr32/Makefile +@@ -16,7 +16,7 @@   CFLAGS_MODULE	+= -mno-relax   LDFLAGS_vmlinux	+= --relax @@ -11542,7 +11456,7 @@ Index: linux-2.6.24.7/arch/avr32/Makefile   KBUILD_CFLAGS	+= $(cpuflags-y)   KBUILD_AFLAGS	+= $(cpuflags-y) -@@ -31,6 +31,8 @@ core-$(CONFIG_BOARD_ATNGW100)		+= arch/a +@@ -31,6 +31,8 @@   core-$(CONFIG_LOADER_U_BOOT)		+= arch/avr32/boot/u-boot/   core-y					+= arch/avr32/kernel/   core-y					+= arch/avr32/mm/ @@ -11551,11 +11465,9 @@ Index: linux-2.6.24.7/arch/avr32/Makefile   libs-y					+= arch/avr32/lib/   archincdir-$(CONFIG_PLATFORM_AT32AP)	:= arch-at32ap -Index: linux-2.6.24.7/arch/avr32/mm/dma-coherent.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mm/dma-coherent.c -+++ linux-2.6.24.7/arch/avr32/mm/dma-coherent.c -@@ -41,6 +41,13 @@ static struct page *__dma_alloc(struct d +--- a/arch/avr32/mm/dma-coherent.c ++++ b/arch/avr32/mm/dma-coherent.c +@@ -41,6 +41,13 @@   	struct page *page, *free, *end;   	int order; @@ -11569,11 +11481,9 @@ Index: linux-2.6.24.7/arch/avr32/mm/dma-coherent.c   	size = PAGE_ALIGN(size);   	order = get_order(size); -Index: linux-2.6.24.7/arch/avr32/mm/fault.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mm/fault.c -+++ linux-2.6.24.7/arch/avr32/mm/fault.c -@@ -189,6 +189,8 @@ no_context: +--- a/arch/avr32/mm/fault.c ++++ b/arch/avr32/mm/fault.c +@@ -189,6 +189,8 @@   	page = sysreg_read(PTBR);   	printk(KERN_ALERT "ptbr = %08lx", page); @@ -11582,11 +11492,9 @@ Index: linux-2.6.24.7/arch/avr32/mm/fault.c   	if (page) {   		page = ((unsigned long *)page)[address >> 22];   		printk(" pgd = %08lx", page); -Index: linux-2.6.24.7/arch/avr32/mm/tlb.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/mm/tlb.c -+++ linux-2.6.24.7/arch/avr32/mm/tlb.c -@@ -348,7 +348,7 @@ static int tlb_show(struct seq_file *tlb +--- a/arch/avr32/mm/tlb.c ++++ b/arch/avr32/mm/tlb.c +@@ -348,7 +348,7 @@   	return 0;   } @@ -11595,10 +11503,8 @@ Index: linux-2.6.24.7/arch/avr32/mm/tlb.c   	.start		= tlb_start,   	.next		= tlb_next,   	.stop		= tlb_stop, -Index: linux-2.6.24.7/arch/avr32/oprofile/Makefile -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/oprofile/Makefile ++++ b/arch/avr32/oprofile/Makefile  @@ -0,0 +1,8 @@  +obj-$(CONFIG_OPROFILE) += oprofile.o  + @@ -11608,10 +11514,8 @@ Index: linux-2.6.24.7/arch/avr32/oprofile/Makefile  +				oprofilefs.o oprofile_stats.o		\  +				timer_int.o)  +oprofile-y		+= op_model_avr32.o -Index: linux-2.6.24.7/arch/avr32/oprofile/op_model_avr32.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/arch/avr32/oprofile/op_model_avr32.c ++++ b/arch/avr32/oprofile/op_model_avr32.c  @@ -0,0 +1,234 @@  +/*  + * AVR32 Performance Counter Driver @@ -11847,11 +11751,9 @@ Index: linux-2.6.24.7/arch/avr32/oprofile/op_model_avr32.c  +{  +  +} -Index: linux-2.6.24.7/Documentation/kernel-parameters.txt -=================================================================== ---- linux-2.6.24.7.orig/Documentation/kernel-parameters.txt -+++ linux-2.6.24.7/Documentation/kernel-parameters.txt -@@ -34,6 +34,7 @@ parameter is applicable: +--- a/Documentation/kernel-parameters.txt ++++ b/Documentation/kernel-parameters.txt +@@ -34,6 +34,7 @@   	ALSA	ALSA sound support is enabled.   	APIC	APIC support is enabled.   	APM	Advanced Power Management support is enabled. @@ -11859,7 +11761,7 @@ Index: linux-2.6.24.7/Documentation/kernel-parameters.txt   	AX25	Appropriate AX.25 support is enabled.   	BLACKFIN Blackfin architecture is enabled.   	DRM	Direct Rendering Management support is enabled. -@@ -1124,6 +1125,10 @@ and is between 256 and 4096 characters.  +@@ -1124,6 +1125,10 @@   			of returning the full 64-bit number.   			The default is to return 64-bit inode numbers. @@ -11870,19 +11772,15 @@ Index: linux-2.6.24.7/Documentation/kernel-parameters.txt   	nmi_watchdog=	[KNL,BUGS=X86-32] Debugging features for SMP kernels   	no387		[BUGS=X86-32] Tells the kernel to use the 387 maths -Index: linux-2.6.24.7/drivers/clocksource/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/clocksource/Makefile -+++ linux-2.6.24.7/drivers/clocksource/Makefile +--- a/drivers/clocksource/Makefile ++++ b/drivers/clocksource/Makefile  @@ -1,3 +1,4 @@  +obj-$(CONFIG_ATMEL_TCB_CLKSRC)	+= tcb_clksrc.o   obj-$(CONFIG_X86_CYCLONE_TIMER)	+= cyclone.o   obj-$(CONFIG_X86_PM_TIMER)	+= acpi_pm.o   obj-$(CONFIG_SCx200HR_TIMER)	+= scx200_hrt.o -Index: linux-2.6.24.7/drivers/clocksource/tcb_clksrc.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/clocksource/tcb_clksrc.c ++++ b/drivers/clocksource/tcb_clksrc.c  @@ -0,0 +1,305 @@  +#include <linux/init.h>  +#include <linux/clocksource.h> @@ -12189,10 +12087,8 @@ Index: linux-2.6.24.7/drivers/clocksource/tcb_clksrc.c  +	return 0;  +}  +arch_initcall(tcb_clksrc_init); -Index: linux-2.6.24.7/drivers/i2c/busses/i2c-atmeltwi.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/i2c/busses/i2c-atmeltwi.c ++++ b/drivers/i2c/busses/i2c-atmeltwi.c  @@ -0,0 +1,436 @@  +/*  + * i2c Support for Atmel's Two-Wire Interface (TWI) @@ -12630,10 +12526,8 @@ Index: linux-2.6.24.7/drivers/i2c/busses/i2c-atmeltwi.c  +MODULE_AUTHOR("Espen Krangnes");  +MODULE_DESCRIPTION("I2C driver for Atmel TWI");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/drivers/i2c/busses/i2c-atmeltwi.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/i2c/busses/i2c-atmeltwi.h ++++ b/drivers/i2c/busses/i2c-atmeltwi.h  @@ -0,0 +1,117 @@  +/*  + * Register definitions for the Atmel Two-Wire Interface @@ -12752,11 +12646,9 @@ Index: linux-2.6.24.7/drivers/i2c/busses/i2c-atmeltwi.h  +	__raw_writel((value), (port)->regs + TWI_##reg)  +  +#endif /* __ATMELTWI_H__ */ -Index: linux-2.6.24.7/drivers/i2c/busses/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/i2c/busses/Kconfig -+++ linux-2.6.24.7/drivers/i2c/busses/Kconfig -@@ -88,6 +88,14 @@ config I2C_AT91 +--- a/drivers/i2c/busses/Kconfig ++++ b/drivers/i2c/busses/Kconfig +@@ -88,6 +88,14 @@   	  to support combined I2C messages.  Use the i2c-gpio driver   	  unless your system can cope with those limitations. @@ -12771,11 +12663,9 @@ Index: linux-2.6.24.7/drivers/i2c/busses/Kconfig   config I2C_AU1550   	tristate "Au1550/Au1200 SMBus interface"   	depends on SOC_AU1550 || SOC_AU1200 -Index: linux-2.6.24.7/drivers/i2c/busses/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/i2c/busses/Makefile -+++ linux-2.6.24.7/drivers/i2c/busses/Makefile -@@ -53,6 +53,7 @@ obj-$(CONFIG_I2C_VIAPRO)	+= i2c-viapro.o +--- a/drivers/i2c/busses/Makefile ++++ b/drivers/i2c/busses/Makefile +@@ -53,6 +53,7 @@   obj-$(CONFIG_I2C_VOODOO3)	+= i2c-voodoo3.o   obj-$(CONFIG_SCx200_ACB)	+= scx200_acb.o   obj-$(CONFIG_SCx200_I2C)	+= scx200_i2c.o @@ -12783,10 +12673,8 @@ Index: linux-2.6.24.7/drivers/i2c/busses/Makefile   ifeq ($(CONFIG_I2C_DEBUG_BUS),y)   EXTRA_CFLAGS += -DDEBUG -Index: linux-2.6.24.7/drivers/input/serio/at32psif.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/input/serio/at32psif.c ++++ b/drivers/input/serio/at32psif.c  @@ -0,0 +1,351 @@  +/*  + * Copyright (C) 2007 Atmel Corporation @@ -13139,10 +13027,8 @@ Index: linux-2.6.24.7/drivers/input/serio/at32psif.c  +MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>");  +MODULE_DESCRIPTION("Atmel AVR32 PSIF PS/2 driver");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/drivers/input/serio/at32psif.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/input/serio/at32psif.h ++++ b/drivers/input/serio/at32psif.h  @@ -0,0 +1,82 @@  +/*  + * Copyright (C) 2007 Atmel Corporation @@ -13226,11 +13112,9 @@ Index: linux-2.6.24.7/drivers/input/serio/at32psif.h  +	__raw_writel((value), (port)->regs + PSIF_##reg)  +  +#endif /* _AT32PSIF_H */ -Index: linux-2.6.24.7/drivers/input/serio/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/input/serio/Kconfig -+++ linux-2.6.24.7/drivers/input/serio/Kconfig -@@ -88,6 +88,17 @@ config SERIO_RPCKBD +--- a/drivers/input/serio/Kconfig ++++ b/drivers/input/serio/Kconfig +@@ -88,6 +88,17 @@   	  To compile this driver as a module, choose M here: the   	  module will be called rpckbd. @@ -13248,11 +13132,9 @@ Index: linux-2.6.24.7/drivers/input/serio/Kconfig   config SERIO_AMBAKMI   	tristate "AMBA KMI keyboard controller"   	depends on ARM_AMBA -Index: linux-2.6.24.7/drivers/input/serio/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/input/serio/Makefile -+++ linux-2.6.24.7/drivers/input/serio/Makefile -@@ -12,6 +12,7 @@ obj-$(CONFIG_SERIO_CT82C710)	+= ct82c710 +--- a/drivers/input/serio/Makefile ++++ b/drivers/input/serio/Makefile +@@ -12,6 +12,7 @@   obj-$(CONFIG_SERIO_RPCKBD)	+= rpckbd.o   obj-$(CONFIG_SERIO_SA1111)	+= sa1111ps2.o   obj-$(CONFIG_SERIO_AMBAKMI)	+= ambakmi.o @@ -13260,11 +13142,9 @@ Index: linux-2.6.24.7/drivers/input/serio/Makefile   obj-$(CONFIG_SERIO_Q40KBD)	+= q40kbd.o   obj-$(CONFIG_SERIO_GSCPS2)	+= gscps2.o   obj-$(CONFIG_HP_SDC)		+= hp_sdc.o -Index: linux-2.6.24.7/drivers/leds/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/leds/Kconfig -+++ linux-2.6.24.7/drivers/leds/Kconfig -@@ -18,6 +18,13 @@ config LEDS_CLASS +--- a/drivers/leds/Kconfig ++++ b/drivers/leds/Kconfig +@@ -18,6 +18,13 @@   comment "LED drivers" @@ -13278,10 +13158,8 @@ Index: linux-2.6.24.7/drivers/leds/Kconfig   config LEDS_CORGI   	tristate "LED Support for the Sharp SL-C7x0 series"   	depends on LEDS_CLASS && PXA_SHARP_C7xx -Index: linux-2.6.24.7/drivers/leds/leds-atmel-pwm.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/leds/leds-atmel-pwm.c ++++ b/drivers/leds/leds-atmel-pwm.c  @@ -0,0 +1,155 @@  +#include <linux/kernel.h>  +#include <linux/platform_device.h> @@ -13438,11 +13316,9 @@ Index: linux-2.6.24.7/drivers/leds/leds-atmel-pwm.c  +  +MODULE_DESCRIPTION("Driver for LEDs with PWM-controlled brightness");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/drivers/leds/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/leds/Makefile -+++ linux-2.6.24.7/drivers/leds/Makefile -@@ -5,6 +5,7 @@ obj-$(CONFIG_LEDS_CLASS)		+= led-class.o +--- a/drivers/leds/Makefile ++++ b/drivers/leds/Makefile +@@ -5,6 +5,7 @@   obj-$(CONFIG_LEDS_TRIGGERS)		+= led-triggers.o   # LED Platform Drivers @@ -13450,10 +13326,8 @@ Index: linux-2.6.24.7/drivers/leds/Makefile   obj-$(CONFIG_LEDS_CORGI)		+= leds-corgi.o   obj-$(CONFIG_LEDS_LOCOMO)		+= leds-locomo.o   obj-$(CONFIG_LEDS_SPITZ)		+= leds-spitz.o -Index: linux-2.6.24.7/drivers/misc/atmel_pwm.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/misc/atmel_pwm.c ++++ b/drivers/misc/atmel_pwm.c  @@ -0,0 +1,409 @@  +#include <linux/module.h>  +#include <linux/clk.h> @@ -13864,10 +13738,8 @@ Index: linux-2.6.24.7/drivers/misc/atmel_pwm.c  +  +MODULE_DESCRIPTION("Driver for AT32/AT91 PWM module");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/drivers/misc/atmel_tclib.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/misc/atmel_tclib.c ++++ b/drivers/misc/atmel_tclib.c  @@ -0,0 +1,161 @@  +#include <linux/atmel_tc.h>  +#include <linux/clk.h> @@ -14030,11 +13902,9 @@ Index: linux-2.6.24.7/drivers/misc/atmel_tclib.c  +	return platform_driver_probe(&tc_driver, tc_probe);  +}  +arch_initcall(tc_init); -Index: linux-2.6.24.7/drivers/misc/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/misc/Kconfig -+++ linux-2.6.24.7/drivers/misc/Kconfig -@@ -13,6 +13,48 @@ menuconfig MISC_DEVICES +--- a/drivers/misc/Kconfig ++++ b/drivers/misc/Kconfig +@@ -13,6 +13,48 @@   if MISC_DEVICES @@ -14083,11 +13953,9 @@ Index: linux-2.6.24.7/drivers/misc/Kconfig   config IBM_ASM   	tristate "Device driver for IBM RSA service processor"   	depends on X86 && PCI && INPUT && EXPERIMENTAL -Index: linux-2.6.24.7/drivers/misc/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/misc/Makefile -+++ linux-2.6.24.7/drivers/misc/Makefile -@@ -7,7 +7,9 @@ obj-$(CONFIG_IBM_ASM)		+= ibmasm/ +--- a/drivers/misc/Makefile ++++ b/drivers/misc/Makefile +@@ -7,7 +7,9 @@   obj-$(CONFIG_HDPU_FEATURES)	+= hdpuftrs/   obj-$(CONFIG_MSI_LAPTOP)     += msi-laptop.o   obj-$(CONFIG_ASUS_LAPTOP)     += asus-laptop.o @@ -14097,10 +13965,8 @@ Index: linux-2.6.24.7/drivers/misc/Makefile   obj-$(CONFIG_LKDTM)		+= lkdtm.o   obj-$(CONFIG_TIFM_CORE)       	+= tifm_core.o   obj-$(CONFIG_TIFM_7XX1)       	+= tifm_7xx1.o -Index: linux-2.6.24.7/drivers/mmc/host/atmel-mci.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/mmc/host/atmel-mci.c ++++ b/drivers/mmc/host/atmel-mci.c  @@ -0,0 +1,1220 @@  +/*  + * Atmel MultiMedia Card Interface driver @@ -15322,10 +15188,8 @@ Index: linux-2.6.24.7/drivers/mmc/host/atmel-mci.c  +  +MODULE_DESCRIPTION("Atmel Multimedia Card Interface driver");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/drivers/mmc/host/atmel-mci.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/mmc/host/atmel-mci.h ++++ b/drivers/mmc/host/atmel-mci.h  @@ -0,0 +1,192 @@  +/*  + * Atmel MultiMedia Card Interface driver @@ -15519,11 +15383,9 @@ Index: linux-2.6.24.7/drivers/mmc/host/atmel-mci.h  +	__raw_writel((value), (port)->regs + MCI_##reg)  +  +#endif /* __DRIVERS_MMC_ATMEL_MCI_H__ */ -Index: linux-2.6.24.7/drivers/mmc/host/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/mmc/host/Kconfig -+++ linux-2.6.24.7/drivers/mmc/host/Kconfig -@@ -91,6 +91,16 @@ config MMC_AT91 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -91,6 +91,16 @@   	  If unsure, say N. @@ -15540,11 +15402,9 @@ Index: linux-2.6.24.7/drivers/mmc/host/Kconfig   config MMC_IMX   	tristate "Motorola i.MX Multimedia Card Interface support"   	depends on ARCH_IMX -Index: linux-2.6.24.7/drivers/mmc/host/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/mmc/host/Makefile -+++ linux-2.6.24.7/drivers/mmc/host/Makefile -@@ -15,6 +15,7 @@ obj-$(CONFIG_MMC_WBSD)		+= wbsd.o +--- a/drivers/mmc/host/Makefile ++++ b/drivers/mmc/host/Makefile +@@ -15,6 +15,7 @@   obj-$(CONFIG_MMC_AU1X)		+= au1xmmc.o   obj-$(CONFIG_MMC_OMAP)		+= omap.o   obj-$(CONFIG_MMC_AT91)		+= at91_mci.o @@ -15552,10 +15412,8 @@ Index: linux-2.6.24.7/drivers/mmc/host/Makefile   obj-$(CONFIG_MMC_TIFM_SD)	+= tifm_sd.o   obj-$(CONFIG_MMC_SPI)		+= mmc_spi.o -Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0001.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/mtd/chips/cfi_cmdset_0001.c -+++ linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0001.c +--- a/drivers/mtd/chips/cfi_cmdset_0001.c ++++ b/drivers/mtd/chips/cfi_cmdset_0001.c  @@ -50,6 +50,7 @@   #define I82802AC	0x00ac   #define MANUFACTURER_ST         0x0020 @@ -15564,7 +15422,7 @@ Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0001.c   static int cfi_intelext_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);   static int cfi_intelext_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -157,6 +158,47 @@ static void cfi_tell_features(struct cfi +@@ -157,6 +158,47 @@   }   #endif @@ -15612,7 +15470,7 @@ Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0001.c   #ifdef CMDSET0001_DISABLE_ERASE_SUSPEND_ON_WRITE   /* Some Intel Strata Flash prior to FPO revision C has bugs in this area */   static void fixup_intel_strataflash(struct mtd_info *mtd, void* param) -@@ -234,6 +276,7 @@ static void fixup_use_powerup_lock(struc +@@ -234,6 +276,7 @@   }   static struct cfi_fixup cfi_fixup_table[] = { @@ -15620,11 +15478,9 @@ Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0001.c   #ifdef CMDSET0001_DISABLE_ERASE_SUSPEND_ON_WRITE   	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_intel_strataflash, NULL },   #endif -Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0002.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/mtd/chips/cfi_cmdset_0002.c -+++ linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -186,6 +186,10 @@ static void fixup_convert_atmel_pri(stru +--- a/drivers/mtd/chips/cfi_cmdset_0002.c ++++ b/drivers/mtd/chips/cfi_cmdset_0002.c +@@ -186,6 +186,10 @@   		extp->TopBottom = 2;   	else   		extp->TopBottom = 3; @@ -15635,7 +15491,7 @@ Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0002.c   }   static void fixup_use_secsi(struct mtd_info *mtd, void *param) -@@ -218,6 +222,7 @@ static void fixup_use_atmel_lock(struct  +@@ -218,6 +222,7 @@   }   static struct cfi_fixup cfi_fixup_table[] = { @@ -15643,7 +15499,7 @@ Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0002.c   #ifdef AMD_BOOTLOC_BUG   	{ CFI_MFR_AMD, CFI_ID_ANY, fixup_amd_bootblock, NULL },   #endif -@@ -230,7 +235,6 @@ static struct cfi_fixup cfi_fixup_table[ +@@ -230,7 +235,6 @@   #if !FORCE_WORD_WRITE   	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, },   #endif @@ -15651,10 +15507,8 @@ Index: linux-2.6.24.7/drivers/mtd/chips/cfi_cmdset_0002.c   	{ 0, 0, NULL, NULL }   };   static struct cfi_fixup jedec_fixup_table[] = { -Index: linux-2.6.24.7/drivers/pcmcia/at32_cf.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/drivers/pcmcia/at32_cf.c ++++ b/drivers/pcmcia/at32_cf.c  @@ -0,0 +1,533 @@  +/*  + * Driver for AVR32 Static Memory Controller: CompactFlash support @@ -16189,11 +16043,9 @@ Index: linux-2.6.24.7/drivers/pcmcia/at32_cf.c  +MODULE_LICENSE("GPL");  +MODULE_DESCRIPTION("Driver for SMC PCMCIA interface");  +MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>"); -Index: linux-2.6.24.7/drivers/pcmcia/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/pcmcia/Kconfig -+++ linux-2.6.24.7/drivers/pcmcia/Kconfig -@@ -276,6 +276,13 @@ config ELECTRA_CF +--- a/drivers/pcmcia/Kconfig ++++ b/drivers/pcmcia/Kconfig +@@ -276,6 +276,13 @@   	  Say Y here to support the CompactFlash controller on the   	  PA Semi Electra eval board. @@ -16207,11 +16059,9 @@ Index: linux-2.6.24.7/drivers/pcmcia/Kconfig   config PCCARD_NONSTATIC   	tristate -Index: linux-2.6.24.7/drivers/pcmcia/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/pcmcia/Makefile -+++ linux-2.6.24.7/drivers/pcmcia/Makefile -@@ -38,6 +38,7 @@ obj-$(CONFIG_PCMCIA_VRC4173)			+= vrc417 +--- a/drivers/pcmcia/Makefile ++++ b/drivers/pcmcia/Makefile +@@ -38,6 +38,7 @@   obj-$(CONFIG_OMAP_CF)				+= omap_cf.o   obj-$(CONFIG_AT91_CF)				+= at91_cf.o   obj-$(CONFIG_ELECTRA_CF)			+= electra_cf.o @@ -16219,10 +16069,8 @@ Index: linux-2.6.24.7/drivers/pcmcia/Makefile   sa11xx_core-y					+= soc_common.o sa11xx_base.o   pxa2xx_core-y					+= soc_common.o pxa2xx_base.o -Index: linux-2.6.24.7/drivers/serial/atmel_serial.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/serial/atmel_serial.c -+++ linux-2.6.24.7/drivers/serial/atmel_serial.c +--- a/drivers/serial/atmel_serial.c ++++ b/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. @@ -16297,7 +16145,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   /*    * We wrap our port structure around the generic uart_port.    */ -@@ -115,6 +132,19 @@ struct atmel_uart_port { +@@ -115,6 +132,19 @@   	struct clk		*clk;		/* uart clock */   	unsigned short		suspended;	/* is port suspended? */   	int			break_active;	/* break being received */ @@ -16317,7 +16165,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   };   static struct atmel_uart_port atmel_ports[ATMEL_MAX_UART]; -@@ -123,6 +153,38 @@ static struct atmel_uart_port atmel_port +@@ -123,6 +153,38 @@   static struct console atmel_console;   #endif @@ -16356,7 +16204,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   /*    * Return TIOCSER_TEMT when transmitter FIFO and Shift register is empty.    */ -@@ -142,8 +204,8 @@ static void atmel_set_mctrl(struct uart_ +@@ -142,8 +204,8 @@   #ifdef CONFIG_ARCH_AT91RM9200   	if (cpu_is_at91rm9200()) {   		/* @@ -16367,7 +16215,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   		 */   		if (port->mapbase == AT91RM9200_BASE_US0) {   			if (mctrl & TIOCM_RTS) -@@ -204,7 +266,12 @@ static u_int atmel_get_mctrl(struct uart +@@ -204,7 +266,12 @@    */   static void atmel_stop_tx(struct uart_port *port)   { @@ -16381,7 +16229,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -212,7 +279,17 @@ static void atmel_stop_tx(struct uart_po +@@ -212,7 +279,17 @@    */   static void atmel_start_tx(struct uart_port *port)   { @@ -16400,7 +16248,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -220,7 +297,12 @@ static void atmel_start_tx(struct uart_p +@@ -220,7 +297,12 @@    */   static void atmel_stop_rx(struct uart_port *port)   { @@ -16414,7 +16262,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -228,7 +310,8 @@ static void atmel_stop_rx(struct uart_po +@@ -228,7 +310,8 @@    */   static void atmel_enable_ms(struct uart_port *port)   { @@ -16424,7 +16272,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -243,22 +326,63 @@ static void atmel_break_ctl(struct uart_ +@@ -243,22 +326,63 @@   }   /* @@ -16495,7 +16343,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   		/*   		 * note that the error handling code is   		 * out of the main execution path -@@ -266,15 +390,14 @@ static void atmel_rx_chars(struct uart_p +@@ -266,15 +390,14 @@   		if (unlikely(status & (ATMEL_US_PARE | ATMEL_US_FRAME   				       | ATMEL_US_OVRE | ATMEL_US_RXBRK)   			     || atmel_port->break_active)) { @@ -16515,7 +16363,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   			} else {   				/*   				 * This is either the end-of-break -@@ -287,52 +410,30 @@ static void atmel_rx_chars(struct uart_p +@@ -287,52 +410,30 @@   				status &= ~ATMEL_US_RXBRK;   				atmel_port->break_active = 0;   			} @@ -16574,7 +16422,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	while (UART_GET_CSR(port) & ATMEL_US_TXRDY) {   		UART_PUT_CHAR(port, xmit->buf[xmit->tail]); -@@ -345,8 +446,88 @@ static void atmel_tx_chars(struct uart_p +@@ -345,8 +446,88 @@   	if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)   		uart_write_wakeup(port); @@ -16665,7 +16513,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -355,47 +536,255 @@ static void atmel_tx_chars(struct uart_p +@@ -355,47 +536,255 @@   static irqreturn_t atmel_interrupt(int irq, void *dev_id)   {   	struct uart_port *port = dev_id; @@ -16951,7 +16799,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -403,6 +792,8 @@ static irqreturn_t atmel_interrupt(int i +@@ -403,6 +792,8 @@    */   static int atmel_startup(struct uart_port *port)   { @@ -16960,7 +16808,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	int retval;   	/* -@@ -415,13 +806,64 @@ static int atmel_startup(struct uart_por +@@ -415,13 +806,64 @@   	/*   	 * Allocate the IRQ   	 */ @@ -17026,7 +16874,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	 * If there is a specific "open" function (to register   	 * control line interrupts)   	 */ -@@ -437,9 +879,21 @@ static int atmel_startup(struct uart_por +@@ -437,9 +879,21 @@   	 * Finally, enable the serial port   	 */   	UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX); @@ -17050,7 +16898,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	return 0;   } -@@ -449,6 +903,38 @@ static int atmel_startup(struct uart_por +@@ -449,6 +903,38 @@    */   static void atmel_shutdown(struct uart_port *port)   { @@ -17089,7 +16937,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	/*   	 * Disable all interrupts, port and break condition.   	 */ -@@ -471,45 +957,48 @@ static void atmel_shutdown(struct uart_p +@@ -471,45 +957,48 @@   /*    * Power / Clock management.    */ @@ -17160,7 +17008,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   		quot /= 8;   		mode |= ATMEL_US_USCLKS_MCK_DIV8;   	} -@@ -536,18 +1025,17 @@ static void atmel_set_termios(struct uar +@@ -536,18 +1025,17 @@   	/* parity */   	if (termios->c_cflag & PARENB) { @@ -17183,7 +17031,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   		mode |= ATMEL_US_PAR_NONE;   	spin_lock_irqsave(&port->lock, flags); -@@ -558,6 +1046,10 @@ static void atmel_set_termios(struct uar +@@ -558,6 +1046,10 @@   	if (termios->c_iflag & (BRKINT | PARMRK))   		port->read_status_mask |= ATMEL_US_RXBRK; @@ -17194,7 +17042,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	/*   	 * Characters to ignore   	 */ -@@ -573,16 +1065,16 @@ static void atmel_set_termios(struct uar +@@ -573,16 +1065,16 @@   		if (termios->c_iflag & IGNPAR)   			port->ignore_status_mask |= ATMEL_US_OVRE;   	} @@ -17217,7 +17065,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	/* disable receiver and transmitter */   	UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS); -@@ -708,7 +1200,8 @@ static struct uart_ops atmel_pops = { +@@ -708,7 +1200,8 @@   /*    * Configure the port from the platform device resource info.    */ @@ -17227,7 +17075,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   {   	struct uart_port *port = &atmel_port->uart;   	struct atmel_uart_data *data = pdev->dev.platform_data; -@@ -723,6 +1216,11 @@ static void __devinit atmel_init_port(st +@@ -723,6 +1216,11 @@   	port->mapbase	= pdev->resource[0].start;   	port->irq	= pdev->resource[1].start; @@ -17239,7 +17087,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	if (data->regs)   		/* Already mapped by setup code */   		port->membase = data->regs; -@@ -731,11 +1229,17 @@ static void __devinit atmel_init_port(st +@@ -731,11 +1229,17 @@   		port->membase	= NULL;   	} @@ -17258,7 +17106,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   }   /* -@@ -755,12 +1259,11 @@ void __init atmel_register_uart_fns(stru +@@ -755,12 +1259,11 @@   	atmel_pops.set_wake	= fns->set_wake;   } @@ -17272,7 +17120,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	UART_PUT_CHAR(port, ch);   } -@@ -773,38 +1276,40 @@ static void atmel_console_write(struct c +@@ -773,38 +1276,40 @@   	unsigned int status, imr;   	/* @@ -17328,7 +17176,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	mr = UART_GET_MR(port) & ATMEL_US_CHRL;   	if (mr == ATMEL_US_CHRL_8) -@@ -824,7 +1329,6 @@ static void __init atmel_console_get_opt +@@ -824,7 +1329,6 @@   	 * lower than one of those, as it would make us fall through   	 * to a much lower baud rate than we really want.   	 */ @@ -17336,7 +17184,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	*baud = port->uartclk / (16 * (quot - 1));   } -@@ -836,10 +1340,12 @@ static int __init atmel_console_setup(st +@@ -836,10 +1340,12 @@   	int parity = 'n';   	int flow = 'n'; @@ -17351,7 +17199,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX);   	UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN); -@@ -871,13 +1377,16 @@ static struct console atmel_console = { +@@ -871,13 +1377,16 @@   static int __init atmel_console_init(void)   {   	if (atmel_default_console_device) { @@ -17370,7 +17218,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   console_initcall(atmel_console_init);   /* -@@ -885,34 +1394,48 @@ console_initcall(atmel_console_init); +@@ -885,34 +1394,48 @@    */   static int __init atmel_late_console_init(void)   { @@ -17430,7 +17278,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   		enable_irq_wake(port->irq);   	else {   		uart_suspend_port(&atmel_uart, port); -@@ -925,13 +1448,12 @@ static int atmel_serial_suspend(struct p +@@ -925,13 +1448,12 @@   static int atmel_serial_resume(struct platform_device *pdev)   {   	struct uart_port *port = platform_get_drvdata(pdev); @@ -17446,7 +17294,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   		disable_irq_wake(port->irq);   	return 0; -@@ -944,15 +1466,40 @@ static int atmel_serial_resume(struct pl +@@ -944,15 +1466,40 @@   static int __devinit atmel_serial_probe(struct platform_device *pdev)   {   	struct atmel_uart_port *port; @@ -17490,7 +17338,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	}   	return ret; -@@ -961,19 +1508,21 @@ static int __devinit atmel_serial_probe( +@@ -961,19 +1508,21 @@   static int __devexit atmel_serial_remove(struct platform_device *pdev)   {   	struct uart_port *port = platform_get_drvdata(pdev); @@ -17520,9 +17368,7 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.c   	return ret;   } -Index: linux-2.6.24.7/drivers/serial/atmel_serial.h -=================================================================== ---- linux-2.6.24.7.orig/drivers/serial/atmel_serial.h +--- a/drivers/serial/atmel_serial.h  +++ /dev/null  @@ -1,127 +0,0 @@  -/* @@ -17652,11 +17498,9 @@ Index: linux-2.6.24.7/drivers/serial/atmel_serial.h  -#define ATMEL_US_IF		0x4c			/* IrDA Filter Register */  -  -#endif -Index: linux-2.6.24.7/drivers/serial/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/serial/Kconfig -+++ linux-2.6.24.7/drivers/serial/Kconfig -@@ -380,6 +380,21 @@ config SERIAL_ATMEL_CONSOLE +--- a/drivers/serial/Kconfig ++++ b/drivers/serial/Kconfig +@@ -380,6 +380,21 @@   	  console is the device which receives all kernel messages and   	  warnings and which allows logins in single user mode). @@ -17678,11 +17522,9 @@ Index: linux-2.6.24.7/drivers/serial/Kconfig   config SERIAL_ATMEL_TTYAT   	bool "Install as device ttyATn instead of ttySn"   	depends on SERIAL_ATMEL=y -Index: linux-2.6.24.7/drivers/spi/atmel_spi.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/spi/atmel_spi.c -+++ linux-2.6.24.7/drivers/spi/atmel_spi.c -@@ -51,7 +51,9 @@ struct atmel_spi { +--- a/drivers/spi/atmel_spi.c ++++ b/drivers/spi/atmel_spi.c +@@ -51,7 +51,9 @@   	u8			stopping;   	struct list_head	queue;   	struct spi_transfer	*current_transfer; @@ -17693,7 +17535,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   	void			*buffer;   	dma_addr_t		buffer_dma; -@@ -113,6 +115,16 @@ static void cs_deactivate(struct atmel_s +@@ -113,6 +115,16 @@   	unsigned gpio = (unsigned) spi->controller_data;   	unsigned active = spi->mode & SPI_CS_HIGH;   	u32 mr; @@ -17710,7 +17552,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   	/* only deactivate *this* device; sometimes transfers to   	 * another device may be active when this routine is called. -@@ -131,6 +143,48 @@ static void cs_deactivate(struct atmel_s +@@ -131,6 +143,48 @@   		gpio_set_value(gpio, !active);   } @@ -17759,7 +17601,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   /*    * Submit next transfer for DMA.    * lock is held, spi irq is blocked -@@ -140,53 +194,78 @@ static void atmel_spi_next_xfer(struct s +@@ -140,53 +194,78 @@   {   	struct atmel_spi	*as = spi_master_get_devdata(master);   	struct spi_transfer	*xfer; @@ -17877,7 +17719,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   	 * transfer because we need to handle some difficult timing   	 * issues otherwise. If we wait for ENDTX in one transfer and   	 * then starts waiting for ENDRX in the next, it's difficult -@@ -196,17 +275,7 @@ static void atmel_spi_next_xfer(struct s +@@ -196,17 +275,7 @@   	 *   	 * It should be doable, though. Just not now...   	 */ @@ -17895,7 +17737,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   	spi_writel(as, PTCR, SPI_BIT(TXTEN) | SPI_BIT(RXTEN));   } -@@ -304,6 +373,7 @@ atmel_spi_msg_done(struct spi_master *ma +@@ -304,6 +373,7 @@   	spin_lock(&as->lock);   	as->current_transfer = NULL; @@ -17903,7 +17745,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   	/* continue if needed */   	if (list_empty(&as->queue) || as->stopping) -@@ -387,7 +457,7 @@ atmel_spi_interrupt(int irq, void *dev_i +@@ -387,7 +457,7 @@   		spi_writel(as, IDR, pending); @@ -17912,7 +17754,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   			msg->actual_length += xfer->len;   			if (!msg->is_dma_mapped) -@@ -397,7 +467,7 @@ atmel_spi_interrupt(int irq, void *dev_i +@@ -397,7 +467,7 @@   			if (xfer->delay_usecs)   				udelay(xfer->delay_usecs); @@ -17921,7 +17763,7 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   				/* report completed message */   				atmel_spi_msg_done(master, as, msg, 0,   						xfer->cs_change); -@@ -500,9 +570,14 @@ static int atmel_spi_setup(struct spi_de +@@ -500,9 +570,14 @@   	if (!(spi->mode & SPI_CPHA))   		csr |= SPI_BIT(NCPHA); @@ -17939,10 +17781,8 @@ Index: linux-2.6.24.7/drivers/spi/atmel_spi.c   	/* chipselect must have been muxed as GPIO (e.g. in board setup) */   	npcs_pin = (unsigned int)spi->controller_data; -Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/usb/gadget/atmel_usba_udc.c -+++ linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c +--- a/drivers/usb/gadget/atmel_usba_udc.c ++++ b/drivers/usb/gadget/atmel_usba_udc.c  @@ -18,6 +18,7 @@   #include <linux/platform_device.h>   #include <linux/usb/ch9.h> @@ -17959,7 +17799,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   #ifdef CONFIG_USB_GADGET_DEBUG_FS   #include <linux/debugfs.h> -@@ -324,53 +326,6 @@ static int vbus_is_present(struct usba_u +@@ -324,53 +326,6 @@   	return 1;   } @@ -18013,7 +17853,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)   {   	unsigned int transaction_len; -@@ -387,7 +342,7 @@ static void next_fifo_transaction(struct +@@ -387,7 +342,7 @@   		ep->ep.name, req, transaction_len,   		req->last_transaction ? ", done" : ""); @@ -18022,7 +17862,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   	usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);   	req->req.actual += transaction_len;   } -@@ -476,7 +431,7 @@ static void receive_data(struct usba_ep  +@@ -476,7 +431,7 @@   			bytecount = req->req.length - req->req.actual;   		} @@ -18031,7 +17871,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   				ep->fifo, bytecount);   		req->req.actual += bytecount; -@@ -1029,33 +984,6 @@ static const struct usb_gadget_ops usba_ +@@ -1029,33 +984,6 @@   	.set_selfpowered	= usba_udc_set_selfpowered,   }; @@ -18065,7 +17905,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   static struct usb_endpoint_descriptor usba_ep0_desc = {   	.bLength = USB_DT_ENDPOINT_SIZE,   	.bDescriptorType = USB_DT_ENDPOINT, -@@ -1074,7 +1002,6 @@ static void nop_release(struct device *d +@@ -1074,7 +1002,6 @@   static struct usba_udc the_udc = {   	.gadget	= {   		.ops		= &usba_udc_ops, @@ -18073,7 +17913,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		.ep_list	= LIST_HEAD_INIT(the_udc.gadget.ep_list),   		.is_dualspeed	= 1,   		.name		= "atmel_usba_udc", -@@ -1231,7 +1158,7 @@ static int do_test_mode(struct usba_udc  +@@ -1231,7 +1158,7 @@   		} else {   			usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);   			usba_writel(udc, TST, USBA_TST_PKT_MODE); @@ -18082,7 +17922,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   					sizeof(test_packet_buffer));   			usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);   			dev_info(dev, "Entering Test_Packet mode...\n"); -@@ -1539,7 +1466,7 @@ restart: +@@ -1539,7 +1466,7 @@   		}   		DBG(DBG_FIFO, "Copying ctrl request from 0x%p:\n", ep->fifo); @@ -18091,7 +17931,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		/* Free up one bank in the FIFO so that we can   		 * generate or receive a reply right away. */ -@@ -1911,7 +1838,7 @@ static int __init usba_udc_probe(struct  +@@ -1911,7 +1838,7 @@   	regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);   	fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID); @@ -18100,7 +17940,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		return -ENXIO;   	irq = platform_get_irq(pdev, 0); -@@ -1959,16 +1886,44 @@ static int __init usba_udc_probe(struct  +@@ -1959,16 +1886,44 @@   	usba_writel(udc, CTRL, 0);   	clk_disable(pclk); @@ -18146,7 +17986,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);   	} -@@ -1987,7 +1942,7 @@ static int __init usba_udc_probe(struct  +@@ -1987,7 +1942,7 @@   		goto err_device_add;   	} @@ -18155,7 +17995,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {   			udc->vbus_pin = pdata->vbus_pin; -@@ -2007,7 +1962,7 @@ static int __init usba_udc_probe(struct  +@@ -2007,7 +1962,7 @@   	}   	usba_init_debugfs(udc); @@ -18164,7 +18004,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		usba_ep_init_debugfs(udc, &usba_ep[i]);   	return 0; -@@ -2015,6 +1970,8 @@ static int __init usba_udc_probe(struct  +@@ -2015,6 +1970,8 @@   err_device_add:   	free_irq(irq, udc);   err_request_irq: @@ -18173,7 +18013,7 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   	iounmap(udc->fifo);   err_map_fifo:   	iounmap(udc->regs); -@@ -2032,10 +1989,11 @@ static int __exit usba_udc_remove(struct +@@ -2032,10 +1989,11 @@   {   	struct usba_udc *udc;   	int i; @@ -18186,10 +18026,8 @@ Index: linux-2.6.24.7/drivers/usb/gadget/atmel_usba_udc.c   		usba_ep_cleanup_debugfs(&usba_ep[i]);   	usba_cleanup_debugfs(udc); -Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/video/atmel_lcdfb.c -+++ linux-2.6.24.7/drivers/video/atmel_lcdfb.c +--- a/drivers/video/atmel_lcdfb.c ++++ b/drivers/video/atmel_lcdfb.c  @@ -16,6 +16,7 @@   #include <linux/fb.h>   #include <linux/init.h> @@ -18209,7 +18047,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo,   					struct fb_var_screeninfo *var) -@@ -69,12 +72,113 @@ static void atmel_lcdfb_update_dma2d(str +@@ -69,12 +72,113 @@   }   #endif @@ -18324,7 +18162,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	.ywrapstep	= 0,   	.accel		= FB_ACCEL_NONE,   }; -@@ -148,6 +252,8 @@ static int atmel_lcdfb_alloc_video_memor +@@ -148,6 +252,8 @@   		return -ENOMEM;   	} @@ -18333,7 +18171,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	return 0;   } -@@ -203,6 +309,26 @@ static int atmel_lcdfb_check_var(struct  +@@ -203,6 +309,26 @@   	var->transp.offset = var->transp.length = 0;   	var->xoffset = var->yoffset = 0; @@ -18360,7 +18198,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	switch (var->bits_per_pixel) {   	case 1:   	case 2: -@@ -370,10 +496,6 @@ static int atmel_lcdfb_set_par(struct fb +@@ -370,10 +496,6 @@   	/* Disable all interrupts */   	lcdc_writel(sinfo, ATMEL_LCDC_IDR, ~0UL); @@ -18371,7 +18209,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	/* ...wait for DMA engine to become idle... */   	while (lcdc_readl(sinfo, ATMEL_LCDC_DMACON) & ATMEL_LCDC_DMABUSY)   		msleep(10); -@@ -516,7 +638,6 @@ static int __init atmel_lcdfb_init_fbinf +@@ -516,7 +638,6 @@   	struct fb_info *info = sinfo->info;   	int ret = 0; @@ -18379,7 +18217,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW;   	dev_info(info->device, -@@ -577,6 +698,7 @@ static int __init atmel_lcdfb_probe(stru +@@ -577,6 +698,7 @@   		sinfo->default_monspecs = pdata_sinfo->default_monspecs;   		sinfo->atmel_lcdfb_power_control = pdata_sinfo->atmel_lcdfb_power_control;   		sinfo->guard_time = pdata_sinfo->guard_time; @@ -18387,7 +18225,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	} else {   		dev_err(dev, "cannot get default configuration\n");   		goto free_info; -@@ -645,6 +767,11 @@ static int __init atmel_lcdfb_probe(stru +@@ -645,6 +767,11 @@   		info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);   		if (!info->screen_base)   			goto release_intmem; @@ -18399,7 +18237,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	} else {   		/* alocate memory buffer */   		ret = atmel_lcdfb_alloc_video_memory(sinfo); -@@ -670,6 +797,9 @@ static int __init atmel_lcdfb_probe(stru +@@ -670,6 +797,9 @@   		goto release_mem;   	} @@ -18409,7 +18247,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	/* interrupt */   	ret = request_irq(sinfo->irq_base, atmel_lcdfb_interrupt, 0, pdev->name, info);   	if (ret) { -@@ -721,6 +851,7 @@ free_cmap: +@@ -721,6 +851,7 @@   unregister_irqs:   	free_irq(sinfo->irq_base, info);   unmap_mmio: @@ -18417,7 +18255,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	iounmap(sinfo->mmio);   release_mem:    	release_mem_region(info->fix.mmio_start, info->fix.mmio_len); -@@ -755,6 +886,7 @@ static int __exit atmel_lcdfb_remove(str +@@ -755,6 +886,7 @@   	if (!sinfo)   		return 0; @@ -18425,7 +18263,7 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	if (sinfo->atmel_lcdfb_power_control)   		sinfo->atmel_lcdfb_power_control(0);   	unregister_framebuffer(info); -@@ -781,6 +913,9 @@ static int __exit atmel_lcdfb_remove(str +@@ -781,6 +913,9 @@   static struct platform_driver atmel_lcdfb_driver = {   	.remove		= __exit_p(atmel_lcdfb_remove), @@ -18435,11 +18273,9 @@ Index: linux-2.6.24.7/drivers/video/atmel_lcdfb.c   	.driver		= {   		.name	= "atmel_lcdfb",   		.owner	= THIS_MODULE, -Index: linux-2.6.24.7/drivers/video/backlight/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/video/backlight/Kconfig -+++ linux-2.6.24.7/drivers/video/backlight/Kconfig -@@ -50,6 +50,19 @@ config BACKLIGHT_CLASS_DEVICE +--- a/drivers/video/backlight/Kconfig ++++ b/drivers/video/backlight/Kconfig +@@ -50,6 +50,19 @@   	  To have support for your specific LCD panel you will have to   	  select the proper drivers which depend on this option. @@ -18459,11 +18295,9 @@ Index: linux-2.6.24.7/drivers/video/backlight/Kconfig   config BACKLIGHT_CORGI   	tristate "Generic (aka Sharp Corgi) Backlight Driver"   	depends on BACKLIGHT_CLASS_DEVICE -Index: linux-2.6.24.7/drivers/video/console/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/video/console/Kconfig -+++ linux-2.6.24.7/drivers/video/console/Kconfig -@@ -6,7 +6,7 @@ menu "Console display driver support" +--- a/drivers/video/console/Kconfig ++++ b/drivers/video/console/Kconfig +@@ -6,7 +6,7 @@   config VGA_CONSOLE   	bool "VGA text console" if EMBEDDED || !X86 @@ -18472,11 +18306,9 @@ Index: linux-2.6.24.7/drivers/video/console/Kconfig   	default y   	help   	  Saying Y here will allow you to use Linux in text mode through a -Index: linux-2.6.24.7/drivers/watchdog/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/watchdog/Kconfig -+++ linux-2.6.24.7/drivers/watchdog/Kconfig -@@ -223,7 +223,7 @@ config DAVINCI_WATCHDOG +--- a/drivers/watchdog/Kconfig ++++ b/drivers/watchdog/Kconfig +@@ -223,7 +223,7 @@   config AT32AP700X_WDT   	tristate "AT32AP700x watchdog" @@ -18485,9 +18317,7 @@ Index: linux-2.6.24.7/drivers/watchdog/Kconfig   	help   	  Watchdog timer embedded into AT32AP700x devices. This will reboot   	  your system when the timeout is reached. -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/at32ap7000.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/arch-at32ap/at32ap7000.h +--- a/include/asm-avr32/arch-at32ap/at32ap7000.h  +++ /dev/null  @@ -1,35 +0,0 @@  -/* @@ -18525,10 +18355,8 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/at32ap7000.h  -#define GPIO_PIN_PE(N)	(GPIO_PIOE_BASE + (N))  -  -#endif /* __ASM_ARCH_AT32AP7000_H__ */ -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/at32ap700x.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/asm-avr32/arch-at32ap/at32ap700x.h ++++ b/include/asm-avr32/arch-at32ap/at32ap700x.h  @@ -0,0 +1,35 @@  +/*  + * Pin definitions for AT32AP7000. @@ -18565,11 +18393,9 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/at32ap700x.h  +#define GPIO_PIN_PE(N)	(GPIO_PIOE_BASE + (N))  +  +#endif /* __ASM_ARCH_AT32AP700X_H__ */ -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/board.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/arch-at32ap/board.h -+++ linux-2.6.24.7/include/asm-avr32/arch-at32ap/board.h -@@ -38,9 +38,7 @@ struct platform_device * +--- a/include/asm-avr32/arch-at32ap/board.h ++++ b/include/asm-avr32/arch-at32ap/board.h +@@ -38,9 +38,7 @@   at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,   		     unsigned long fbmem_start, unsigned long fbmem_len); @@ -18580,7 +18406,7 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/board.h   struct platform_device *   at32_add_device_usba(unsigned int id, struct usba_platform_data *data); -@@ -51,6 +49,9 @@ struct platform_device * +@@ -51,6 +49,9 @@   at32_add_device_ide(unsigned int id, unsigned int extint,   		    struct ide_platform_data *data); @@ -18590,7 +18416,7 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/board.h   /* depending on what's hooked up, not all SSC pins will be used */   #define	ATMEL_SSC_TK		0x01   #define	ATMEL_SSC_TF		0x02 -@@ -65,8 +66,17 @@ at32_add_device_ide(unsigned int id, uns +@@ -65,8 +66,17 @@   struct platform_device *   at32_add_device_ssc(unsigned int id, unsigned int flags); @@ -18610,7 +18436,7 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/board.h   struct platform_device *at32_add_device_ac97c(unsigned int id);   struct platform_device *at32_add_device_abdac(unsigned int id); -@@ -81,4 +91,7 @@ struct platform_device * +@@ -81,4 +91,7 @@   at32_add_device_cf(unsigned int id, unsigned int extint,   		struct cf_platform_data *data); @@ -18618,10 +18444,8 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/board.h  +at32_add_device_psif(unsigned int id);  +   #endif /* __ASM_ARCH_BOARD_H */ -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/cpu.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/arch-at32ap/cpu.h -+++ linux-2.6.24.7/include/asm-avr32/arch-at32ap/cpu.h +--- a/include/asm-avr32/arch-at32ap/cpu.h ++++ b/include/asm-avr32/arch-at32ap/cpu.h  @@ -14,7 +14,7 @@    * Only AT32AP7000 is defined for now. We can identify the specific    * chip at runtime, but I'm not sure if it's really worth it. @@ -18631,10 +18455,8 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/cpu.h   # define cpu_is_at32ap7000()	(1)   #else   # define cpu_is_at32ap7000()	(0) -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/io.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/arch-at32ap/io.h -+++ linux-2.6.24.7/include/asm-avr32/arch-at32ap/io.h +--- a/include/asm-avr32/arch-at32ap/io.h ++++ b/include/asm-avr32/arch-at32ap/io.h  @@ -4,7 +4,7 @@   /* For "bizarre" halfword swapping */   #include <linux/byteorder/swabb.h> @@ -18653,10 +18475,8 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/io.h   # define __swizzle_addr_b(addr)	(addr ^ 1UL)   # define __swizzle_addr_w(addr)	(addr)   # define __swizzle_addr_l(addr)	(addr) -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/pm.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/asm-avr32/arch-at32ap/pm.h ++++ b/include/asm-avr32/arch-at32ap/pm.h  @@ -0,0 +1,48 @@  +/*  + * AVR32 AP Power Management. @@ -18706,11 +18526,9 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/pm.h  +#endif  +  +#endif /* __ASM_AVR32_ARCH_PM_H */ -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/portmux.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/arch-at32ap/portmux.h -+++ linux-2.6.24.7/include/asm-avr32/arch-at32ap/portmux.h -@@ -26,4 +26,16 @@ void at32_select_periph(unsigned int pin +--- a/include/asm-avr32/arch-at32ap/portmux.h ++++ b/include/asm-avr32/arch-at32ap/portmux.h +@@ -26,4 +26,16 @@   void at32_select_gpio(unsigned int pin, unsigned long flags);   void at32_reserve_pin(unsigned int pin); @@ -18727,9 +18545,7 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/portmux.h  +#endif /* CONFIG_GPIO_DEV */  +   #endif /* __ASM_ARCH_PORTMUX_H__ */ -Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/time.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/arch-at32ap/time.h +--- a/include/asm-avr32/arch-at32ap/time.h  +++ /dev/null  @@ -1,112 +0,0 @@  -/* @@ -18844,10 +18660,8 @@ Index: linux-2.6.24.7/include/asm-avr32/arch-at32ap/time.h  -	__raw_writel((value), port + (0x40 * instance) + TIMER_##reg)  -  -#endif /* _ASM_AVR32_ARCH_AT32AP_TIME_H */ -Index: linux-2.6.24.7/include/asm-avr32/asm.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/asm.h -+++ linux-2.6.24.7/include/asm-avr32/asm.h +--- a/include/asm-avr32/asm.h ++++ b/include/asm-avr32/asm.h  @@ -12,10 +12,10 @@   #include <asm/asm-offsets.h>   #include <asm/thread_info.h> @@ -18863,11 +18677,9 @@ Index: linux-2.6.24.7/include/asm-avr32/asm.h   #ifdef CONFIG_FRAME_POINTER   	.macro	save_fp -Index: linux-2.6.24.7/include/asm-avr32/byteorder.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/byteorder.h -+++ linux-2.6.24.7/include/asm-avr32/byteorder.h -@@ -12,8 +12,10 @@ extern unsigned long __builtin_bswap_32( +--- a/include/asm-avr32/byteorder.h ++++ b/include/asm-avr32/byteorder.h +@@ -12,8 +12,10 @@   extern unsigned short __builtin_bswap_16(unsigned short x);   #endif @@ -18878,10 +18690,8 @@ Index: linux-2.6.24.7/include/asm-avr32/byteorder.h   #if !defined(__STRICT_ANSI__) || defined(__KERNEL__)   # define __BYTEORDER_HAS_U64__ -Index: linux-2.6.24.7/include/asm-avr32/dma-controller.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/asm-avr32/dma-controller.h ++++ b/include/asm-avr32/dma-controller.h  @@ -0,0 +1,166 @@  +/*  + * Copyright (C) 2005-2006 Atmel Corporation @@ -19049,9 +18859,7 @@ Index: linux-2.6.24.7/include/asm-avr32/dma-controller.h  +extern struct dma_controller *find_dma_controller(int id);  +  +#endif /* __ASM_AVR32_DMA_CONTROLLER_H */ -Index: linux-2.6.24.7/include/asm-avr32/intc.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/intc.h +--- a/include/asm-avr32/intc.h  +++ /dev/null  @@ -1,128 +0,0 @@  -#ifndef __ASM_AVR32_INTC_H @@ -19182,10 +18990,8 @@ Index: linux-2.6.24.7/include/asm-avr32/intc.h  -extern int intc_register_controller(struct irq_controller *ctrl);  -  -#endif /* __ASM_AVR32_INTC_H */ -Index: linux-2.6.24.7/include/asm-avr32/irq.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/irq.h -+++ linux-2.6.24.7/include/asm-avr32/irq.h +--- a/include/asm-avr32/irq.h ++++ b/include/asm-avr32/irq.h  @@ -11,4 +11,14 @@   #define irq_canonicalize(i)	(i) @@ -19201,10 +19007,8 @@ Index: linux-2.6.24.7/include/asm-avr32/irq.h  +#endif  +   #endif /* __ASM_AVR32_IOCTLS_H */ -Index: linux-2.6.24.7/include/asm-avr32/kdebug.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/kdebug.h -+++ linux-2.6.24.7/include/asm-avr32/kdebug.h +--- a/include/asm-avr32/kdebug.h ++++ b/include/asm-avr32/kdebug.h  @@ -5,6 +5,7 @@   enum die_val {   	DIE_BREAKPOINT, @@ -19213,11 +19017,9 @@ Index: linux-2.6.24.7/include/asm-avr32/kdebug.h   };   #endif /* __ASM_AVR32_KDEBUG_H */ -Index: linux-2.6.24.7/include/asm-avr32/ocd.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/ocd.h -+++ linux-2.6.24.7/include/asm-avr32/ocd.h -@@ -533,6 +533,11 @@ static inline void __ocd_write(unsigned  +--- a/include/asm-avr32/ocd.h ++++ b/include/asm-avr32/ocd.h +@@ -533,6 +533,11 @@   #define ocd_read(reg)			__ocd_read(OCD_##reg)   #define ocd_write(reg, value)		__ocd_write(OCD_##reg, value) @@ -19229,11 +19031,9 @@ Index: linux-2.6.24.7/include/asm-avr32/ocd.h   #endif /* !__ASSEMBLER__ */   #endif /* __ASM_AVR32_OCD_H */ -Index: linux-2.6.24.7/include/asm-avr32/pgtable.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/pgtable.h -+++ linux-2.6.24.7/include/asm-avr32/pgtable.h -@@ -157,6 +157,7 @@ extern struct page *empty_zero_page; +--- a/include/asm-avr32/pgtable.h ++++ b/include/asm-avr32/pgtable.h +@@ -157,6 +157,7 @@   #define _PAGE_S(x)	_PAGE_NORMAL(x)   #define PAGE_COPY	_PAGE_P(PAGE_WRITE | PAGE_READ) @@ -19241,11 +19041,9 @@ Index: linux-2.6.24.7/include/asm-avr32/pgtable.h   #ifndef __ASSEMBLY__   /* -Index: linux-2.6.24.7/include/asm-avr32/processor.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/processor.h -+++ linux-2.6.24.7/include/asm-avr32/processor.h -@@ -57,11 +57,25 @@ struct avr32_cpuinfo { +--- a/include/asm-avr32/processor.h ++++ b/include/asm-avr32/processor.h +@@ -57,11 +57,25 @@   	unsigned short cpu_revision;   	enum tlb_config tlb_config;   	unsigned long features; @@ -19271,11 +19069,9 @@ Index: linux-2.6.24.7/include/asm-avr32/processor.h   extern struct avr32_cpuinfo boot_cpu_data;   #ifdef CONFIG_SMP -Index: linux-2.6.24.7/include/asm-avr32/ptrace.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/ptrace.h -+++ linux-2.6.24.7/include/asm-avr32/ptrace.h -@@ -121,7 +121,15 @@ struct pt_regs { +--- a/include/asm-avr32/ptrace.h ++++ b/include/asm-avr32/ptrace.h +@@ -121,7 +121,15 @@   };   #ifdef __KERNEL__ @@ -19292,7 +19088,7 @@ Index: linux-2.6.24.7/include/asm-avr32/ptrace.h   extern void show_regs (struct pt_regs *);   static __inline__ int valid_user_regs(struct pt_regs *regs) -@@ -141,9 +149,6 @@ static __inline__ int valid_user_regs(st +@@ -141,9 +149,6 @@   	return 0;   } @@ -19302,11 +19098,9 @@ Index: linux-2.6.24.7/include/asm-avr32/ptrace.h   #endif /* __KERNEL__ */ -Index: linux-2.6.24.7/include/asm-avr32/thread_info.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-avr32/thread_info.h -+++ linux-2.6.24.7/include/asm-avr32/thread_info.h -@@ -88,6 +88,7 @@ static inline struct thread_info *curren +--- a/include/asm-avr32/thread_info.h ++++ b/include/asm-avr32/thread_info.h +@@ -88,6 +88,7 @@   #define TIF_MEMDIE		6   #define TIF_RESTORE_SIGMASK	7	/* restore signal mask in do_signal */   #define TIF_CPU_GOING_TO_SLEEP	8	/* CPU is entering sleep 0 mode */ @@ -19314,10 +19108,8 @@ Index: linux-2.6.24.7/include/asm-avr32/thread_info.h   #define TIF_USERSPACE		31      /* true if FS sets userspace */   #define _TIF_SYSCALL_TRACE	(1 << TIF_SYSCALL_TRACE) -Index: linux-2.6.24.7/include/linux/atmel_pwm.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/linux/atmel_pwm.h ++++ b/include/linux/atmel_pwm.h  @@ -0,0 +1,70 @@  +#ifndef __LINUX_ATMEL_PWM_H  +#define __LINUX_ATMEL_PWM_H @@ -19389,10 +19181,8 @@ Index: linux-2.6.24.7/include/linux/atmel_pwm.h  +}  +  +#endif /* __LINUX_ATMEL_PWM_H */ -Index: linux-2.6.24.7/include/linux/atmel_serial.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/linux/atmel_serial.h ++++ b/include/linux/atmel_serial.h  @@ -0,0 +1,127 @@  +/*  + * include/linux/atmel_serial.h @@ -19521,10 +19311,8 @@ Index: linux-2.6.24.7/include/linux/atmel_serial.h  +#define ATMEL_US_IF		0x4c			/* IrDA Filter Register */  +  +#endif -Index: linux-2.6.24.7/include/linux/atmel_tc.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/linux/atmel_tc.h ++++ b/include/linux/atmel_tc.h  @@ -0,0 +1,252 @@  +/*  + * Timer/Counter Unit (TC) registers. @@ -19778,10 +19566,8 @@ Index: linux-2.6.24.7/include/linux/atmel_tc.h  +#define     ATMEL_TC_ETRGS	(1 <<  7)	/* external trigger */  +  +#endif -Index: linux-2.6.24.7/include/linux/usb/atmel_usba_udc.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/include/linux/usb/atmel_usba_udc.h ++++ b/include/linux/usb/atmel_usba_udc.h  @@ -0,0 +1,22 @@  +/*  + * Platform data definitions for Atmel USBA gadget driver. @@ -19805,10 +19591,8 @@ Index: linux-2.6.24.7/include/linux/usb/atmel_usba_udc.h  +};  +  +#endif /* __LINUX_USB_USBA_H */ -Index: linux-2.6.24.7/include/video/atmel_lcdc.h -=================================================================== ---- linux-2.6.24.7.orig/include/video/atmel_lcdc.h -+++ linux-2.6.24.7/include/video/atmel_lcdc.h +--- a/include/video/atmel_lcdc.h ++++ b/include/video/atmel_lcdc.h  @@ -22,7 +22,7 @@   #ifndef __ATMEL_LCDC_H__   #define __ATMEL_LCDC_H__ @@ -19818,7 +19602,7 @@ Index: linux-2.6.24.7/include/video/atmel_lcdc.h   struct atmel_lcdfb_info {   	spinlock_t		lock;   	struct fb_info		*info; -@@ -33,7 +33,14 @@ struct atmel_lcdfb_info { +@@ -33,7 +33,14 @@   	struct platform_device	*pdev;   	struct clk		*bus_clk;   	struct clk		*lcdc_clk; @@ -19834,7 +19618,7 @@ Index: linux-2.6.24.7/include/video/atmel_lcdc.h   	unsigned int		default_lcdcon2;   	unsigned int		default_dmacon;   	void (*atmel_lcdfb_power_control)(int on); -@@ -115,20 +122,20 @@ struct atmel_lcdfb_info { +@@ -115,20 +122,20 @@   #define		ATMEL_LCDC_MEMOR_LITTLE		(1 << 31)   #define ATMEL_LCDC_TIM1		0x0808 @@ -19862,11 +19646,9 @@ Index: linux-2.6.24.7/include/video/atmel_lcdc.h   #define ATMEL_LCDC_LCDFRMCFG	0x0810   #define	ATMEL_LCDC_LINEVAL	(0x7ff <<  0) -Index: linux-2.6.24.7/init/do_mounts.c -=================================================================== ---- linux-2.6.24.7.orig/init/do_mounts.c -+++ linux-2.6.24.7/init/do_mounts.c -@@ -219,8 +219,14 @@ __setup("root=", root_dev_setup); +--- a/init/do_mounts.c ++++ b/init/do_mounts.c +@@ -219,8 +219,14 @@   static int __init rootwait_setup(char *str)   { @@ -19882,11 +19664,9 @@ Index: linux-2.6.24.7/init/do_mounts.c   	root_wait = 1;   	return 1;   } -Index: linux-2.6.24.7/kernel/ptrace.c -=================================================================== ---- linux-2.6.24.7.orig/kernel/ptrace.c -+++ linux-2.6.24.7/kernel/ptrace.c -@@ -470,6 +470,8 @@ asmlinkage long sys_ptrace(long request, +--- a/kernel/ptrace.c ++++ b/kernel/ptrace.c +@@ -470,6 +470,8 @@   	lock_kernel();   	if (request == PTRACE_TRACEME) {   		ret = ptrace_traceme(); @@ -19895,11 +19675,9 @@ Index: linux-2.6.24.7/kernel/ptrace.c   		goto out;   	} -Index: linux-2.6.24.7/MAINTAINERS -=================================================================== ---- linux-2.6.24.7.orig/MAINTAINERS -+++ linux-2.6.24.7/MAINTAINERS -@@ -671,6 +671,12 @@ W:	http://www.atmel.com/products/AT91/ +--- a/MAINTAINERS ++++ b/MAINTAINERS +@@ -671,6 +671,12 @@   W:	http://www.at91.com/   S:	Maintained @@ -19912,10 +19690,8 @@ Index: linux-2.6.24.7/MAINTAINERS   ATMEL LCDFB DRIVER   P:	Nicolas Ferre   M:	nicolas.ferre@atmel.com -Index: linux-2.6.24.7/sound/avr32/ac97c.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/sound/avr32/ac97c.c ++++ b/sound/avr32/ac97c.c  @@ -0,0 +1,914 @@  +/*  + * Driver for the Atmel AC97 controller @@ -20831,10 +20607,8 @@ Index: linux-2.6.24.7/sound/avr32/ac97c.c  +MODULE_LICENSE("GPL");  +MODULE_DESCRIPTION("Driver for Atmel AC97 Controller");  +MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>"); -Index: linux-2.6.24.7/sound/avr32/ac97c.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/sound/avr32/ac97c.h ++++ b/sound/avr32/ac97c.h  @@ -0,0 +1,71 @@  +/*  + * Register definitions for the Atmel AC97 Controller. @@ -20907,10 +20681,8 @@ Index: linux-2.6.24.7/sound/avr32/ac97c.h  +#define AC97C_CHANNEL_B		0x2  +  +#endif /* __SOUND_AVR32_AC97C_H */ -Index: linux-2.6.24.7/sound/avr32/Kconfig -===================================================================  --- /dev/null -+++ linux-2.6.24.7/sound/avr32/Kconfig ++++ b/sound/avr32/Kconfig  @@ -0,0 +1,11 @@  +menu "AVR32 devices"  +	depends on SND != n && AVR32 @@ -20923,19 +20695,15 @@ Index: linux-2.6.24.7/sound/avr32/Kconfig  +	  ALSA sound driver for the Atmel AC97 controller.  +  +endmenu -Index: linux-2.6.24.7/sound/avr32/Makefile -===================================================================  --- /dev/null -+++ linux-2.6.24.7/sound/avr32/Makefile ++++ b/sound/avr32/Makefile  @@ -0,0 +1,3 @@  +snd-atmel-ac97-objs		:= ac97c.o  +  +obj-$(CONFIG_SND_ATMEL_AC97)	+= snd-atmel-ac97.o -Index: linux-2.6.24.7/sound/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/sound/Kconfig -+++ linux-2.6.24.7/sound/Kconfig -@@ -63,6 +63,8 @@ source "sound/aoa/Kconfig" +--- a/sound/Kconfig ++++ b/sound/Kconfig +@@ -63,6 +63,8 @@   source "sound/arm/Kconfig" @@ -20944,11 +20712,9 @@ Index: linux-2.6.24.7/sound/Kconfig   if SPI   source "sound/spi/Kconfig"   endif -Index: linux-2.6.24.7/sound/Makefile -=================================================================== ---- linux-2.6.24.7.orig/sound/Makefile -+++ linux-2.6.24.7/sound/Makefile -@@ -6,7 +6,7 @@ obj-$(CONFIG_SOUND_PRIME) += sound_firmw +--- a/sound/Makefile ++++ b/sound/Makefile +@@ -6,7 +6,7 @@   obj-$(CONFIG_SOUND_PRIME) += oss/   obj-$(CONFIG_DMASOUND) += oss/   obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \ @@ -20957,10 +20723,8 @@ Index: linux-2.6.24.7/sound/Makefile   obj-$(CONFIG_SND_AOA) += aoa/   # This one must be compilable even if sound is configured out -Index: linux-2.6.24.7/sound/oss/at32_abdac.c -===================================================================  --- /dev/null -+++ linux-2.6.24.7/sound/oss/at32_abdac.c ++++ b/sound/oss/at32_abdac.c  @@ -0,0 +1,722 @@  +/*  + * OSS Sound Driver for the Atmel AT32 on-chip DAC. @@ -21684,10 +21448,8 @@ Index: linux-2.6.24.7/sound/oss/at32_abdac.c  +MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>");  +MODULE_DESCRIPTION("Sound Driver for the Atmel AT32 ABDAC");  +MODULE_LICENSE("GPL"); -Index: linux-2.6.24.7/sound/oss/at32_abdac.h -===================================================================  --- /dev/null -+++ linux-2.6.24.7/sound/oss/at32_abdac.h ++++ b/sound/oss/at32_abdac.h  @@ -0,0 +1,59 @@  +/*  + * Register definitions for the Atmel AT32 on-chip DAC. @@ -21748,11 +21510,9 @@ Index: linux-2.6.24.7/sound/oss/at32_abdac.h  +	__raw_writel((value), (port)->regs + DAC_##reg)  +  +#endif /* __SOUND_OSS_AT32_ABDAC_H__ */ -Index: linux-2.6.24.7/sound/oss/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/sound/oss/Kconfig -+++ linux-2.6.24.7/sound/oss/Kconfig -@@ -654,3 +654,7 @@ config SOUND_SH_DAC_AUDIO_CHANNEL +--- a/sound/oss/Kconfig ++++ b/sound/oss/Kconfig +@@ -654,3 +654,7 @@   	int "DAC channel"   	default "1"   	depends on SOUND_SH_DAC_AUDIO @@ -21760,11 +21520,9 @@ Index: linux-2.6.24.7/sound/oss/Kconfig  +config SOUND_AT32_ABDAC  +	tristate "Atmel AT32 Audio Bitstream DAC (ABDAC) support"  +	depends on SOUND_PRIME && AVR32 -Index: linux-2.6.24.7/sound/oss/Makefile -=================================================================== ---- linux-2.6.24.7.orig/sound/oss/Makefile -+++ linux-2.6.24.7/sound/oss/Makefile -@@ -10,6 +10,7 @@ obj-$(CONFIG_SOUND_CS4232)	+= cs4232.o a +--- a/sound/oss/Makefile ++++ b/sound/oss/Makefile +@@ -10,6 +10,7 @@   # Please leave it as is, cause the link order is significant ! @@ -21772,11 +21530,9 @@ Index: linux-2.6.24.7/sound/oss/Makefile   obj-$(CONFIG_SOUND_SH_DAC_AUDIO)	+= sh_dac_audio.o   obj-$(CONFIG_SOUND_HAL2)	+= hal2.o   obj-$(CONFIG_SOUND_AEDSP16)	+= aedsp16.o -Index: linux-2.6.24.7/sound/spi/at73c213.c -=================================================================== ---- linux-2.6.24.7.orig/sound/spi/at73c213.c -+++ linux-2.6.24.7/sound/spi/at73c213.c -@@ -744,7 +744,7 @@ cleanup: +--- a/sound/spi/at73c213.c ++++ b/sound/spi/at73c213.c +@@ -744,7 +744,7 @@   /*    * Device functions    */ @@ -21785,7 +21541,7 @@ Index: linux-2.6.24.7/sound/spi/at73c213.c   {   	/*   	 * Continuous clock output. -@@ -774,7 +774,7 @@ static int snd_at73c213_ssc_init(struct  +@@ -774,7 +774,7 @@   	return 0;   } @@ -21794,7 +21550,7 @@ Index: linux-2.6.24.7/sound/spi/at73c213.c   {   	int retval;   	unsigned char dac_ctrl = 0; -@@ -939,7 +939,7 @@ out: +@@ -939,7 +939,7 @@   	return retval;   } diff --git a/target/linux/avr32/patches/110-openwrt_flashmap.patch b/target/linux/avr32/patches/110-openwrt_flashmap.patch index f78bf146a..83c3d5002 100644 --- a/target/linux/avr32/patches/110-openwrt_flashmap.patch +++ b/target/linux/avr32/patches/110-openwrt_flashmap.patch @@ -1,8 +1,6 @@ -Index: linux-2.6.24.7/arch/avr32/boards/atngw100/flash.c -=================================================================== ---- linux-2.6.24.7.orig/arch/avr32/boards/atngw100/flash.c -+++ linux-2.6.24.7/arch/avr32/boards/atngw100/flash.c -@@ -45,9 +45,14 @@ static struct mtd_partition flash_parts[ +--- a/arch/avr32/boards/atngw100/flash.c ++++ b/arch/avr32/boards/atngw100/flash.c +@@ -45,9 +45,14 @@   		.mask_flags     = MTD_WRITEABLE,   	},   	{  | 
