GIT c0782583ea1ccfaa2c05f7e92422b735538afcdf git+ssh://master.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6.git#avr32-arch commit Author: ben.nizette@iinet.net.au Date: Wed Nov 7 16:16:22 2007 +0900 [AVR32] Fix duplicate clock index in at32ap machine code There's a duplicate clock index between USART0 and USART1 which may be causing system crashes when USART0 is used. Change the USART0 index to '3', indicating the clock that is actually used by USART0. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 2523f53d3f3eb37c833335bf52ef113e4f0bea72 Author: Adrian Bunk Date: Mon Nov 5 18:06:12 2007 +0100 [AVR32] remove UID16 option avr32 already sees the option from init/Kconfig. Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 4e4da9bca85a86b081696db049478dc8d5d244f1 Author: Haavard Skinnemoen Date: Mon Nov 5 14:06:51 2007 +0100 [AVR32] Turn off debugging in SMC driver Signed-off-by: Haavard Skinnemoen commit 5c0cfd453a1f5e5b92c8a83ed67db56a1304787e Author: Hans-Christian Egtvedt Date: Tue Oct 30 14:29:50 2007 +0100 Extend I/O resource for wdt0 for at32ap7000 devices This patch extends the I/O resource to 0xfff000cf which will enable the watchdog driver to access the reset cause (RCAUSE) register. Making it capable of reporting boot status. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 92eec576a5927b2e01b32822a468f3c52f0bb569 Author: Haavard Skinnemoen Date: Thu Jul 5 17:08:09 2007 +0200 [AVR32] Drop GFP_COMP for DMA memory allocations dma_alloc_coherent wants to split pages after allocation in order to reduce the memory footprint. This does not work well with GFP_COMP pages, so drop this flag before allocation. This patch was forward-ported from BSP 2.0 Signed-off-by: Haavard Skinnemoen commit cc233b096ae6943a3681373cb3f4c603decac03e Author: Haavard Skinnemoen Date: Tue Oct 16 11:23:51 2007 +0200 [AVR32] pcmcia ioaddr_t should be 32 bits on AVR32 Define ioaddr_t as u_int on AVR32 just like on ARM and MIPS. Signed-off-by: Haavard Skinnemoen arch/avr32/Kconfig | 3 --- arch/avr32/mach-at32ap/at32ap7000.c | 4 ++-- arch/avr32/mach-at32ap/hsmc.c | 1 - arch/avr32/mm/dma-coherent.c | 7 +++++++ include/pcmcia/cs_types.h | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index bbecbd8..4f402c9 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig @@ -19,9 +19,6 @@ config AVR32 There is an AVR32 Linux project with a web page at http://avr32linux.org/. -config UID16 - bool - config GENERIC_GPIO bool default y diff --git a/arch/avr32/mach-at32ap/at32ap7000.c b/arch/avr32/mach-at32ap/at32ap7000.c index a9d9ec0..7c4388f 100644 --- a/arch/avr32/mach-at32ap/at32ap7000.c +++ b/arch/avr32/mach-at32ap/at32ap7000.c @@ -474,7 +474,7 @@ static struct resource at32ap700x_rtc0_resource[] = { static struct resource at32_wdt0_resource[] = { { .start = 0xfff000b0, - .end = 0xfff000bf, + .end = 0xfff000cf, .flags = IORESOURCE_MEM, }, }; @@ -690,7 +690,7 @@ static struct resource atmel_usart0_resource[] = { IRQ(6), }; DEFINE_DEV_DATA(atmel_usart, 0); -DEV_CLK(usart, atmel_usart0, pba, 4); +DEV_CLK(usart, atmel_usart0, pba, 3); static struct atmel_uart_data atmel_usart1_data = { .use_dma_tx = 1, diff --git a/arch/avr32/mach-at32ap/hsmc.c b/arch/avr32/mach-at32ap/hsmc.c index 704607f..fa427ed 100644 --- a/arch/avr32/mach-at32ap/hsmc.c +++ b/arch/avr32/mach-at32ap/hsmc.c @@ -7,7 +7,6 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#define DEBUG #include #include #include diff --git a/arch/avr32/mm/dma-coherent.c b/arch/avr32/mm/dma-coherent.c index 177fea8..6d8c794 100644 --- a/arch/avr32/mm/dma-coherent.c +++ b/arch/avr32/mm/dma-coherent.c @@ -41,6 +41,13 @@ static struct page *__dma_alloc(struct device *dev, size_t size, struct page *page, *free, *end; int order; + /* Following is a work-around (a.k.a. hack) to prevent pages + * with __GFP_COMP being passed to split_page() which cannot + * handle them. The real problem is that this flag probably + * should be 0 on AVR32 as it is not supported on this + * platform--see CONFIG_HUGETLB_PAGE. */ + gfp &= ~(__GFP_COMP); + size = PAGE_ALIGN(size); order = get_order(size); diff --git a/include/pcmcia/cs_types.h b/include/pcmcia/cs_types.h index c1d1629..5f38803 100644 --- a/include/pcmcia/cs_types.h +++ b/include/pcmcia/cs_types.h @@ -21,7 +21,7 @@ #include #endif -#if defined(__arm__) || defined(__mips__) +#if defined(__arm__) || defined(__mips__) || defined(__avr32__) /* This (ioaddr_t) is exposed to userspace & hence cannot be changed. */ typedef u_int ioaddr_t; #else