summaryrefslogtreecommitdiff
path: root/target/linux/avr32
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-05-30 17:24:30 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-05-30 17:24:30 +0000
commitb9fe0f9f374ce7584517be6d5543f5ab97d4ec0c (patch)
treee781edc27e28e5eec3dfe817da31df57c7ea4d78 /target/linux/avr32
parent95571be1fb57e6381d9dbdb15820cb0290a7bf1b (diff)
refresh avr32 patches to match upstream style
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11303 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/avr32')
-rw-r--r--target/linux/avr32/patches/100-git_sync.patch1112
-rw-r--r--target/linux/avr32/patches/110-openwrt_flashmap.patch8
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 8bfc0d4071..9c2d5ddf42 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, &eth_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, &eth_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, &eth_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 f78bf146a6..83c3d50028 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,
},
{