From: Gabor Juhos <juhosg@openwrt.org>
Date: Fri, 7 Nov 2008 08:44:56 +0000 (+0000)
Subject: update to 2.6.25.19, and refresh patches
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d35bad03e31bd861e231c8c68799c62752b56fa8;p=openwrt%2Fstaging%2Fneocturne.git

update to 2.6.25.19, and refresh patches

SVN-Revision: 13137
---

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index a9b9286de1..6bdc5c1983 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -22,8 +22,8 @@ endif
 ifeq ($(LINUX_VERSION),2.6.24.7)
   LINUX_KERNEL_MD5SUM:=40a73780d51525d28d36dec852c680c4
 endif
-ifeq ($(LINUX_VERSION),2.6.25.17)
-  LINUX_KERNEL_MD5SUM:=30618bff93fd4fd048e20a9a6aab8e5d
+ifeq ($(LINUX_VERSION),2.6.25.19)
+  LINUX_KERNEL_MD5SUM:=1b20d2d2a5a0f119372a166eaf816e13
 endif
 ifeq ($(LINUX_VERSION),2.6.26.7)
   LINUX_KERNEL_MD5SUM:=ada8af1e3ec15bd6e9bdbcadf23a9cc2
diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile
index e616467a5f..d90d105805 100644
--- a/target/linux/at91/Makefile
+++ b/target/linux/at91/Makefile
@@ -11,7 +11,7 @@ BOARD:=at91
 BOARDNAME:=Atmel AT91
 FEATURES:=squashfs usb
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/at91/patches-2.6.25/000-at91patches.patch b/target/linux/at91/patches-2.6.25/000-at91patches.patch
index 74962b2e33..06c29351ec 100644
--- a/target/linux/at91/patches-2.6.25/000-at91patches.patch
+++ b/target/linux/at91/patches-2.6.25/000-at91patches.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/Kconfig
 +++ b/arch/arm/mach-at91/Kconfig
-@@ -12,18 +12,28 @@
+@@ -12,18 +12,28 @@ config ARCH_AT91RM9200
  
  config ARCH_AT91SAM9260
  	bool "AT91SAM9260 or AT91SAM9XE"
@@ -29,7 +29,7 @@
  
  config ARCH_AT91X40
  	bool "AT91x40"
-@@ -45,7 +55,7 @@
+@@ -45,7 +55,7 @@ config MACH_ONEARM
  	depends on ARCH_AT91RM9200
  	help
  	  Select this if you are using Ajeco's 1ARM Single Board Computer.
@@ -38,7 +38,7 @@
  
  config ARCH_AT91RM9200DK
  	bool "Atmel AT91RM9200-DK Development board"
-@@ -94,7 +104,7 @@
+@@ -94,7 +104,7 @@ config MACH_KB9200
  	depends on ARCH_AT91RM9200
  	help
  	  Select this if you are using KwikByte's KB920x board.
@@ -47,7 +47,7 @@
  
  config MACH_PICOTUX2XX
  	bool "picotux 200"
-@@ -109,6 +119,38 @@
+@@ -109,6 +119,38 @@ config MACH_KAFA
  	help
  	  Select this if you are using Sperry-Sun's KAFA board.
  
@@ -86,7 +86,7 @@
  endif
  
  # ----------------------------------------------------------
-@@ -133,6 +175,34 @@
+@@ -133,6 +175,34 @@ config MACH_AT91SAM9260EK
  	  Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
  	  <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
  
@@ -121,7 +121,7 @@
  endif
  
  # ----------------------------------------------------------
-@@ -163,6 +233,13 @@
+@@ -163,6 +233,13 @@ config MACH_AT91SAM9263EK
  	  Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
  	  <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
  
@@ -135,7 +135,7 @@
  endif
  
  # ----------------------------------------------------------
-@@ -216,7 +293,7 @@
+@@ -216,7 +293,7 @@ comment "AT91 Board Options"
  
  config MTD_AT91_DATAFLASH_CARD
  	bool "Enable DataFlash Card support"
@@ -144,7 +144,7 @@
  	help
  	  Enable support for the DataFlash card.
  
-@@ -237,6 +314,19 @@
+@@ -237,6 +314,19 @@ config AT91_PROGRAMMABLE_CLOCKS
  	  Select this if you need to program one or more of the PCK0..PCK3
  	  programmable clock outputs.
  
@@ -166,7 +166,7 @@
         range 32 1024
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
-@@ -28,16 +28,26 @@
+@@ -28,16 +28,26 @@ obj-$(CONFIG_MACH_CARMEVA)	+= board-carm
  obj-$(CONFIG_MACH_KB9200)	+= board-kb9202.o
  obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)		+= board-kafa.o
@@ -193,7 +193,7 @@
  
  # AT91SAM9RL board-specific support
  obj-$(CONFIG_MACH_AT91SAM9RLEK)	+= board-sam9rlek.o
-@@ -50,9 +60,11 @@
+@@ -50,9 +60,11 @@ obj-$(CONFIG_MACH_AT91EB01)	+= board-eb0
  
  # Drivers
  obj-y				+= leds.o
@@ -223,7 +223,7 @@
  
  #include "generic.h"
  #include "clock.h"
-@@ -288,6 +291,12 @@
+@@ -288,6 +291,12 @@ static void at91cap9_reset(void)
  	at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -236,7 +236,7 @@
  /* --------------------------------------------------------------------
   *  AT91CAP9 processor initialization
   * -------------------------------------------------------------------- */
-@@ -298,6 +307,7 @@
+@@ -298,6 +307,7 @@ void __init at91cap9_initialize(unsigned
  	iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc));
  
  	at91_arch_reset = at91cap9_reset;
@@ -244,7 +244,7 @@
  	at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
  
  	/* Init clock subsystem */
-@@ -308,6 +318,12 @@
+@@ -308,6 +318,12 @@ void __init at91cap9_initialize(unsigned
  
  	/* Register GPIO subsystem */
  	at91_gpio_init(at91cap9_gpio, 4);
@@ -282,7 +282,7 @@
  
  #include "generic.h"
  
-@@ -69,6 +71,9 @@
+@@ -69,6 +71,9 @@ void __init at91_add_device_usbh(struct 
  	if (!data)
  		return;
  
@@ -292,7 +292,7 @@
  	/* Enable VBus control for UHP ports */
  	for (i = 0; i < data->ports; i++) {
  		if (data->vbus_pin[i])
-@@ -84,6 +89,110 @@
+@@ -84,6 +89,110 @@ void __init at91_add_device_usbh(struct 
  
  
  /* --------------------------------------------------------------------
@@ -403,7 +403,7 @@
   *  Ethernet
   * -------------------------------------------------------------------- */
  
-@@ -246,7 +355,7 @@
+@@ -246,7 +355,7 @@ void __init at91_add_device_mmc(short mm
  		}
  
  		mmc0_data = *data;
@@ -412,7 +412,7 @@
  		platform_device_register(&at91cap9_mmc0_device);
  	} else {			/* MCI1 */
  		/* CLK */
-@@ -283,10 +392,15 @@
+@@ -283,10 +392,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE	AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -429,7 +429,7 @@
  	}
  };
  
-@@ -344,6 +458,7 @@
+@@ -344,6 +458,7 @@ void __init at91_add_device_nand(struct 
  void __init at91_add_device_nand(struct at91_nand_data *data) {}
  #endif
  
@@ -437,7 +437,7 @@
  /* --------------------------------------------------------------------
   *  TWI (i2c)
   * -------------------------------------------------------------------- */
-@@ -532,17 +647,64 @@
+@@ -532,17 +647,64 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
@@ -504,7 +504,7 @@
  	platform_device_register(&at91cap9_rtt_device);
  }
  
-@@ -660,6 +822,9 @@
+@@ -660,6 +822,9 @@ void __init at91_add_device_lcdc(struct 
  	if (!data)
  		return;
  
@@ -514,7 +514,7 @@
  	at91_set_A_periph(AT91_PIN_PC1, 0);	/* LCDHSYNC */
  	at91_set_A_periph(AT91_PIN_PC2, 0);	/* LCDDOTCK */
  	at91_set_A_periph(AT91_PIN_PC3, 0);	/* LCDDEN */
-@@ -990,7 +1155,7 @@
+@@ -990,7 +1155,7 @@ static inline void configure_usart2_pins
  		at91_set_B_periph(AT91_PIN_PD6, 0);	/* CTS2 */
  }
  
@@ -523,7 +523,7 @@
  struct platform_device *atmel_default_console_device;	/* the serial console device */
  
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-@@ -1031,8 +1196,6 @@
+@@ -1031,8 +1196,6 @@ void __init at91_set_serial_console(unsi
  {
  	if (portnr < ATMEL_MAX_UART)
  		atmel_default_console_device = at91_uarts[portnr];
@@ -532,7 +532,7 @@
  }
  
  void __init at91_add_device_serial(void)
-@@ -1043,6 +1206,9 @@
+@@ -1043,6 +1206,9 @@ void __init at91_add_device_serial(void)
  		if (at91_uarts[i])
  			platform_device_register(at91_uarts[i]);
  	}
@@ -542,7 +542,7 @@
  }
  #else
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-@@ -1060,6 +1226,7 @@
+@@ -1060,6 +1226,7 @@ static int __init at91_add_standard_devi
  {
  	at91_add_device_rtt();
  	at91_add_device_watchdog();
@@ -552,7 +552,7 @@
  
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
-@@ -513,7 +513,18 @@
+@@ -513,7 +513,18 @@ void __init at91_add_device_i2c(struct i
   *  SPI
   * -------------------------------------------------------------------- */
  
@@ -572,7 +572,7 @@
  static u64 spi_dmamask = DMA_BIT_MASK(32);
  
  static struct resource spi_resources[] = {
-@@ -530,7 +541,7 @@
+@@ -530,7 +541,7 @@ static struct resource spi_resources[] =
  };
  
  static struct platform_device at91rm9200_spi_device = {
@@ -581,7 +581,7 @@
  	.id		= 0,
  	.dev		= {
  				.dma_mask		= &spi_dmamask,
-@@ -563,6 +574,12 @@
+@@ -563,6 +574,12 @@ void __init at91_add_device_spi(struct s
  		else
  			at91_set_gpio_output(cs_pin, 1);
  
@@ -594,7 +594,7 @@
  
  		/* pass chip-select pin to driver */
  		devices[i].controller_data = (void *) cs_pin;
-@@ -577,6 +594,90 @@
+@@ -577,6 +594,90 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
@@ -685,7 +685,7 @@
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -589,6 +690,7 @@
+@@ -589,6 +690,7 @@ static struct platform_device at91rm9200
  
  static void __init at91_add_device_rtc(void)
  {
@@ -693,7 +693,7 @@
  	platform_device_register(&at91rm9200_rtc_device);
  }
  #else
-@@ -1019,7 +1121,7 @@
+@@ -1019,7 +1121,7 @@ static inline void configure_usart3_pins
  		at91_set_B_periph(AT91_PIN_PB0, 0);	/* RTS3 */
  }
  
@@ -702,7 +702,7 @@
  struct platform_device *atmel_default_console_device;	/* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1110,8 +1212,6 @@
+@@ -1110,8 +1212,6 @@ void __init at91_set_serial_console(unsi
  {
  	if (portnr < ATMEL_MAX_UART)
  		atmel_default_console_device = at91_uarts[portnr];
@@ -711,7 +711,7 @@
  }
  
  void __init at91_add_device_serial(void)
-@@ -1122,6 +1222,9 @@
+@@ -1122,6 +1222,9 @@ void __init at91_add_device_serial(void)
  		if (at91_uarts[i])
  			platform_device_register(at91_uarts[i]);
  	}
@@ -721,7 +721,7 @@
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -1141,6 +1244,7 @@
+@@ -1141,6 +1244,7 @@ static int __init at91_add_standard_devi
  {
  	at91_add_device_rtc();
  	at91_add_device_watchdog();
@@ -731,7 +731,7 @@
  
 --- a/arch/arm/mach-at91/at91rm9200_time.c
 +++ b/arch/arm/mach-at91/at91rm9200_time.c
-@@ -136,8 +136,6 @@
+@@ -136,8 +136,6 @@ clkevt32k_next_event(unsigned long delta
  	u32		alm;
  	int		status = 0;
  
@@ -758,7 +758,7 @@
  
  #include "generic.h"
  #include "clock.h"
-@@ -267,6 +269,11 @@
+@@ -267,6 +269,11 @@ static void at91sam9260_reset(void)
  	at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -770,7 +770,7 @@
  
  /* --------------------------------------------------------------------
   *  AT91SAM9260 processor initialization
-@@ -304,6 +311,7 @@
+@@ -304,6 +311,7 @@ void __init at91sam9260_initialize(unsig
  		iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
  
  	at91_arch_reset = at91sam9260_reset;
@@ -790,7 +790,7 @@
  
  #include "generic.h"
  
-@@ -288,10 +288,15 @@
+@@ -288,10 +288,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE	AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -807,7 +807,7 @@
  	}
  };
  
-@@ -540,6 +545,90 @@
+@@ -540,6 +545,90 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
@@ -898,7 +898,7 @@
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -553,13 +642,14 @@
+@@ -553,13 +642,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9260_rtt_device = {
  	.name		= "at91_rtt",
@@ -914,7 +914,7 @@
  	platform_device_register(&at91sam9260_rtt_device);
  }
  
-@@ -962,7 +1052,7 @@
+@@ -962,7 +1052,7 @@ static inline void configure_usart5_pins
  	at91_set_A_periph(AT91_PIN_PB13, 0);		/* RXD5 */
  }
  
@@ -923,7 +923,7 @@
  struct platform_device *atmel_default_console_device;	/* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1073,8 +1163,6 @@
+@@ -1073,8 +1163,6 @@ void __init at91_set_serial_console(unsi
  {
  	if (portnr < ATMEL_MAX_UART)
  		atmel_default_console_device = at91_uarts[portnr];
@@ -932,7 +932,7 @@
  }
  
  void __init at91_add_device_serial(void)
-@@ -1085,6 +1173,9 @@
+@@ -1085,6 +1173,9 @@ void __init at91_add_device_serial(void)
  		if (at91_uarts[i])
  			platform_device_register(at91_uarts[i]);
  	}
@@ -942,7 +942,7 @@
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -1103,6 +1194,7 @@
+@@ -1103,6 +1194,7 @@ static int __init at91_add_standard_devi
  {
  	at91_add_device_rtt();
  	at91_add_device_watchdog();
@@ -967,7 +967,7 @@
  
  #include "generic.h"
  #include "clock.h"
-@@ -245,6 +247,11 @@
+@@ -245,6 +247,11 @@ static void at91sam9261_reset(void)
  	at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -979,7 +979,7 @@
  
  /* --------------------------------------------------------------------
   *  AT91SAM9261 processor initialization
-@@ -256,6 +263,7 @@
+@@ -256,6 +263,7 @@ void __init at91sam9261_initialize(unsig
  	iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc));
  
  	at91_arch_reset = at91sam9261_reset;
@@ -998,7 +998,7 @@
  
  #include "generic.h"
  
-@@ -548,6 +548,55 @@
+@@ -548,6 +548,55 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
@@ -1054,7 +1054,7 @@
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -561,13 +610,14 @@
+@@ -561,13 +610,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9261_rtt_device = {
  	.name		= "at91_rtt",
@@ -1070,7 +1070,7 @@
  	platform_device_register(&at91sam9261_rtt_device);
  }
  
-@@ -938,7 +988,7 @@
+@@ -938,7 +988,7 @@ static inline void configure_usart2_pins
  		at91_set_B_periph(AT91_PIN_PA16, 0);	/* CTS2 */
  }
  
@@ -1079,7 +1079,7 @@
  struct platform_device *atmel_default_console_device;	/* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1019,8 +1069,6 @@
+@@ -1019,8 +1069,6 @@ void __init at91_set_serial_console(unsi
  {
  	if (portnr < ATMEL_MAX_UART)
  		atmel_default_console_device = at91_uarts[portnr];
@@ -1088,7 +1088,7 @@
  }
  
  void __init at91_add_device_serial(void)
-@@ -1031,6 +1079,9 @@
+@@ -1031,6 +1079,9 @@ void __init at91_add_device_serial(void)
  		if (at91_uarts[i])
  			platform_device_register(at91_uarts[i]);
  	}
@@ -1098,7 +1098,7 @@
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -1050,6 +1101,7 @@
+@@ -1050,6 +1101,7 @@ static int __init at91_add_standard_devi
  {
  	at91_add_device_rtt();
  	at91_add_device_watchdog();
@@ -1123,7 +1123,7 @@
  
  #include "generic.h"
  #include "clock.h"
-@@ -271,6 +273,11 @@
+@@ -271,6 +273,11 @@ static void at91sam9263_reset(void)
  	at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -1135,7 +1135,7 @@
  
  /* --------------------------------------------------------------------
   *  AT91SAM9263 processor initialization
-@@ -282,6 +289,7 @@
+@@ -282,6 +289,7 @@ void __init at91sam9263_initialize(unsig
  	iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc));
  
  	at91_arch_reset = at91sam9263_reset;
@@ -1155,7 +1155,7 @@
  
  #include "generic.h"
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ void __init at91_add_device_mmc(short mm
  		}
  
  		mmc0_data = *data;
@@ -1164,7 +1164,7 @@
  		platform_device_register(&at91sam9263_mmc0_device);
  	} else {			/* MCI1 */
  		/* CLK */
-@@ -358,10 +358,15 @@
+@@ -358,10 +358,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE	AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -1181,7 +1181,7 @@
  	}
  };
  
-@@ -783,6 +788,43 @@
+@@ -783,6 +788,43 @@ void __init at91_add_device_isi(void) {}
  
  
  /* --------------------------------------------------------------------
@@ -1225,7 +1225,7 @@
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -818,7 +860,9 @@
+@@ -818,7 +860,9 @@ static struct platform_device at91sam926
  
  static void __init at91_add_device_rtt(void)
  {
@@ -1235,7 +1235,7 @@
  	platform_device_register(&at91sam9263_rtt1_device);
  }
  
-@@ -933,9 +977,6 @@
+@@ -933,9 +977,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
@@ -1245,7 +1245,7 @@
   * SSC controllers are accessed through library code, instead of any
   * kind of all-singing/all-dancing driver.  For example one could be
   * used by a particular I2S audio codec's driver, while another one
-@@ -1146,7 +1187,7 @@
+@@ -1146,7 +1187,7 @@ static inline void configure_usart2_pins
  		at91_set_B_periph(AT91_PIN_PD6, 0);	/* CTS2 */
  }
  
@@ -1254,7 +1254,7 @@
  struct platform_device *atmel_default_console_device;	/* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1227,8 +1268,6 @@
+@@ -1227,8 +1268,6 @@ void __init at91_set_serial_console(unsi
  {
  	if (portnr < ATMEL_MAX_UART)
  		atmel_default_console_device = at91_uarts[portnr];
@@ -1263,7 +1263,7 @@
  }
  
  void __init at91_add_device_serial(void)
-@@ -1239,9 +1278,12 @@
+@@ -1239,9 +1278,12 @@ void __init at91_add_device_serial(void)
  		if (at91_uarts[i])
  			platform_device_register(at91_uarts[i]);
  	}
@@ -1277,7 +1277,7 @@
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
  void __init at91_set_serial_console(unsigned portnr) {}
  void __init at91_add_device_serial(void) {}
-@@ -1257,6 +1299,7 @@
+@@ -1257,6 +1299,7 @@ static int __init at91_add_standard_devi
  {
  	at91_add_device_rtt();
  	at91_add_device_watchdog();
@@ -1539,7 +1539,7 @@
  
  #include "generic.h"
  #include "clock.h"
-@@ -244,6 +246,11 @@
+@@ -244,6 +246,11 @@ static void at91sam9rl_reset(void)
  	at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -1551,7 +1551,7 @@
  
  /* --------------------------------------------------------------------
   *  AT91SAM9RL processor initialization
-@@ -274,6 +281,7 @@
+@@ -274,6 +281,7 @@ void __init at91sam9rl_initialize(unsign
  	iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
  
  	at91_arch_reset = at91sam9rl_reset;
@@ -1670,7 +1670,7 @@
   *  MMC / SD
   * -------------------------------------------------------------------- */
  
-@@ -105,10 +200,15 @@
+@@ -105,10 +200,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE	AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -1687,7 +1687,7 @@
  	}
  };
  
-@@ -385,6 +485,100 @@
+@@ -385,6 +485,100 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
@@ -1788,7 +1788,7 @@
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -397,6 +591,7 @@
+@@ -397,6 +591,7 @@ static struct platform_device at91sam9rl
  
  static void __init at91_add_device_rtc(void)
  {
@@ -1796,7 +1796,7 @@
  	platform_device_register(&at91sam9rl_rtc_device);
  }
  #else
-@@ -418,13 +613,14 @@
+@@ -418,13 +613,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9rl_rtt_device = {
  	.name		= "at91_rtt",
@@ -1812,7 +1812,7 @@
  	platform_device_register(&at91sam9rl_rtt_device);
  }
  
-@@ -539,9 +735,6 @@
+@@ -539,9 +735,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
@@ -1822,7 +1822,7 @@
   * SSC controllers are accessed through library code, instead of any
   * kind of all-singing/all-dancing driver.  For example one could be
   * used by a particular I2S audio codec's driver, while another one
-@@ -802,7 +995,7 @@
+@@ -802,7 +995,7 @@ static inline void configure_usart3_pins
  		at91_set_B_periph(AT91_PIN_PD3, 0);	/* CTS3 */
  }
  
@@ -1831,7 +1831,7 @@
  struct platform_device *atmel_default_console_device;	/* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -893,8 +1086,6 @@
+@@ -893,8 +1086,6 @@ void __init at91_set_serial_console(unsi
  {
  	if (portnr < ATMEL_MAX_UART)
  		atmel_default_console_device = at91_uarts[portnr];
@@ -1840,7 +1840,7 @@
  }
  
  void __init at91_add_device_serial(void)
-@@ -905,6 +1096,9 @@
+@@ -905,6 +1096,9 @@ void __init at91_add_device_serial(void)
  		if (at91_uarts[i])
  			platform_device_register(at91_uarts[i]);
  	}
@@ -1850,7 +1850,7 @@
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -925,6 +1119,7 @@
+@@ -925,6 +1119,7 @@ static int __init at91_add_standard_devi
  	at91_add_device_rtc();
  	at91_add_device_rtt();
  	at91_add_device_watchdog();
@@ -2061,7 +2061,7 @@
  
  #include "generic.h"
  
-@@ -78,6 +76,12 @@
+@@ -78,6 +76,12 @@ static struct at91_usbh_data __initdata 
  	.ports		= 2,
  };
  
@@ -2074,7 +2074,7 @@
  
  /*
   * ADS7846 Touchscreen
-@@ -130,7 +134,7 @@
+@@ -130,7 +134,7 @@ static struct spi_board_info cap9adk_spi
  	{
  		.modalias	= "ads7846",
  		.chip_select	= 3,		/* can be 2 or 3, depending on J2 jumper */
@@ -2083,7 +2083,7 @@
  		.bus_num	= 0,
  		.platform_data	= &ads_info,
  		.irq		= AT91_PIN_PC4,
-@@ -324,8 +328,9 @@
+@@ -324,8 +328,9 @@ static void __init cap9adk_board_init(vo
  	/* Serial */
  	at91_add_device_serial();
  	/* USB Host */
@@ -2094,7 +2094,7 @@
  	/* SPI */
  	at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices));
  	/* Touchscreen */
-@@ -341,7 +346,6 @@
+@@ -341,7 +346,6 @@ static void __init cap9adk_board_init(vo
  	/* I2C */
  	at91_add_device_i2c(NULL, 0);
  	/* LCD Controller */
@@ -2139,7 +2139,7 @@
  }
  
  static void __init carmeva_init_irq(void)
-@@ -117,6 +114,30 @@
+@@ -117,6 +114,30 @@ static struct spi_board_info carmeva_spi
  	},
  };
  
@@ -2170,7 +2170,7 @@
  static void __init carmeva_board_init(void)
  {
  	/* Serial */
-@@ -135,6 +156,8 @@
+@@ -135,6 +156,8 @@ static void __init carmeva_board_init(vo
  //	at91_add_device_cf(&carmeva_cf_data);
  	/* MMC */
  	at91_add_device_mmc(0, &carmeva_mmc_data);
@@ -2316,7 +2316,7 @@
 +MACHINE_END
 --- a/arch/arm/mach-at91/board-csb337.c
 +++ b/arch/arm/mach-at91/board-csb337.c
-@@ -61,6 +61,7 @@
+@@ -61,6 +61,7 @@ static void __init csb337_map_io(void)
  
  	/* Setup the LEDs */
  	at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1);
@@ -2324,7 +2324,7 @@
  
  	/* Setup the serial ports and console */
  	at91_init_serial(&csb337_uart_config);
-@@ -202,11 +203,11 @@
+@@ -202,11 +203,11 @@ static struct platform_device csb300_but
  
  static void __init csb300_add_device_buttons(void)
  {
@@ -2339,7 +2339,7 @@
  	at91_set_deglitch(AT91_PIN_PA21, 1);
  
  	platform_device_register(&csb300_button_device);
-@@ -233,7 +234,7 @@
+@@ -233,7 +234,7 @@ static struct gpio_led csb_leds[] = {
  		.gpio			= AT91_PIN_PB0,
  		.active_low		= 1,
  		.default_trigger	= "ide-disk",
@@ -2382,7 +2382,7 @@
  }
  
  static void __init csb637_init_irq(void)
-@@ -118,8 +107,19 @@
+@@ -118,8 +107,19 @@ static struct platform_device csb_flash 
  	.num_resources	= ARRAY_SIZE(csb_flash_resources),
  };
  
@@ -2430,7 +2430,7 @@
  static void __init dk_map_io(void)
  {
  	/* Initialize processor: 18.432 MHz crystal */
-@@ -64,8 +54,16 @@
+@@ -64,8 +54,16 @@ static void __init dk_map_io(void)
  	/* Setup the LEDs */
  	at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2);
  
@@ -2449,7 +2449,7 @@
  }
  
  static void __init dk_init_irq(void)
-@@ -73,6 +71,185 @@
+@@ -73,6 +71,185 @@ static void __init dk_init_irq(void)
  	at91rm9200_init_interrupts(NULL);
  }
  
@@ -2635,7 +2635,7 @@
  static struct at91_eth_data __initdata dk_eth_data = {
  	.phy_irq_pin	= AT91_PIN_PC4,
  	.is_rmii	= 1,
-@@ -164,7 +341,7 @@
+@@ -164,7 +341,7 @@ static struct at91_nand_data __initdata 
  #define DK_FLASH_SIZE	0x200000
  
  static struct physmap_flash_data dk_flash_data = {
@@ -2644,7 +2644,7 @@
  };
  
  static struct resource dk_flash_resource = {
-@@ -223,8 +400,12 @@
+@@ -223,8 +400,12 @@ static void __init dk_board_init(void)
  	platform_device_register(&dk_flash);
  	/* LEDs */
  	at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds));
@@ -2907,7 +2907,7 @@
  static void __init ek_map_io(void)
  {
  	/* Initialize processor: 18.432 MHz crystal */
-@@ -64,8 +54,16 @@
+@@ -64,8 +54,16 @@ static void __init ek_map_io(void)
  	/* Setup the LEDs */
  	at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2);
  
@@ -2926,7 +2926,7 @@
  }
  
  static void __init ek_init_irq(void)
-@@ -73,6 +71,187 @@
+@@ -73,6 +71,187 @@ static void __init ek_init_irq(void)
  	at91rm9200_init_interrupts(NULL);
  }
  
@@ -3114,7 +3114,7 @@
  static struct at91_eth_data __initdata ek_eth_data = {
  	.phy_irq_pin	= AT91_PIN_PC4,
  	.is_rmii	= 1,
-@@ -122,7 +301,7 @@
+@@ -122,7 +301,7 @@ static struct i2c_board_info __initdata 
  #define EK_FLASH_SIZE	0x200000
  
  static struct physmap_flash_data ek_flash_data = {
@@ -3123,7 +3123,7 @@
  };
  
  static struct resource ek_flash_resource = {
-@@ -189,7 +368,7 @@
+@@ -189,7 +368,7 @@ static void __init ek_board_init(void)
  	/* LEDs */
  	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
  	/* VGA */
@@ -3322,7 +3322,7 @@
  
  static void __init kb9202_map_io(void)
  {
-@@ -59,8 +50,20 @@
+@@ -59,8 +50,20 @@ static void __init kb9202_map_io(void)
  	/* Set up the LEDs */
  	at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18);
  
@@ -3345,7 +3345,7 @@
  }
  
  static void __init kb9202_init_irq(void)
-@@ -111,6 +114,48 @@
+@@ -111,6 +114,48 @@ static struct at91_nand_data __initdata 
  	.partition_info	= nand_partitions,
  };
  
@@ -3394,7 +3394,7 @@
  static void __init kb9202_board_init(void)
  {
  	/* Serial */
-@@ -129,6 +174,8 @@
+@@ -129,6 +174,8 @@ static void __init kb9202_board_init(voi
  	at91_add_device_spi(NULL, 0);
  	/* NAND */
  	at91_add_device_nand(&kb9202_nand_data);
@@ -3920,7 +3920,7 @@
  }
  
  static void __init ek_init_irq(void)
-@@ -85,6 +89,35 @@
+@@ -85,6 +89,35 @@ static struct at91_udc_data __initdata e
  
  
  /*
@@ -3956,7 +3956,7 @@
   * SPI devices.
   */
  static struct spi_board_info ek_spi_devices[] = {
-@@ -110,6 +143,8 @@
+@@ -110,6 +143,8 @@ static struct spi_board_info ek_spi_devi
  		.chip_select	= 0,
  		.max_speed_hz	= 10 * 1000 * 1000,
  		.bus_num	= 1,
@@ -3965,7 +3965,7 @@
  	},
  #endif
  };
-@@ -172,6 +207,74 @@
+@@ -172,6 +207,74 @@ static struct at91_mmc_data __initdata e
  //	.vcc_pin	= ... not connected
  };
  
@@ -4040,7 +4040,7 @@
  static void __init ek_board_init(void)
  {
  	/* Serial */
-@@ -190,6 +293,16 @@
+@@ -190,6 +293,16 @@ static void __init ek_board_init(void)
  	at91_add_device_mmc(0, &ek_mmc_data);
  	/* I2C */
  	at91_add_device_i2c(NULL, 0);
@@ -4093,7 +4093,7 @@
  static void __init ek_map_io(void)
  {
  	/* Initialize processor: 18.432 MHz crystal */
-@@ -68,8 +60,11 @@
+@@ -68,8 +60,11 @@ static void __init ek_map_io(void)
  	/* Setup the LEDs */
  	at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14);
  
@@ -4107,7 +4107,7 @@
  }
  
  static void __init ek_init_irq(void)
-@@ -239,6 +234,35 @@
+@@ -239,6 +234,35 @@ static void __init ek_add_device_ts(void
  #endif
  
  /*
@@ -4143,7 +4143,7 @@
   * SPI devices
   */
  static struct spi_board_info ek_spi_devices[] = {
-@@ -252,10 +276,11 @@
+@@ -252,10 +276,11 @@ static struct spi_board_info ek_spi_devi
  	{
  		.modalias	= "ads7846",
  		.chip_select	= 2,
@@ -4156,7 +4156,7 @@
  	},
  #endif
  #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
-@@ -271,6 +296,9 @@
+@@ -271,6 +296,9 @@ static struct spi_board_info ek_spi_devi
  		.chip_select	= 3,
  		.max_speed_hz	= 10 * 1000 * 1000,
  		.bus_num	= 0,
@@ -4166,7 +4166,7 @@
  	},
  #endif
  };
-@@ -408,24 +436,28 @@
+@@ -408,24 +436,28 @@ static struct gpio_keys_button ek_button
  		.code		= BTN_0,
  		.desc		= "Button 0",
  		.active_low	= 1,
@@ -4195,7 +4195,7 @@
  	}
  };
  
-@@ -445,13 +477,13 @@
+@@ -445,13 +477,13 @@ static struct platform_device ek_button_
  
  static void __init ek_add_device_buttons(void)
  {
@@ -4213,7 +4213,7 @@
  	at91_set_deglitch(AT91_PIN_PA24, 1);
  
  	platform_device_register(&ek_button_device);
-@@ -460,6 +492,29 @@
+@@ -460,6 +492,29 @@ static void __init ek_add_device_buttons
  static void __init ek_add_device_buttons(void) {}
  #endif
  
@@ -4243,7 +4243,7 @@
  static void __init ek_board_init(void)
  {
  	/* Serial */
-@@ -481,6 +536,9 @@
+@@ -481,6 +536,9 @@ static void __init ek_board_init(void)
  	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
  	/* Touchscreen */
  	ek_add_device_ts();
@@ -4253,7 +4253,7 @@
  #else
  	/* MMC */
  	at91_add_device_mmc(0, &ek_mmc_data);
-@@ -489,6 +547,11 @@
+@@ -489,6 +547,11 @@ static void __init ek_board_init(void)
  	at91_add_device_lcdc(&ek_lcdc_data);
  	/* Push Buttons */
  	ek_add_device_buttons();
@@ -4306,7 +4306,7 @@
  }
  
  static void __init ek_init_irq(void)
-@@ -141,7 +136,7 @@
+@@ -141,7 +136,7 @@ static struct spi_board_info ek_spi_devi
  	{
  		.modalias	= "ads7846",
  		.chip_select	= 3,
@@ -4315,7 +4315,7 @@
  		.bus_num	= 0,
  		.platform_data	= &ads_info,
  		.irq		= AT91SAM9263_ID_IRQ1,
-@@ -301,9 +296,9 @@
+@@ -301,9 +296,9 @@ static struct platform_device ek_button_
  
  static void __init ek_add_device_buttons(void)
  {
@@ -4327,7 +4327,7 @@
  	at91_set_deglitch(AT91_PIN_PC4, 1);
  
  	platform_device_register(&ek_button_device);
-@@ -341,7 +336,7 @@
+@@ -341,7 +336,7 @@ static struct gpio_led ek_leds[] = {
  		.name			= "ds3",
  		.gpio			= AT91_PIN_PB7,
  		.default_trigger	= "heartbeat",
@@ -4336,7 +4336,7 @@
  };
  
  
-@@ -374,6 +369,9 @@
+@@ -374,6 +369,9 @@ static void __init ek_board_init(void)
  	at91_add_device_ac97(&ek_ac97_data);
  	/* LEDs */
  	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
@@ -4387,7 +4387,7 @@
  }
  
  static void __init ek_init_irq(void)
-@@ -61,6 +56,14 @@
+@@ -61,6 +56,14 @@ static void __init ek_init_irq(void)
  
  
  /*
@@ -4402,7 +4402,7 @@
   * MCI (SD/MMC)
   */
  static struct at91_mmc_data __initdata ek_mmc_data = {
-@@ -180,6 +183,8 @@
+@@ -180,6 +183,8 @@ static void __init ek_board_init(void)
  {
  	/* Serial */
  	at91_add_device_serial();
@@ -4411,7 +4411,7 @@
  	/* I2C */
  	at91_add_device_i2c(NULL, 0);
  	/* NAND */
-@@ -190,6 +195,9 @@
+@@ -190,6 +195,9 @@ static void __init ek_board_init(void)
  	at91_add_device_mmc(0, &ek_mmc_data);
  	/* LCD Controller */
  	at91_add_device_lcdc(&ek_lcdc_data);
@@ -5278,7 +5278,7 @@
  
  
  /*
-@@ -113,12 +114,34 @@
+@@ -113,12 +114,34 @@ static void pmc_sys_mode(struct clk *clk
  		at91_sys_write(AT91_PMC_SCDR, clk->pmc_mask);
  }
  
@@ -5313,7 +5313,7 @@
  static struct clk uhpck = {
  	.name		= "uhpck",
  	.parent		= &pllb,
-@@ -254,6 +277,23 @@
+@@ -254,6 +277,23 @@ EXPORT_SYMBOL(clk_get_rate);
  
  /*------------------------------------------------------------------------*/
  
@@ -5337,7 +5337,7 @@
  #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
  
  /*
-@@ -362,7 +402,7 @@
+@@ -362,7 +402,7 @@ static void __init init_programmable_clo
  
  static int at91_clk_show(struct seq_file *s, void *unused)
  {
@@ -5346,7 +5346,7 @@
  	struct clk	*clk;
  
  	seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR));
-@@ -370,7 +410,10 @@
+@@ -370,7 +410,10 @@ static int at91_clk_show(struct seq_file
  	seq_printf(s, "MOR  = %8x\n", at91_sys_read(AT91_CKGR_MOR));
  	seq_printf(s, "MCFR = %8x\n", at91_sys_read(AT91_CKGR_MCFR));
  	seq_printf(s, "PLLA = %8x\n", at91_sys_read(AT91_CKGR_PLLAR));
@@ -5358,7 +5358,7 @@
  	seq_printf(s, "MCKR = %8x\n", at91_sys_read(AT91_PMC_MCKR));
  	seq_printf(s, "SR   = %8x\n", sr = at91_sys_read(AT91_PMC_SR));
  
-@@ -383,6 +426,8 @@
+@@ -383,6 +426,8 @@ static int at91_clk_show(struct seq_file
  			state = (scsr & clk->pmc_mask) ? "on" : "off";
  		else if (clk->mode == pmc_periph_mode)
  			state = (pcsr & clk->pmc_mask) ? "on" : "off";
@@ -5367,7 +5367,7 @@
  		else if (clk->pmc_mask)
  			state = (sr & clk->pmc_mask) ? "on" : "off";
  		else if (clk == &clk32k || clk == &main_clk)
-@@ -583,6 +628,17 @@
+@@ -583,6 +628,17 @@ int __init at91_clock_init(unsigned long
  	uhpck.rate_hz = at91_usb_rate(&pllb, pllb.rate_hz, at91_pllb_usb_init);
  
  	/*
@@ -5385,7 +5385,7 @@
  	 * MCK and CPU derive from one of those primary clocks.
  	 * For now, assume this parentage won't change.
  	 */
-@@ -599,6 +655,9 @@
+@@ -599,6 +655,9 @@ int __init at91_clock_init(unsigned long
  	for (i = 0; i < ARRAY_SIZE(standard_pmc_clocks); i++)
  		list_add_tail(&standard_pmc_clocks[i]->node, &clocks);
  
@@ -5397,7 +5397,7 @@
  
 --- a/arch/arm/mach-at91/generic.h
 +++ b/arch/arm/mach-at91/generic.h
-@@ -41,6 +41,7 @@
+@@ -41,6 +41,7 @@ extern void __init at91_clock_associate(
   /* Power Management */
  extern void at91_irq_suspend(void);
  extern void at91_irq_resume(void);
@@ -5407,7 +5407,7 @@
  #define AT91RM9200_PQFP		3	/* AT91RM9200 PQFP package has 3 banks */
 --- a/arch/arm/mach-at91/gpio.c
 +++ b/arch/arm/mach-at91/gpio.c
-@@ -490,7 +490,8 @@
+@@ -490,7 +490,8 @@ postcore_initcall(at91_gpio_debugfs_init
  
  /*--------------------------------------------------------------------------*/
  
@@ -5417,7 +5417,7 @@
   * category than their parents, so it won't report false recursion.
   */
  static struct lock_class_key gpio_lock_class;
-@@ -557,6 +558,7 @@
+@@ -557,6 +558,7 @@ void __init at91_gpio_init(struct at91_g
  		data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS;
  
  		/* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */
@@ -5784,7 +5784,7 @@
  
  static int at91_pm_valid_state(suspend_state_t state)
  {
-@@ -62,6 +194,7 @@
+@@ -62,6 +194,7 @@ static int at91_pm_begin(suspend_state_t
   * Verify that all the clocks are correct before entering
   * slow-clock mode.
   */
@@ -5792,7 +5792,7 @@
  static int at91_pm_verify_clocks(void)
  {
  	unsigned long scsr;
-@@ -107,24 +240,24 @@
+@@ -107,24 +240,24 @@ static int at91_pm_verify_clocks(void)
  }
  
  /*
@@ -5823,7 +5823,7 @@
  
  static int at91_pm_enter(suspend_state_t state)
  {
-@@ -158,11 +291,14 @@
+@@ -158,11 +291,14 @@ static int at91_pm_enter(suspend_state_t
  			 * turning off the main oscillator; reverse on wakeup.
  			 */
  			if (slow_clock) {
@@ -5840,7 +5840,7 @@
  				/* FALLTHROUGH leaving master clock alone */
  			}
  
-@@ -175,13 +311,15 @@
+@@ -175,13 +311,15 @@ static int at91_pm_enter(suspend_state_t
  		case PM_SUSPEND_STANDBY:
  			/*
  			 * NOTE: the Wait-for-Interrupt instruction needs to be
@@ -5860,7 +5860,7 @@
  
  		case PM_SUSPEND_ON:
  			asm("mcr p15, 0, r0, c7, c0, 4");	/* wait for interrupt */
-@@ -196,6 +334,7 @@
+@@ -196,6 +334,7 @@ static int at91_pm_enter(suspend_state_t
  			at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR));
  
  error:
@@ -5868,7 +5868,7 @@
  	target_state = PM_SUSPEND_ON;
  	at91_irq_resume();
  	at91_gpio_resume();
-@@ -220,21 +359,20 @@
+@@ -220,21 +359,20 @@ static struct platform_suspend_ops at91_
  
  static int __init at91_pm_init(void)
  {
@@ -6186,7 +6186,7 @@
 +	.word .-at91_slow_clock
 --- a/arch/arm/mach-ks8695/Makefile
 +++ b/arch/arm/mach-ks8695/Makefile
-@@ -11,5 +11,8 @@
+@@ -11,5 +11,8 @@ obj-				:=
  # PCI support is optional
  obj-$(CONFIG_PCI)		+= pci.o
  
@@ -6197,7 +6197,7 @@
  obj-$(CONFIG_MACH_KS8695)	+= board-micrel.o
 --- a/arch/arm/mach-ks8695/devices.c
 +++ b/arch/arm/mach-ks8695/devices.c
-@@ -176,6 +176,27 @@
+@@ -176,6 +176,27 @@ static void __init ks8695_add_device_wat
  #endif
  
  
@@ -6227,7 +6227,7 @@
  /*
 --- a/arch/arm/mach-ks8695/gpio.c
 +++ b/arch/arm/mach-ks8695/gpio.c
-@@ -136,9 +136,9 @@
+@@ -136,9 +136,9 @@ int __init_or_module gpio_direction_outp
  	/* set line state */
  	x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
  	if (state)
@@ -6239,7 +6239,7 @@
  	__raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
  	/* set pin as output */
-@@ -168,9 +168,9 @@
+@@ -168,9 +168,9 @@ void gpio_set_value(unsigned int pin, un
  	/* set output line state */
  	x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
  	if (state)
@@ -6251,7 +6251,7 @@
  	__raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
  	local_irq_restore(flags);
-@@ -189,7 +189,7 @@
+@@ -189,7 +189,7 @@ int gpio_get_value(unsigned int pin)
  		return -EINVAL;
  
  	x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
@@ -6359,7 +6359,7 @@
 +__initcall(leds_init);
 --- a/arch/arm/mach-ks8695/pci.c
 +++ b/arch/arm/mach-ks8695/pci.c
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ static struct pci_ops ks8695_pci_ops = {
  	.write	= ks8695_pci_writeconfig,
  };
  
@@ -6370,7 +6370,7 @@
  }
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -1056,5 +1056,21 @@
+@@ -1056,5 +1056,21 @@ config DEVPORT
  
  source "drivers/s390/char/Kconfig"
  
@@ -6394,7 +6394,7 @@
  
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -98,6 +98,8 @@
+@@ -98,6 +98,8 @@ obj-$(CONFIG_GPIO_DEVICE)	+= gpio_dev.o
  obj-$(CONFIG_GPIO_VR41XX)	+= vr41xx_giu.o
  obj-$(CONFIG_GPIO_TB0219)	+= tb0219.o
  obj-$(CONFIG_TELCLOCK)		+= tlclk.o
@@ -6981,7 +6981,7 @@
 +MODULE_DESCRIPTION("SPI /dev interface for Atmel AT91RM9200")
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -88,6 +88,14 @@
+@@ -88,6 +88,14 @@ config I2C_AT91
  	  to support combined I2C messages.  Use the i2c-gpio driver
  	  unless your system can cope with those limitations.
  
@@ -6996,7 +6996,7 @@
  config I2C_AU1550
  	tristate "Au1550/Au1200 SMBus interface"
  	depends on SOC_AU1550 || SOC_AU1200
-@@ -626,6 +634,14 @@
+@@ -626,6 +634,14 @@ config I2C_VOODOO3
  	  This driver can also be built as a module.  If so, the module
  	  will be called i2c-voodoo3.
  
@@ -7013,7 +7013,7 @@
  	depends on ISA
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_I2C_OMAP)		+= i2c-omap.o
  obj-$(CONFIG_I2C_PARPORT)	+= i2c-parport.o
  obj-$(CONFIG_I2C_PARPORT_LIGHT)	+= i2c-parport-light.o
  obj-$(CONFIG_I2C_PASEMI)	+= i2c-pasemi.o
@@ -7036,7 +7036,7 @@
  
  static struct clk *twi_clk;
  static void __iomem *twi_base;
-@@ -53,7 +56,7 @@
+@@ -53,7 +56,7 @@ static void __devinit at91_twi_hwinit(vo
  	at91_twi_write(AT91_TWI_CR, AT91_TWI_MSEN);	/* Set Master mode */
  
  	/* Calcuate clock dividers */
@@ -7045,7 +7045,7 @@
  	cdiv = cdiv + 1;	/* round up */
  	ckdiv = 0;
  	while (cdiv > 255) {
-@@ -61,11 +64,12 @@
+@@ -61,11 +64,12 @@ static void __devinit at91_twi_hwinit(vo
  		cdiv = cdiv >> 1;
  	}
  
@@ -7281,7 +7281,7 @@
 +MODULE_LICENSE("GPL");
 --- a/drivers/mmc/host/at91_mci.c
 +++ b/drivers/mmc/host/at91_mci.c
-@@ -659,13 +659,14 @@
+@@ -659,13 +659,14 @@ static void at91_mci_set_ios(struct mmc_
  	/* maybe switch power to the card */
  	if (host->board->vcc_pin) {
  		switch (ios->power_mode) {
@@ -7305,7 +7305,7 @@
  }
 --- a/drivers/mtd/devices/Kconfig
 +++ b/drivers/mtd/devices/Kconfig
-@@ -270,5 +270,17 @@
+@@ -270,5 +270,17 @@ config MTD_DOCPROBE_55AA
  	  LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
  	  you have managed to wipe the first block.
  
@@ -7326,7 +7326,7 @@
 +endmenu
 --- a/drivers/mtd/devices/Makefile
 +++ b/drivers/mtd/devices/Makefile
-@@ -17,3 +17,4 @@
+@@ -17,3 +17,4 @@ obj-$(CONFIG_MTD_LART)		+= lart.o
  obj-$(CONFIG_MTD_BLOCK2MTD)	+= block2mtd.o
  obj-$(CONFIG_MTD_DATAFLASH)	+= mtd_dataflash.o
  obj-$(CONFIG_MTD_M25P80)	+= m25p80.o
@@ -8009,7 +8009,7 @@
 +MODULE_DESCRIPTION("DataFlash driver for Atmel AT91RM9200");
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
-@@ -273,12 +273,53 @@
+@@ -273,12 +273,53 @@ config MTD_NAND_CS553X
  	  If you say "m", the module will be called "cs553x_nand.ko".
  
  config MTD_NAND_AT91
@@ -8158,7 +8158,7 @@
   * Hardware specific access to control-lines
   */
  static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
-@@ -44,6 +113,13 @@
+@@ -44,6 +113,13 @@ static void at91_nand_cmd_ctrl(struct mt
  	struct nand_chip *nand_chip = mtd->priv;
  	struct at91_nand_host *host = nand_chip->priv;
  
@@ -8172,7 +8172,7 @@
  	if (cmd == NAND_CMD_NONE)
  		return;
  
-@@ -65,27 +141,249 @@
+@@ -65,27 +141,249 @@ static int at91_nand_device_ready(struct
  }
  
  /*
@@ -8431,7 +8431,7 @@
  /*
   * Probe for the NAND device.
   */
-@@ -94,6 +392,8 @@
+@@ -94,6 +392,8 @@ static int __init at91_nand_probe(struct
  	struct at91_nand_host *host;
  	struct mtd_info *mtd;
  	struct nand_chip *nand_chip;
@@ -8440,7 +8440,7 @@
  	int res;
  
  #ifdef CONFIG_MTD_PARTITIONS
-@@ -108,8 +408,13 @@
+@@ -108,8 +408,13 @@ static int __init at91_nand_probe(struct
  		return -ENOMEM;
  	}
  
@@ -8456,7 +8456,7 @@
  	if (host->io_base == NULL) {
  		printk(KERN_ERR "at91_nand: ioremap failed\n");
  		kfree(host);
-@@ -119,6 +424,7 @@
+@@ -119,6 +424,7 @@ static int __init at91_nand_probe(struct
  	mtd = &host->mtd;
  	nand_chip = &host->nand_chip;
  	host->board = pdev->dev.platform_data;
@@ -8464,7 +8464,7 @@
  
  	nand_chip->priv = host;		/* link the private data structures */
  	mtd->priv = nand_chip;
-@@ -132,11 +438,40 @@
+@@ -132,11 +438,40 @@ static int __init at91_nand_probe(struct
  	if (host->board->rdy_pin)
  		nand_chip->dev_ready = at91_nand_device_ready;
  
@@ -8506,7 +8506,7 @@
  
  	platform_set_drvdata(pdev, host);
  	at91_nand_enable(host);
-@@ -149,8 +484,60 @@
+@@ -149,8 +484,60 @@ static int __init at91_nand_probe(struct
  		}
  	}
  
@@ -8569,7 +8569,7 @@
  		res = -ENXIO;
  		goto out;
  	}
-@@ -179,8 +566,11 @@
+@@ -179,8 +566,11 @@ static int __init at91_nand_probe(struct
  	if (!res)
  		return res;
  
@@ -8581,7 +8581,7 @@
  out:
  	at91_nand_disable(host);
  	platform_set_drvdata(pdev, NULL);
-@@ -192,7 +582,7 @@
+@@ -192,7 +582,7 @@ out:
  /*
   * Remove a NAND device.
   */
@@ -8590,7 +8590,7 @@
  {
  	struct at91_nand_host *host = platform_get_drvdata(pdev);
  	struct mtd_info *mtd = &host->mtd;
-@@ -208,8 +598,7 @@
+@@ -208,8 +598,7 @@ static int __devexit at91_nand_remove(st
  }
  
  static struct platform_driver at91_nand_driver = {
@@ -8600,7 +8600,7 @@
  	.driver		= {
  		.name	= "at91_nand",
  		.owner	= THIS_MODULE,
-@@ -218,7 +607,7 @@
+@@ -218,7 +607,7 @@ static struct platform_driver at91_nand_
  
  static int __init at91_nand_init(void)
  {
@@ -8609,7 +8609,7 @@
  }
  
  
-@@ -233,4 +622,4 @@
+@@ -233,4 +622,4 @@ module_exit(at91_nand_exit);
  
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Rick Bronson");
@@ -8617,7 +8617,7 @@
 +MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91RM9200 / AT91SAM9 / AT91CAP9");
 --- a/drivers/net/arm/Kconfig
 +++ b/drivers/net/arm/Kconfig
-@@ -47,3 +47,10 @@
+@@ -47,3 +47,10 @@ config EP93XX_ETH
  	help
  	  This is a driver for the ethernet hardware included in EP93xx CPUs.
  	  Say Y if you are building a kernel for EP93xx based devices.
@@ -8630,14 +8630,14 @@
 +	  and enable Ethernet support, then select this option.
 --- a/drivers/net/arm/Makefile
 +++ b/drivers/net/arm/Makefile
-@@ -9,3 +9,4 @@
+@@ -9,3 +9,4 @@ obj-$(CONFIG_ARM_ETHER3)	+= ether3.o
  obj-$(CONFIG_ARM_ETHER1)	+= ether1.o
  obj-$(CONFIG_ARM_AT91_ETHER)	+= at91_ether.o
  obj-$(CONFIG_EP93XX_ETH)	+= ep93xx_eth.o
 +obj-$(CONFIG_ARM_KS8695_ETHER)	+= ks8695_ether.o
 --- a/drivers/net/arm/at91_ether.c
 +++ b/drivers/net/arm/at91_ether.c
-@@ -220,7 +220,7 @@
+@@ -220,7 +220,7 @@ static irqreturn_t at91ether_phy_interru
  		if (!(phy & (1 << 0)))
  			goto done;
  	}
@@ -8646,7 +8646,7 @@
  		read_phy(lp->phy_address, MII_TPISTATUS, &phy);		/* ack interrupt in Micrel PHY */
  		if (!(phy & ((1 << 2) | 1)))
  			goto done;
-@@ -286,7 +286,7 @@
+@@ -286,7 +286,7 @@ static void enable_phyirq(struct net_dev
  		dsintr = (1 << 15) | ( 1 << 14);
  		write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
  	}
@@ -8655,7 +8655,7 @@
  		dsintr = (1 << 10) | ( 1 << 8);
  		write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
  	}
-@@ -341,7 +341,7 @@
+@@ -341,7 +341,7 @@ static void disable_phyirq(struct net_de
  		dsintr = ~(1 << 14);
  		write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
  	}
@@ -8664,7 +8664,7 @@
  		read_phy(lp->phy_address, MII_TPISTATUS, &dsintr);
  		dsintr = ~((1 << 10) | (1 << 8));
  		write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
-@@ -820,7 +820,7 @@
+@@ -820,7 +820,7 @@ static int at91ether_tx(struct sk_buff *
  		lp->skb = skb;
  		lp->skb_length = skb->len;
  		lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE);
@@ -8673,7 +8673,7 @@
  
  		/* Set address of the data in the Transmit Address register */
  		at91_emac_write(AT91_EMAC_TAR, lp->skb_physaddr);
-@@ -843,34 +843,32 @@
+@@ -843,34 +843,32 @@ static int at91ether_tx(struct sk_buff *
   */
  static struct net_device_stats *at91ether_stats(struct net_device *dev)
  {
@@ -8723,7 +8723,7 @@
  }
  
  /*
-@@ -896,16 +894,16 @@
+@@ -896,16 +894,16 @@ static void at91ether_rx(struct net_devi
  
  			skb->protocol = eth_type_trans(skb, dev);
  			dev->last_rx = jiffies;
@@ -8743,7 +8743,7 @@
  
  		dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE;	/* reset ownership bit */
  		if (lp->rxBuffIndex == MAX_RX_DESCR-1)				/* wrap after last buffer */
-@@ -934,7 +932,7 @@
+@@ -934,7 +932,7 @@ static irqreturn_t at91ether_interrupt(i
  	if (intstatus & AT91_EMAC_TCOM) {	/* Transmit complete */
  		/* The TCOM bit is set even if the transmission failed. */
  		if (intstatus & (AT91_EMAC_TUND | AT91_EMAC_RTRY))
@@ -8752,7 +8752,7 @@
  
  		if (lp->skb) {
  			dev_kfree_skb_irq(lp->skb);
-@@ -978,15 +976,22 @@
+@@ -978,15 +976,22 @@ static int __init at91ether_setup(unsign
  	struct net_device *dev;
  	struct at91_private *lp;
  	unsigned int val;
@@ -8778,7 +8778,7 @@
  
  	/* Install the interrupt handler */
  	if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) {
-@@ -1043,7 +1048,9 @@
+@@ -1043,7 +1048,9 @@ static int __init at91ether_setup(unsign
  	} else if (machine_is_csb337()) {
  		/* mix link activity status into LED2 link state */
  		write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22);
@@ -8789,7 +8789,7 @@
  	disable_mdi();
  	spin_unlock_irq(&lp->lock);
  
-@@ -1058,12 +1065,12 @@
+@@ -1058,12 +1065,12 @@ static int __init at91ether_setup(unsign
  	lp->phy_address = phy_address;	/* MDI address of PHY */
  
  	/* Register the network interface */
@@ -8805,7 +8805,7 @@
  	}
  
  	/* Determine current link speed */
-@@ -1101,6 +1108,8 @@
+@@ -1101,6 +1108,8 @@ static int __init at91ether_setup(unsign
  		printk(KERN_INFO "%s: National Semiconductor DP83848 PHY\n", dev->name);
  	else if (phy_type == MII_AC101L_ID)
  		printk(KERN_INFO "%s: Altima AC101L PHY\n", dev->name);
@@ -8814,7 +8814,7 @@
  	else if (phy_type == MII_KS8721_ID)
  		printk(KERN_INFO "%s: Micrel KS8721 PHY\n", dev->name);
  	else if (phy_type == MII_T78Q21x3_ID)
-@@ -1146,6 +1155,7 @@
+@@ -1146,6 +1155,7 @@ static int __init at91ether_probe(struct
  			case MII_DP83847_ID:		/* National Semiconductor DP83847:  */
  			case MII_DP83848_ID:		/* National Semiconductor DP83848:  */
  			case MII_AC101L_ID:		/* Altima AC101L: PHY_ID1 = 0x22, PHY_ID2 = 0x5520 */
@@ -8822,7 +8822,7 @@
  			case MII_KS8721_ID:		/* Micrel KS8721: PHY_ID1 = 0x22, PHY_ID2 = 0x1610 */
  			case MII_T78Q21x3_ID:		/* Teridian 78Q21x3: PHY_ID1 = 0x0E, PHY_ID2 = 7237 */
  			case MII_LAN83C185_ID:		/* SMSC LAN83C185: PHY_ID1 = 0x0007, PHY_ID2 = 0xC0A1 */
-@@ -1246,3 +1256,4 @@
+@@ -1246,3 +1256,4 @@ module_exit(at91ether_exit)
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver");
  MODULE_AUTHOR("Andrew Victor");
@@ -8839,7 +8839,7 @@
  /* Micrel KS8721 PHY */
  #define MII_KS8721_ID		0x00221610
  
-@@ -84,7 +87,6 @@
+@@ -84,7 +87,6 @@ struct recv_desc_bufs
  
  struct at91_private
  {
@@ -9956,7 +9956,7 @@
 +#endif
 --- a/drivers/rtc/Kconfig
 +++ b/drivers/rtc/Kconfig
-@@ -487,12 +487,12 @@
+@@ -487,12 +487,12 @@ config RTC_DRV_AT91RM9200
  	  this is powered by the backup power supply.
  
  config RTC_DRV_AT91SAM9
@@ -9985,7 +9985,7 @@
  
  #include <asm/arch/at91_rtc.h>
  
-@@ -307,12 +304,6 @@
+@@ -307,12 +304,6 @@ static int __init at91_rtc_probe(struct 
  		return ret;
  	}
  
@@ -10008,7 +10008,7 @@
  #include <asm/arch/at91_rtt.h>
  
  
-@@ -150,6 +151,9 @@
+@@ -150,6 +151,9 @@ static int at91_rtc_settime(struct devic
  	return 0;
  }
  
@@ -10018,7 +10018,7 @@
  static int at91_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
  	struct sam9_rtc *rtc = dev_get_drvdata(dev);
-@@ -176,6 +180,9 @@
+@@ -176,6 +180,9 @@ static int at91_rtc_readalarm(struct dev
  	return 0;
  }
  
@@ -10028,7 +10028,7 @@
  static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
  	struct sam9_rtc *rtc = dev_get_drvdata(dev);
-@@ -321,10 +328,6 @@
+@@ -321,10 +328,6 @@ static int __init at91_rtc_probe(struct 
  	if (!rtc)
  		return -ENOMEM;
  
@@ -10041,7 +10041,7 @@
  	rtc->rtt += r->start;
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
-@@ -113,6 +113,15 @@
+@@ -113,6 +113,15 @@ config SPI_GPIO
  
  	  If unsure, say N.
  
@@ -10059,7 +10059,7 @@
  	depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_SPI_S3C24XX)		+= spi_s3c24x
  obj-$(CONFIG_SPI_TXX9)			+= spi_txx9.o
  obj-$(CONFIG_SPI_XILINX)		+= xilinx_spi.o
  obj-$(CONFIG_SPI_SH_SCI)		+= spi_sh_sci.o
@@ -10280,7 +10280,7 @@
 +MODULE_ALIAS("platform:at91_spi");
 --- a/drivers/usb/gadget/Kconfig
 +++ b/drivers/usb/gadget/Kconfig
-@@ -118,10 +118,10 @@
+@@ -118,10 +118,10 @@ config USB_AMD5536UDC
  config USB_GADGET_ATMEL_USBA
  	boolean "Atmel USBA"
  	select USB_GADGET_DUALSPEED
@@ -10295,7 +10295,7 @@
  	tristate
 --- a/drivers/usb/gadget/at91_udc.c
 +++ b/drivers/usb/gadget/at91_udc.c
-@@ -1827,7 +1827,7 @@
+@@ -1827,7 +1827,7 @@ static int at91udc_suspend(struct platfo
  	 */
  	if ((!udc->suspended && udc->addr)
  			|| !wake
@@ -10322,7 +10322,7 @@
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
-@@ -324,53 +326,6 @@
+@@ -324,53 +326,6 @@ static int vbus_is_present(struct usba_u
  	return 1;
  }
  
@@ -10376,7 +10376,7 @@
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
  	unsigned int transaction_len;
-@@ -387,7 +342,7 @@
+@@ -387,7 +342,7 @@ static void next_fifo_transaction(struct
  		ep->ep.name, req, transaction_len,
  		req->last_transaction ? ", done" : "");
  
@@ -10385,7 +10385,7 @@
  	usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
  	req->req.actual += transaction_len;
  }
-@@ -476,7 +431,7 @@
+@@ -476,7 +431,7 @@ static void receive_data(struct usba_ep 
  			bytecount = req->req.length - req->req.actual;
  		}
  
@@ -10394,7 +10394,7 @@
  				ep->fifo, bytecount);
  		req->req.actual += bytecount;
  
-@@ -1029,33 +984,6 @@
+@@ -1029,33 +984,6 @@ static const struct usb_gadget_ops usba_
  	.set_selfpowered	= usba_udc_set_selfpowered,
  };
  
@@ -10428,7 +10428,7 @@
  static struct usb_endpoint_descriptor usba_ep0_desc = {
  	.bLength = USB_DT_ENDPOINT_SIZE,
  	.bDescriptorType = USB_DT_ENDPOINT,
-@@ -1074,7 +1002,6 @@
+@@ -1074,7 +1002,6 @@ static void nop_release(struct device *d
  static struct usba_udc the_udc = {
  	.gadget	= {
  		.ops		= &usba_udc_ops,
@@ -10436,7 +10436,7 @@
  		.ep_list	= LIST_HEAD_INIT(the_udc.gadget.ep_list),
  		.is_dualspeed	= 1,
  		.name		= "atmel_usba_udc",
-@@ -1231,7 +1158,7 @@
+@@ -1231,7 +1158,7 @@ static int do_test_mode(struct usba_udc 
  		} else {
  			usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
  			usba_writel(udc, TST, USBA_TST_PKT_MODE);
@@ -10445,7 +10445,7 @@
  					sizeof(test_packet_buffer));
  			usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
  			dev_info(dev, "Entering Test_Packet mode...\n");
-@@ -1530,13 +1457,13 @@
+@@ -1530,13 +1457,13 @@ restart:
  		DBG(DBG_HW, "Packet length: %u\n", pkt_len);
  		if (pkt_len != sizeof(crq)) {
  			pr_warning("udc: Invalid packet length %u "
@@ -10461,7 +10461,7 @@
  
  		/* Free up one bank in the FIFO so that we can
  		 * generate or receive a reply right away. */
-@@ -1908,7 +1835,7 @@
+@@ -1908,7 +1835,7 @@ static int __init usba_udc_probe(struct 
  
  	regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
  	fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
@@ -10470,7 +10470,7 @@
  		return -ENXIO;
  
  	irq = platform_get_irq(pdev, 0);
-@@ -1956,16 +1883,44 @@
+@@ -1956,16 +1883,44 @@ static int __init usba_udc_probe(struct 
  	usba_writel(udc, CTRL, 0);
  	clk_disable(pclk);
  
@@ -10516,7 +10516,7 @@
  
  		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
  	}
-@@ -1984,7 +1939,7 @@
+@@ -1984,7 +1939,7 @@ static int __init usba_udc_probe(struct 
  		goto err_device_add;
  	}
  
@@ -10525,7 +10525,7 @@
  		if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
  			udc->vbus_pin = pdata->vbus_pin;
  
-@@ -2004,7 +1959,7 @@
+@@ -2004,7 +1959,7 @@ static int __init usba_udc_probe(struct 
  	}
  
  	usba_init_debugfs(udc);
@@ -10534,7 +10534,7 @@
  		usba_ep_init_debugfs(udc, &usba_ep[i]);
  
  	return 0;
-@@ -2012,6 +1967,8 @@
+@@ -2012,6 +1967,8 @@ static int __init usba_udc_probe(struct 
  err_device_add:
  	free_irq(irq, udc);
  err_request_irq:
@@ -10543,7 +10543,7 @@
  	iounmap(udc->fifo);
  err_map_fifo:
  	iounmap(udc->regs);
-@@ -2029,10 +1986,11 @@
+@@ -2029,10 +1986,11 @@ static int __exit usba_udc_remove(struct
  {
  	struct usba_udc *udc;
  	int i;
@@ -10558,7 +10558,7 @@
  
 --- a/drivers/usb/host/ohci-at91.c
 +++ b/drivers/usb/host/ohci-at91.c
-@@ -330,7 +330,7 @@
+@@ -330,7 +330,7 @@ ohci_hcd_at91_drv_suspend(struct platfor
  	 *
  	 * REVISIT: some boards will be able to turn VBUS off...
  	 */
@@ -10569,7 +10569,7 @@
  	}
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
-@@ -889,6 +889,17 @@
+@@ -889,6 +889,17 @@ config FB_EPSON1355
  	  framebuffer.  Product specs at
  	  <http://www.erd.epson.com/vdc/html/products.htm>.
  
@@ -10589,7 +10589,7 @@
  	depends on FB
 --- a/drivers/video/Makefile
 +++ b/drivers/video/Makefile
-@@ -87,7 +87,8 @@
+@@ -87,7 +87,8 @@ obj-$(CONFIG_FB_G364)             += g36
  obj-$(CONFIG_FB_SA1100)           += sa1100fb.o
  obj-$(CONFIG_FB_HIT)              += hitfb.o
  obj-$(CONFIG_FB_EPSON1355)	  += epson1355fb.o
@@ -10610,7 +10610,7 @@
  #define ATMEL_LCDC_FIFO_SIZE		2048
  #else
  #define ATMEL_LCDC_FIFO_SIZE		512
-@@ -903,11 +903,45 @@
+@@ -903,11 +903,45 @@ static int __exit atmel_lcdfb_remove(str
  	return 0;
  }
  
@@ -10661,7 +10661,7 @@
  		.owner	= THIS_MODULE,
 --- a/drivers/video/backlight/Kconfig
 +++ b/drivers/video/backlight/Kconfig
-@@ -112,3 +112,11 @@
+@@ -112,3 +112,11 @@ config BACKLIGHT_CARILLO_RANCH
  	help
  	  If you have a Intel LE80578 (Carillo Ranch) say Y to enable the
  	  backlight driver.
@@ -10675,7 +10675,7 @@
 +	  backlight driver.
 --- a/drivers/video/backlight/Makefile
 +++ b/drivers/video/backlight/Makefile
-@@ -10,3 +10,4 @@
+@@ -10,3 +10,4 @@ obj-$(CONFIG_BACKLIGHT_LOCOMO)	+= locomo
  obj-$(CONFIG_BACKLIGHT_OMAP1)	+= omap1_bl.o
  obj-$(CONFIG_BACKLIGHT_PROGEAR) += progear_bl.o
  obj-$(CONFIG_BACKLIGHT_CARILLO_RANCH) += cr_bllcd.o
@@ -11507,7 +11507,7 @@
 +MODULE_LICENSE("GPL");
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -66,6 +66,14 @@
+@@ -66,6 +66,14 @@ config AT91RM9200_WATCHDOG
  	  Watchdog timer embedded into AT91RM9200 chips. This will reboot your
  	  system when the timeout is reached.
  
@@ -11524,7 +11524,7 @@
  	depends on FOOTBRIDGE
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -26,6 +26,7 @@
+@@ -26,6 +26,7 @@ obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb.
  
  # ARM Architecture
  obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o
@@ -12556,7 +12556,7 @@
  
   /* USB Device */
  struct at91_udc_data {
-@@ -45,6 +46,9 @@
+@@ -45,6 +46,9 @@ struct at91_udc_data {
  };
  extern void __init at91_add_device_udc(struct at91_udc_data *data);
  
@@ -12566,7 +12566,7 @@
   /* Compact Flash */
  struct at91_cf_data {
  	u8	irq_pin;		/* I/O IRQ */
-@@ -158,6 +162,9 @@
+@@ -158,6 +162,9 @@ extern void __init at91_add_device_ac97(
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
@@ -12578,7 +12578,7 @@
  extern void __init at91_gpio_leds(struct gpio_led *leds, int nr);
 --- a/include/asm-arm/arch-at91/cpu.h
 +++ b/include/asm-arm/arch-at91/cpu.h
-@@ -48,6 +48,17 @@
+@@ -48,6 +48,17 @@ static inline unsigned long at91_arch_id
  	return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH);
  }
  
@@ -12596,7 +12596,7 @@
  
  #ifdef CONFIG_ARCH_AT91RM9200
  #define cpu_is_at91rm9200()	(at91_cpu_identify() == ARCH_ID_AT91RM9200)
-@@ -83,8 +94,12 @@
+@@ -83,8 +94,12 @@ static inline unsigned long at91_arch_id
  
  #ifdef CONFIG_ARCH_AT91CAP9
  #define cpu_is_at91cap9()	(at91_cpu_identify() == ARCH_ID_AT91CAP9)
@@ -12858,7 +12858,7 @@
  #elif defined(CONFIG_ARCH_AT91SAM9RL)
 --- a/include/asm-arm/arch-ks8695/devices.h
 +++ b/include/asm-arm/arch-ks8695/devices.h
-@@ -18,6 +18,11 @@
+@@ -18,6 +18,11 @@ extern void __init ks8695_add_device_wan
  extern void __init ks8695_add_device_lan(void);
  extern void __init ks8695_add_device_hpna(void);
  
@@ -12872,7 +12872,7 @@
  #define KS8695_MODE_MINIPCI	1
 --- a/include/linux/clk.h
 +++ b/include/linux/clk.h
-@@ -121,4 +121,24 @@
+@@ -121,4 +121,24 @@ int clk_set_parent(struct clk *clk, stru
   */
  struct clk *clk_get_parent(struct clk *clk);
  
@@ -12935,7 +12935,7 @@
 +
 --- a/include/video/atmel_lcdc.h
 +++ b/include/video/atmel_lcdc.h
-@@ -39,6 +39,7 @@
+@@ -39,6 +39,7 @@ struct atmel_lcdfb_info {
  	u8			bl_power;
  #endif
  	bool			lcdcon_is_backlight;
@@ -12969,7 +12969,7 @@
  static struct clk *pck1_clk;
  static struct clk *pllb_clk;
  
-@@ -276,7 +268,6 @@
+@@ -276,7 +268,6 @@ static struct platform_device *eti_b1_sn
  static int __init eti_b1_init(void)
  {
  	int ret;
@@ -12977,7 +12977,7 @@
  	struct at91_ssc_periph *ssc = eti_b1_dai.cpu_dai->private_data;
  
  	if (!request_mem_region(AT91RM9200_BASE_SSC1, SZ_16K, "soc-audio")) {
-@@ -310,19 +301,12 @@
+@@ -310,19 +301,12 @@ static int __init eti_b1_init(void)
  		goto fail_io_unmap;
  	}
  
@@ -13005,7 +13005,7 @@
  	 * Set PCK1 parent to PLLB and its rate to 12 Mhz.
 --- a/sound/spi/at73c213.c
 +++ b/sound/spi/at73c213.c
-@@ -114,7 +114,11 @@
+@@ -114,7 +114,11 @@ snd_at73c213_write_reg(struct snd_at73c2
  static struct snd_pcm_hardware snd_at73c213_playback_hw = {
  	.info		= SNDRV_PCM_INFO_INTERLEAVED |
  			  SNDRV_PCM_INFO_BLOCK_TRANSFER,
diff --git a/target/linux/at91/patches-2.6.25/001-vlink-machine.patch b/target/linux/at91/patches-2.6.25/001-vlink-machine.patch
index ee23cc8c5c..76e3698c52 100644
--- a/target/linux/at91/patches-2.6.25/001-vlink-machine.patch
+++ b/target/linux/at91/patches-2.6.25/001-vlink-machine.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/Kconfig
 +++ b/arch/arm/mach-at91/Kconfig
-@@ -151,6 +151,12 @@
+@@ -151,6 +151,12 @@ config MACH_TT9200
  	help
  	  Select this if you are using Toptech's TT9200 board.
  
@@ -15,7 +15,7 @@
  # ----------------------------------------------------------
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_MACH_KB9200)	+= board-kb920
  obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)		+= board-kafa.o
  obj-$(CONFIG_MACH_CHUB)		+= board-chub.o
diff --git a/target/linux/at91/patches-2.6.25/002-led-driver.patch b/target/linux/at91/patches-2.6.25/002-led-driver.patch
index 20e1fe7729..595720dcb2 100644
--- a/target/linux/at91/patches-2.6.25/002-led-driver.patch
+++ b/target/linux/at91/patches-2.6.25/002-led-driver.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
-@@ -717,6 +717,26 @@
+@@ -717,6 +717,26 @@ static void __init at91_add_device_watch
  static void __init at91_add_device_watchdog(void) {}
  #endif
  
@@ -29,7 +29,7 @@
   *  SSC -- Synchronous Serial Controller
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
-@@ -60,7 +60,12 @@
+@@ -60,7 +60,12 @@ obj-$(CONFIG_MACH_AT91CAP9ADK)	+= board-
  obj-$(CONFIG_MACH_AT91EB01)	+= board-eb01.o
  
  # Drivers
@@ -153,7 +153,7 @@
 +__initcall(leds_init);
 --- a/include/asm-arm/arch-at91/board.h
 +++ b/include/asm-arm/arch-at91/board.h
-@@ -162,6 +162,11 @@
+@@ -162,6 +162,11 @@ extern void __init at91_add_device_ac97(
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
diff --git a/target/linux/at91/patches-2.6.25/003-gpio-driver.patch b/target/linux/at91/patches-2.6.25/003-gpio-driver.patch
index f27b361051..3968c6b2d5 100644
--- a/target/linux/at91/patches-2.6.25/003-gpio-driver.patch
+++ b/target/linux/at91/patches-2.6.25/003-gpio-driver.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/board-vlink.c
 +++ b/arch/arm/mach-at91/board-vlink.c
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ static struct at91_udc_data __initdata v
  */
  
  static struct at91_mmc_data __initdata vlink_mmc_data = {
@@ -9,7 +9,7 @@
  	.slot_b		= 0,
  	.wire4		= 1,
  //	.wp_pin		= AT91_PIN_PA17,
-@@ -136,6 +136,7 @@
+@@ -136,6 +136,7 @@ static struct spi_board_info vlink_spi_d
  
  static void __init vlink_board_init(void)
  {
@@ -17,7 +17,7 @@
  	/* Serial */
  	at91_add_device_serial();
  	/* Ethernet */
-@@ -157,36 +158,66 @@
+@@ -157,36 +158,66 @@ static void __init vlink_board_init(void
  //	at91_set_gpio_output(AT91_PIN_PB22, 1);	/* this MMC card slot can optionally use SPI signaling (CS3). */
  	at91_add_device_mmc(0, &vlink_mmc_data);
  #endif
@@ -112,7 +112,7 @@
  
  
  static inline void __iomem *pin_to_controller(unsigned pin)
-@@ -71,9 +72,13 @@
+@@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip
  {
  	void __iomem	*pio = pin_to_controller(pin);
  	unsigned	mask = pin_to_mask(pin);
@@ -126,7 +126,7 @@
  	__raw_writel(mask, pio + PIO_IDR);
  	__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
  	__raw_writel(mask, pio + PIO_PER);
-@@ -130,10 +135,13 @@
+@@ -130,10 +135,13 @@ int __init_or_module at91_set_gpio_input
  {
  	void __iomem	*pio = pin_to_controller(pin);
  	unsigned	mask = pin_to_mask(pin);
@@ -140,7 +140,7 @@
  	__raw_writel(mask, pio + PIO_IDR);
  	__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
  	__raw_writel(mask, pio + PIO_ODR);
-@@ -151,10 +159,13 @@
+@@ -151,10 +159,13 @@ int __init_or_module at91_set_gpio_outpu
  {
  	void __iomem	*pio = pin_to_controller(pin);
  	unsigned	mask = pin_to_mask(pin);
@@ -154,7 +154,7 @@
  	__raw_writel(mask, pio + PIO_IDR);
  	__raw_writel(mask, pio + PIO_PUDR);
  	__raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR));
-@@ -262,6 +273,18 @@
+@@ -262,6 +273,18 @@ int at91_get_gpio_value(unsigned pin)
  }
  EXPORT_SYMBOL(at91_get_gpio_value);
  
@@ -175,7 +175,7 @@
  #ifdef CONFIG_PM
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -1072,5 +1072,12 @@
+@@ -1072,5 +1072,12 @@ config AT91_SPIDEV
  	  The SPI driver gives user mode access to this serial
  	  bus on the AT91RM9200 processor.
  
@@ -190,7 +190,7 @@
  
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -100,6 +100,7 @@
+@@ -100,6 +100,7 @@ obj-$(CONFIG_GPIO_TB0219)	+= tb0219.o
  obj-$(CONFIG_TELCLOCK)		+= tlclk.o
  obj-$(CONFIG_AT91_SPI)		+= at91_spi.o
  obj-$(CONFIG_AT91_SPIDEV)	+= at91_spidev.o
@@ -536,7 +536,7 @@
 +MODULE_DESCRIPTION("FDL Versalink GPIO Driver");
 --- a/include/asm-arm/arch-at91/gpio.h
 +++ b/include/asm-arm/arch-at91/gpio.h
-@@ -199,6 +199,7 @@
+@@ -199,6 +199,7 @@ extern int __init_or_module at91_set_mul
  /* callable at any time */
  extern int at91_set_gpio_value(unsigned pin, int value);
  extern int at91_get_gpio_value(unsigned pin);
diff --git a/target/linux/at91/patches-2.6.25/007-mtd-partition.patch b/target/linux/at91/patches-2.6.25/007-mtd-partition.patch
index 80602596ad..503c89200b 100644
--- a/target/linux/at91/patches-2.6.25/007-mtd-partition.patch
+++ b/target/linux/at91/patches-2.6.25/007-mtd-partition.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/at91_dataflash.c
 +++ b/drivers/mtd/devices/at91_dataflash.c
-@@ -175,7 +175,7 @@
+@@ -175,7 +175,7 @@ static struct mtd_partition static_parti
  };
  #endif
  
@@ -11,7 +11,7 @@
  
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -168,6 +168,12 @@
+@@ -168,6 +168,12 @@ config MTD_OF_PARTS
  	  the partition map from the children of the flash node,
  	  as described in Documentation/powerpc/booting-without-of.txt.
  
@@ -26,7 +26,7 @@
  config MTD_CHAR
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redbo
  obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
  obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
  obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o
diff --git a/target/linux/at91/patches-2.6.25/008-fdl-serial.patch b/target/linux/at91/patches-2.6.25/008-fdl-serial.patch
index 331990168b..cf11ac0da5 100644
--- a/target/linux/at91/patches-2.6.25/008-fdl-serial.patch
+++ b/target/linux/at91/patches-2.6.25/008-fdl-serial.patch
@@ -1,6 +1,6 @@
 --- a/drivers/serial/atmel_serial.c
 +++ b/drivers/serial/atmel_serial.c
-@@ -214,6 +214,34 @@
+@@ -214,6 +214,34 @@ static void atmel_set_mctrl(struct uart_
  				at91_set_gpio_value(AT91_PIN_PA21, 0);
  			else
  				at91_set_gpio_value(AT91_PIN_PA21, 1);
@@ -35,7 +35,7 @@
  		}
  	}
  #endif
-@@ -251,8 +279,10 @@
+@@ -251,8 +279,10 @@ static u_int atmel_get_mctrl(struct uart
  	/*
  	 * The control signals are active low.
  	 */
@@ -48,7 +48,7 @@
  	if (!(status & ATMEL_US_CTS))
  		ret |= TIOCM_CTS;
  	if (!(status & ATMEL_US_DSR))
-@@ -260,6 +290,16 @@
+@@ -260,6 +290,16 @@ static u_int atmel_get_mctrl(struct uart
  	if (!(status & ATMEL_US_RI))
  		ret |= TIOCM_RI;
  
@@ -65,7 +65,7 @@
  	return ret;
  }
  
-@@ -453,6 +493,34 @@
+@@ -453,6 +493,34 @@ static void atmel_tx_chars(struct uart_p
  }
  
  /*
@@ -100,7 +100,7 @@
   * receive interrupt handler.
   */
  static void
-@@ -815,6 +883,23 @@
+@@ -815,6 +883,23 @@ static int atmel_startup(struct uart_por
  		return retval;
  	}
  
@@ -124,7 +124,7 @@
  	/*
  	 * Initialize DMA (if necessary)
  	 */
-@@ -834,6 +919,10 @@
+@@ -834,6 +919,10 @@ static int atmel_startup(struct uart_por
  					kfree(atmel_port->pdc_rx[0].buf);
  				}
  				free_irq(port->irq, port);
@@ -135,7 +135,7 @@
  				return -ENOMEM;
  			}
  			pdc->dma_addr = dma_map_single(port->dev,
-@@ -873,7 +962,11 @@
+@@ -873,7 +962,11 @@ static int atmel_startup(struct uart_por
  		retval = atmel_open_hook(port);
  		if (retval) {
  			free_irq(port->irq, port);
@@ -148,7 +148,7 @@
  		}
  	}
  
-@@ -947,6 +1040,10 @@
+@@ -947,6 +1040,10 @@ static void atmel_shutdown(struct uart_p
  	 * Free the interrupt
  	 */
  	free_irq(port->irq, port);
diff --git a/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch b/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch
index 45d6783bb4..d30023186a 100644
--- a/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch
+++ b/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
-@@ -1001,7 +1001,15 @@
+@@ -1001,7 +1001,15 @@ static inline void configure_usart0_pins
  		 *  We need to drive the pin manually.  Default is off (RTS is active low).
  		 */
  		at91_set_gpio_output(AT91_PIN_PA21, 1);
@@ -17,7 +17,7 @@
  }
  
  static struct resource uart1_resources[] = {
-@@ -1139,6 +1147,14 @@
+@@ -1139,6 +1147,14 @@ static inline void configure_usart3_pins
  		at91_set_B_periph(AT91_PIN_PB1, 0);	/* CTS3 */
  	if (pins & ATMEL_UART_RTS)
  		at91_set_B_periph(AT91_PIN_PB0, 0);	/* RTS3 */
diff --git a/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch b/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch
index a84851298e..756e014f02 100644
--- a/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch
+++ b/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/arm/at91_ether.c
 +++ b/drivers/net/arm/at91_ether.c
-@@ -146,6 +146,7 @@
+@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_
  	struct at91_private *lp = netdev_priv(dev);
  	unsigned int bmsr, bmcr, lpa, mac_cfg;
  	unsigned int speed, duplex;
@@ -8,7 +8,7 @@
  
  	if (!mii_link_ok(&lp->mii)) {		/* no link */
  		netif_carrier_off(dev);
-@@ -158,8 +159,15 @@
+@@ -158,8 +159,15 @@ static void update_linkspeed(struct net_
  	read_phy(lp->phy_address, MII_BMSR, &bmsr);
  	read_phy(lp->phy_address, MII_BMCR, &bmcr);
  	if (bmcr & BMCR_ANENABLE) {				/* AutoNegotiation is enabled */
diff --git a/target/linux/at91/patches-2.6.25/014-initpartition.patch b/target/linux/at91/patches-2.6.25/014-initpartition.patch
index 491207443e..554c1491e7 100644
--- a/target/linux/at91/patches-2.6.25/014-initpartition.patch
+++ b/target/linux/at91/patches-2.6.25/014-initpartition.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/at91_dataflash.c
 +++ b/drivers/mtd/devices/at91_dataflash.c
-@@ -163,12 +163,12 @@
+@@ -163,12 +163,12 @@ static struct mtd_partition static_parti
  		.mask_flags	= MTD_WRITEABLE,	/* read-only */
  	},
  	{
diff --git a/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch b/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch
index d698763c68..7bd38b4434 100644
--- a/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch
+++ b/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
-@@ -904,7 +904,7 @@
+@@ -904,7 +904,7 @@ int usb_serial_probe(struct usb_interfac
  			dev_err(&interface->dev, "No free urbs available\n");
  			goto probe_error;
  		}
diff --git a/target/linux/au1000/Makefile b/target/linux/au1000/Makefile
index 4db3a39dc8..a022d5f1a4 100644
--- a/target/linux/au1000/Makefile
+++ b/target/linux/au1000/Makefile
@@ -11,7 +11,7 @@ BOARD:=au1000
 BOARDNAME:=RMI/AMD AU1x00
 FEATURES:=jffs2 usb pci
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += yamonenv
diff --git a/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch b/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch
index bac9463e04..b3aa0637b8 100644
--- a/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch
+++ b/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch
@@ -12,7 +12,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
 
 --- a/arch/mips/au1000/Kconfig
 +++ b/arch/mips/au1000/Kconfig
-@@ -135,3 +135,4 @@
+@@ -135,3 +135,4 @@ config SOC_AU1X00
  	select SYS_SUPPORTS_32BIT_KERNEL
  	select SYS_SUPPORTS_APM_EMULATION
  	select SYS_SUPPORTS_KGDB
diff --git a/target/linux/au1000/patches/002-sys_btn_gpio.patch b/target/linux/au1000/patches/002-sys_btn_gpio.patch
index a3aa7ad679..e38b83f7cb 100644
--- a/target/linux/au1000/patches/002-sys_btn_gpio.patch
+++ b/target/linux/au1000/patches/002-sys_btn_gpio.patch
@@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
  static struct resource mtx1_wdt_res[] = {
  	[0] = {
  		.start = 15,
-@@ -62,11 +85,13 @@
+@@ -62,11 +85,13 @@ static struct platform_device mtx1_gpio_
  
  static struct platform_device *mtx1_devs[] = {
  	&mtx1_gpio_leds,
diff --git a/target/linux/au1000/patches/005-au1000_eth_link_beat.patch b/target/linux/au1000/patches/005-au1000_eth_link_beat.patch
index 8ba5f0024e..e3771d7720 100644
--- a/target/linux/au1000/patches/005-au1000_eth_link_beat.patch
+++ b/target/linux/au1000/patches/005-au1000_eth_link_beat.patch
@@ -10,7 +10,7 @@
   * ########################################################################
   *
   *  This program is free software; you can distribute it and/or modify it
-@@ -835,6 +838,10 @@
+@@ -835,6 +838,10 @@ static int au1000_init(struct net_device
  
  	control = MAC_RX_ENABLE | MAC_TX_ENABLE;
  #ifndef CONFIG_CPU_LITTLE_ENDIAN
diff --git a/target/linux/au1000/patches/012-mtx1_cmdline.patch b/target/linux/au1000/patches/012-mtx1_cmdline.patch
index ee8b541b81..a41ee6f21d 100644
--- a/target/linux/au1000/patches/012-mtx1_cmdline.patch
+++ b/target/linux/au1000/patches/012-mtx1_cmdline.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/au1000/mtx-1/init.c
 +++ b/arch/mips/au1000/mtx-1/init.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ void __init prom_init(void)
  	prom_argv = (char **) fw_arg1;
  	prom_envp = (char **) fw_arg2;
  
diff --git a/target/linux/au1000/patches/013-openwrt_rootfs.patch b/target/linux/au1000/patches/013-openwrt_rootfs.patch
index 414aa39583..e7bcba6b6e 100644
--- a/target/linux/au1000/patches/013-openwrt_rootfs.patch
+++ b/target/linux/au1000/patches/013-openwrt_rootfs.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/mtx-1_flash.c
 +++ b/drivers/mtd/maps/mtx-1_flash.c
-@@ -28,7 +28,7 @@
+@@ -28,7 +28,7 @@ static struct map_info mtx1_map = {
  
  static struct mtd_partition mtx1_partitions[] = {
          {
diff --git a/target/linux/au1000/patches/014-au1000_eth_ioctl.patch b/target/linux/au1000/patches/014-au1000_eth_ioctl.patch
index ed308f8190..935898159f 100644
--- a/target/linux/au1000/patches/014-au1000_eth_ioctl.patch
+++ b/target/linux/au1000/patches/014-au1000_eth_ioctl.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/au1000_eth.c
 +++ b/drivers/net/au1000_eth.c
-@@ -1306,9 +1306,12 @@
+@@ -1306,9 +1306,12 @@ static void set_rx_mode(struct net_devic
  	}
  }
  
diff --git a/target/linux/au1000/patches/016-net-irq.patch b/target/linux/au1000/patches/016-net-irq.patch
index 4ad718bf6e..a5b00a8789 100644
--- a/target/linux/au1000/patches/016-net-irq.patch
+++ b/target/linux/au1000/patches/016-net-irq.patch
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/mach-au1x00/au1000.h
 +++ b/include/asm-mips/mach-au1x00/au1000.h
-@@ -623,6 +623,7 @@
+@@ -623,6 +623,7 @@ enum soc_au1500_ints {
  	AU1000_RTC_MATCH1_INT,
  	AU1000_RTC_MATCH2_INT,
  	AU1500_PCI_ERR_INT,
diff --git a/target/linux/au1000/patches/017-gpio-dir.patch b/target/linux/au1000/patches/017-gpio-dir.patch
index 982d10af4e..5ae819ee18 100644
--- a/target/linux/au1000/patches/017-gpio-dir.patch
+++ b/target/linux/au1000/patches/017-gpio-dir.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/au1000/common/gpio.c
 +++ b/arch/mips/au1000/common/gpio.c
-@@ -66,7 +66,8 @@
+@@ -66,7 +66,8 @@ static int au1xxx_gpio2_direction_input(
  static int au1xxx_gpio2_direction_output(unsigned gpio, int value)
  {
  	gpio -= AU1XXX_GPIO_BASE;
@@ -10,7 +10,7 @@
  	return 0;
  }
  
-@@ -95,6 +96,7 @@
+@@ -95,6 +96,7 @@ static int au1xxx_gpio1_direction_input(
  static int au1xxx_gpio1_direction_output(unsigned gpio, int value)
  {
  	gpio1->trioutclr = (0x01 & gpio);
diff --git a/target/linux/avr32/Makefile b/target/linux/avr32/Makefile
index 6d24ecffb3..7d1b8418a5 100644
--- a/target/linux/avr32/Makefile
+++ b/target/linux/avr32/Makefile
@@ -10,7 +10,7 @@ ARCH:=avr32
 BOARD:=avr32
 BOARDNAME:=Atmel AVR32
 FEATURES:=squashfs
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/avr32/patches/100-git_sync.patch b/target/linux/avr32/patches/100-git_sync.patch
index 2f6291a7db..6c9fe1eb66 100644
--- a/target/linux/avr32/patches/100-git_sync.patch
+++ b/target/linux/avr32/patches/100-git_sync.patch
@@ -1,6 +1,6 @@
 --- a/Documentation/serial/driver
 +++ b/Documentation/serial/driver
-@@ -186,6 +186,17 @@
+@@ -186,6 +186,17 @@ hardware.
  	Locking: port_sem taken.
  	Interrupts: caller dependent.
  
@@ -20,7 +20,7 @@
  	bits.  Update read_status_mask and ignore_status_mask to indicate
 --- a/arch/avr32/Kconfig
 +++ b/arch/avr32/Kconfig
-@@ -47,6 +47,9 @@
+@@ -47,6 +47,9 @@ config RWSEM_GENERIC_SPINLOCK
  config GENERIC_TIME
  	def_bool y
  
@@ -30,7 +30,7 @@
  config RWSEM_XCHGADD_ALGORITHM
  	def_bool n
  
-@@ -70,6 +73,8 @@
+@@ -70,6 +73,8 @@ source "init/Kconfig"
  
  menu "System Type and features"
  
@@ -39,7 +39,7 @@
  config SUBARCH_AVR32B
  	bool
  config MMU
-@@ -83,6 +88,7 @@
+@@ -83,6 +88,7 @@ config PLATFORM_AT32AP
  	select MMU
  	select PERFORMANCE_COUNTERS
  	select HAVE_GPIO_LIB
@@ -47,7 +47,7 @@
  
  #
  # CPU types
-@@ -117,6 +123,9 @@
+@@ -117,6 +123,9 @@ endchoice
  if BOARD_ATSTK1000
  source "arch/avr32/boards/atstk1000/Kconfig"
  endif
@@ -57,7 +57,7 @@
  
  choice
  	prompt "Boot loader type"
-@@ -142,6 +151,9 @@
+@@ -142,6 +151,9 @@ config PHYS_OFFSET
  
  source "kernel/Kconfig.preempt"
  
@@ -67,7 +67,7 @@
  config HAVE_ARCH_BOOTMEM_NODE
  	def_bool n
  
-@@ -180,6 +192,10 @@
+@@ -180,6 +192,10 @@ config NMI_DEBUGGING
  	  be dumped to the console when a Non-Maskable Interrupt
  	  happens.
  
@@ -78,7 +78,7 @@
  # FPU emulation goes here
  
  source "kernel/Kconfig.hz"
-@@ -196,6 +212,11 @@
+@@ -196,6 +212,11 @@ endmenu
  
  menu "Power management options"
  
@@ -92,7 +92,7 @@
  source "drivers/cpufreq/Kconfig"
 --- a/arch/avr32/Makefile
 +++ b/arch/avr32/Makefile
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,7 @@ core-$(CONFIG_LOADER_U_BOOT)		+= arch/av
  core-y					+= arch/avr32/kernel/
  core-y					+= arch/avr32/mm/
  drivers-$(CONFIG_OPROFILE)		+= arch/avr32/oprofile/
@@ -131,7 +131,7 @@
  /* Initialized by bootloader-specific startup code. */
  struct tag *bootloader_tags __initdata;
  
-@@ -37,11 +44,16 @@
+@@ -37,11 +44,16 @@ static struct eth_platform_data __initda
  static struct spi_board_info spi0_board_info[] __initdata = {
  	{
  		.modalias	= "mtd_dataflash",
@@ -149,7 +149,7 @@
  /*
   * The next two functions should go away as the boot loader is
   * supposed to initialize the macb address registers with a valid
-@@ -124,6 +136,7 @@
+@@ -124,6 +136,7 @@ static struct platform_device ngw_gpio_l
  	}
  };
  
@@ -157,7 +157,7 @@
  static struct i2c_gpio_platform_data i2c_gpio_data = {
  	.sda_pin		= GPIO_PIN_PA(6),
  	.scl_pin		= GPIO_PIN_PA(7),
-@@ -139,6 +152,7 @@
+@@ -139,6 +152,7 @@ static struct platform_device i2c_gpio_d
  		.platform_data	= &i2c_gpio_data,
  	},
  };
@@ -165,7 +165,7 @@
  
  static int __init atngw100_init(void)
  {
-@@ -157,6 +171,7 @@
+@@ -157,6 +171,7 @@ static int __init atngw100_init(void)
  	set_hw_addr(at32_add_device_eth(1, &eth_data[1]));
  
  	at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info));
@@ -173,7 +173,7 @@
  	at32_add_device_usba(0, NULL);
  
  	for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) {
-@@ -165,11 +180,15 @@
+@@ -165,11 +180,15 @@ static int __init atngw100_init(void)
  	}
  	platform_device_register(&ngw_gpio_leds);
  
@@ -191,7 +191,7 @@
  }
 --- a/arch/avr32/boards/atstk1000/Kconfig
 +++ b/arch/avr32/boards/atstk1000/Kconfig
-@@ -18,6 +18,10 @@
+@@ -18,6 +18,10 @@ config BOARD_ATSTK1004
  	bool "ATSTK1004"
  	select CPU_AT32AP7002
  
@@ -202,7 +202,7 @@
  endchoice
  
  
-@@ -102,4 +106,60 @@
+@@ -102,4 +106,60 @@ config BOARD_ATSTK1000_EXTDAC
  	depends on !BOARD_ATSTK100X_SW1_CUSTOM && !BOARD_ATSTK100X_SW3_CUSTOM
  	default y
  
@@ -265,7 +265,7 @@
  endif	# stk 1000
 --- a/arch/avr32/boards/atstk1000/Makefile
 +++ b/arch/avr32/boards/atstk1000/Makefile
-@@ -2,3 +2,4 @@
+@@ -2,3 +2,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
@@ -363,7 +363,7 @@
  
  struct eth_addr {
  	u8 addr[6];
-@@ -83,6 +157,19 @@
+@@ -83,6 +157,19 @@ static struct spi_board_info spi1_board_
  } };
  #endif
  
@@ -383,7 +383,7 @@
  /*
   * The next two functions should go away as the boot loader is
   * supposed to initialize the macb address registers with a valid
-@@ -212,6 +299,12 @@
+@@ -212,6 +299,12 @@ static int __init atstk1002_init(void)
  
  	at32_add_system_devices();
  
@@ -396,7 +396,7 @@
  #ifdef	CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
  	at32_add_device_usart(1);
  #else
-@@ -228,16 +321,30 @@
+@@ -228,16 +321,30 @@ static int __init atstk1002_init(void)
  #ifdef CONFIG_BOARD_ATSTK100X_SPI1
  	at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
  #endif
@@ -444,7 +444,7 @@
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static struct at73c213_board_info at73c213_data = {
  	.ssc_id		= 0,
-@@ -59,6 +66,19 @@
+@@ -59,6 +66,19 @@ static struct spi_board_info spi1_board_
  } };
  #endif
  
@@ -464,7 +464,7 @@
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static void __init atstk1003_setup_extdac(void)
  {
-@@ -147,12 +167,22 @@
+@@ -147,12 +167,22 @@ static int __init atstk1003_init(void)
  	at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
  #endif
  #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
@@ -504,7 +504,7 @@
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static struct at73c213_board_info at73c213_data = {
  	.ssc_id		= 0,
-@@ -130,14 +137,23 @@
+@@ -130,14 +137,23 @@ static int __init atstk1004_init(void)
  	at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
  #endif
  #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
@@ -542,7 +542,7 @@
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
@@ -554,7 +554,7 @@
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -37,17 +37,15 @@
+@@ -37,17 +37,15 @@ CONFIG_POSIX_MQUEUE=y
  CONFIG_BSD_PROCESS_ACCT=y
  CONFIG_BSD_PROCESS_ACCT_V3=y
  # CONFIG_TASKSTATS is not set
@@ -575,7 +575,7 @@
  CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=""
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -61,11 +59,13 @@
+@@ -61,11 +59,13 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
@@ -589,7 +589,7 @@
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=y
-@@ -73,6 +73,14 @@
+@@ -73,6 +73,14 @@ CONFIG_SLUB_DEBUG=y
  # CONFIG_SLAB is not set
  CONFIG_SLUB=y
  # CONFIG_SLOB is not set
@@ -604,7 +604,7 @@
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
-@@ -101,10 +109,15 @@
+@@ -101,10 +109,15 @@ CONFIG_IOSCHED_CFQ=y
  CONFIG_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
@@ -620,7 +620,7 @@
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -113,6 +126,7 @@
+@@ -113,6 +126,7 @@ CONFIG_CPU_AT32AP700X=y
  CONFIG_CPU_AT32AP7000=y
  # CONFIG_BOARD_ATSTK1000 is not set
  CONFIG_BOARD_ATNGW100=y
@@ -628,7 +628,7 @@
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -121,6 +135,7 @@
+@@ -121,6 +135,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
@@ -636,7 +636,7 @@
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -146,16 +161,26 @@
+@@ -146,16 +161,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
@@ -663,7 +663,7 @@
  
  #
  # CPU Frequency scaling
-@@ -164,9 +189,9 @@
+@@ -164,9 +189,9 @@ CONFIG_CPU_FREQ=y
  CONFIG_CPU_FREQ_TABLE=y
  # CONFIG_CPU_FREQ_DEBUG is not set
  # CONFIG_CPU_FREQ_STAT is not set
@@ -675,7 +675,7 @@
  # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -202,6 +227,7 @@
+@@ -202,6 +227,7 @@ CONFIG_XFRM=y
  CONFIG_XFRM_USER=y
  # CONFIG_XFRM_SUB_POLICY is not set
  # CONFIG_XFRM_MIGRATE is not set
@@ -683,7 +683,7 @@
  CONFIG_NET_KEY=y
  # CONFIG_NET_KEY_MIGRATE is not set
  CONFIG_INET=y
-@@ -260,82 +286,33 @@
+@@ -260,82 +286,33 @@ CONFIG_IPV6_SIT=y
  # CONFIG_NETWORK_SECMARK is not set
  CONFIG_NETFILTER=y
  # CONFIG_NETFILTER_DEBUG is not set
@@ -770,7 +770,7 @@
  CONFIG_IP_NF_FILTER=m
  CONFIG_IP_NF_TARGET_REJECT=m
  CONFIG_IP_NF_TARGET_LOG=m
-@@ -343,54 +320,25 @@
+@@ -343,54 +320,25 @@ CONFIG_IP_NF_TARGET_LOG=m
  CONFIG_NF_NAT=m
  CONFIG_NF_NAT_NEEDED=y
  CONFIG_IP_NF_TARGET_MASQUERADE=m
@@ -830,7 +830,7 @@
  # CONFIG_IP_DCCP is not set
  # CONFIG_IP_SCTP is not set
  # CONFIG_TIPC is not set
-@@ -407,7 +355,6 @@
+@@ -407,7 +355,6 @@ CONFIG_LLC=m
  # CONFIG_ECONET is not set
  # CONFIG_WAN_ROUTER is not set
  # CONFIG_NET_SCHED is not set
@@ -838,7 +838,7 @@
  
  #
  # Network testing
-@@ -415,6 +362,7 @@
+@@ -415,6 +362,7 @@ CONFIG_NET_CLS_ROUTE=y
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_NET_TCPPROBE is not set
  # CONFIG_HAMRADIO is not set
@@ -846,7 +846,7 @@
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -531,11 +479,18 @@
+@@ -531,11 +479,18 @@ CONFIG_BLK_DEV_NBD=m
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
@@ -868,7 +868,7 @@
  
  #
  # SCSI device support
-@@ -568,11 +523,13 @@
+@@ -568,11 +523,13 @@ CONFIG_PHYLIB=y
  # CONFIG_SMSC_PHY is not set
  # CONFIG_BROADCOM_PHY is not set
  # CONFIG_ICPLUS_PHY is not set
@@ -882,7 +882,7 @@
  # CONFIG_IBM_NEW_EMAC_ZMII is not set
  # CONFIG_IBM_NEW_EMAC_RGMII is not set
  # CONFIG_IBM_NEW_EMAC_TAH is not set
-@@ -599,7 +556,6 @@
+@@ -599,7 +556,6 @@ CONFIG_PPPOE=m
  # CONFIG_PPPOL2TP is not set
  # CONFIG_SLIP is not set
  CONFIG_SLHC=m
@@ -890,7 +890,7 @@
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
  # CONFIG_NET_POLL_CONTROLLER is not set
-@@ -633,6 +589,7 @@
+@@ -633,6 +589,7 @@ CONFIG_SLHC=m
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
@@ -898,7 +898,7 @@
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -640,8 +597,6 @@
+@@ -640,8 +597,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
@@ -907,7 +907,7 @@
  # CONFIG_R3964 is not set
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
-@@ -659,6 +614,7 @@
+@@ -659,6 +614,7 @@ CONFIG_I2C_ALGOBIT=m
  #
  # I2C Hardware Bus support
  #
@@ -915,7 +915,7 @@
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -669,13 +625,12 @@
+@@ -669,13 +625,12 @@ CONFIG_I2C_GPIO=m
  #
  # Miscellaneous I2C Chip support
  #
@@ -931,7 +931,7 @@
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
-@@ -702,9 +657,27 @@
+@@ -702,9 +657,27 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
@@ -959,7 +959,7 @@
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -757,10 +730,6 @@
+@@ -757,10 +730,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
@@ -970,7 +970,7 @@
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG is not set
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -787,21 +756,24 @@
+@@ -787,21 +756,24 @@ CONFIG_USB_FILE_STORAGE=m
  # CONFIG_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
@@ -997,7 +997,7 @@
  CONFIG_NEW_LEDS=y
  CONFIG_LEDS_CLASS=y
  
-@@ -844,19 +816,22 @@
+@@ -844,19 +816,22 @@ CONFIG_RTC_INTF_DEV=y
  # CONFIG_RTC_DRV_PCF8563 is not set
  # CONFIG_RTC_DRV_PCF8583 is not set
  # CONFIG_RTC_DRV_M41T80 is not set
@@ -1022,7 +1022,7 @@
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -874,25 +849,23 @@
+@@ -874,25 +849,23 @@ CONFIG_RTC_DRV_AT32AP700X=y
  #
  # File systems
  #
@@ -1052,7 +1052,7 @@
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
-@@ -923,7 +896,7 @@
+@@ -923,7 +896,7 @@ CONFIG_SYSFS=y
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
@@ -1061,7 +1061,7 @@
  
  #
  # Miscellaneous filesystems
-@@ -948,8 +921,10 @@
+@@ -948,8 +921,10 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_JFFS2_RUBIN is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
@@ -1072,7 +1072,7 @@
  # CONFIG_SYSV_FS is not set
  # CONFIG_UFS_FS is not set
  CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1030,11 +1005,6 @@
+@@ -1030,11 +1005,6 @@ CONFIG_NLS_ISO8859_1=m
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
@@ -1084,7 +1084,7 @@
  
  #
  # Kernel hacking
-@@ -1053,6 +1023,7 @@
+@@ -1053,6 +1023,7 @@ CONFIG_SCHED_DEBUG=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_TIMER_STATS is not set
  # CONFIG_SLUB_DEBUG_ON is not set
@@ -1092,7 +1092,7 @@
  # CONFIG_DEBUG_RT_MUTEXES is not set
  # CONFIG_RT_MUTEX_TESTER is not set
  # CONFIG_DEBUG_SPINLOCK is not set
-@@ -1069,9 +1040,10 @@
+@@ -1069,9 +1040,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
  # CONFIG_DEBUG_LIST is not set
  # CONFIG_DEBUG_SG is not set
  CONFIG_FRAME_POINTER=y
@@ -1104,7 +1104,7 @@
  # CONFIG_LKDTM is not set
  # CONFIG_FAULT_INJECTION is not set
  # CONFIG_SAMPLES is not set
-@@ -1084,7 +1056,9 @@
+@@ -1084,7 +1056,9 @@ CONFIG_FRAME_POINTER=y
  # CONFIG_SECURITY_FILE_CAPABILITIES is not set
  CONFIG_CRYPTO=y
  CONFIG_CRYPTO_ALGAPI=y
@@ -1114,7 +1114,7 @@
  CONFIG_CRYPTO_HASH=y
  CONFIG_CRYPTO_MANAGER=y
  CONFIG_CRYPTO_HMAC=y
-@@ -1103,6 +1077,9 @@
+@@ -1103,6 +1077,9 @@ CONFIG_CRYPTO_CBC=y
  CONFIG_CRYPTO_PCBC=m
  # CONFIG_CRYPTO_LRW is not set
  # CONFIG_CRYPTO_XTS is not set
@@ -1124,7 +1124,7 @@
  # CONFIG_CRYPTO_CRYPTD is not set
  CONFIG_CRYPTO_DES=y
  # CONFIG_CRYPTO_FCRYPT is not set
-@@ -1117,12 +1094,14 @@
+@@ -1117,12 +1094,14 @@ CONFIG_CRYPTO_ARC4=m
  # CONFIG_CRYPTO_KHAZAD is not set
  # CONFIG_CRYPTO_ANUBIS is not set
  # CONFIG_CRYPTO_SEED is not set
@@ -1140,7 +1140,7 @@
  CONFIG_CRYPTO_HW=y
  
  #
-@@ -1137,10 +1116,7 @@
+@@ -1137,10 +1116,7 @@ CONFIG_CRC7=m
  # CONFIG_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
@@ -1164,7 +1164,7 @@
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
@@ -1176,7 +1176,7 @@
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -36,15 +36,15 @@
+@@ -36,15 +36,15 @@ CONFIG_SYSVIPC_SYSCTL=y
  CONFIG_POSIX_MQUEUE=y
  # CONFIG_BSD_PROCESS_ACCT is not set
  # CONFIG_TASKSTATS is not set
@@ -1195,7 +1195,7 @@
  CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=""
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -58,11 +58,13 @@
+@@ -58,11 +58,13 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
@@ -1209,7 +1209,7 @@
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=y
-@@ -70,6 +72,14 @@
+@@ -70,6 +72,14 @@ CONFIG_SLUB_DEBUG=y
  # CONFIG_SLAB is not set
  CONFIG_SLUB=y
  # CONFIG_SLOB is not set
@@ -1224,7 +1224,7 @@
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
-@@ -98,10 +108,15 @@
+@@ -98,10 +108,15 @@ CONFIG_IOSCHED_CFQ=y
  CONFIG_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
@@ -1240,7 +1240,7 @@
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -113,12 +128,16 @@
+@@ -113,12 +128,16 @@ CONFIG_BOARD_ATSTK1000=y
  CONFIG_BOARD_ATSTK1002=y
  # CONFIG_BOARD_ATSTK1003 is not set
  # CONFIG_BOARD_ATSTK1004 is not set
@@ -1257,7 +1257,7 @@
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -127,6 +146,7 @@
+@@ -127,6 +146,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
@@ -1265,7 +1265,7 @@
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -152,16 +172,26 @@
+@@ -152,16 +172,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
@@ -1292,7 +1292,7 @@
  
  #
  # CPU Frequency scaling
-@@ -170,9 +200,9 @@
+@@ -170,9 +200,9 @@ CONFIG_CPU_FREQ=y
  CONFIG_CPU_FREQ_TABLE=y
  # CONFIG_CPU_FREQ_DEBUG is not set
  # CONFIG_CPU_FREQ_STAT is not set
@@ -1304,7 +1304,7 @@
  # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -208,6 +238,7 @@
+@@ -208,6 +238,7 @@ CONFIG_XFRM=y
  CONFIG_XFRM_USER=m
  # CONFIG_XFRM_SUB_POLICY is not set
  # CONFIG_XFRM_MIGRATE is not set
@@ -1312,7 +1312,7 @@
  CONFIG_NET_KEY=m
  # CONFIG_NET_KEY_MIGRATE is not set
  CONFIG_INET=y
-@@ -279,6 +310,7 @@
+@@ -279,6 +310,7 @@ CONFIG_LLC=m
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_NET_TCPPROBE is not set
  # CONFIG_HAMRADIO is not set
@@ -1320,7 +1320,7 @@
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -395,13 +427,18 @@
+@@ -395,13 +427,18 @@ CONFIG_BLK_DEV_NBD=m
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
@@ -1341,7 +1341,7 @@
  
  #
  # SCSI device support
-@@ -444,6 +481,7 @@
+@@ -444,6 +481,7 @@ CONFIG_SCSI_WAIT_SCAN=m
  # CONFIG_SCSI_LOWLEVEL is not set
  CONFIG_ATA=m
  # CONFIG_ATA_NONSTANDARD is not set
@@ -1349,7 +1349,7 @@
  CONFIG_PATA_AT32=m
  # CONFIG_PATA_PLATFORM is not set
  # CONFIG_MD is not set
-@@ -469,11 +507,13 @@
+@@ -469,11 +507,13 @@ CONFIG_PHYLIB=y
  # CONFIG_SMSC_PHY is not set
  # CONFIG_BROADCOM_PHY is not set
  # CONFIG_ICPLUS_PHY is not set
@@ -1363,7 +1363,7 @@
  # CONFIG_IBM_NEW_EMAC_ZMII is not set
  # CONFIG_IBM_NEW_EMAC_RGMII is not set
  # CONFIG_IBM_NEW_EMAC_TAH is not set
-@@ -500,7 +540,6 @@
+@@ -500,7 +540,6 @@ CONFIG_PPP_BSDCOMP=m
  # CONFIG_PPPOL2TP is not set
  # CONFIG_SLIP is not set
  CONFIG_SLHC=m
@@ -1371,7 +1371,7 @@
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
  # CONFIG_NET_POLL_CONTROLLER is not set
-@@ -568,6 +607,7 @@
+@@ -568,6 +607,7 @@ CONFIG_MOUSE_GPIO=m
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
@@ -1379,7 +1379,7 @@
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -575,8 +615,6 @@
+@@ -575,8 +615,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
@@ -1388,7 +1388,7 @@
  # CONFIG_R3964 is not set
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
-@@ -594,6 +632,7 @@
+@@ -594,6 +632,7 @@ CONFIG_I2C_ALGOBIT=m
  #
  # I2C Hardware Bus support
  #
@@ -1396,7 +1396,7 @@
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -604,13 +643,12 @@
+@@ -604,13 +643,12 @@ CONFIG_I2C_GPIO=m
  #
  # Miscellaneous I2C Chip support
  #
@@ -1412,7 +1412,7 @@
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
-@@ -637,9 +675,27 @@
+@@ -637,9 +675,27 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
@@ -1440,7 +1440,7 @@
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -732,12 +788,18 @@
+@@ -732,12 +788,18 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
  #
  # Generic devices
  #
@@ -1459,7 +1459,7 @@
  # SPI devices
  #
  CONFIG_SND_AT73C213=m
-@@ -753,9 +815,14 @@
+@@ -753,9 +815,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000
  #
  
  #
@@ -1474,7 +1474,7 @@
  # CONFIG_HID_SUPPORT is not set
  CONFIG_USB_SUPPORT=y
  # CONFIG_USB_ARCH_HAS_HCD is not set
-@@ -765,10 +832,6 @@
+@@ -765,10 +832,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
@@ -1485,7 +1485,7 @@
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG is not set
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -796,27 +859,31 @@
+@@ -796,27 +859,31 @@ CONFIG_USB_FILE_STORAGE=m
  # CONFIG_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
@@ -1519,7 +1519,7 @@
  CONFIG_LEDS_GPIO=m
  
  #
-@@ -853,19 +920,22 @@
+@@ -853,19 +920,22 @@ CONFIG_RTC_INTF_DEV=y
  # CONFIG_RTC_DRV_PCF8563 is not set
  # CONFIG_RTC_DRV_PCF8583 is not set
  # CONFIG_RTC_DRV_M41T80 is not set
@@ -1544,7 +1544,7 @@
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -883,13 +953,13 @@
+@@ -883,13 +953,13 @@ CONFIG_RTC_DRV_AT32AP700X=y
  #
  # File systems
  #
@@ -1561,7 +1561,7 @@
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
-@@ -897,12 +967,10 @@
+@@ -897,12 +967,10 @@ CONFIG_JBD=m
  # CONFIG_XFS_FS is not set
  # CONFIG_GFS2_FS is not set
  # CONFIG_OCFS2_FS is not set
@@ -1575,7 +1575,7 @@
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
-@@ -933,7 +1001,7 @@
+@@ -933,7 +1001,7 @@ CONFIG_SYSFS=y
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
@@ -1584,7 +1584,7 @@
  
  #
  # Miscellaneous filesystems
-@@ -957,8 +1025,10 @@
+@@ -957,8 +1025,10 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_JFFS2_RUBIN is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
@@ -1595,7 +1595,7 @@
  # CONFIG_SYSV_FS is not set
  # CONFIG_UFS_FS is not set
  CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1028,11 +1098,6 @@
+@@ -1028,11 +1098,6 @@ CONFIG_NLS_ISO8859_1=m
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
@@ -1607,7 +1607,7 @@
  
  #
  # Kernel hacking
-@@ -1051,6 +1116,7 @@
+@@ -1051,6 +1116,7 @@ CONFIG_SCHED_DEBUG=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_TIMER_STATS is not set
  # CONFIG_SLUB_DEBUG_ON is not set
@@ -1615,7 +1615,7 @@
  # CONFIG_DEBUG_RT_MUTEXES is not set
  # CONFIG_RT_MUTEX_TESTER is not set
  # CONFIG_DEBUG_SPINLOCK is not set
-@@ -1067,9 +1133,10 @@
+@@ -1067,9 +1133,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
  # CONFIG_DEBUG_LIST is not set
  # CONFIG_DEBUG_SG is not set
  CONFIG_FRAME_POINTER=y
@@ -1627,7 +1627,7 @@
  # CONFIG_LKDTM is not set
  # CONFIG_FAULT_INJECTION is not set
  # CONFIG_SAMPLES is not set
-@@ -1082,7 +1149,9 @@
+@@ -1082,7 +1149,9 @@ CONFIG_FORCED_INLINING=y
  # CONFIG_SECURITY_FILE_CAPABILITIES is not set
  CONFIG_CRYPTO=y
  CONFIG_CRYPTO_ALGAPI=m
@@ -1637,7 +1637,7 @@
  CONFIG_CRYPTO_HASH=m
  CONFIG_CRYPTO_MANAGER=m
  CONFIG_CRYPTO_HMAC=m
-@@ -1101,6 +1170,9 @@
+@@ -1101,6 +1170,9 @@ CONFIG_CRYPTO_CBC=m
  # CONFIG_CRYPTO_PCBC is not set
  # CONFIG_CRYPTO_LRW is not set
  # CONFIG_CRYPTO_XTS is not set
@@ -1647,7 +1647,7 @@
  # CONFIG_CRYPTO_CRYPTD is not set
  CONFIG_CRYPTO_DES=m
  # CONFIG_CRYPTO_FCRYPT is not set
-@@ -1115,12 +1187,14 @@
+@@ -1115,12 +1187,14 @@ CONFIG_CRYPTO_DES=m
  # CONFIG_CRYPTO_KHAZAD is not set
  # CONFIG_CRYPTO_ANUBIS is not set
  # CONFIG_CRYPTO_SEED is not set
@@ -1663,7 +1663,7 @@
  # CONFIG_CRYPTO_HW is not set
  
  #
-@@ -1135,6 +1209,7 @@
+@@ -1135,6 +1209,7 @@ CONFIG_CRC7=m
  # CONFIG_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
@@ -1683,7 +1683,7 @@
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
@@ -1695,7 +1695,7 @@
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -39,17 +39,15 @@
+@@ -39,17 +39,15 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
  CONFIG_TASKSTATS=y
  CONFIG_TASK_DELAY_ACCT=y
  # CONFIG_TASK_XACCT is not set
@@ -1716,7 +1716,7 @@
  CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=""
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -63,11 +61,13 @@
+@@ -63,11 +61,13 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
@@ -1730,7 +1730,7 @@
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=y
-@@ -75,6 +75,14 @@
+@@ -75,6 +75,14 @@ CONFIG_VM_EVENT_COUNTERS=y
  # CONFIG_SLAB is not set
  CONFIG_SLUB=y
  # CONFIG_SLOB is not set
@@ -1745,7 +1745,7 @@
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
-@@ -103,10 +111,15 @@
+@@ -103,10 +111,15 @@ CONFIG_IOSCHED_CFQ=y
  CONFIG_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
@@ -1761,7 +1761,7 @@
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -118,12 +131,16 @@
+@@ -118,12 +131,16 @@ CONFIG_BOARD_ATSTK1000=y
  # CONFIG_BOARD_ATSTK1002 is not set
  CONFIG_BOARD_ATSTK1003=y
  # CONFIG_BOARD_ATSTK1004 is not set
@@ -1778,7 +1778,7 @@
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -132,6 +149,7 @@
+@@ -132,6 +149,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
@@ -1786,7 +1786,7 @@
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -157,16 +175,26 @@
+@@ -157,16 +175,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
@@ -1813,7 +1813,7 @@
  
  #
  # CPU Frequency scaling
-@@ -175,9 +203,9 @@
+@@ -175,9 +203,9 @@ CONFIG_CPU_FREQ=y
  CONFIG_CPU_FREQ_TABLE=y
  # CONFIG_CPU_FREQ_DEBUG is not set
  # CONFIG_CPU_FREQ_STAT is not set
@@ -1825,7 +1825,7 @@
  # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -260,6 +288,7 @@
+@@ -260,6 +288,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_NET_TCPPROBE is not set
  # CONFIG_HAMRADIO is not set
@@ -1833,7 +1833,7 @@
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -376,13 +405,18 @@
+@@ -376,13 +405,18 @@ CONFIG_BLK_DEV_NBD=m
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
@@ -1854,7 +1854,7 @@
  
  #
  # SCSI device support
-@@ -427,6 +461,7 @@
+@@ -427,6 +461,7 @@ CONFIG_SCSI_LOWLEVEL=y
  # CONFIG_SCSI_DEBUG is not set
  CONFIG_ATA=m
  # CONFIG_ATA_NONSTANDARD is not set
@@ -1862,7 +1862,7 @@
  CONFIG_PATA_AT32=m
  # CONFIG_PATA_PLATFORM is not set
  # CONFIG_MD is not set
-@@ -460,7 +495,6 @@
+@@ -460,7 +495,6 @@ CONFIG_PPP_BSDCOMP=m
  # CONFIG_PPPOL2TP is not set
  # CONFIG_SLIP is not set
  CONFIG_SLHC=m
@@ -1870,7 +1870,7 @@
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
  # CONFIG_NET_POLL_CONTROLLER is not set
-@@ -528,6 +562,7 @@
+@@ -528,6 +562,7 @@ CONFIG_MOUSE_GPIO=m
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
@@ -1878,7 +1878,7 @@
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -535,8 +570,6 @@
+@@ -535,8 +570,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
@@ -1887,7 +1887,7 @@
  # CONFIG_R3964 is not set
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
-@@ -554,6 +587,7 @@
+@@ -554,6 +587,7 @@ CONFIG_I2C_ALGOBIT=m
  #
  # I2C Hardware Bus support
  #
@@ -1895,7 +1895,7 @@
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -564,13 +598,12 @@
+@@ -564,13 +598,12 @@ CONFIG_I2C_GPIO=m
  #
  # Miscellaneous I2C Chip support
  #
@@ -1911,7 +1911,7 @@
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
-@@ -597,9 +630,27 @@
+@@ -597,9 +630,27 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
@@ -1939,7 +1939,7 @@
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -665,12 +716,18 @@
+@@ -665,12 +716,18 @@ CONFIG_SND_VERBOSE_PROCFS=y
  #
  # Generic devices
  #
@@ -1958,7 +1958,7 @@
  # SPI devices
  #
  CONFIG_SND_AT73C213=m
-@@ -686,9 +743,14 @@
+@@ -686,9 +743,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000
  #
  
  #
@@ -1973,7 +1973,7 @@
  # CONFIG_HID_SUPPORT is not set
  CONFIG_USB_SUPPORT=y
  # CONFIG_USB_ARCH_HAS_HCD is not set
-@@ -698,10 +760,6 @@
+@@ -698,10 +760,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
@@ -1984,7 +1984,7 @@
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG is not set
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -729,27 +787,31 @@
+@@ -729,27 +787,31 @@ CONFIG_USB_FILE_STORAGE=m
  # CONFIG_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
@@ -2018,7 +2018,7 @@
  CONFIG_LEDS_GPIO=y
  
  #
-@@ -786,19 +848,22 @@
+@@ -786,19 +848,22 @@ CONFIG_RTC_INTF_DEV=y
  # CONFIG_RTC_DRV_PCF8563 is not set
  # CONFIG_RTC_DRV_PCF8583 is not set
  # CONFIG_RTC_DRV_M41T80 is not set
@@ -2043,7 +2043,7 @@
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -816,13 +881,13 @@
+@@ -816,13 +881,13 @@ CONFIG_UIO=m
  #
  # File systems
  #
@@ -2060,7 +2060,7 @@
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
-@@ -830,12 +895,10 @@
+@@ -830,12 +895,10 @@ CONFIG_JBD=m
  # CONFIG_XFS_FS is not set
  # CONFIG_GFS2_FS is not set
  # CONFIG_OCFS2_FS is not set
@@ -2074,7 +2074,7 @@
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
-@@ -866,7 +929,7 @@
+@@ -866,7 +929,7 @@ CONFIG_SYSFS=y
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
@@ -2083,7 +2083,7 @@
  
  #
  # Miscellaneous filesystems
-@@ -891,8 +954,10 @@
+@@ -891,8 +954,10 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_JFFS2_RUBIN is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
@@ -2094,7 +2094,7 @@
  # CONFIG_SYSV_FS is not set
  # CONFIG_UFS_FS is not set
  # CONFIG_NETWORK_FILESYSTEMS is not set
-@@ -943,11 +1008,6 @@
+@@ -943,11 +1008,6 @@ CONFIG_NLS_ISO8859_1=m
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
@@ -2106,7 +2106,7 @@
  
  #
  # Kernel hacking
-@@ -965,6 +1025,7 @@
+@@ -965,6 +1025,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
  CONFIG_SCHED_DEBUG=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_TIMER_STATS is not set
@@ -2114,7 +2114,7 @@
  # CONFIG_DEBUG_RT_MUTEXES is not set
  # CONFIG_RT_MUTEX_TESTER is not set
  # CONFIG_DEBUG_SPINLOCK is not set
-@@ -981,9 +1042,10 @@
+@@ -981,9 +1042,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
  # CONFIG_DEBUG_LIST is not set
  # CONFIG_DEBUG_SG is not set
  CONFIG_FRAME_POINTER=y
@@ -2126,7 +2126,7 @@
  # CONFIG_LKDTM is not set
  # CONFIG_FAULT_INJECTION is not set
  # CONFIG_SAMPLES is not set
-@@ -1009,6 +1071,7 @@
+@@ -1009,6 +1071,7 @@ CONFIG_CRC7=m
  CONFIG_AUDIT_GENERIC=y
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
@@ -2146,7 +2146,7 @@
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
@@ -2158,7 +2158,7 @@
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -34,15 +34,15 @@
+@@ -34,15 +34,15 @@ CONFIG_LOCALVERSION=""
  # CONFIG_POSIX_MQUEUE is not set
  # CONFIG_BSD_PROCESS_ACCT is not set
  # CONFIG_TASKSTATS is not set
@@ -2177,7 +2177,7 @@
  # CONFIG_BLK_DEV_INITRD is not set
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  CONFIG_SYSCTL=y
-@@ -54,24 +54,37 @@
+@@ -54,24 +54,37 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
@@ -2215,7 +2215,7 @@
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -83,10 +96,14 @@
+@@ -83,10 +96,14 @@ CONFIG_BOARD_ATSTK1000=y
  # CONFIG_BOARD_ATSTK1002 is not set
  # CONFIG_BOARD_ATSTK1003 is not set
  CONFIG_BOARD_ATSTK1004=y
@@ -2230,7 +2230,7 @@
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -95,6 +112,7 @@
+@@ -95,6 +112,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
@@ -2238,7 +2238,7 @@
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -120,34 +138,26 @@
+@@ -120,34 +138,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
@@ -2279,7 +2279,7 @@
  
  #
  # Bus options
-@@ -222,6 +232,7 @@
+@@ -222,6 +232,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
  #
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_HAMRADIO is not set
@@ -2287,7 +2287,7 @@
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -321,6 +332,7 @@
+@@ -321,6 +332,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
  # CONFIG_MTD_UBI is not set
  # CONFIG_PARPORT is not set
  # CONFIG_MISC_DEVICES is not set
@@ -2295,7 +2295,7 @@
  
  #
  # SCSI device support
-@@ -358,6 +370,7 @@
+@@ -358,6 +370,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
@@ -2303,7 +2303,7 @@
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -365,8 +378,6 @@
+@@ -365,8 +378,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
@@ -2312,7 +2312,7 @@
  # CONFIG_R3964 is not set
  # CONFIG_TCG_TPM is not set
  # CONFIG_I2C is not set
-@@ -389,9 +400,24 @@
+@@ -389,9 +400,24 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  # CONFIG_SPI_SPIDEV is not set
  # CONFIG_SPI_TLE62X0 is not set
@@ -2337,7 +2337,7 @@
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -471,10 +497,6 @@
+@@ -471,10 +497,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
@@ -2348,7 +2348,7 @@
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
  CONFIG_USB_GADGET_SELECTED=y
-@@ -499,7 +521,9 @@
+@@ -499,7 +521,9 @@ CONFIG_USB_ETH=y
  # CONFIG_USB_FILE_STORAGE is not set
  # CONFIG_USB_G_SERIAL is not set
  # CONFIG_USB_MIDI_GADGET is not set
@@ -2358,7 +2358,7 @@
  # CONFIG_NEW_LEDS is not set
  CONFIG_RTC_LIB=y
  CONFIG_RTC_CLASS=y
-@@ -519,15 +543,17 @@
+@@ -519,15 +543,17 @@ CONFIG_RTC_INTF_DEV=y
  #
  # SPI RTC drivers
  #
@@ -2378,7 +2378,7 @@
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -545,9 +571,9 @@
+@@ -545,9 +571,9 @@ CONFIG_RTC_DRV_AT32AP700X=y
  #
  # File systems
  #
@@ -2389,7 +2389,7 @@
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  # CONFIG_FUSE_FS is not set
-@@ -580,7 +606,6 @@
+@@ -580,7 +606,6 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_NETWORK_FILESYSTEMS is not set
  # CONFIG_NLS is not set
  # CONFIG_DLM is not set
@@ -2397,7 +2397,7 @@
  
  #
  # Kernel hacking
-@@ -616,6 +641,7 @@
+@@ -616,6 +641,7 @@ CONFIG_CRC32=y
  # CONFIG_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
@@ -4458,7 +4458,7 @@
 +#endif /* __AVR32_DW_DMAC_H__ */
 --- a/arch/avr32/kernel/Makefile
 +++ b/arch/avr32/kernel/Makefile
-@@ -9,6 +9,7 @@
+@@ -9,6 +9,7 @@ obj-y				+= syscall_table.o syscall-stub
  obj-y				+= setup.o traps.o semaphore.o ocd.o ptrace.o
  obj-y				+= signal.o sys_avr32.o process.o time.o
  obj-y				+= init_task.o switch_to.o cpu.o
@@ -4468,7 +4468,7 @@
  obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
 --- a/arch/avr32/kernel/avr32_ksyms.c
 +++ b/arch/avr32/kernel/avr32_ksyms.c
-@@ -29,7 +29,9 @@
+@@ -29,7 +29,9 @@ EXPORT_SYMBOL(__avr32_asr64);
   */
  EXPORT_SYMBOL(memset);
  EXPORT_SYMBOL(memcpy);
@@ -4478,7 +4478,7 @@
  
  /*
   * Userspace access stuff.
-@@ -41,6 +43,8 @@
+@@ -41,6 +43,8 @@ EXPORT_SYMBOL(strncpy_from_user);
  EXPORT_SYMBOL(__strncpy_from_user);
  EXPORT_SYMBOL(clear_user);
  EXPORT_SYMBOL(__clear_user);
@@ -4526,7 +4526,7 @@
 +EXPORT_SYMBOL(find_dma_controller);
 --- a/arch/avr32/kernel/entry-avr32b.S
 +++ b/arch/avr32/kernel/entry-avr32b.S
-@@ -74,50 +74,41 @@
+@@ -74,50 +74,41 @@ exception_vectors:
  	.align	2
  	bral	do_dtlb_modified
  
@@ -4588,7 +4588,7 @@
  
  	/* Second level lookup */
  	ld.w	r2, r3[r1 << 2]
-@@ -148,16 +139,55 @@
+@@ -148,16 +139,55 @@ pgtbl_lookup:
  	tlbmiss_restore
  	rete
  
@@ -4647,7 +4647,7 @@
  system_call:
  #ifdef CONFIG_PREEMPT
  	mask_interrupts
-@@ -266,18 +296,6 @@
+@@ -266,18 +296,6 @@ syscall_exit_work:
  	brcc	syscall_exit_cont
  	rjmp	enter_monitor_mode
  
@@ -4666,7 +4666,7 @@
  	/* This function expects to find offending PC in SYSREG_RAR_EX */
  	.type	save_full_context_ex, @function
  	.align	2
-@@ -741,26 +759,6 @@
+@@ -741,26 +759,6 @@ irq_level\level:
  
  	.section .irq.text,"ax",@progbits
  
@@ -4709,7 +4709,7 @@
  /*
   * This file handles the architecture-dependent parts of process handling..
   */
-@@ -54,6 +54,8 @@
+@@ -54,6 +54,8 @@ void machine_halt(void)
  
  void machine_power_off(void)
  {
@@ -4720,7 +4720,7 @@
  void machine_restart(char *cmd)
 --- a/arch/avr32/kernel/setup.c
 +++ b/arch/avr32/kernel/setup.c
-@@ -274,6 +274,8 @@
+@@ -274,6 +274,8 @@ static int __init early_parse_fbmem(char
  			printk(KERN_WARNING
  			       "Failed to allocate framebuffer memory\n");
  			fbmem_size = 0;
@@ -4731,7 +4731,7 @@
  
 --- a/arch/avr32/kernel/signal.c
 +++ b/arch/avr32/kernel/signal.c
-@@ -93,6 +93,9 @@
+@@ -93,6 +93,9 @@ asmlinkage int sys_rt_sigreturn(struct p
  	if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
  		goto badframe;
  
@@ -5067,7 +5067,7 @@
 -device_initcall(init_timer_sysfs);
 --- a/arch/avr32/kernel/vmlinux.lds.S
 +++ b/arch/avr32/kernel/vmlinux.lds.S
-@@ -68,14 +68,6 @@
+@@ -68,14 +68,6 @@ SECTIONS
  		_evba = .;
  		_text = .;
  		*(.ex.text)
@@ -5082,7 +5082,7 @@
  		*(.irq.text)
  		KPROBES_TEXT
  		TEXT_TEXT
-@@ -107,6 +99,10 @@
+@@ -107,6 +99,10 @@ SECTIONS
  		 */
  		*(.data.init_task)
  
@@ -5095,7 +5095,7 @@
  		*(.data.cacheline_aligned)
 --- a/arch/avr32/lib/io-readsb.S
 +++ b/arch/avr32/lib/io-readsb.S
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ __raw_readsb:
  2:	sub	r10, -4
  	reteq	r12
  
@@ -5106,7 +5106,7 @@
  	brne	3b
 --- a/arch/avr32/mach-at32ap/Kconfig
 +++ b/arch/avr32/mach-at32ap/Kconfig
-@@ -26,6 +26,13 @@
+@@ -26,6 +26,13 @@ config AP700X_8_BIT_SMC
  
  endchoice
  
@@ -5218,7 +5218,7 @@
  
  #include <video/atmel_lcdc.h>
  
-@@ -91,25 +94,18 @@
+@@ -91,25 +94,18 @@ static struct clk devname##_##_name = {	
  
  static DEFINE_SPINLOCK(pm_lock);
  
@@ -5247,7 +5247,7 @@
  	div = PM_BFEXT(PLLDIV, control) + 1;
  	mul = PM_BFEXT(PLLMUL, control) + 1;
  
-@@ -120,6 +116,71 @@
+@@ -120,6 +116,71 @@ static unsigned long pll_get_rate(struct
  	return rate;
  }
  
@@ -5319,7 +5319,7 @@
  static unsigned long pll0_get_rate(struct clk *clk)
  {
  	u32 control;
-@@ -129,6 +190,41 @@
+@@ -129,6 +190,41 @@ static unsigned long pll0_get_rate(struc
  	return pll_get_rate(clk, control);
  }
  
@@ -5361,7 +5361,7 @@
  static unsigned long pll1_get_rate(struct clk *clk)
  {
  	u32 control;
-@@ -138,6 +234,49 @@
+@@ -138,6 +234,49 @@ static unsigned long pll1_get_rate(struc
  	return pll_get_rate(clk, control);
  }
  
@@ -5411,7 +5411,7 @@
  /*
   * The AT32AP7000 has five primary clock sources: One 32kHz
   * oscillator, two crystal oscillators and two PLLs.
-@@ -166,7 +305,10 @@
+@@ -166,7 +305,10 @@ static struct clk pll0 = {
  };
  static struct clk pll1 = {
  	.name		= "pll1",
@@ -5422,7 +5422,7 @@
  	.parent		= &osc0,
  };
  
-@@ -534,6 +676,14 @@
+@@ -534,6 +676,14 @@ static struct clk hramc_clk = {
  	.users		= 1,
  	.index		= 3,
  };
@@ -5437,7 +5437,7 @@
  
  static struct resource smc0_resource[] = {
  	PBMEM(0xfff03400),
-@@ -605,19 +755,32 @@
+@@ -605,19 +755,32 @@ static inline void set_ebi_sfr_bits(u32 
  }
  
  /* --------------------------------------------------------------------
@@ -5477,7 +5477,7 @@
  
  /* --------------------------------------------------------------------
   *  PIO
-@@ -669,7 +832,8 @@
+@@ -669,7 +832,8 @@ void __init at32_add_system_devices(void
  	platform_device_register(&pdc_device);
  	platform_device_register(&dmaca0_device);
  
@@ -5487,7 +5487,7 @@
  
  	platform_device_register(&pio0_device);
  	platform_device_register(&pio1_device);
-@@ -679,6 +843,81 @@
+@@ -679,6 +843,81 @@ void __init at32_add_system_devices(void
  }
  
  /* --------------------------------------------------------------------
@@ -5569,7 +5569,7 @@
   *  USART
   * -------------------------------------------------------------------- */
  
-@@ -951,7 +1190,8 @@
+@@ -951,7 +1190,8 @@ at32_add_device_spi(unsigned int id, str
  	switch (id) {
  	case 0:
  		pdev = &atmel_spi0_device;
@@ -5579,7 +5579,7 @@
  		select_peripheral(PA(1),  PERIPH_A, 0);	/* MOSI	 */
  		select_peripheral(PA(2),  PERIPH_A, 0);	/* SCK	 */
  		at32_spi_setup_slaves(0, b, n, spi0_pins);
-@@ -959,7 +1199,8 @@
+@@ -959,7 +1199,8 @@ at32_add_device_spi(unsigned int id, str
  
  	case 1:
  		pdev = &atmel_spi1_device;
@@ -5589,7 +5589,7 @@
  		select_peripheral(PB(1),  PERIPH_B, 0);	/* MOSI  */
  		select_peripheral(PB(5),  PERIPH_B, 0);	/* SCK   */
  		at32_spi_setup_slaves(1, b, n, spi1_pins);
-@@ -989,7 +1230,9 @@
+@@ -989,7 +1230,9 @@ static struct clk atmel_twi0_pclk = {
  	.index		= 2,
  };
  
@@ -5600,7 +5600,7 @@
  {
  	struct platform_device *pdev;
  
-@@ -1009,6 +1252,9 @@
+@@ -1009,6 +1252,9 @@ struct platform_device *__init at32_add_
  
  	atmel_twi0_pclk.dev = &pdev->dev;
  
@@ -5610,7 +5610,7 @@
  	platform_device_add(pdev);
  	return pdev;
  
-@@ -1032,7 +1278,8 @@
+@@ -1032,7 +1278,8 @@ static struct clk atmel_mci0_pclk = {
  	.index		= 9,
  };
  
@@ -5620,7 +5620,7 @@
  {
  	struct platform_device *pdev;
  
-@@ -1041,11 +1288,15 @@
+@@ -1041,11 +1288,15 @@ struct platform_device *__init at32_add_
  
  	pdev = platform_device_alloc("atmel_mci", id);
  	if (!pdev)
@@ -5638,7 +5638,7 @@
  
  	select_peripheral(PA(10), PERIPH_A, 0);	/* CLK	 */
  	select_peripheral(PA(11), PERIPH_A, 0);	/* CMD	 */
-@@ -1054,12 +1305,19 @@
+@@ -1054,12 +1305,19 @@ struct platform_device *__init at32_add_
  	select_peripheral(PA(14), PERIPH_A, 0);	/* DATA2 */
  	select_peripheral(PA(15), PERIPH_A, 0);	/* DATA3 */
  
@@ -5659,7 +5659,7 @@
  	platform_device_put(pdev);
  	return NULL;
  }
-@@ -1097,7 +1355,8 @@
+@@ -1097,7 +1355,8 @@ static struct clk atmel_lcdfb0_pixclk = 
  
  struct platform_device *__init
  at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
@@ -5669,7 +5669,7 @@
  {
  	struct platform_device *pdev;
  	struct atmel_lcdfb_info *info;
-@@ -1124,37 +1383,77 @@
+@@ -1124,37 +1383,77 @@ at32_add_device_lcdc(unsigned int id, st
  	switch (id) {
  	case 0:
  		pdev = &atmel_lcdfb0_device;
@@ -5778,7 +5778,7 @@
  
  		clk_set_parent(&atmel_lcdfb0_pixclk, &pll0);
  		clk_set_rate(&atmel_lcdfb0_pixclk, clk_get_rate(&pll0));
-@@ -1351,9 +1650,39 @@
+@@ -1351,9 +1650,39 @@ static struct clk usba0_hclk = {
  	.index		= 6,
  };
  
@@ -5818,7 +5818,7 @@
  	struct platform_device *pdev;
  
  	if (id != 0)
-@@ -1367,13 +1696,20 @@
+@@ -1367,13 +1696,20 @@ at32_add_device_usba(unsigned int id, st
  					  ARRAY_SIZE(usba0_resource)))
  		goto out_free_pdev;
  
@@ -5845,7 +5845,7 @@
  
  	usba0_pclk.dev = &pdev->dev;
  	usba0_hclk.dev = &pdev->dev;
-@@ -1526,6 +1862,58 @@
+@@ -1526,6 +1862,58 @@ fail:
  #endif
  
  /* --------------------------------------------------------------------
@@ -5904,7 +5904,7 @@
   * AC97C
   * -------------------------------------------------------------------- */
  static struct resource atmel_ac97c0_resource[] __initdata = {
-@@ -1540,9 +1928,11 @@
+@@ -1540,9 +1928,11 @@ static struct clk atmel_ac97c0_pclk = {
  	.index		= 10,
  };
  
@@ -5917,7 +5917,7 @@
  
  	if (id != 0)
  		return NULL;
-@@ -1553,19 +1943,37 @@
+@@ -1553,19 +1943,37 @@ struct platform_device *__init at32_add_
  
  	if (platform_device_add_resources(pdev, atmel_ac97c0_resource,
  				ARRAY_SIZE(atmel_ac97c0_resource)))
@@ -5961,7 +5961,7 @@
  	platform_device_put(pdev);
  	return NULL;
  }
-@@ -1683,6 +2091,7 @@
+@@ -1683,6 +2091,7 @@ struct clk *at32_clock_list[] = {
  	&hmatrix_clk,
  	&ebi_clk,
  	&hramc_clk,
@@ -5969,7 +5969,7 @@
  	&smc0_pclk,
  	&smc0_mck,
  	&pdc_hclk,
-@@ -1694,7 +2103,10 @@
+@@ -1694,7 +2103,10 @@ struct clk *at32_clock_list[] = {
  	&pio2_mck,
  	&pio3_mck,
  	&pio4_mck,
@@ -5981,7 +5981,7 @@
  	&atmel_usart0_usart,
  	&atmel_usart1_usart,
  	&atmel_usart2_usart,
-@@ -1730,16 +2142,7 @@
+@@ -1730,16 +2142,7 @@ struct clk *at32_clock_list[] = {
  };
  unsigned int at32_nr_clocks = ARRAY_SIZE(at32_clock_list);
  
@@ -5999,7 +5999,7 @@
  {
  	u32 cpu_mask = 0, hsb_mask = 0, pba_mask = 0, pbb_mask = 0;
  	int i;
-@@ -1794,4 +2197,36 @@
+@@ -1794,4 +2197,36 @@ void __init at32_clock_init(void)
  	pm_writel(HSB_MASK, hsb_mask);
  	pm_writel(PBA_MASK, pba_mask);
  	pm_writel(PBB_MASK, pbb_mask);
@@ -6038,7 +6038,7 @@
 +core_initcall(sram_init);
 --- a/arch/avr32/mach-at32ap/cpufreq.c
 +++ b/arch/avr32/mach-at32ap/cpufreq.c
-@@ -108,5 +108,4 @@
+@@ -108,5 +108,4 @@ static int __init at32_cpufreq_init(void
  {
  	return cpufreq_register_driver(&at32_driver);
  }
@@ -6623,7 +6623,7 @@
 +late_initcall(gpio_dev_init);
 --- a/arch/avr32/mach-at32ap/hsmc.c
 +++ b/arch/avr32/mach-at32ap/hsmc.c
-@@ -278,4 +278,4 @@
+@@ -278,4 +278,4 @@ static int __init hsmc_init(void)
  {
  	return platform_driver_register(&hsmc_driver);
  }
@@ -6662,7 +6662,7 @@
  };
  
  extern struct platform_device at32_intc0_device;
-@@ -137,6 +142,74 @@
+@@ -137,6 +142,74 @@ fail:
  	panic("Interrupt controller initialization failed!\n");
  }
  
@@ -6790,7 +6790,7 @@
 +arch_initcall(pdc_init);
 --- a/arch/avr32/mach-at32ap/pio.c
 +++ b/arch/avr32/mach-at32ap/pio.c
-@@ -157,6 +157,82 @@
+@@ -157,6 +157,82 @@ fail:
  	dump_stack();
  }
  
@@ -6873,7 +6873,7 @@
  /*--------------------------------------------------------------------------*/
  
  /* GPIO API */
-@@ -318,6 +394,8 @@
+@@ -318,6 +394,8 @@ static void pio_bank_show(struct seq_fil
  		const char *label;
  
  		label = gpiochip_is_requested(chip, i);
@@ -7653,7 +7653,7 @@
  void show_mem(void)
  {
  	int total = 0, reserved = 0, cached = 0;
-@@ -109,19 +110,9 @@
+@@ -109,19 +110,9 @@ void __init paging_init(void)
  	zero_page = alloc_bootmem_low_pages_node(NODE_DATA(0),
  						 PAGE_SIZE);
  
@@ -7706,7 +7706,7 @@
  	cpu_sync_pipeline();
  
  	tlbehi = sysreg_read(TLBEHI);
-@@ -33,15 +33,17 @@
+@@ -33,15 +33,17 @@ void show_dtlb_entry(unsigned int index)
  
  	printk("%2u: %c %c %02x   %05x %05x %o  %o  %c %c %c %c\n",
  	       index,
@@ -7733,7 +7733,7 @@
  
  	sysreg_write(MMUCR, mmucr_save);
  	sysreg_write(TLBEHI, tlbehi_save);
-@@ -54,29 +56,33 @@
+@@ -54,29 +56,33 @@ void dump_dtlb(void)
  	unsigned int i;
  
  	printk("ID  V G ASID VPN   PFN   AP SZ C B W D\n");
@@ -7780,7 +7780,7 @@
  
  		rp = 32 - fls(tlbar);
  		if (rp == 32) {
-@@ -84,30 +90,14 @@
+@@ -84,30 +90,14 @@ static inline void set_replacement_point
  			sysreg_write(TLBARLO, -1L);
  		}
  
@@ -7813,7 +7813,7 @@
  }
  
  void update_mmu_cache(struct vm_area_struct *vma,
-@@ -120,39 +110,40 @@
+@@ -120,39 +110,40 @@ void update_mmu_cache(struct vm_area_str
  		return;
  
  	local_irq_save(flags);
@@ -7870,7 +7870,7 @@
  	}
  }
  
-@@ -190,17 +181,22 @@
+@@ -190,17 +181,22 @@ void flush_tlb_range(struct vm_area_stru
  
  		local_irq_save(flags);
  		size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
@@ -7895,7 +7895,7 @@
  			if (mm != current->mm) {
  				saved_asid = get_asid();
  				set_asid(asid);
-@@ -218,33 +214,34 @@
+@@ -218,33 +214,34 @@ void flush_tlb_range(struct vm_area_stru
  }
  
  /*
@@ -7938,7 +7938,7 @@
  }
  
  void flush_tlb_mm(struct mm_struct *mm)
-@@ -280,7 +277,7 @@
+@@ -280,7 +277,7 @@ static void *tlb_start(struct seq_file *
  {
  	static unsigned long tlb_index;
  
@@ -7947,7 +7947,7 @@
  		return NULL;
  
  	tlb_index = 0;
-@@ -291,7 +288,7 @@
+@@ -291,7 +288,7 @@ static void *tlb_next(struct seq_file *t
  {
  	unsigned long *index = v;
  
@@ -7956,7 +7956,7 @@
  		return NULL;
  
  	++*pos;
-@@ -313,16 +310,16 @@
+@@ -313,16 +310,16 @@ static int tlb_show(struct seq_file *tlb
  	if (*index == 0)
  		seq_puts(tlb, "ID  V G ASID VPN   PFN   AP SZ C B W D\n");
  
@@ -7977,7 +7977,7 @@
  	cpu_sync_pipeline();
  
  	tlbehi = sysreg_read(TLBEHI);
-@@ -334,16 +331,18 @@
+@@ -334,16 +331,18 @@ static int tlb_show(struct seq_file *tlb
  	local_irq_restore(flags);
  
  	seq_printf(tlb, "%2lu: %c %c %02x   %05x %05x %o  %o  %c %c %c %c\n",
@@ -8018,7 +8018,7 @@
  
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -706,7 +706,7 @@
+@@ -706,7 +706,7 @@ config NVRAM
  
  config RTC
  	tristate "Enhanced Real Time Clock Support"
@@ -8027,7 +8027,7 @@
  	---help---
  	  If you say Y here and create a character special file /dev/rtc with
  	  major number 10 and minor number 135 using mknod ("man mknod"), you
-@@ -776,7 +776,7 @@
+@@ -776,7 +776,7 @@ config SGI_IP27_RTC
  
  config GEN_RTC
  	tristate "Generic /dev/rtc emulation"
@@ -8038,7 +8038,7 @@
  	  major number 10 and minor number 135 using mknod ("man mknod"), you
 --- a/drivers/char/keyboard.c
 +++ b/drivers/char/keyboard.c
-@@ -1033,7 +1033,8 @@
+@@ -1033,7 +1033,8 @@ DECLARE_TASKLET_DISABLED(keyboard_taskle
  #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) ||\
      defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC) ||\
      defined(CONFIG_PARISC) || defined(CONFIG_SUPERH) ||\
@@ -8362,7 +8362,7 @@
 +arch_initcall(tcb_clksrc_init);
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -88,6 +88,14 @@
+@@ -88,6 +88,14 @@ config I2C_AT91
  	  to support combined I2C messages.  Use the i2c-gpio driver
  	  unless your system can cope with those limitations.
  
@@ -8379,7 +8379,7 @@
  	depends on SOC_AU1550 || SOC_AU1200
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
-@@ -52,6 +52,7 @@
+@@ -52,6 +52,7 @@ obj-$(CONFIG_I2C_VIAPRO)	+= i2c-viapro.o
  obj-$(CONFIG_I2C_VOODOO3)	+= i2c-voodoo3.o
  obj-$(CONFIG_SCx200_ACB)	+= scx200_acb.o
  obj-$(CONFIG_SCx200_I2C)	+= scx200_i2c.o
@@ -8948,7 +8948,7 @@
 +#endif /* __ATMELTWI_H__ */
 --- a/drivers/input/serio/Kconfig
 +++ b/drivers/input/serio/Kconfig
-@@ -88,6 +88,17 @@
+@@ -88,6 +88,17 @@ config SERIO_RPCKBD
  	  To compile this driver as a module, choose M here: the
  	  module will be called rpckbd.
  
@@ -8968,7 +8968,7 @@
  	depends on ARM_AMBA
 --- a/drivers/input/serio/Makefile
 +++ b/drivers/input/serio/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_SERIO_CT82C710)	+= ct82c710
  obj-$(CONFIG_SERIO_RPCKBD)	+= rpckbd.o
  obj-$(CONFIG_SERIO_SA1111)	+= sa1111ps2.o
  obj-$(CONFIG_SERIO_AMBAKMI)	+= ambakmi.o
@@ -9417,7 +9417,7 @@
 +#endif /* _AT32PSIF_H */
 --- a/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
-@@ -22,6 +22,39 @@
+@@ -22,6 +22,39 @@ config ATMEL_PWM
  	  purposes including software controlled power-efficent backlights
  	  on LCD displays, motor control, and waveform generation.
  
@@ -9459,7 +9459,7 @@
  	depends on X86 && PCI && INPUT && EXPERIMENTAL
 --- a/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
-@@ -10,6 +10,7 @@
+@@ -10,6 +10,7 @@ obj-$(CONFIG_ACER_WMI)     += acer-wmi.o
  obj-$(CONFIG_ASUS_LAPTOP)     += asus-laptop.o
  obj-$(CONFIG_ATMEL_PWM)		+= atmel_pwm.o
  obj-$(CONFIG_ATMEL_SSC)		+= atmel-ssc.o
@@ -9633,7 +9633,7 @@
 +arch_initcall(tc_init);
 --- a/drivers/mmc/host/Kconfig
 +++ b/drivers/mmc/host/Kconfig
-@@ -91,6 +91,16 @@
+@@ -91,6 +91,16 @@ config MMC_AT91
  
  	  If unsure, say N.
  
@@ -9652,7 +9652,7 @@
  	depends on ARCH_IMX
 --- a/drivers/mmc/host/Makefile
 +++ b/drivers/mmc/host/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-$(CONFIG_MMC_WBSD)		+= wbsd.o
  obj-$(CONFIG_MMC_AU1X)		+= au1xmmc.o
  obj-$(CONFIG_MMC_OMAP)		+= omap.o
  obj-$(CONFIG_MMC_AT91)		+= at91_mci.o
@@ -11094,7 +11094,7 @@
 +#endif /* __DRIVERS_MMC_ATMEL_MCI_H__ */
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
-@@ -272,12 +272,54 @@
+@@ -272,12 +272,54 @@ config MTD_NAND_CS553X
  
  	  If you say "m", the module will be called "cs553x_nand.ko".
  
@@ -11155,7 +11155,7 @@
  	tristate "Support for NAND Flash on CM-X270 modules"
 --- a/drivers/mtd/nand/Makefile
 +++ b/drivers/mtd/nand/Makefile
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ obj-$(CONFIG_MTD_NAND_TS7250)		+= ts7250
  obj-$(CONFIG_MTD_NAND_NANDSIM)		+= nandsim.o
  obj-$(CONFIG_MTD_NAND_CS553X)		+= cs553x_nand.o
  obj-$(CONFIG_MTD_NAND_NDFC)		+= ndfc.o
@@ -12097,14 +12097,14 @@
 +#endif
 --- a/drivers/mtd/nand/bf5xx_nand.c
 +++ b/drivers/mtd/nand/bf5xx_nand.c
-@@ -803,3 +803,4 @@
+@@ -803,3 +803,4 @@ module_exit(bf5xx_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR(DRV_AUTHOR);
  MODULE_DESCRIPTION(DRV_DESC);
 +MODULE_ALIAS("platform:" DRV_NAME);
 --- a/drivers/mtd/nand/ndfc.c
 +++ b/drivers/mtd/nand/ndfc.c
-@@ -317,3 +317,5 @@
+@@ -317,3 +317,5 @@ module_exit(ndfc_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Thomas Gleixner <tglx@linutronix.de>");
  MODULE_DESCRIPTION("Platform driver for NDFC");
@@ -12112,21 +12112,21 @@
 +MODULE_ALIAS("platform:ndfc-nand");
 --- a/drivers/mtd/nand/orion_nand.c
 +++ b/drivers/mtd/nand/orion_nand.c
-@@ -169,3 +169,4 @@
+@@ -169,3 +169,4 @@ module_exit(orion_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Tzachi Perelstein");
  MODULE_DESCRIPTION("NAND glue for Orion platforms");
 +MODULE_ALIAS("platform:orion_nand");
 --- a/drivers/mtd/nand/plat_nand.c
 +++ b/drivers/mtd/nand/plat_nand.c
-@@ -161,3 +161,4 @@
+@@ -161,3 +161,4 @@ module_exit(plat_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Vitaly Wool");
  MODULE_DESCRIPTION("Simple generic NAND driver");
 +MODULE_ALIAS("platform:gen_nand");
 --- a/drivers/mtd/nand/s3c2410.c
 +++ b/drivers/mtd/nand/s3c2410.c
-@@ -927,3 +927,6 @@
+@@ -927,3 +927,6 @@ module_exit(s3c2410_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>");
  MODULE_DESCRIPTION("S3C24XX MTD NAND driver");
@@ -12135,7 +12135,7 @@
 +MODULE_ALIAS("platform:s3c2440-nand");
 --- a/drivers/net/macb.c
 +++ b/drivers/net/macb.c
-@@ -1277,8 +1277,45 @@
+@@ -1277,8 +1277,45 @@ static int __exit macb_remove(struct pla
  	return 0;
  }
  
@@ -12183,7 +12183,7 @@
  	},
 --- a/drivers/parport/Kconfig
 +++ b/drivers/parport/Kconfig
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ if PARPORT
  config PARPORT_PC
  	tristate "PC-style hardware"
  	depends on (!SPARC64 || PCI) && !SPARC32 && !M32R && !FRV && \
@@ -12194,7 +12194,7 @@
  	  IBM PC compatible computers and some Alphas have PC-style
 --- a/drivers/pcmcia/Kconfig
 +++ b/drivers/pcmcia/Kconfig
-@@ -277,6 +277,13 @@
+@@ -277,6 +277,13 @@ config ELECTRA_CF
  	  Say Y here to support the CompactFlash controller on the
  	  PA Semi Electra eval board.
  
@@ -12210,7 +12210,7 @@
  
 --- a/drivers/pcmcia/Makefile
 +++ b/drivers/pcmcia/Makefile
-@@ -38,6 +38,7 @@
+@@ -38,6 +38,7 @@ obj-$(CONFIG_PCMCIA_VRC4173)			+= vrc417
  obj-$(CONFIG_OMAP_CF)				+= omap_cf.o
  obj-$(CONFIG_AT91_CF)				+= at91_cf.o
  obj-$(CONFIG_ELECTRA_CF)			+= electra_cf.o
@@ -12756,7 +12756,7 @@
 +MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>");
 --- a/drivers/rtc/rtc-at32ap700x.c
 +++ b/drivers/rtc/rtc-at32ap700x.c
-@@ -262,6 +262,7 @@
+@@ -262,6 +262,7 @@ static int __init at32_rtc_probe(struct 
  	}
  
  	platform_set_drvdata(pdev, rtc);
@@ -12764,7 +12764,7 @@
  
  	dev_info(&pdev->dev, "Atmel RTC for AT32AP700x at %08lx irq %ld\n",
  			(unsigned long)rtc->regs, rtc->irq);
-@@ -281,6 +282,8 @@
+@@ -281,6 +282,8 @@ static int __exit at32_rtc_remove(struct
  {
  	struct rtc_at32ap700x *rtc = platform_get_drvdata(pdev);
  
@@ -12775,7 +12775,7 @@
  	rtc_device_unregister(rtc->rtc);
 --- a/drivers/serial/atmel_serial.c
 +++ b/drivers/serial/atmel_serial.c
-@@ -957,6 +957,20 @@
+@@ -957,6 +957,20 @@ static void atmel_shutdown(struct uart_p
  }
  
  /*
@@ -12796,7 +12796,7 @@
   * Power / Clock management.
   */
  static void atmel_serial_pm(struct uart_port *port, unsigned int state,
-@@ -1190,6 +1204,7 @@
+@@ -1190,6 +1204,7 @@ static struct uart_ops atmel_pops = {
  	.break_ctl	= atmel_break_ctl,
  	.startup	= atmel_startup,
  	.shutdown	= atmel_shutdown,
@@ -12804,7 +12804,7 @@
  	.set_termios	= atmel_set_termios,
  	.type		= atmel_type,
  	.release_port	= atmel_release_port,
-@@ -1440,6 +1455,15 @@
+@@ -1440,6 +1455,15 @@ static struct uart_driver atmel_uart = {
  };
  
  #ifdef CONFIG_PM
@@ -12820,7 +12820,7 @@
  static int atmel_serial_suspend(struct platform_device *pdev,
  				pm_message_t state)
  {
-@@ -1447,7 +1471,7 @@
+@@ -1447,7 +1471,7 @@ static int atmel_serial_suspend(struct p
  	struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
  
  	if (device_may_wakeup(&pdev->dev)
@@ -12831,7 +12831,7 @@
  		uart_suspend_port(&atmel_uart, port);
 --- a/drivers/serial/serial_core.c
 +++ b/drivers/serial/serial_core.c
-@@ -552,6 +552,8 @@
+@@ -552,6 +552,8 @@ static void uart_flush_buffer(struct tty
  
  	spin_lock_irqsave(&port->lock, flags);
  	uart_circ_clear(&state->info->xmit);
@@ -12842,7 +12842,7 @@
  }
 --- a/drivers/spi/atmel_spi.c
 +++ b/drivers/spi/atmel_spi.c
-@@ -51,9 +51,7 @@
+@@ -51,9 +51,7 @@ struct atmel_spi {
  	u8			stopping;
  	struct list_head	queue;
  	struct spi_transfer	*current_transfer;
@@ -12853,7 +12853,7 @@
  
  	void			*buffer;
  	dma_addr_t		buffer_dma;
-@@ -133,48 +131,6 @@
+@@ -133,48 +131,6 @@ static void cs_deactivate(struct atmel_s
  		gpio_set_value(gpio, !active);
  }
  
@@ -12902,7 +12902,7 @@
  /*
   * Submit next transfer for DMA.
   * lock is held, spi irq is blocked
-@@ -184,78 +140,53 @@
+@@ -184,78 +140,53 @@ static void atmel_spi_next_xfer(struct s
  {
  	struct atmel_spi	*as = spi_master_get_devdata(master);
  	struct spi_transfer	*xfer;
@@ -13020,7 +13020,7 @@
  	 * 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
-@@ -265,7 +196,17 @@
+@@ -265,7 +196,17 @@ static void atmel_spi_next_xfer(struct s
  	 *
  	 * It should be doable, though. Just not now...
  	 */
@@ -13038,7 +13038,7 @@
  	spi_writel(as, PTCR, SPI_BIT(TXTEN) | SPI_BIT(RXTEN));
  }
  
-@@ -363,7 +304,6 @@
+@@ -363,7 +304,6 @@ atmel_spi_msg_done(struct spi_master *ma
  	spin_lock(&as->lock);
  
  	as->current_transfer = NULL;
@@ -13046,7 +13046,7 @@
  
  	/* continue if needed */
  	if (list_empty(&as->queue) || as->stopping)
-@@ -447,7 +387,7 @@
+@@ -447,7 +387,7 @@ atmel_spi_interrupt(int irq, void *dev_i
  
  		spi_writel(as, IDR, pending);
  
@@ -13055,7 +13055,7 @@
  			msg->actual_length += xfer->len;
  
  			if (!msg->is_dma_mapped)
-@@ -457,7 +397,7 @@
+@@ -457,7 +397,7 @@ atmel_spi_interrupt(int irq, void *dev_i
  			if (xfer->delay_usecs)
  				udelay(xfer->delay_usecs);
  
@@ -13066,7 +13066,7 @@
  						xfer->cs_change);
 --- a/drivers/usb/gadget/Kconfig
 +++ b/drivers/usb/gadget/Kconfig
-@@ -118,10 +118,10 @@
+@@ -118,10 +118,10 @@ config USB_AMD5536UDC
  config USB_GADGET_ATMEL_USBA
  	boolean "Atmel USBA"
  	select USB_GADGET_DUALSPEED
@@ -13097,7 +13097,7 @@
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
-@@ -324,53 +326,28 @@
+@@ -324,53 +326,28 @@ static int vbus_is_present(struct usba_u
  	return 1;
  }
  
@@ -13167,7 +13167,7 @@
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
  	unsigned int transaction_len;
-@@ -387,7 +364,7 @@
+@@ -387,7 +364,7 @@ static void next_fifo_transaction(struct
  		ep->ep.name, req, transaction_len,
  		req->last_transaction ? ", done" : "");
  
@@ -13176,7 +13176,7 @@
  	usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
  	req->req.actual += transaction_len;
  }
-@@ -476,7 +453,7 @@
+@@ -476,7 +453,7 @@ static void receive_data(struct usba_ep 
  			bytecount = req->req.length - req->req.actual;
  		}
  
@@ -13185,7 +13185,7 @@
  				ep->fifo, bytecount);
  		req->req.actual += bytecount;
  
-@@ -1029,33 +1006,6 @@
+@@ -1029,33 +1006,6 @@ static const struct usb_gadget_ops usba_
  	.set_selfpowered	= usba_udc_set_selfpowered,
  };
  
@@ -13219,7 +13219,7 @@
  static struct usb_endpoint_descriptor usba_ep0_desc = {
  	.bLength = USB_DT_ENDPOINT_SIZE,
  	.bDescriptorType = USB_DT_ENDPOINT,
-@@ -1074,7 +1024,6 @@
+@@ -1074,7 +1024,6 @@ static void nop_release(struct device *d
  static struct usba_udc the_udc = {
  	.gadget	= {
  		.ops		= &usba_udc_ops,
@@ -13227,7 +13227,7 @@
  		.ep_list	= LIST_HEAD_INIT(the_udc.gadget.ep_list),
  		.is_dualspeed	= 1,
  		.name		= "atmel_usba_udc",
-@@ -1231,7 +1180,7 @@
+@@ -1231,7 +1180,7 @@ static int do_test_mode(struct usba_udc 
  		} else {
  			usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
  			usba_writel(udc, TST, USBA_TST_PKT_MODE);
@@ -13236,7 +13236,7 @@
  					sizeof(test_packet_buffer));
  			usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
  			dev_info(dev, "Entering Test_Packet mode...\n");
-@@ -1530,13 +1479,13 @@
+@@ -1530,13 +1479,13 @@ restart:
  		DBG(DBG_HW, "Packet length: %u\n", pkt_len);
  		if (pkt_len != sizeof(crq)) {
  			pr_warning("udc: Invalid packet length %u "
@@ -13252,7 +13252,7 @@
  
  		/* Free up one bank in the FIFO so that we can
  		 * generate or receive a reply right away. */
-@@ -1688,6 +1637,7 @@
+@@ -1688,6 +1637,7 @@ static irqreturn_t usba_udc_irq(int irq,
  	DBG(DBG_INT, "irq, status=%#08x\n", status);
  
  	if (status & USBA_DET_SUSPEND) {
@@ -13260,7 +13260,7 @@
  		usba_writel(udc, INT_CLR, USBA_DET_SUSPEND);
  		DBG(DBG_BUS, "Suspend detected\n");
  		if (udc->gadget.speed != USB_SPEED_UNKNOWN
-@@ -1699,6 +1649,7 @@
+@@ -1699,6 +1649,7 @@ static irqreturn_t usba_udc_irq(int irq,
  	}
  
  	if (status & USBA_WAKE_UP) {
@@ -13268,7 +13268,7 @@
  		usba_writel(udc, INT_CLR, USBA_WAKE_UP);
  		DBG(DBG_BUS, "Wake Up CPU detected\n");
  	}
-@@ -1792,12 +1743,14 @@
+@@ -1792,12 +1743,14 @@ static irqreturn_t usba_vbus_irq(int irq
  	vbus = gpio_get_value(udc->vbus_pin);
  	if (vbus != udc->vbus_prev) {
  		if (vbus) {
@@ -13285,7 +13285,7 @@
  			spin_unlock(&udc->lock);
  			udc->driver->disconnect(&udc->gadget);
  			spin_lock(&udc->lock);
-@@ -1850,7 +1803,8 @@
+@@ -1850,7 +1803,8 @@ int usb_gadget_register_driver(struct us
  	/* If Vbus is present, enable the controller and wait for reset */
  	spin_lock_irqsave(&udc->lock, flags);
  	if (vbus_is_present(udc) && udc->vbus_prev == 0) {
@@ -13295,7 +13295,7 @@
  		usba_writel(udc, INT_ENB, USBA_END_OF_RESET);
  	}
  	spin_unlock_irqrestore(&udc->lock, flags);
-@@ -1883,7 +1837,8 @@
+@@ -1883,7 +1837,8 @@ int usb_gadget_unregister_driver(struct 
  	spin_unlock_irqrestore(&udc->lock, flags);
  
  	/* This will also disable the DP pullup */
@@ -13305,7 +13305,7 @@
  
  	driver->unbind(&udc->gadget);
  	udc->gadget.dev.driver = NULL;
-@@ -1908,7 +1863,7 @@
+@@ -1908,7 +1863,7 @@ static int __init usba_udc_probe(struct 
  
  	regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
  	fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
@@ -13314,7 +13314,7 @@
  		return -ENXIO;
  
  	irq = platform_get_irq(pdev, 0);
-@@ -1953,19 +1908,48 @@
+@@ -1953,19 +1908,48 @@ static int __init usba_udc_probe(struct 
  
  	/* Make sure we start from a clean slate */
  	clk_enable(pclk);
@@ -13365,7 +13365,7 @@
  
  		list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
  	}
-@@ -1984,7 +1968,7 @@
+@@ -1984,7 +1968,7 @@ static int __init usba_udc_probe(struct 
  		goto err_device_add;
  	}
  
@@ -13374,7 +13374,7 @@
  		if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
  			udc->vbus_pin = pdata->vbus_pin;
  
-@@ -2004,7 +1988,7 @@
+@@ -2004,7 +1988,7 @@ static int __init usba_udc_probe(struct 
  	}
  
  	usba_init_debugfs(udc);
@@ -13383,7 +13383,7 @@
  		usba_ep_init_debugfs(udc, &usba_ep[i]);
  
  	return 0;
-@@ -2012,6 +1996,8 @@
+@@ -2012,6 +1996,8 @@ static int __init usba_udc_probe(struct 
  err_device_add:
  	free_irq(irq, udc);
  err_request_irq:
@@ -13392,7 +13392,7 @@
  	iounmap(udc->fifo);
  err_map_fifo:
  	iounmap(udc->regs);
-@@ -2029,10 +2015,11 @@
+@@ -2029,10 +2015,11 @@ static int __exit usba_udc_remove(struct
  {
  	struct usba_udc *udc;
  	int i;
@@ -13405,7 +13405,7 @@
  		usba_ep_cleanup_debugfs(&usba_ep[i]);
  	usba_cleanup_debugfs(udc);
  
-@@ -2040,6 +2027,7 @@
+@@ -2040,6 +2027,7 @@ static int __exit usba_udc_remove(struct
  		gpio_free(udc->vbus_pin);
  
  	free_irq(udc->irq, udc);
@@ -13444,7 +13444,7 @@
  
  static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo,
  					struct fb_var_screeninfo *var)
-@@ -176,7 +178,7 @@
+@@ -176,7 +178,7 @@ static struct fb_fix_screeninfo atmel_lc
  	.type		= FB_TYPE_PACKED_PIXELS,
  	.visual		= FB_VISUAL_TRUECOLOR,
  	.xpanstep	= 0,
@@ -13453,7 +13453,7 @@
  	.ywrapstep	= 0,
  	.accel		= FB_ACCEL_NONE,
  };
-@@ -250,6 +252,8 @@
+@@ -250,6 +252,8 @@ static int atmel_lcdfb_alloc_video_memor
  		return -ENOMEM;
  	}
  
@@ -13462,7 +13462,7 @@
  	return 0;
  }
  
-@@ -634,7 +638,6 @@
+@@ -634,7 +638,6 @@ static int __init atmel_lcdfb_init_fbinf
  	struct fb_info *info = sinfo->info;
  	int ret = 0;
  
@@ -13470,7 +13470,7 @@
  	info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW;
  
  	dev_info(info->device,
-@@ -764,6 +767,11 @@
+@@ -764,6 +767,11 @@ static int __init atmel_lcdfb_probe(stru
  		info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
  		if (!info->screen_base)
  			goto release_intmem;
@@ -13484,7 +13484,7 @@
  		ret = atmel_lcdfb_alloc_video_memory(sinfo);
 --- a/fs/fs-writeback.c
 +++ b/fs/fs-writeback.c
-@@ -385,8 +385,6 @@
+@@ -385,8 +385,6 @@ __writeback_single_inode(struct inode *i
   * WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
   * that it can be located for waiting on in __writeback_single_inode().
   *
@@ -13493,7 +13493,7 @@
   * If `bdi' is non-zero then we're being asked to writeback a specific queue.
   * This function assumes that the blockdev superblock's inodes are backed by
   * a variety of queues, so all inodes are searched.  For other superblocks,
-@@ -402,11 +400,12 @@
+@@ -402,11 +400,12 @@ __writeback_single_inode(struct inode *i
   * on the writer throttling path, and we get decent balancing between many
   * throttled threads: we don't want them all piling up on inode_sync_wait.
   */
@@ -13508,7 +13508,7 @@
  	if (!wbc->for_kupdate || list_empty(&sb->s_io))
  		queue_io(sb, wbc->older_than_this);
  
-@@ -485,8 +484,16 @@
+@@ -485,8 +484,16 @@ sync_sb_inodes(struct super_block *sb, s
  		if (!list_empty(&sb->s_more_io))
  			wbc->more_io = 1;
  	}
@@ -13525,7 +13525,7 @@
  
  /*
   * Start writeback of dirty pagecache data against all unlocked inodes.
-@@ -526,11 +533,8 @@
+@@ -526,11 +533,8 @@ restart:
  			 * be unmounted by the time it is released.
  			 */
  			if (down_read_trylock(&sb->s_umount)) {
@@ -13538,7 +13538,7 @@
  				up_read(&sb->s_umount);
  			}
  			spin_lock(&sb_lock);
-@@ -568,9 +572,7 @@
+@@ -568,9 +572,7 @@ void sync_inodes_sb(struct super_block *
  			(inodes_stat.nr_inodes - inodes_stat.nr_unused) +
  			nr_dirty + nr_unstable;
  	wbc.nr_to_write += wbc.nr_to_write / 2;		/* Bit more for luck */
@@ -13563,7 +13563,7 @@
  /* Add basic devices: system manager, interrupt controller, portmuxes, etc. */
  void at32_add_system_devices(void);
  
-@@ -36,11 +42,10 @@
+@@ -36,11 +42,10 @@ at32_add_device_spi(unsigned int id, str
  struct atmel_lcdfb_info;
  struct platform_device *
  at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
@@ -13578,7 +13578,7 @@
  struct platform_device *
  at32_add_device_usba(unsigned int id, struct usba_platform_data *data);
  
-@@ -68,9 +73,27 @@
+@@ -68,9 +73,27 @@ struct platform_device *at32_add_device_
  struct platform_device *
  at32_add_device_ssc(unsigned int id, unsigned int flags);
  
@@ -13609,7 +13609,7 @@
  struct platform_device *at32_add_device_abdac(unsigned int id);
  
  struct cf_platform_data {
-@@ -84,4 +107,20 @@
+@@ -84,4 +107,20 @@ struct platform_device *
  at32_add_device_cf(unsigned int id, unsigned int extint,
  		struct cf_platform_data *data);
  
@@ -13699,7 +13699,7 @@
 +#endif /* __ASM_AVR32_ARCH_PM_H */
 --- a/include/asm-avr32/arch-at32ap/portmux.h
 +++ b/include/asm-avr32/arch-at32ap/portmux.h
-@@ -26,4 +26,16 @@
+@@ -26,4 +26,16 @@ void at32_select_periph(unsigned int pin
  void at32_select_gpio(unsigned int pin, unsigned long flags);
  void at32_reserve_pin(unsigned int pin);
  
@@ -14339,7 +14339,7 @@
  }
  
  #define __pte_free_tlb(tlb,pte)				\
-@@ -75,6 +89,10 @@
+@@ -75,6 +89,10 @@ do {							\
  	tlb_remove_page((tlb), pte);			\
  } while (0)
  
@@ -14353,7 +14353,7 @@
  #endif /* __ASM_AVR32_PGALLOC_H */
 --- a/include/asm-avr32/pgtable.h
 +++ b/include/asm-avr32/pgtable.h
-@@ -129,13 +129,6 @@
+@@ -129,13 +129,6 @@ extern struct page *empty_zero_page;
  
  #define _PAGE_FLAGS_CACHE_MASK	(_PAGE_CACHABLE | _PAGE_BUFFER | _PAGE_WT)
  
@@ -14367,7 +14367,7 @@
  /* Flags that may be modified by software */
  #define _PAGE_CHG_MASK		(PTE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY \
  				 | _PAGE_FLAGS_CACHE_MASK)
-@@ -254,10 +247,14 @@
+@@ -254,10 +247,14 @@ static inline pte_t pte_mkyoung(pte_t pt
  }
  
  #define pmd_none(x)	(!pmd_val(x))
@@ -14386,7 +14386,7 @@
  
  /*
   * Permanent address of a page. We don't support highmem, so this is
-@@ -295,19 +292,16 @@
+@@ -295,19 +292,16 @@ static inline pte_t pte_modify(pte_t pte
  
  #define page_pte(page)	page_pte_prot(page, __pgprot(0))
  
@@ -14430,7 +14430,7 @@
 +#endif /* _ASM_SERIAL_H */
 --- a/include/asm-avr32/thread_info.h
 +++ b/include/asm-avr32/thread_info.h
-@@ -88,6 +88,7 @@
+@@ -88,6 +88,7 @@ static inline struct thread_info *curren
  #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 */
@@ -14440,7 +14440,7 @@
  
 --- a/include/asm-avr32/tlbflush.h
 +++ b/include/asm-avr32/tlbflush.h
-@@ -26,7 +26,6 @@
+@@ -26,7 +26,6 @@ extern void flush_tlb_mm(struct mm_struc
  extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
  			    unsigned long end);
  extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
@@ -14714,7 +14714,7 @@
 +#endif
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1692,6 +1692,8 @@
+@@ -1692,6 +1692,8 @@ static inline void invalidate_remote_ino
  extern int invalidate_inode_pages2(struct address_space *mapping);
  extern int invalidate_inode_pages2_range(struct address_space *mapping,
  					 pgoff_t start, pgoff_t end);
@@ -14725,7 +14725,7 @@
  extern int filemap_flush(struct address_space *);
 --- a/include/linux/serial_core.h
 +++ b/include/linux/serial_core.h
-@@ -188,6 +188,7 @@
+@@ -188,6 +188,7 @@ struct uart_ops {
  	void		(*break_ctl)(struct uart_port *, int ctl);
  	int		(*startup)(struct uart_port *);
  	void		(*shutdown)(struct uart_port *);
@@ -14760,7 +14760,7 @@
 +#endif /* __LINUX_USB_USBA_H */
 --- a/mm/Kconfig
 +++ b/mm/Kconfig
-@@ -187,7 +187,7 @@
+@@ -187,7 +187,7 @@ config BOUNCE
  config NR_QUICK
  	int
  	depends on QUICKLIST
@@ -14771,7 +14771,7 @@
  config VIRT_TO_BUS
 --- a/sound/Kconfig
 +++ b/sound/Kconfig
-@@ -63,6 +63,8 @@
+@@ -63,6 +63,8 @@ source "sound/aoa/Kconfig"
  
  source "sound/arm/Kconfig"
  
@@ -14782,7 +14782,7 @@
  endif
 --- a/sound/Makefile
 +++ b/sound/Makefile
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ obj-$(CONFIG_SOUND_PRIME) += sound_firmw
  obj-$(CONFIG_SOUND_PRIME) += oss/
  obj-$(CONFIG_DMASOUND) += oss/
  obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \
@@ -15841,7 +15841,7 @@
 +#endif /* __SOUND_AVR32_AC97C_H */
 --- a/sound/oss/Kconfig
 +++ b/sound/oss/Kconfig
-@@ -654,3 +654,7 @@
+@@ -654,3 +654,7 @@ config SOUND_SH_DAC_AUDIO_CHANNEL
  	int "DAC channel"
  	default "1"
  	depends on SOUND_SH_DAC_AUDIO
@@ -15851,7 +15851,7 @@
 +	depends on SOUND_PRIME && AVR32
 --- a/sound/oss/Makefile
 +++ b/sound/oss/Makefile
-@@ -9,6 +9,7 @@
+@@ -9,6 +9,7 @@ obj-$(CONFIG_SOUND_OSS)		+= sound.o
  
  # Please leave it as is, cause the link order is significant !
  
@@ -16648,7 +16648,7 @@
 +#endif /* __SOUND_OSS_AT32_ABDAC_H__ */
 --- a/sound/spi/at73c213.c
 +++ b/sound/spi/at73c213.c
-@@ -737,7 +737,7 @@
+@@ -737,7 +737,7 @@ cleanup:
  /*
   * Device functions
   */
@@ -16657,7 +16657,7 @@
  {
  	/*
  	 * Continuous clock output.
-@@ -767,7 +767,7 @@
+@@ -767,7 +767,7 @@ static int snd_at73c213_ssc_init(struct 
  	return 0;
  }
  
@@ -16666,7 +16666,7 @@
  {
  	int retval;
  	unsigned char dac_ctrl = 0;
-@@ -933,7 +933,7 @@
+@@ -933,7 +933,7 @@ out:
  	return retval;
  }
  
diff --git a/target/linux/avr32/patches/110-openwrt_flashmap.patch b/target/linux/avr32/patches/110-openwrt_flashmap.patch
index 83c3d50028..98669bc473 100644
--- a/target/linux/avr32/patches/110-openwrt_flashmap.patch
+++ b/target/linux/avr32/patches/110-openwrt_flashmap.patch
@@ -1,6 +1,6 @@
 --- a/arch/avr32/boards/atngw100/flash.c
 +++ b/arch/avr32/boards/atngw100/flash.c
-@@ -45,9 +45,14 @@
+@@ -45,9 +45,14 @@ static struct mtd_partition flash_parts[
  		.mask_flags     = MTD_WRITEABLE,
  	},
  	{
diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile
index bad5ec108d..daa867b4b3 100644
--- a/target/linux/brcm47xx/Makefile
+++ b/target/linux/brcm47xx/Makefile
@@ -11,7 +11,7 @@ BOARD:=brcm47xx
 BOARDNAME:=Broadcom BCM947xx/953xx
 FEATURES:=squashfs usb
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += kmod-switch kmod-diag
diff --git a/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch b/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch
index 783aa8c10d..b48215d3cc 100644
--- a/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -50,8 +50,10 @@
+@@ -50,8 +50,10 @@ config BCM47XX
  	select SYS_SUPPORTS_32BIT_KERNEL
  	select SYS_SUPPORTS_LITTLE_ENDIAN
  	select SSB
@@ -11,7 +11,7 @@
  	select SSB_PCICORE_HOSTMODE if PCI
  	select GENERIC_GPIO
  	select SYS_HAS_EARLY_PRINTK
-@@ -790,6 +792,7 @@
+@@ -790,6 +792,7 @@ config CSRC_SB1250
  
  config CFE
  	bool
diff --git a/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch b/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch
index 1471083177..6d3161c86d 100644
--- a/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/Kconfig
 +++ b/drivers/mtd/maps/Kconfig
-@@ -337,6 +337,12 @@
+@@ -337,6 +337,12 @@ config MTD_CFI_FLAGADM
  	  Mapping for the Flaga digital module. If you don't have one, ignore
  	  this setting.
  
@@ -15,7 +15,7 @@
  	depends on MTD_JEDECPROBE && WALNUT && !PPC_MERGE
 --- a/drivers/mtd/maps/Makefile
 +++ b/drivers/mtd/maps/Makefile
-@@ -31,6 +31,7 @@
+@@ -31,6 +31,7 @@ obj-$(CONFIG_MTD_PMC_MSP_RAMROOT)+= pmcm
  obj-$(CONFIG_MTD_PCMCIA)	+= pcmciamtd.o
  obj-$(CONFIG_MTD_RPXLITE)	+= rpxlite.o
  obj-$(CONFIG_MTD_TQM8XXL)	+= tqm8xxl.o
diff --git a/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch b/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch
index d36b4d8307..941b649c7f 100644
--- a/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -228,7 +228,6 @@
+@@ -228,7 +228,6 @@ config MIPS_MALTA
  	select I8259
  	select MIPS_BOARDS_GEN
  	select MIPS_BONITO64
@@ -8,7 +8,7 @@
  	select PCI_GT64XXX_PCI0
  	select MIPS_MSC
  	select SWAP_IO_SPACE
-@@ -1421,13 +1420,6 @@
+@@ -1421,13 +1420,6 @@ config IP22_CPU_SCACHE
  	bool
  	select BOARD_SCACHE
  
@@ -24,7 +24,7 @@
  	select BOARD_SCACHE
 --- a/arch/mips/kernel/cpu-probe.c
 +++ b/arch/mips/kernel/cpu-probe.c
-@@ -704,6 +704,8 @@
+@@ -704,6 +704,8 @@ static inline void cpu_probe_mips(struct
  		break;
  	case PRID_IMP_25KF:
  		c->cputype = CPU_25KF;
@@ -35,7 +35,7 @@
  		c->cputype = CPU_34K;
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -1103,7 +1103,6 @@
+@@ -1103,7 +1103,6 @@ static void __init loongson2_sc_init(voi
  
  extern int r5k_sc_init(void);
  extern int rm7k_sc_init(void);
@@ -43,7 +43,7 @@
  
  static void __cpuinit setup_scache(void)
  {
-@@ -1157,29 +1156,17 @@
+@@ -1157,29 +1156,17 @@ static void __cpuinit setup_scache(void)
  #endif
  
  	default:
@@ -80,7 +80,7 @@
  
 --- a/arch/mips/mm/Makefile
 +++ b/arch/mips/mm/Makefile
-@@ -32,6 +32,5 @@
+@@ -32,6 +32,5 @@ obj-$(CONFIG_CPU_VR41XX)	+= c-r4k.o cex-
  obj-$(CONFIG_IP22_CPU_SCACHE)	+= sc-ip22.o
  obj-$(CONFIG_R5000_CPU_SCACHE)  += sc-r5k.o
  obj-$(CONFIG_RM7000_CPU_SCACHE)	+= sc-rm7k.o
diff --git a/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch b/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch
index e0d225b154..58dafe5695 100644
--- a/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/kernel/genex.S
 +++ b/arch/mips/kernel/genex.S
-@@ -51,6 +51,10 @@
+@@ -51,6 +51,10 @@ NESTED(except_vec1_generic, 0, sp)
  NESTED(except_vec3_generic, 0, sp)
  	.set	push
  	.set	noat
@@ -23,7 +23,7 @@
  /*
   * Special Variant of smp_call_function for use by cache functions:
   *
-@@ -97,6 +100,9 @@
+@@ -97,6 +100,9 @@ static void __cpuinit r4k_blast_dcache_p
  {
  	unsigned long  dc_lsize = cpu_dcache_line_size();
  
@@ -33,7 +33,7 @@
  	if (dc_lsize == 0)
  		r4k_blast_dcache_page = (void *)cache_noop;
  	else if (dc_lsize == 16)
-@@ -111,6 +117,9 @@
+@@ -111,6 +117,9 @@ static void __cpuinit r4k_blast_dcache_p
  {
  	unsigned long dc_lsize = cpu_dcache_line_size();
  
@@ -43,7 +43,7 @@
  	if (dc_lsize == 0)
  		r4k_blast_dcache_page_indexed = (void *)cache_noop;
  	else if (dc_lsize == 16)
-@@ -125,6 +134,9 @@
+@@ -125,6 +134,9 @@ static void __cpuinit r4k_blast_dcache_s
  {
  	unsigned long dc_lsize = cpu_dcache_line_size();
  
@@ -53,7 +53,7 @@
  	if (dc_lsize == 0)
  		r4k_blast_dcache = (void *)cache_noop;
  	else if (dc_lsize == 16)
-@@ -630,6 +642,8 @@
+@@ -630,6 +642,8 @@ static void local_r4k_flush_cache_sigtra
  	unsigned long addr = (unsigned long) arg;
  
  	R4600_HIT_CACHEOP_WAR_IMPL;
@@ -62,7 +62,7 @@
  	if (dc_lsize)
  		protected_writeback_dcache_line(addr & ~(dc_lsize - 1));
  	if (!cpu_icache_snoops_remote_store && scache_size)
-@@ -1215,6 +1229,17 @@
+@@ -1215,6 +1229,17 @@ static void __cpuinit coherency_setup(vo
  	 * silly idea of putting something else there ...
  	 */
  	switch (current_cpu_type()) {
@@ -80,7 +80,7 @@
  	case CPU_R4000PC:
  	case CPU_R4000SC:
  	case CPU_R4000MC:
-@@ -1254,6 +1279,15 @@
+@@ -1254,6 +1279,15 @@ void __cpuinit r4k_cache_init(void)
  		break;
  	}
  
@@ -96,7 +96,7 @@
  	probe_pcache();
  	setup_scache();
  
-@@ -1303,5 +1337,13 @@
+@@ -1303,5 +1337,13 @@ void __cpuinit r4k_cache_init(void)
  	build_clear_page();
  	build_copy_page();
  	local_r4k___flush_cache_all(NULL);
@@ -112,7 +112,7 @@
  }
 --- a/arch/mips/mm/tlbex.c
 +++ b/arch/mips/mm/tlbex.c
-@@ -677,6 +677,9 @@
+@@ -677,6 +677,9 @@ static void __cpuinit build_r4000_tlb_re
  		/* No need for uasm_i_nop */
  	}
  
@@ -122,7 +122,7 @@
  #ifdef CONFIG_64BIT
  	build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
  #else
-@@ -1084,6 +1087,9 @@
+@@ -1084,6 +1087,9 @@ build_r4000_tlbchange_handler_head(u32 *
  				   struct uasm_reloc **r, unsigned int pte,
  				   unsigned int ptr)
  {
@@ -155,7 +155,7 @@
  /*
   * This macro return a properly sign-extended address suitable as base address
   * for indexed cache operations.  Two issues here:
-@@ -150,6 +164,7 @@
+@@ -150,6 +164,7 @@ static inline void flush_icache_line_ind
  static inline void flush_dcache_line_indexed(unsigned long addr)
  {
  	__dflush_prologue
@@ -163,7 +163,7 @@
  	cache_op(Index_Writeback_Inv_D, addr);
  	__dflush_epilogue
  }
-@@ -169,6 +184,7 @@
+@@ -169,6 +184,7 @@ static inline void flush_icache_line(uns
  static inline void flush_dcache_line(unsigned long addr)
  {
  	__dflush_prologue
@@ -171,7 +171,7 @@
  	cache_op(Hit_Writeback_Inv_D, addr);
  	__dflush_epilogue
  }
-@@ -176,6 +192,7 @@
+@@ -176,6 +192,7 @@ static inline void flush_dcache_line(uns
  static inline void invalidate_dcache_line(unsigned long addr)
  {
  	__dflush_prologue
@@ -179,7 +179,7 @@
  	cache_op(Hit_Invalidate_D, addr);
  	__dflush_epilogue
  }
-@@ -208,6 +225,7 @@
+@@ -208,6 +225,7 @@ static inline void flush_scache_line(uns
   */
  static inline void protected_flush_icache_line(unsigned long addr)
  {
@@ -187,7 +187,7 @@
  	protected_cache_op(Hit_Invalidate_I, addr);
  }
  
-@@ -219,6 +237,7 @@
+@@ -219,6 +237,7 @@ static inline void protected_flush_icach
   */
  static inline void protected_writeback_dcache_line(unsigned long addr)
  {
@@ -195,7 +195,7 @@
  	protected_cache_op(Hit_Writeback_Inv_D, addr);
  }
  
-@@ -339,8 +358,52 @@
+@@ -339,8 +358,52 @@ static inline void invalidate_tcache_pag
  		: "r" (base),						\
  		  "i" (op));
  
@@ -249,7 +249,7 @@
  static inline void blast_##pfx##cache##lsize(void)			\
  {									\
  	unsigned long start = INDEX_BASE;				\
-@@ -352,6 +415,7 @@
+@@ -352,6 +415,7 @@ static inline void blast_##pfx##cache##l
  									\
  	__##pfx##flush_prologue						\
  									\
@@ -257,7 +257,7 @@
  	for (ws = 0; ws < ws_end; ws += ws_inc)				\
  		for (addr = start; addr < end; addr += lsize * 32)	\
  			cache##lsize##_unroll32(addr|ws, indexop);	\
-@@ -366,6 +430,7 @@
+@@ -366,6 +430,7 @@ static inline void blast_##pfx##cache##l
  									\
  	__##pfx##flush_prologue						\
  									\
@@ -265,7 +265,7 @@
  	do {								\
  		cache##lsize##_unroll32(start, hitop);			\
  		start += lsize * 32;					\
-@@ -384,6 +449,8 @@
+@@ -384,6 +449,8 @@ static inline void blast_##pfx##cache##l
  	                       current_cpu_data.desc.waybit;		\
  	unsigned long ws, addr;						\
  									\
@@ -274,7 +274,7 @@
  	__##pfx##flush_prologue						\
  									\
  	for (ws = 0; ws < ws_end; ws += ws_inc)				\
-@@ -393,35 +460,37 @@
+@@ -393,35 +460,37 @@ static inline void blast_##pfx##cache##l
  	__##pfx##flush_epilogue						\
  }
  
@@ -329,7 +329,7 @@
  		prot##cache_op(hitop, addr);				\
  		if (addr == aend)					\
  			break;						\
-@@ -431,13 +500,13 @@
+@@ -431,13 +500,13 @@ static inline void prot##blast_##pfx##ca
  	__##pfx##flush_epilogue						\
  }
  
diff --git a/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch b/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch
index 725fb3c7ed..5fe38aaaf6 100644
--- a/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ void copy_user_highpage(struct page *to,
  	void *vfrom, *vto;
  
  	vto = kmap_atomic(to, KM_USER1);
@@ -9,7 +9,7 @@
  	    page_mapped(from) && !Page_dcache_dirty(from)) {
  		vfrom = kmap_coherent(from, vaddr);
  		copy_page(vto, vfrom);
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ void copy_to_user_page(struct vm_area_st
  	struct page *page, unsigned long vaddr, void *dst, const void *src,
  	unsigned long len)
  {
@@ -18,7 +18,7 @@
  	    page_mapped(page) && !Page_dcache_dirty(page)) {
  		void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
  		memcpy(vto, src, len);
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ void copy_from_user_page(struct vm_area_
  	struct page *page, unsigned long vaddr, void *dst, const void *src,
  	unsigned long len)
  {
@@ -57,7 +57,7 @@
   * I-Cache snoops remote store.  This only matters on SMP.  Some multiprocessors
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -484,7 +484,7 @@
+@@ -484,7 +484,7 @@ static inline void local_r4k_flush_cache
  		 * Use kmap_coherent or kmap_atomic to do flushes for
  		 * another ASID than the current one.
  		 */
@@ -66,7 +66,7 @@
  			vaddr = kmap_coherent(page, addr);
  		else
  			vaddr = kmap_atomic(page, KM_USER0);
-@@ -505,7 +505,7 @@
+@@ -505,7 +505,7 @@ static inline void local_r4k_flush_cache
  	}
  
  	if (vaddr) {
diff --git a/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch
index 55c08fe0d3..6669fba464 100644
--- a/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch
@@ -1,7 +1,5 @@
-Index: linux-2.6.25.17/drivers/net/b44.c
-===================================================================
---- linux-2.6.25.17.orig/drivers/net/b44.c	2008-10-16 23:13:19.000000000 +0200
-+++ linux-2.6.25.17/drivers/net/b44.c	2008-11-02 12:13:38.000000000 +0100
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
 @@ -339,7 +339,7 @@ static int b44_phy_reset(struct b44 *bp)
  		}
  	}
diff --git a/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch b/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch
index 8658d6d255..6a4341fede 100644
--- a/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/driver_chipcommon.c
 +++ b/drivers/ssb/driver_chipcommon.c
-@@ -270,6 +270,8 @@
+@@ -270,6 +270,8 @@ void ssb_chipco_resume(struct ssb_chipco
  void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc,
                               u32 *plltype, u32 *n, u32 *m)
  {
@@ -9,7 +9,7 @@
  	*n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
  	*plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
  	switch (*plltype) {
-@@ -293,6 +295,8 @@
+@@ -293,6 +295,8 @@ void ssb_chipco_get_clockcpu(struct ssb_
  void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc,
  				 u32 *plltype, u32 *n, u32 *m)
  {
@@ -20,7 +20,7 @@
  	switch (*plltype) {
 --- a/drivers/ssb/driver_mipscore.c
 +++ b/drivers/ssb/driver_mipscore.c
-@@ -161,6 +161,8 @@
+@@ -161,6 +161,8 @@ u32 ssb_cpu_clock(struct ssb_mipscore *m
  
  	if ((pll_type == SSB_PLLTYPE_5) || (bus->chip_id == 0x5365)) {
  		rate = 200000000;
@@ -31,7 +31,7 @@
  	}
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -867,6 +867,8 @@
+@@ -867,6 +867,8 @@ u32 ssb_clockspeed(struct ssb_bus *bus)
  
  	if (bus->chip_id == 0x5365) {
  		rate = 100000000;
diff --git a/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch b/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch
index f599ca773c..856651b3de 100644
--- a/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/ohci-ssb.c
 +++ b/drivers/usb/host/ohci-ssb.c
-@@ -142,10 +142,59 @@
+@@ -142,10 +142,59 @@ static int ssb_ohci_attach(struct ssb_de
  	int err = -ENOMEM;
  	u32 tmp, flags = 0;
  
@@ -62,7 +62,7 @@
  
  	hcd = usb_create_hcd(&ssb_ohci_hc_driver, dev->dev,
  			dev->dev->bus_id);
-@@ -236,6 +285,7 @@
+@@ -236,6 +285,7 @@ static int ssb_ohci_resume(struct ssb_de
  static const struct ssb_device_id ssb_ohci_table[] = {
  	SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_USB11_HOSTDEV, SSB_ANY_REV),
  	SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_USB11_HOST, SSB_ANY_REV),
diff --git a/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch b/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch
index 21fac47407..afeec9c69f 100644
--- a/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/ohci-ssb.c
 +++ b/drivers/usb/host/ohci-ssb.c
-@@ -195,6 +195,11 @@
+@@ -195,6 +195,11 @@ static int ssb_ohci_attach(struct ssb_de
  	else
  		ssb_device_enable(dev, 0);
  
diff --git a/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch b/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch
index a2c27ab7c7..505e8aa4d5 100644
--- a/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
-@@ -205,32 +205,6 @@
+@@ -205,32 +205,6 @@ void kunmap_coherent(void)
  	preempt_check_resched();
  }
  
@@ -43,7 +43,7 @@
  #include <asm/io.h>
  
  /*
-@@ -64,13 +65,16 @@
+@@ -64,13 +65,16 @@ static inline void clear_user_page(void 
  		flush_data_cache_page((unsigned long)addr);
  }
  
diff --git a/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch b/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch
index fb69cc4aab..7153871d21 100644
--- a/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch
@@ -27,7 +27,7 @@
  void plat_irq_dispatch(void)
  {
  	u32 cause;
-@@ -53,3 +63,19 @@
+@@ -53,3 +63,19 @@ void __init arch_init_irq(void)
  {
  	mips_cpu_irq_init();
  }
@@ -115,7 +115,7 @@
  	while (1)
  		cpu_relax();
  }
-@@ -50,12 +79,13 @@
+@@ -50,12 +79,13 @@ static void bcm47xx_machine_halt(void)
  {
  	/* Disable interrupts and watchdog and spin forever */
  	local_irq_disable();
@@ -131,7 +131,7 @@
  {
  	int i = 0;
  
-@@ -72,52 +102,141 @@
+@@ -72,52 +102,141 @@ static void str2eaddr(char *str, char *d
  	}
  }
  
@@ -343,7 +343,7 @@
  
  static char nvram_buf[NVRAM_SPACE];
  static int cfe_env;
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ extern char *cfe_env_get(char *nv_buf, c
  /* Probe for NVRAM header */
  static void __init early_nvram_init(void)
  {
@@ -362,7 +362,7 @@
 +obj-y := cfe_env.o gpio.o irq.o nvram.o prom.o serial.o setup.o time.o wgt634u.o
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -54,6 +54,7 @@
+@@ -54,6 +54,7 @@ config BCM47XX
  	select SSB_DRIVER_MIPS
  	select SSB_DRIVER_EXTIF
  	select SSB_DRIVER_PCICORE
diff --git a/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch b/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch
index a2e4c2b85c..59f4c1fdb3 100644
--- a/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch
@@ -1,6 +1,6 @@
 --- a/scripts/gen_initramfs_list.sh
 +++ b/scripts/gen_initramfs_list.sh
-@@ -287,7 +287,7 @@
+@@ -287,7 +287,7 @@ if [ ! -z ${output_file} ]; then
  	if [ "${is_cpio_compressed}" = "compressed" ]; then
  		cat ${cpio_tfile} > ${output_file}
  	else
@@ -11,7 +11,7 @@
  fi
 --- a/init/initramfs.c
 +++ b/init/initramfs.c
-@@ -441,6 +441,69 @@
+@@ -441,6 +441,69 @@ static void __init flush_window(void)
  	outcnt = 0;
  }
  
@@ -81,7 +81,7 @@
  static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
  {
  	int written;
-@@ -475,12 +538,28 @@
+@@ -475,12 +538,28 @@ static char * __init unpack_to_rootfs(ch
  		inptr = 0;
  		outcnt = 0;		/* bytes in output buffer */
  		bytes_out = 0;
diff --git a/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch b/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch
index 21e89cddff..9071b7cb34 100644
--- a/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch
@@ -4,7 +4,7 @@ Remove this sanity check for now until we find a better solution.
 --mb
 --- a/arch/mips/pci/pci.c
 +++ b/arch/mips/pci/pci.c
-@@ -182,12 +182,10 @@
+@@ -182,12 +182,10 @@ static int pcibios_enable_resources(stru
  		if ((idx == PCI_ROM_RESOURCE) &&
  				(!(r->flags & IORESOURCE_ROM_ENABLE)))
  			continue;
diff --git a/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch b/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch
index d2271dd43e..af251d5ea1 100644
--- a/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -1173,7 +1173,9 @@
+@@ -1173,7 +1173,9 @@ static int __init ssb_modinit(void)
  /* ssb must be initialized after PCI but before the ssb drivers.
   * That means we must use some initcall between subsys_initcall
   * and device_initcall. */
diff --git a/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch b/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch
index 5f5e480229..72505d3e27 100644
--- a/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch
@@ -8,7 +8,7 @@ Signed-off-by: Michael Buesch <mb@bu3sch.de>
 
 --- a/drivers/ssb/driver_pcicore.c
 +++ b/drivers/ssb/driver_pcicore.c
-@@ -519,6 +519,13 @@
+@@ -519,6 +519,13 @@ int ssb_pcicore_dev_irqvecs_enable(struc
  	int err = 0;
  	u32 tmp;
  
diff --git a/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch b/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch
index c7b1b26af4..f96b4d2dab 100644
--- a/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch
@@ -1,7 +1,7 @@
 Add support for 8bit reads/writes to SSB.
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -508,6 +508,14 @@
+@@ -508,6 +508,14 @@ error:
  	return err;
  }
  
@@ -16,7 +16,7 @@ Add support for 8bit reads/writes to SSB.
  static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
  {
  	struct ssb_bus *bus = dev->bus;
-@@ -524,6 +532,14 @@
+@@ -524,6 +532,14 @@ static u32 ssb_ssb_read32(struct ssb_dev
  	return readl(bus->mmio + offset);
  }
  
@@ -31,7 +31,7 @@ Add support for 8bit reads/writes to SSB.
  static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
  	struct ssb_bus *bus = dev->bus;
-@@ -542,8 +558,10 @@
+@@ -542,8 +558,10 @@ static void ssb_ssb_write32(struct ssb_d
  
  /* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
  static const struct ssb_bus_ops ssb_ssb_ops = {
@@ -44,7 +44,7 @@ Add support for 8bit reads/writes to SSB.
  };
 --- a/drivers/ssb/pci.c
 +++ b/drivers/ssb/pci.c
-@@ -577,6 +577,19 @@
+@@ -577,6 +577,19 @@ static inline int ssb_pci_assert_buspowe
  }
  #endif /* DEBUG */
  
@@ -64,7 +64,7 @@ Add support for 8bit reads/writes to SSB.
  static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
  {
  	struct ssb_bus *bus = dev->bus;
-@@ -603,6 +616,19 @@
+@@ -603,6 +616,19 @@ static u32 ssb_pci_read32(struct ssb_dev
  	return ioread32(bus->mmio + offset);
  }
  
@@ -84,7 +84,7 @@ Add support for 8bit reads/writes to SSB.
  static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
  	struct ssb_bus *bus = dev->bus;
-@@ -631,8 +657,10 @@
+@@ -631,8 +657,10 @@ static void ssb_pci_write32(struct ssb_d
  
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pci_ops = {
@@ -97,7 +97,7 @@ Add support for 8bit reads/writes to SSB.
  };
 --- a/drivers/ssb/pcmcia.c
 +++ b/drivers/ssb/pcmcia.c
-@@ -172,6 +172,22 @@
+@@ -172,6 +172,22 @@ static int select_core_and_segment(struc
  	return 0;
  }
  
@@ -120,7 +120,7 @@ Add support for 8bit reads/writes to SSB.
  static u16 ssb_pcmcia_read16(struct ssb_device *dev, u16 offset)
  {
  	struct ssb_bus *bus = dev->bus;
-@@ -206,6 +222,20 @@
+@@ -206,6 +222,20 @@ static u32 ssb_pcmcia_read32(struct ssb_
  	return (lo | (hi << 16));
  }
  
@@ -141,7 +141,7 @@ Add support for 8bit reads/writes to SSB.
  static void ssb_pcmcia_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
  	struct ssb_bus *bus = dev->bus;
-@@ -238,8 +268,10 @@
+@@ -238,8 +268,10 @@ static void ssb_pcmcia_write32(struct ss
  
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pcmcia_ops = {
@@ -154,7 +154,7 @@ Add support for 8bit reads/writes to SSB.
  };
 --- a/include/linux/ssb/ssb.h
 +++ b/include/linux/ssb/ssb.h
-@@ -72,8 +72,10 @@
+@@ -72,8 +72,10 @@ struct ssb_device;
  /* Lowlevel read/write operations on the device MMIO.
   * Internal, don't use that outside of ssb. */
  struct ssb_bus_ops {
@@ -165,7 +165,7 @@ Add support for 8bit reads/writes to SSB.
  	void (*write16)(struct ssb_device *dev, u16 offset, u16 value);
  	void (*write32)(struct ssb_device *dev, u16 offset, u32 value);
  };
-@@ -348,6 +350,10 @@
+@@ -348,6 +350,10 @@ void ssb_device_disable(struct ssb_devic
  
  
  /* Device MMIO register read/write functions. */
@@ -176,7 +176,7 @@ Add support for 8bit reads/writes to SSB.
  static inline u16 ssb_read16(struct ssb_device *dev, u16 offset)
  {
  	return dev->ops->read16(dev, offset);
-@@ -356,6 +362,10 @@
+@@ -356,6 +362,10 @@ static inline u32 ssb_read32(struct ssb_
  {
  	return dev->ops->read32(dev, offset);
  }
diff --git a/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch b/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch
index 1ba199fcbb..8b0445f5ba 100644
--- a/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch
@@ -21,7 +21,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  #define PCI_ASSIGN_ALL_BUSSES	1
  
  unsigned int pci_probe = PCI_ASSIGN_ALL_BUSSES;
-@@ -75,8 +86,32 @@
+@@ -75,8 +86,32 @@ pcibios_align_resource(void *data, struc
  	res->start = start;
  }
  
@@ -55,7 +55,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  	if (request_resource(&iomem_resource, hose->mem_resource) < 0)
  		goto out;
  	if (request_resource(&ioport_resource, hose->io_resource) < 0) {
-@@ -84,9 +119,6 @@
+@@ -84,9 +119,6 @@ void __devinit register_pci_controller(s
  		goto out;
  	}
  
@@ -65,7 +65,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  	/*
  	 * Do not panic here but later - this might hapen before console init.
  	 */
-@@ -94,41 +126,47 @@
+@@ -94,41 +126,47 @@ void __devinit register_pci_controller(s
  		printk(KERN_WARNING
  		       "registering PCI controller with io_map_base unset\n");
  	}
@@ -136,7 +136,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  
  	/* Scan all of the recorded PCI controllers.  */
  	for (next_busno = 0, hose = hose_head; hose; hose = hose->next) {
-@@ -157,6 +195,7 @@
+@@ -157,6 +195,7 @@ static int __init pcibios_init(void)
  	if (!pci_probe_only)
  		pci_assign_unassigned_resources();
  	pci_fixup_irqs(common_swizzle, pcibios_map_irq);
@@ -146,7 +146,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  }
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -1191,9 +1191,7 @@
+@@ -1191,9 +1191,7 @@ static int __init ssb_modinit(void)
  /* ssb must be initialized after PCI but before the ssb drivers.
   * That means we must use some initcall between subsys_initcall
   * and device_initcall. */
diff --git a/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch b/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch
index ae97cf6cd5..1ed53e5ef8 100644
--- a/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/Kconfig
 +++ b/drivers/ssb/Kconfig
-@@ -125,4 +125,13 @@
+@@ -125,4 +125,13 @@ config SSB_DRIVER_EXTIF
  
  	  If unsure, say N
  
@@ -16,7 +16,7 @@
  endmenu
 --- a/drivers/ssb/Makefile
 +++ b/drivers/ssb/Makefile
-@@ -11,6 +11,7 @@
+@@ -11,6 +11,7 @@ ssb-y					+= driver_chipcommon.o
  ssb-$(CONFIG_SSB_DRIVER_MIPS)		+= driver_mipscore.o
  ssb-$(CONFIG_SSB_DRIVER_EXTIF)		+= driver_extif.o
  ssb-$(CONFIG_SSB_DRIVER_PCICORE)	+= driver_pcicore.o
@@ -500,7 +500,7 @@
 +#endif /* LINUX_SSB_DRIVER_GIGE_H_ */
 --- a/drivers/ssb/driver_pcicore.c
 +++ b/drivers/ssb/driver_pcicore.c
-@@ -60,78 +60,6 @@
+@@ -60,78 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
  /* Core to access the external PCI config space. Can only have one. */
  static struct ssb_pcicore *extpci_core;
  
@@ -579,7 +579,7 @@
  static u32 get_cfgspace_addr(struct ssb_pcicore *pc,
  			     unsigned int bus, unsigned int dev,
  			     unsigned int func, unsigned int off)
-@@ -320,6 +248,95 @@
+@@ -320,6 +248,95 @@ static struct pci_controller ssb_pcicore
  	.mem_offset	= 0x24000000,
  };
  
@@ -687,7 +687,7 @@
  
  #include "ssb_private.h"
  
-@@ -130,3 +133,90 @@
+@@ -130,3 +133,90 @@ u32 ssb_gpio_polarity(struct ssb_bus *bu
  	return res;
  }
  EXPORT_SYMBOL(ssb_gpio_polarity);
@@ -780,7 +780,7 @@
 +}
 --- a/include/linux/ssb/ssb.h
 +++ b/include/linux/ssb/ssb.h
-@@ -426,5 +426,12 @@
+@@ -426,5 +426,12 @@ extern int ssb_bus_powerup(struct ssb_bu
  extern u32 ssb_admatch_base(u32 adm);
  extern u32 ssb_admatch_size(u32 adm);
  
@@ -807,7 +807,7 @@
  #ifdef CONFIG_SSB_DRIVER_PCICORE
  
  /* PCI core registers. */
-@@ -88,6 +93,9 @@
+@@ -88,6 +93,9 @@ extern void ssb_pcicore_init(struct ssb_
  extern int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
  					  struct ssb_device *dev);
  
@@ -817,7 +817,7 @@
  
  #else /* CONFIG_SSB_DRIVER_PCICORE */
  
-@@ -107,5 +115,16 @@
+@@ -107,5 +115,16 @@ int ssb_pcicore_dev_irqvecs_enable(struc
  	return 0;
  }
  
@@ -844,7 +844,7 @@
  #include <linux/dma-mapping.h>
  #include <linux/pci.h>
  
-@@ -68,6 +69,25 @@
+@@ -68,6 +69,25 @@ found:
  }
  #endif /* CONFIG_SSB_PCIHOST */
  
@@ -870,7 +870,7 @@
  static struct ssb_device *ssb_device_get(struct ssb_device *dev)
  {
  	if (dev)
-@@ -1181,7 +1201,14 @@
+@@ -1181,7 +1201,14 @@ static int __init ssb_modinit(void)
  	err = b43_pci_ssb_bridge_init();
  	if (err) {
  		ssb_printk(KERN_ERR "Broadcom 43xx PCI-SSB-bridge "
@@ -886,7 +886,7 @@
  		/* don't fail SSB init because of this */
  		err = 0;
  	}
-@@ -1195,6 +1222,7 @@
+@@ -1195,6 +1222,7 @@ fs_initcall(ssb_modinit);
  
  static void __exit ssb_modexit(void)
  {
@@ -896,7 +896,7 @@
  }
 --- a/drivers/ssb/ssb_private.h
 +++ b/drivers/ssb/ssb_private.h
-@@ -118,6 +118,8 @@
+@@ -118,6 +118,8 @@ extern u32 ssb_calc_clock_rate(u32 pllty
  extern int ssb_devices_freeze(struct ssb_bus *bus);
  extern int ssb_devices_thaw(struct ssb_bus *bus);
  extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev);
@@ -915,7 +915,7 @@
  
  #include <net/checksum.h>
  #include <net/ip.h>
-@@ -425,8 +426,9 @@
+@@ -425,8 +426,9 @@ static void _tw32_flush(struct tg3 *tp, 
  static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val)
  {
  	tp->write32_mbox(tp, off, val);
@@ -927,7 +927,7 @@
  		tp->read32_mbox(tp, off);
  }
  
-@@ -706,7 +708,7 @@
+@@ -706,7 +708,7 @@ static void tg3_switch_clocks(struct tg3
  
  #define PHY_BUSY_LOOPS	5000
  
@@ -936,7 +936,7 @@
  {
  	u32 frame_val;
  	unsigned int loops;
-@@ -720,7 +722,7 @@
+@@ -720,7 +722,7 @@ static int tg3_readphy(struct tg3 *tp, i
  
  	*val = 0x0;
  
@@ -945,7 +945,7 @@
  		      MI_COM_PHY_ADDR_MASK);
  	frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
  		      MI_COM_REG_ADDR_MASK);
-@@ -755,7 +757,12 @@
+@@ -755,7 +757,12 @@ static int tg3_readphy(struct tg3 *tp, i
  	return ret;
  }
  
@@ -959,7 +959,7 @@
  {
  	u32 frame_val;
  	unsigned int loops;
-@@ -771,7 +778,7 @@
+@@ -771,7 +778,7 @@ static int tg3_writephy(struct tg3 *tp, 
  		udelay(80);
  	}
  
@@ -968,7 +968,7 @@
  		      MI_COM_PHY_ADDR_MASK);
  	frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
  		      MI_COM_REG_ADDR_MASK);
-@@ -804,6 +811,11 @@
+@@ -804,6 +811,11 @@ static int tg3_writephy(struct tg3 *tp, 
  	return ret;
  }
  
@@ -980,7 +980,7 @@
  static void tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
  {
  	tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
-@@ -2250,6 +2262,14 @@
+@@ -2250,6 +2262,14 @@ static int tg3_setup_copper_phy(struct t
  			}
  		}
  
@@ -995,7 +995,7 @@
  		if (current_link_up == 1 &&
  		    tp->link_config.active_duplex == DUPLEX_FULL)
  			tg3_setup_flow_control(tp, lcl_adv, rmt_adv);
-@@ -5197,6 +5217,11 @@
+@@ -5197,6 +5217,11 @@ static int tg3_poll_fw(struct tg3 *tp)
  	int i;
  	u32 val;
  
@@ -1007,7 +1007,7 @@
  	if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) {
  		/* Wait up to 20ms for init done. */
  		for (i = 0; i < 200; i++) {
-@@ -5435,6 +5460,14 @@
+@@ -5435,6 +5460,14 @@ static int tg3_chip_reset(struct tg3 *tp
  		tw32(0x5000, 0x400);
  	}
  
@@ -1022,7 +1022,7 @@
  	tw32(GRC_MODE, tp->grc_mode);
  
  	if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) {
-@@ -5704,9 +5737,12 @@
+@@ -5704,9 +5737,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
  		return -ENODEV;
  	}
  
@@ -1038,7 +1038,7 @@
  	return 0;
  }
  
-@@ -5787,6 +5823,11 @@
+@@ -5787,6 +5823,11 @@ static int tg3_load_5701_a0_firmware_fix
  	struct fw_info info;
  	int err, i;
  
@@ -1050,7 +1050,7 @@
  	info.text_base = TG3_FW_TEXT_ADDR;
  	info.text_len = TG3_FW_TEXT_LEN;
  	info.text_data = &tg3FwText[0];
-@@ -6345,6 +6386,11 @@
+@@ -6345,6 +6386,11 @@ static int tg3_load_tso_firmware(struct 
  	unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size;
  	int err, i;
  
@@ -1062,7 +1062,7 @@
  	if (tp->tg3_flags2 & TG3_FLG2_HW_TSO)
  		return 0;
  
-@@ -7306,6 +7352,11 @@
+@@ -7306,6 +7352,11 @@ static void tg3_timer(unsigned long __op
  
  	spin_lock(&tp->lock);
  
@@ -1074,7 +1074,7 @@
  	if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
  		/* All of this garbage is because when using non-tagged
  		 * IRQ status the mailbox/status_block protocol the chip
-@@ -8906,6 +8957,11 @@
+@@ -8906,6 +8957,11 @@ static int tg3_test_nvram(struct tg3 *tp
  	__le32 *buf;
  	int i, j, k, err = 0, size;
  
@@ -1086,7 +1086,7 @@
  	if (tg3_nvram_read_swab(tp, 0, &magic) != 0)
  		return -EIO;
  
-@@ -9689,7 +9745,7 @@
+@@ -9689,7 +9745,7 @@ static int tg3_ioctl(struct net_device *
  			return -EAGAIN;
  
  		spin_lock_bh(&tp->lock);
@@ -1095,7 +1095,7 @@
  		spin_unlock_bh(&tp->lock);
  
  		data->val_out = mii_regval;
-@@ -9708,7 +9764,7 @@
+@@ -9708,7 +9764,7 @@ static int tg3_ioctl(struct net_device *
  			return -EAGAIN;
  
  		spin_lock_bh(&tp->lock);
@@ -1104,7 +1104,7 @@
  		spin_unlock_bh(&tp->lock);
  
  		return err;
-@@ -10177,6 +10233,12 @@
+@@ -10177,6 +10233,12 @@ static void __devinit tg3_get_5906_nvram
  /* Chips other than 5700/5701 use the NVRAM for fetching info. */
  static void __devinit tg3_nvram_init(struct tg3 *tp)
  {
@@ -1117,7 +1117,7 @@
  	tw32_f(GRC_EEPROM_ADDR,
  	     (EEPROM_ADDR_FSM_RESET |
  	      (EEPROM_DEFAULT_CLOCK_PERIOD <<
-@@ -10317,6 +10379,9 @@
+@@ -10317,6 +10379,9 @@ static int tg3_nvram_read(struct tg3 *tp
  {
  	int ret;
  
@@ -1127,7 +1127,7 @@
  	if (!(tp->tg3_flags & TG3_FLAG_NVRAM))
  		return tg3_nvram_read_using_eeprom(tp, offset, val);
  
-@@ -10563,6 +10628,9 @@
+@@ -10563,6 +10628,9 @@ static int tg3_nvram_write_block(struct 
  {
  	int ret;
  
@@ -1137,7 +1137,7 @@
  	if (tp->tg3_flags & TG3_FLAG_EEPROM_WRITE_PROT) {
  		tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl &
  		       ~GRC_LCLCTRL_GPIO_OUTPUT1);
-@@ -11610,7 +11678,6 @@
+@@ -11610,7 +11678,6 @@ static int __devinit tg3_get_invariants(
  		tp->write32 = tg3_write_flush_reg32;
  	}
  
@@ -1145,7 +1145,7 @@
  	if ((tp->tg3_flags & TG3_FLAG_TXD_MBOX_HWBUG) ||
  	    (tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER)) {
  		tp->write32_tx_mbox = tg3_write32_tx_mbox;
-@@ -11646,6 +11713,11 @@
+@@ -11646,6 +11713,11 @@ static int __devinit tg3_get_invariants(
  	      GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)))
  		tp->tg3_flags |= TG3_FLAG_SRAM_USE_CONFIG;
  
@@ -1157,7 +1157,7 @@
  	/* Get eeprom hw config before calling tg3_set_power_state().
  	 * In particular, the TG3_FLG2_IS_NIC flag must be
  	 * determined before calling tg3_set_power_state() so that
-@@ -12017,6 +12089,10 @@
+@@ -12017,6 +12089,10 @@ static int __devinit tg3_get_device_addr
  	}
  
  	if (!is_valid_ether_addr(&dev->dev_addr[0])) {
@@ -1168,7 +1168,7 @@
  #ifdef CONFIG_SPARC
  		if (!tg3_get_default_macaddr_sparc(tp))
  			return 0;
-@@ -12508,6 +12584,7 @@
+@@ -12508,6 +12584,7 @@ static char * __devinit tg3_phy_string(s
  	case PHY_ID_BCM5704:	return "5704";
  	case PHY_ID_BCM5705:	return "5705";
  	case PHY_ID_BCM5750:	return "5750";
@@ -1176,7 +1176,7 @@
  	case PHY_ID_BCM5752:	return "5752";
  	case PHY_ID_BCM5714:	return "5714";
  	case PHY_ID_BCM5780:	return "5780";
-@@ -12695,6 +12772,13 @@
+@@ -12695,6 +12772,13 @@ static int __devinit tg3_init_one(struct
  		tp->msg_enable = tg3_debug;
  	else
  		tp->msg_enable = TG3_DEF_MSG_ENABLE;
@@ -1192,7 +1192,7 @@
  	 * swapping.  DMA data byte swapping is controlled in the GRC_MODE
 --- a/drivers/net/tg3.h
 +++ b/drivers/net/tg3.h
-@@ -2477,6 +2477,9 @@
+@@ -2477,6 +2477,9 @@ struct tg3 {
  #define TG3_FLG3_ENABLE_APE		0x00000002
  #define TG3_FLG3_5761_5784_AX_FIXES	0x00000004
  #define TG3_FLG3_5701_DMA_BUG		0x00000008
@@ -1202,7 +1202,7 @@
  
  	struct timer_list		timer;
  	u16				timer_counter;
-@@ -2532,6 +2535,7 @@
+@@ -2532,6 +2535,7 @@ struct tg3 {
  #define PHY_ID_BCM5714			0x60008340
  #define PHY_ID_BCM5780			0x60008350
  #define PHY_ID_BCM5755			0xbc050cc0
@@ -1210,7 +1210,7 @@
  #define PHY_ID_BCM5787			0xbc050ce0
  #define PHY_ID_BCM5756			0xbc050ed0
  #define PHY_ID_BCM5784			0xbc050fa0
-@@ -2568,7 +2572,7 @@
+@@ -2568,7 +2572,7 @@ struct tg3 {
  	 (X) == PHY_ID_BCM5780 || (X) == PHY_ID_BCM5787 || \
  	 (X) == PHY_ID_BCM5755 || (X) == PHY_ID_BCM5756 || \
  	 (X) == PHY_ID_BCM5906 || (X) == PHY_ID_BCM5761 || \
@@ -1221,7 +1221,7 @@
  	dma_addr_t			stats_mapping;
 --- a/drivers/ssb/driver_mipscore.c
 +++ b/drivers/ssb/driver_mipscore.c
-@@ -212,6 +212,7 @@
+@@ -212,6 +212,7 @@ void ssb_mipscore_init(struct ssb_mipsco
  			/* fallthrough */
  		case SSB_DEV_PCI:
  		case SSB_DEV_ETHERNET:
diff --git a/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch b/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch
index 59552ed927..b06f08e1cf 100644
--- a/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch
@@ -1,7 +1,7 @@
 Add gpio_is_valid() for bcm47xx
 --- a/arch/mips/bcm47xx/gpio.c
 +++ b/arch/mips/bcm47xx/gpio.c
-@@ -77,3 +77,15 @@
+@@ -77,3 +77,15 @@ int bcm47xx_gpio_direction_output(unsign
  }
  EXPORT_SYMBOL_GPL(bcm47xx_gpio_direction_output);
  
@@ -19,7 +19,7 @@ Add gpio_is_valid() for bcm47xx
 +EXPORT_SYMBOL_GPL(bcm47xx_gpio_is_valid);
 --- a/include/asm-mips/mach-bcm47xx/gpio.h
 +++ b/include/asm-mips/mach-bcm47xx/gpio.h
-@@ -17,6 +17,7 @@
+@@ -17,6 +17,7 @@ extern int bcm47xx_gpio_get_value(unsign
  extern void bcm47xx_gpio_set_value(unsigned gpio, int value);
  extern int bcm47xx_gpio_direction_input(unsigned gpio);
  extern int bcm47xx_gpio_direction_output(unsigned gpio, int value);
@@ -27,7 +27,7 @@ Add gpio_is_valid() for bcm47xx
  
  static inline int gpio_request(unsigned gpio, const char *label)
  {
-@@ -52,6 +53,8 @@
+@@ -52,6 +53,8 @@ static inline int gpio_direction_output(
  	return bcm47xx_gpio_direction_output(gpio, value);
  }
  
diff --git a/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch b/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch
index e72f99e803..63a71f05f4 100644
--- a/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch
+++ b/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch
@@ -8,7 +8,7 @@
  
  const char *get_system_type(void)
  {
-@@ -40,65 +41,40 @@
+@@ -40,65 +41,40 @@ const char *get_system_type(void)
  
  void prom_putchar(char c)
  {
@@ -90,7 +90,7 @@
  {
  	char buf[CL_SIZE];
  
-@@ -146,9 +122,12 @@
+@@ -146,9 +122,12 @@ static __init void prom_init_mem(void)
  
  void __init prom_init(void)
  {
diff --git a/target/linux/etrax/Makefile b/target/linux/etrax/Makefile
index dcc0c37a71..0fe4f42b91 100644
--- a/target/linux/etrax/Makefile
+++ b/target/linux/etrax/Makefile
@@ -10,7 +10,7 @@ ARCH:=cris
 BOARD:=etrax
 BOARDNAME:=Foxboard (ETRAX 100LX)
 FEATURES:=squashfs jffs2 broken
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/etrax/patches/100-compile_fixes.patch b/target/linux/etrax/patches/100-compile_fixes.patch
index ea6d08e86f..ecb930712b 100644
--- a/target/linux/etrax/patches/100-compile_fixes.patch
+++ b/target/linux/etrax/patches/100-compile_fixes.patch
@@ -1,6 +1,6 @@
 --- a/arch/cris/Makefile
 +++ b/arch/cris/Makefile
-@@ -33,7 +33,7 @@
+@@ -33,7 +33,7 @@ endif
  
  LD = $(CROSS_COMPILE)ld -mcrislinux
  
@@ -21,7 +21,7 @@
  subdir- := compressed rescue
  targets := Image
  
-@@ -14,7 +11,6 @@
+@@ -14,7 +11,6 @@ $(obj)/Image: vmlinux FORCE
  
  $(obj)/compressed/vmlinux: $(obj)/Image FORCE
  	$(Q)$(MAKE) $(build)=$(obj)/compressed $@
@@ -45,7 +45,7 @@
  
  quiet_cmd_image = BUILD   $@
  cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
-@@ -22,10 +18,10 @@
+@@ -22,10 +18,10 @@ $(obj)/decompress.bin: $(obj)/decompress
  	$(call if_changed,objcopy)
  
  $(obj)/head.o: $(obj)/head.S .config
@@ -93,7 +93,7 @@
  	beq	dram_init_finished
  	nop
  	
-@@ -36,91 +37,91 @@
+@@ -36,91 +37,91 @@ dram_init_finished:	
  		
  	;; Initiate the PA and PB ports
  
@@ -233,7 +233,7 @@
   * adaptation for Linux/CRIS Axis Communications AB, 1999
   *
   */
-@@ -99,12 +99,12 @@
+@@ -99,12 +99,12 @@ static void error(char *m);
  static void gzip_mark(void **);
  static void gzip_release(void **);
   
@@ -249,7 +249,7 @@
   
  #include "../../../../../lib/inflate.c"
  
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ static void gzip_release(void **ptr)
  /* decompressor info and error messages to serial console */
  
  static void
@@ -258,7 +258,7 @@
  {
  #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
  	while(*s) {
-@@ -209,9 +209,9 @@
+@@ -209,9 +209,9 @@ flush_window()
  static void
  error(char *x)
  {
@@ -271,7 +271,7 @@
  
  	while(1);	/* Halt */
  }
-@@ -257,14 +257,7 @@
+@@ -257,14 +257,7 @@ decompress_kernel()
  
  	makecrc();
  
@@ -290,7 +290,7 @@
  }
 --- a/arch/cris/arch-v10/mm/init.c
 +++ b/arch/cris/arch-v10/mm/init.c
-@@ -184,6 +184,9 @@
+@@ -184,6 +184,9 @@ paging_init(void)
  
  	free_area_init_node(0, &contig_page_data, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0);
  }
diff --git a/target/linux/etrax/patches/101-cris-eth-driver.patch b/target/linux/etrax/patches/101-cris-eth-driver.patch
index f73b379ddc..8ffe07377e 100644
--- a/target/linux/etrax/patches/101-cris-eth-driver.patch
+++ b/target/linux/etrax/patches/101-cris-eth-driver.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/cris/eth_v10.c
 +++ b/drivers/net/cris/eth_v10.c
-@@ -1707,7 +1707,7 @@
+@@ -1707,7 +1707,7 @@ e100_set_network_leds(int active)
  static void
  e100_netpoll(struct net_device* netdev)
  {
diff --git a/target/linux/etrax/patches/200-samsung_flash.patch b/target/linux/etrax/patches/200-samsung_flash.patch
index ac4ac67818..5353106cad 100644
--- a/target/linux/etrax/patches/200-samsung_flash.patch
+++ b/target/linux/etrax/patches/200-samsung_flash.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -297,8 +297,8 @@
+@@ -297,8 +297,8 @@ struct mtd_info *cfi_cmdset_0002(struct 
  			return NULL;
  		}
  
diff --git a/target/linux/etrax/patches/201-flashsize.patch b/target/linux/etrax/patches/201-flashsize.patch
index 859bb46fdc..4c4fa81d04 100644
--- a/target/linux/etrax/patches/201-flashsize.patch
+++ b/target/linux/etrax/patches/201-flashsize.patch
@@ -8,7 +8,7 @@
 +	.dword 0xdeadc0de
 --- a/arch/cris/arch-v10/drivers/axisflashmap.c
 +++ b/arch/cris/arch-v10/drivers/axisflashmap.c
-@@ -113,7 +113,7 @@
+@@ -113,7 +113,7 @@ static struct map_info map_cse1 = {
  
  /* If no partition-table was found, we use this default-set. */
  #define MAX_PARTITIONS         7
@@ -17,7 +17,7 @@
  
  /*
   * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
-@@ -122,19 +122,14 @@
+@@ -122,19 +122,14 @@ static struct map_info map_cse1 = {
   */
  static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
  	{
@@ -42,7 +42,7 @@
  	}
  };
  
-@@ -281,6 +276,11 @@
+@@ -281,6 +276,11 @@ static int __init init_axis_flash(void)
  	struct partitiontable_entry *ptable;
  	int use_default_ptable = 1; /* Until proven otherwise. */
  	const char pmsg[] = "  /dev/flash%d at 0x%08x, size 0x%08x\n";
@@ -54,7 +54,7 @@
  
  	if (!(mymtd = flash_probe())) {
  		/* There's no reason to use this module if no flash chip can
-@@ -292,6 +292,31 @@
+@@ -292,6 +292,31 @@ static int __init init_axis_flash(void)
  		       mymtd->name, mymtd->size);
  		axisflash_mtd = mymtd;
  	}
diff --git a/target/linux/etrax/patches/300-sysfs.patch b/target/linux/etrax/patches/300-sysfs.patch
index 3b0378421a..a7bebe52d8 100644
--- a/target/linux/etrax/patches/300-sysfs.patch
+++ b/target/linux/etrax/patches/300-sysfs.patch
@@ -1,6 +1,6 @@
 --- a/drivers/serial/crisv10.c
 +++ b/drivers/serial/crisv10.c
-@@ -27,6 +27,7 @@
+@@ -27,6 +27,7 @@ static char *serial_version = "$Revision
  #include <linux/kernel.h>
  #include <linux/mutex.h>
  #include <linux/bitops.h>
@@ -8,7 +8,7 @@
  
  #include <asm/io.h>
  #include <asm/irq.h>
-@@ -4384,6 +4385,7 @@
+@@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op
  	.tiocmset = rs_tiocmset
  };
  
@@ -16,7 +16,7 @@
  static int __init
  rs_init(void)
  {
-@@ -4518,6 +4520,24 @@
+@@ -4518,6 +4520,24 @@ rs_init(void)
  #endif
  #endif /* CONFIG_SVINTO_SIM */
  
diff --git a/target/linux/etrax/patches/301-usb_support.patch b/target/linux/etrax/patches/301-usb_support.patch
index 5b443d42fa..51de789fa1 100644
--- a/target/linux/etrax/patches/301-usb_support.patch
+++ b/target/linux/etrax/patches/301-usb_support.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/Makefile
 +++ b/drivers/usb/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_USB_UHCI_HCD)	+= host/
  obj-$(CONFIG_USB_SL811_HCD)	+= host/
  obj-$(CONFIG_USB_U132_HCD)	+= host/
  obj-$(CONFIG_USB_R8A66597_HCD)	+= host/
@@ -10,7 +10,7 @@
  obj-$(CONFIG_USB_PRINTER)	+= class/
 --- a/drivers/usb/host/Makefile
 +++ b/drivers/usb/host/Makefile
-@@ -17,3 +17,5 @@
+@@ -17,3 +17,5 @@ obj-$(CONFIG_USB_SL811_CS)	+= sl811_cs.o
  obj-$(CONFIG_USB_U132_HCD)	+= u132-hcd.o
  obj-$(CONFIG_USB_R8A66597_HCD)	+= r8a66597-hcd.o
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch b/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch
index 4f55eb539b..b2be83183a 100644
--- a/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1367,6 +1367,71 @@
+@@ -1367,6 +1367,71 @@ config CRAMFS
  
  	  If unsure, say N.
  
@@ -74,7 +74,7 @@
  	depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -73,6 +73,7 @@
+@@ -73,6 +73,7 @@ obj-$(CONFIG_JBD)		+= jbd/
  obj-$(CONFIG_JBD2)		+= jbd2/
  obj-$(CONFIG_EXT2_FS)		+= ext2/
  obj-$(CONFIG_CRAMFS)		+= cramfs/
@@ -4128,7 +4128,7 @@
  #include <linux/initrd.h>
  #include <linux/string.h>
  
-@@ -39,6 +40,7 @@
+@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
   * numbers could not be found.
   *
   * We currently check for the following magic numbers:
@@ -4136,7 +4136,7 @@
   * 	minix
   * 	ext2
   *	romfs
-@@ -53,6 +55,7 @@
+@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
  	struct ext2_super_block *ext2sb;
  	struct romfs_super_block *romfsb;
  	struct cramfs_super *cramfsb;
@@ -4144,7 +4144,7 @@
  	int nblocks = -1;
  	unsigned char *buf;
  
-@@ -64,6 +67,7 @@
+@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
  	ext2sb = (struct ext2_super_block *) buf;
  	romfsb = (struct romfs_super_block *) buf;
  	cramfsb = (struct cramfs_super *) buf;
@@ -4152,7 +4152,7 @@
  	memset(buf, 0xe5, size);
  
  	/*
-@@ -101,6 +105,15 @@
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
  		goto done;
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch b/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch
index fdc3039863..939e0a9e32 100644
--- a/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch
@@ -769,7 +769,7 @@
 +}
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lib-$(CONFIG_SMP) += cpumask.o
  lib-y	+= kobject.o kref.o klist.o
  
  obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
diff --git a/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch b/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch
index 16cc873199..9050e370ca 100644
--- a/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch
@@ -38,7 +38,7 @@
  static void squashfs_put_super(struct super_block *);
  static int squashfs_statfs(struct dentry *, struct kstatfs *);
  static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@
+@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
  			const char *, void *, struct vfsmount *);
  
  
@@ -50,7 +50,7 @@
  
  static struct file_system_type squashfs_fs_type = {
  	.owner = THIS_MODULE,
-@@ -249,6 +270,15 @@
+@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
  	if (compressed) {
  		int zlib_err;
  
@@ -66,7 +66,7 @@
  		stream.next_in = c_buffer;
  		stream.avail_in = c_byte;
  		stream.next_out = buffer;
-@@ -263,7 +293,7 @@
+@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
  			bytes = 0;
  		} else
  			bytes = stream.total_out;
@@ -75,7 +75,7 @@
  		up(&msblk->read_data_mutex);
  	}
  
-@@ -2045,15 +2075,19 @@
+@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
  	printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
  		"Phillip Lougher\n");
  
@@ -95,7 +95,7 @@
  		destroy_inodecache();
  	}
  
-@@ -2064,7 +2098,9 @@
+@@ -2064,7 +2098,9 @@ out:
  
  static void __exit exit_squashfs_fs(void)
  {
diff --git a/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch
index d3898f1fc6..ba1b71c610 100644
--- a/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -533,6 +533,9 @@
+@@ -533,6 +533,9 @@ endif
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch b/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch
index 961829e580..56b7fc2c40 100644
--- a/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch
@@ -8,7 +8,7 @@
  #include <linux/squashfs_fs_sb.h>
  #include <linux/squashfs_fs_i.h>
  #include <linux/buffer_head.h>
-@@ -2125,7 +2126,7 @@
+@@ -2125,7 +2126,7 @@ static void squashfs_destroy_inode(struc
  }
  
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch
index dbb7e7c87e..cd62e9c250 100644
--- a/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/system.h
 +++ b/include/asm-mips/system.h
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ extern __u64 __xchg_u64_unsupported_on_3
     if something tries to do an invalid xchg().  */
  extern void __xchg_called_with_bad_pointer(void);
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch b/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch
index f1279c29f8..557736f7a4 100644
--- a/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch
@@ -8,7 +8,7 @@
  
  static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
  static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -298,12 +299,19 @@
+@@ -298,12 +299,19 @@ struct mtd_info *cfi_cmdset_0002(struct 
  
  		if (extp->MajorVersion != '1' ||
  		    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
diff --git a/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch b/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch
index d2c1dc5d4b..072900786b 100644
--- a/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0001.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -1008,7 +1008,7 @@
+@@ -1008,7 +1008,7 @@ static void __xipram xip_enable(struct m
  
  static int __xipram xip_wait_for_operation(
  		struct map_info *map, struct flchip *chip,
@@ -9,7 +9,7 @@
  {
  	struct cfi_private *cfi = map->fldrv_priv;
  	struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-@@ -1017,7 +1017,7 @@
+@@ -1017,7 +1017,7 @@ static int __xipram xip_wait_for_operati
  	flstate_t oldstate, newstate;
  
         	start = xip_currtime();
@@ -18,7 +18,7 @@
  	if (usec == 0)
  		usec = 500000;
  	done = 0;
-@@ -1127,8 +1127,8 @@
+@@ -1127,8 +1127,8 @@ static int __xipram xip_wait_for_operati
  #define XIP_INVAL_CACHED_RANGE(map, from, size)  \
  	INVALIDATE_CACHED_RANGE(map, from, size)
  
@@ -29,7 +29,7 @@
  
  #else
  
-@@ -1140,65 +1140,65 @@
+@@ -1140,65 +1140,65 @@ static int __xipram xip_wait_for_operati
  static int inval_cache_and_wait_for_operation(
  		struct map_info *map, struct flchip *chip,
  		unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
@@ -130,7 +130,7 @@
  	/* Done and happy. */
   	chip->state = FL_STATUS;
  	return 0;
-@@ -1207,7 +1207,8 @@
+@@ -1207,7 +1207,8 @@ static int inval_cache_and_wait_for_oper
  #endif
  
  #define WAIT_TIMEOUT(map, chip, adr, udelay) \
@@ -140,7 +140,7 @@
  
  
  static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
-@@ -1438,7 +1439,7 @@
+@@ -1438,7 +1439,7 @@ static int __xipram do_write_oneword(str
  
  	ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
  				   adr, map_bankwidth(map),
@@ -149,7 +149,7 @@
  	if (ret) {
  		xip_enable(map, chip, adr);
  		printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
-@@ -1678,7 +1679,7 @@
+@@ -1678,7 +1679,7 @@ static int __xipram do_write_buffer(stru
  
  	ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
  				   initial_adr, initial_len,
@@ -158,7 +158,7 @@
  	if (ret) {
  		map_write(map, CMD(0x70), cmd_adr);
  		chip->state = FL_STATUS;
-@@ -1813,7 +1814,7 @@
+@@ -1813,7 +1814,7 @@ static int __xipram do_erase_oneblock(st
  
  	ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
  				   adr, len,
diff --git a/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch b/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch
index 4a1c9581f5..f5d9b0ca8a 100644
--- a/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch
@@ -8,7 +8,7 @@
  #include <linux/buffer_head.h>
  #include <linux/mutex.h>
  #include <linux/mount.h>
-@@ -237,10 +238,11 @@
+@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
  
  
  /* FIXME: ensure that mtd->size % erase_size == 0 */
@@ -21,7 +21,7 @@
  
  	if (!devname)
  		return NULL;
-@@ -279,14 +281,18 @@
+@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
  
  	/* Setup the MTD structure */
  	/* make the name contain the block device in */
@@ -45,7 +45,7 @@
  	dev->mtd.erasesize = erase_size;
  	dev->mtd.writesize = 1;
  	dev->mtd.type = MTD_RAM;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
  	dev->mtd.read = block2mtd_read;
  	dev->mtd.priv = dev;
  	dev->mtd.owner = THIS_MODULE;
@@ -68,7 +68,7 @@
  	return dev;
  
  devinit_err:
-@@ -379,9 +388,9 @@
+@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12]
  
  static int block2mtd_setup2(const char *val)
  {
@@ -80,7 +80,7 @@
  	char *name;
  	size_t erase_size = PAGE_SIZE;
  	int i, ret;
-@@ -392,7 +401,7 @@
+@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
  	strcpy(str, val);
  	kill_final_newline(str);
  
@@ -89,7 +89,7 @@
  		token[i] = strsep(&str, ",");
  
  	if (str)
-@@ -411,8 +420,10 @@
+@@ -411,8 +420,10 @@ static int block2mtd_setup2(const char *
  			parse_err("illegal erase size");
  		}
  	}
@@ -101,7 +101,7 @@
  
  	return 0;
  }
-@@ -446,7 +457,7 @@
+@@ -446,7 +457,7 @@ static int block2mtd_setup(const char *v
  
  
  module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
diff --git a/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch
index 62a7e252e3..5b882c6063 100644
--- a/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -47,6 +47,16 @@
+@@ -47,6 +47,16 @@ config MTD_PARTITIONS
  	  devices. Partitioning on NFTL 'devices' is a different - that's the
  	  'normal' form of partitioning used on a block device.
  
@@ -28,7 +28,7 @@
  
  /* Our partition linked list */
  static LIST_HEAD(mtd_partitions);
-@@ -39,7 +41,7 @@
+@@ -39,7 +41,7 @@ struct mtd_part {
   * the pointer to that structure with this macro.
   */
  #define PART(x)  ((struct mtd_part *)(x))
@@ -37,7 +37,7 @@
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -322,6 +324,316 @@
+@@ -322,6 +324,316 @@ int del_mtd_partitions(struct mtd_info *
  	return 0;
  }
  
@@ -354,7 +354,7 @@
  /*
   * This function, given a master MTD object and a partition table, creates
   * and registers slave MTD objects which are bound to the master according to
-@@ -334,171 +646,31 @@
+@@ -334,171 +646,31 @@ int add_mtd_partitions(struct mtd_info *
  		       int nbparts)
  {
  	struct mtd_part *slave;
@@ -547,7 +547,7 @@
  		}
  	}
  
-@@ -574,6 +746,32 @@
+@@ -574,6 +746,32 @@ int parse_mtd_partitions(struct mtd_info
  	return ret;
  }
  
@@ -582,7 +582,7 @@
  EXPORT_SYMBOL_GPL(deregister_mtd_parser);
 --- a/drivers/mtd/devices/block2mtd.c
 +++ b/drivers/mtd/devices/block2mtd.c
-@@ -34,6 +34,8 @@
+@@ -34,6 +34,8 @@ struct block2mtd_dev {
  	struct block_device *blkdev;
  	struct mtd_info mtd;
  	struct mutex write_mutex;
@@ -591,7 +591,7 @@
  };
  
  
-@@ -86,6 +88,12 @@
+@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in
  	size_t len = instr->len;
  	int err;
  
@@ -604,7 +604,7 @@
  	instr->state = MTD_ERASING;
  	mutex_lock(&dev->write_mutex);
  	err = _block2mtd_erase(dev, from, len);
-@@ -98,6 +106,10 @@
+@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
  
  	instr->state = MTD_ERASE_DONE;
  	mtd_erase_callback(instr);
@@ -615,7 +615,7 @@
  	return err;
  }
  
-@@ -109,10 +121,14 @@
+@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf
  	struct page *page;
  	int index = from >> PAGE_SHIFT;
  	int offset = from & (PAGE_SIZE-1);
@@ -633,7 +633,7 @@
  	if (from + len > mtd->size)
  		len = mtd->size - from;
  
-@@ -127,10 +143,14 @@
+@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf
  		len = len - cpylen;
  
  		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
@@ -652,7 +652,7 @@
  
  		memcpy(buf, page_address(page) + offset, cpylen);
  		page_cache_release(page);
-@@ -141,7 +161,10 @@
+@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
  		offset = 0;
  		index++;
  	}
@@ -664,7 +664,7 @@
  }
  
  
-@@ -193,12 +216,22 @@
+@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in
  		size_t *retlen, const u_char *buf)
  {
  	struct block2mtd_dev *dev = mtd->priv;
@@ -691,7 +691,7 @@
  	if (to + len > mtd->size)
  		len = mtd->size - to;
  
-@@ -207,6 +240,9 @@
+@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
  	mutex_unlock(&dev->write_mutex);
  	if (err > 0)
  		err = 0;
@@ -701,7 +701,7 @@
  	return err;
  }
  
-@@ -215,51 +251,29 @@
+@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
  static void block2mtd_sync(struct mtd_info *mtd)
  {
  	struct block2mtd_dev *dev = mtd->priv;
@@ -761,7 +761,7 @@
  		if (devt) {
  			bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
  		}
-@@ -267,17 +281,96 @@
+@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
  #endif
  
  	if (IS_ERR(bdev)) {
@@ -861,7 +861,7 @@
  
  	/* Setup the MTD structure */
  	/* make the name contain the block device in */
-@@ -304,6 +397,7 @@
+@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device(
  	dev->mtd.read = block2mtd_read;
  	dev->mtd.priv = dev;
  	dev->mtd.owner = THIS_MODULE;
@@ -879,7 +879,7 @@
  
  #include <asm/uaccess.h>
  
-@@ -756,6 +757,13 @@
+@@ -756,6 +757,13 @@ static int mtd_ioctl(struct inode *inode
  		file->f_pos = 0;
  		break;
  	}
@@ -895,7 +895,7 @@
  		ret = -ENOTTY;
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -98,6 +98,7 @@
+@@ -98,6 +98,7 @@ struct mtd_oob_ops {
  	uint8_t		*oobbuf;
  };
  
@@ -903,7 +903,7 @@
  struct mtd_info {
  	u_char type;
  	u_int32_t flags;
-@@ -211,6 +212,9 @@
+@@ -211,6 +212,9 @@ struct mtd_info {
  	struct module *owner;
  	int usecount;
  
@@ -923,7 +923,7 @@
  struct mtd_partition {
  	char *name;			/* identifier string */
  	u_int32_t size;			/* partition size */
-@@ -43,6 +44,7 @@
+@@ -43,6 +44,7 @@ struct mtd_partition {
  	u_int32_t mask_flags;		/* master MTD flags to mask out for this partition */
  	struct nand_ecclayout *ecclayout;	/* out of band layout for this partition (NAND only)*/
  	struct mtd_info **mtdp;		/* pointer to store the MTD object */
@@ -931,7 +931,7 @@
  };
  
  #define MTDPART_OFS_NXTBLK	(-2)
-@@ -52,6 +54,7 @@
+@@ -52,6 +54,7 @@ struct mtd_partition {
  
  int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
  int del_mtd_partitions(struct mtd_info *);
@@ -941,7 +941,7 @@
   * Functions dealing with the various ways of partitioning the space
 --- a/include/mtd/mtd-abi.h
 +++ b/include/mtd/mtd-abi.h
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,7 @@ struct otp_info {
  #define ECCGETLAYOUT		_IOR('M', 17, struct nand_ecclayout)
  #define ECCGETSTATS		_IOR('M', 18, struct mtd_ecc_stats)
  #define MTDFILEMODE		_IO('M', 19)
diff --git a/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch
index 0f15bab3dd..784fba1b70 100644
--- a/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
-@@ -251,14 +251,21 @@
+@@ -251,14 +251,21 @@ static int parse_redboot_partitions(stru
  #endif
  		names += strlen(names)+1;
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch
index ef885edac3..61f2806bda 100644
--- a/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch
@@ -1,6 +1,6 @@
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
-@@ -573,6 +573,7 @@
+@@ -573,6 +573,7 @@ struct platform_nand_chip {
  	int			chip_delay;
  	unsigned int		options;
  	const char		**part_probe_types;
@@ -10,7 +10,7 @@
  
 --- a/drivers/mtd/nand/plat_nand.c
 +++ b/drivers/mtd/nand/plat_nand.c
-@@ -70,7 +70,18 @@
+@@ -70,7 +70,18 @@ static int __init plat_nand_probe(struct
  	platform_set_drvdata(pdev, data);
  
  	/* Scan to find existance of the device */
diff --git a/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
index c530519b38..9bf65dee6b 100644
--- a/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -735,6 +735,27 @@
+@@ -735,6 +735,27 @@ config NETFILTER_XT_MATCH_STATE
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -30,7 +30,7 @@
  	depends on NETFILTER_XTABLES
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -77,6 +77,7 @@
+@@ -77,6 +77,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RATEEST)
  obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
@@ -2027,7 +2027,7 @@
 +}
 --- a/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
-@@ -208,6 +208,14 @@
+@@ -208,6 +208,14 @@ destroy_conntrack(struct nf_conntrack *n
  	 * too. */
  	nf_ct_remove_expectations(ct);
  
@@ -2044,7 +2044,7 @@
  		BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
 --- a/net/netfilter/nf_conntrack_standalone.c
 +++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -181,7 +181,12 @@
+@@ -181,7 +181,12 @@ static int ct_seq_show(struct seq_file *
  		return -ENOSPC;
  #endif
  
@@ -2060,7 +2060,7 @@
  	return 0;
 --- a/include/net/netfilter/nf_conntrack.h
 +++ b/include/net/netfilter/nf_conntrack.h
-@@ -124,6 +124,22 @@
+@@ -124,6 +124,22 @@ struct nf_conn
  	u_int32_t secmark;
  #endif
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch b/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch
index 167d578cf1..be2dff8e16 100644
--- a/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch
@@ -1,6 +1,6 @@
 --- a/include/linux/netfilter/xt_layer7.h
 +++ b/include/linux/netfilter/xt_layer7.h
-@@ -8,6 +8,7 @@
+@@ -8,6 +8,7 @@ struct xt_layer7_info {
      char protocol[MAX_PROTOCOL_LEN];
      char pattern[MAX_PATTERN_LEN];
      u_int8_t invert;
@@ -10,7 +10,7 @@
  #endif /* _XT_LAYER7_H */
 --- a/net/netfilter/xt_layer7.c
 +++ b/net/netfilter/xt_layer7.c
-@@ -297,34 +297,36 @@
+@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
  }
  
  /* add the new app data to the conntrack.  Return number of bytes added. */
@@ -61,7 +61,7 @@
  	return length;
  }
  
-@@ -411,7 +413,7 @@
+@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin,
  	const struct xt_layer7_info * info = matchinfo;
  	enum ip_conntrack_info master_ctinfo, ctinfo;
  	struct nf_conn *master_conntrack, *conntrack;
@@ -70,7 +70,7 @@
  	unsigned int pattern_result, appdatalen;
  	regexp * comppattern;
  
-@@ -439,8 +441,8 @@
+@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin,
  		master_conntrack = master_ct(master_conntrack);
  
  	/* if we've classified it or seen too many packets */
@@ -81,7 +81,7 @@
  
  		pattern_result = match_no_append(conntrack, master_conntrack, 
  						 ctinfo, master_ctinfo, info);
-@@ -473,6 +475,25 @@
+@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin,
  	/* the return value gets checked later, when we're ready to use it */
  	comppattern = compile_and_cache(info->pattern, info->protocol);
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch b/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch
index cd1abfaf6d..72151b459f 100644
--- a/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch
@@ -893,7 +893,7 @@
 +
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -57,6 +57,12 @@
+@@ -57,6 +57,12 @@ config IP_NF_IPTABLES
  	  To compile it as a module, choose M here.  If unsure, say N.
  
  # The matches.
@@ -908,7 +908,7 @@
  	depends on IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -47,6 +47,8 @@
+@@ -47,6 +47,8 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch b/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch
index 88e33d5cff..10cd1b9628 100644
--- a/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch
@@ -7517,7 +7517,7 @@
 +module_exit(ipt_SET_fini);
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -385,5 +385,122 @@
+@@ -385,5 +385,122 @@ config IP_NF_ARP_MANGLE
  	  Allows altering the ARP packet payload: source and destination
  	  hardware and network addresses.
  
@@ -7642,7 +7642,7 @@
  
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
  obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
@@ -7650,7 +7650,7 @@
  
  obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
  
-@@ -59,6 +60,18 @@
+@@ -59,6 +60,18 @@ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += i
  obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
  obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
  obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch b/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch
index ba6b5dc320..fdaf5c8e91 100644
--- a/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch
@@ -204,7 +204,7 @@
 +}
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -63,6 +63,22 @@
+@@ -63,6 +63,22 @@ config IP_NF_MATCH_IPP2P
  	help
  	  Module for matching traffic of various Peer-to-Peer applications
  
@@ -229,7 +229,7 @@
  	depends on IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch
index 3e2423ffe9..015afc9df8 100644
--- a/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch
@@ -477,7 +477,7 @@
 +
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -117,6 +117,129 @@
+@@ -117,6 +117,129 @@ config EQUALIZER
  	  To compile this driver as a module, choose M here: the module
  	  will be called eql.  If unsure, say N.
  
@@ -609,7 +609,7 @@
  	select CRC32
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -143,6 +143,7 @@
+@@ -143,6 +143,7 @@ obj-$(CONFIG_SLHC) += slhc.o
  obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
  
  obj-$(CONFIG_DUMMY) += dummy.o
@@ -653,7 +653,7 @@
 +#endif /* _IP6T_IMQ_H */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -296,6 +296,10 @@
+@@ -296,6 +296,10 @@ struct sk_buff {
  	struct nf_conntrack	*nfct;
  	struct sk_buff		*nfct_reasm;
  #endif
@@ -664,7 +664,7 @@
  #ifdef CONFIG_BRIDGE_NETFILTER
  	struct nf_bridge_info	*nf_bridge;
  #endif
-@@ -1736,6 +1740,10 @@
+@@ -1736,6 +1740,10 @@ static inline void __nf_copy(struct sk_b
  	dst->nfct_reasm = src->nfct_reasm;
  	nf_conntrack_get_reasm(src->nfct_reasm);
  #endif
@@ -687,7 +687,7 @@
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
  #include <linux/stat.h>
-@@ -1537,7 +1540,11 @@
+@@ -1537,7 +1540,11 @@ static int dev_gso_segment(struct sk_buf
  int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
  {
  	if (likely(!skb->next)) {
@@ -774,7 +774,7 @@
 +MODULE_LICENSE("GPL");
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -145,6 +145,17 @@
+@@ -145,6 +145,17 @@ config IP_NF_FILTER
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -794,7 +794,7 @@
  	depends on IP_NF_FILTER
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -55,6 +55,7 @@
+@@ -55,6 +55,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
  obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
  obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
@@ -876,7 +876,7 @@
 +MODULE_LICENSE("GPL");
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -179,6 +179,15 @@
+@@ -179,6 +179,15 @@ config IP6_NF_MANGLE
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -904,7 +904,7 @@
  
 --- a/net/sched/sch_generic.c
 +++ b/net/sched/sch_generic.c
-@@ -203,6 +203,7 @@
+@@ -203,6 +203,7 @@ void __qdisc_run(struct net_device *dev)
  
  	clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state);
  }
diff --git a/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch b/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch
index d059973f2f..361697c9e7 100644
--- a/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch
@@ -95,7 +95,7 @@
 +#define xt_request_find_match xt_request_find_match_lo
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -276,6 +276,14 @@
+@@ -276,6 +276,14 @@ config NETFILTER_XTABLES
  
  # alphabetically ordered list of targets
  
@@ -110,7 +110,7 @@
  config NETFILTER_XT_TARGET_CLASSIFY
  	tristate '"CLASSIFY" target support'
  	depends on NETFILTER_XTABLES
-@@ -305,6 +313,14 @@
+@@ -305,6 +313,14 @@ config NETFILTER_XT_TARGET_CONNMARK
  	  <file:Documentation/kbuild/modules.txt>.  The module will be called
  	  ipt_CONNMARK.ko.  If unsure, say `N'.
  
@@ -125,7 +125,7 @@
  config NETFILTER_XT_TARGET_DSCP
  	tristate '"DSCP" and "TOS" target support'
  	depends on NETFILTER_XTABLES
-@@ -640,6 +656,14 @@
+@@ -640,6 +656,14 @@ config NETFILTER_XT_MATCH_POLICY
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -142,7 +142,7 @@
  	depends on NETFILTER_XTABLES
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -50,6 +50,8 @@
+@@ -50,6 +50,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP) += xt_TCPOPTSTRIP.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
@@ -151,7 +151,7 @@
  
  # matches
  obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -83,3 +85,4 @@
+@@ -83,3 +85,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) 
  obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_TIME) += xt_time.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
@@ -833,7 +833,7 @@
 +MODULE_ALIAS("ipt_portscan");
 --- a/drivers/char/random.c
 +++ b/drivers/char/random.c
-@@ -1563,6 +1563,8 @@
+@@ -1563,6 +1563,8 @@ __u32 secure_tcp_sequence_number(__be32 
  	return seq;
  }
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch b/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch
index 8575368699..d99150fa0f 100644
--- a/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -437,6 +437,23 @@
+@@ -437,6 +437,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -26,7 +26,7 @@
  	depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE
  obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_RATEEST) += xt_RATEEST.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch b/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch
index dbdcf39e7b..29491e2fd9 100644
--- a/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -145,7 +145,7 @@
+@@ -145,7 +145,7 @@ config NF_CONNTRACK_FTP
  
  config NF_CONNTRACK_H323
  	tristate "H.323 protocol support"
@@ -9,7 +9,7 @@
  	depends on NETFILTER_ADVANCED
  	help
  	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -456,7 +456,7 @@
+@@ -456,7 +456,7 @@ config NETFILTER_XT_TARGET_TARPIT
  
  config NETFILTER_XT_TARGET_TCPMSS
  	tristate '"TCPMSS" target support'
diff --git a/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch
index 4e5adf97a1..8b98b89f76 100644
--- a/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch
@@ -294,7 +294,7 @@
 +#endif /* _NETFILTER_MIME_H */
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
  obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
  obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
  obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
@@ -304,7 +304,7 @@
  obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -258,6 +258,16 @@
+@@ -258,6 +258,16 @@ config NF_CONNTRACK_TFTP
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -323,7 +323,7 @@
  	depends on NF_CONNTRACK
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
  obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
  obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
  obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
@@ -333,7 +333,7 @@
  obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -288,6 +288,11 @@
+@@ -288,6 +288,11 @@ config NF_NAT_IRC
  	depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
  	default NF_NAT && NF_CONNTRACK_IRC
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch b/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch
index 1dfd95e82b..a3c02625d9 100644
--- a/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch
@@ -1,6 +1,6 @@
 --- a/include/linux/pkt_sched.h
 +++ b/include/linux/pkt_sched.h
-@@ -162,8 +162,37 @@
+@@ -162,8 +162,37 @@ struct tc_sfq_xstats
   *
   *	The only reason for this is efficiency, it is possible
   *	to change these parameters in compile time.
@@ -40,7 +40,7 @@
  enum
 --- a/net/sched/Kconfig
 +++ b/net/sched/Kconfig
-@@ -139,6 +139,37 @@
+@@ -139,6 +139,37 @@ config NET_SCH_SFQ
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_sfq.
  
@@ -80,7 +80,7 @@
  	---help---
 --- a/net/sched/Makefile
 +++ b/net/sched/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NET_SCH_GRED)	+= sch_gred.o
  obj-$(CONFIG_NET_SCH_INGRESS)	+= sch_ingress.o 
  obj-$(CONFIG_NET_SCH_DSMARK)	+= sch_dsmark.o
  obj-$(CONFIG_NET_SCH_SFQ)	+= sch_sfq.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch b/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch
index cd961e5a83..e4cdfdd7b2 100644
--- a/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -593,6 +593,9 @@
+@@ -593,6 +593,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
  cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
  load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch b/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch
index 5053401f11..eccdbe2f92 100644
--- a/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/build.c
 +++ b/fs/jffs2/build.c
-@@ -105,6 +105,17 @@
+@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct
  	dbg_fsbuild("scanned flash completely\n");
  	jffs2_dbg_dump_block_lists_nolock(c);
  
@@ -20,7 +20,7 @@
  	/* Now scan the directory tree, increasing nlink according to every dirent found. */
 --- a/fs/jffs2/scan.c
 +++ b/fs/jffs2/scan.c
-@@ -142,9 +142,12 @@
+@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in
  
  		/* reset summary info for next eraseblock scan */
  		jffs2_sum_reset_collected(s);
@@ -36,7 +36,7 @@
  
  		if (ret < 0)
  			goto out;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
  			return err;
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch b/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch
index e812f9b51e..2196a494b2 100644
--- a/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/r8169.c
 +++ b/drivers/net/r8169.c
-@@ -1539,7 +1539,7 @@
+@@ -1539,7 +1539,7 @@ static const struct rtl_cfg_info {
  		.hw_start	= rtl_hw_start_8169,
  		.region		= 1,
  		.align		= 0,
@@ -9,7 +9,7 @@
  				  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
  		.napi_event	= RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
  		.msi		= 0
-@@ -1548,7 +1548,7 @@
+@@ -1548,7 +1548,7 @@ static const struct rtl_cfg_info {
  		.hw_start	= rtl_hw_start_8168,
  		.region		= 2,
  		.align		= 8,
@@ -18,7 +18,7 @@
  				  TxErr | TxOK | RxOK | RxErr,
  		.napi_event	= TxErr | TxOK | RxOK | RxOverflow,
  		.msi		= RTL_FEATURE_MSI
-@@ -1557,7 +1557,7 @@
+@@ -1557,7 +1557,7 @@ static const struct rtl_cfg_info {
  		.hw_start	= rtl_hw_start_8101,
  		.region		= 2,
  		.align		= 8,
@@ -27,7 +27,7 @@
  				  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
  		.napi_event	= RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
  		.msi		= RTL_FEATURE_MSI
-@@ -2905,10 +2905,12 @@
+@@ -2905,10 +2905,12 @@ static irqreturn_t rtl8169_interrupt(int
  			break;
  		}
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch b/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch
index 9b585463b7..9d76d01595 100644
--- a/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1449,6 +1449,9 @@
+@@ -1449,6 +1449,9 @@ config VXFS_FS
  	  To compile this as a module, choose M here: the module will be
  	  called freevxfs.  If unsure, say N.
  
@@ -12,7 +12,7 @@
  	depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -77,6 +77,7 @@
+@@ -77,6 +77,7 @@ obj-$(CONFIG_SQUASHFS)		+= squashfs/
  obj-y				+= ramfs/
  obj-$(CONFIG_HUGETLBFS)		+= hugetlbfs/
  obj-$(CONFIG_CODA_FS)		+= coda/
diff --git a/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch b/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch
index 22ca3900e9..d71e3b6faa 100644
--- a/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/main.c
 +++ b/fs/mini_fo/main.c
-@@ -79,6 +79,7 @@
+@@ -79,6 +79,7 @@ mini_fo_tri_interpose(dentry_t *hidden_d
  	 * of the new inode's fields
  	 */
  
@@ -8,7 +8,7 @@
  	/*
  	 * original: inode = iget(sb, hidden_inode->i_ino);
  	 */
-@@ -87,6 +88,13 @@
+@@ -87,6 +88,13 @@ mini_fo_tri_interpose(dentry_t *hidden_d
  		err = -EACCES;		/* should be impossible??? */
  		goto out;
  	}
@@ -22,7 +22,7 @@
  
  	/*
  	 * interpose the inode if not already interposed
-@@ -184,9 +192,9 @@
+@@ -184,9 +192,9 @@ mini_fo_parse_options(super_block_t *sb,
  				hidden_root = ERR_PTR(err);
  				goto out;
  			}
@@ -35,7 +35,7 @@
  
  		} else if(!strncmp("sto=", options, 4)) {
  			/* parse the storage dir */
-@@ -204,9 +212,9 @@
+@@ -204,9 +212,9 @@ mini_fo_parse_options(super_block_t *sb,
  				hidden_root2 = ERR_PTR(err);
  				goto out;
  			}
@@ -50,7 +50,7 @@
  			/* validate storage dir, this is done in
 --- a/fs/mini_fo/mini_fo.h
 +++ b/fs/mini_fo/mini_fo.h
-@@ -302,6 +302,10 @@
+@@ -302,6 +302,10 @@ extern int mini_fo_tri_interpose(dentry_
  extern int mini_fo_cp_cont(dentry_t *tgt_dentry, struct vfsmount *tgt_mnt,
  			   dentry_t *src_dentry, struct vfsmount *src_mnt);
  
@@ -61,7 +61,7 @@
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
  extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd);
  
-@@ -501,6 +505,29 @@
+@@ -501,6 +505,29 @@ static inline void double_unlock(struct 
  #endif  /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */
  #endif /* __KERNEL__ */
  
@@ -93,7 +93,7 @@
   */
 --- a/fs/mini_fo/super.c
 +++ b/fs/mini_fo/super.c
-@@ -262,10 +262,31 @@
+@@ -262,10 +262,31 @@ mini_fo_umount_begin(super_block_t *sb)
  }
  #endif
  
@@ -127,7 +127,7 @@
  #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
 --- a/fs/mini_fo/aux.c
 +++ b/fs/mini_fo/aux.c
-@@ -164,11 +164,11 @@
+@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb, 
  	err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd);
  
  	/* validate */
diff --git a/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch b/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch
index 14a9f37666..48a19429b9 100644
--- a/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/meta.c
 +++ b/fs/mini_fo/meta.c
-@@ -442,6 +442,11 @@
+@@ -442,6 +442,11 @@ int meta_write_d_entry(dentry_t *dentry,
  			   S_IRUSR | S_IWUSR);
  #endif
  	}
@@ -12,7 +12,7 @@
          /* open META-file for writing */
          meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
          if(!meta_file || IS_ERR(meta_file)) {
-@@ -535,6 +540,11 @@
+@@ -535,6 +540,11 @@ int meta_write_r_entry(dentry_t *dentry,
  			   meta_dentry, S_IRUSR | S_IWUSR);
  #endif
  	}
@@ -24,7 +24,7 @@
          /* open META-file for writing */
          meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
          if(!meta_file || IS_ERR(meta_file)) {
-@@ -671,14 +681,16 @@
+@@ -671,14 +681,16 @@ int meta_sync_d_list(dentry_t *dentry, i
  		}
  	}
  
@@ -44,7 +44,7 @@
  		dput(meta_dentry);
  		err = -1;
                  goto out;
-@@ -811,14 +823,16 @@
+@@ -811,14 +823,16 @@ int meta_sync_r_list(dentry_t *dentry, i
  		}
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch b/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch
index 2711366795..f91db03bd7 100644
--- a/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch
@@ -1,6 +1,6 @@
 --- a/lib/kobject_uevent.c
 +++ b/lib/kobject_uevent.c
-@@ -27,7 +27,8 @@
+@@ -27,7 +27,8 @@ u64 uevent_seqnum;
  char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
  static DEFINE_SPINLOCK(sequence_lock);
  #if defined(CONFIG_NET)
@@ -10,7 +10,7 @@
  #endif
  
  /* the strings here must match the enum in include/linux/kobject.h */
-@@ -40,6 +41,18 @@
+@@ -40,6 +41,18 @@ static const char *kobject_actions[] = {
  	[KOBJ_OFFLINE] =	"offline",
  };
  
@@ -29,7 +29,7 @@
  /**
   * kobject_action_type - translate action string to numeric type
   *
-@@ -192,9 +205,7 @@
+@@ -192,9 +205,7 @@ int kobject_uevent_env(struct kobject *k
  		kobj->state_remove_uevent_sent = 1;
  
  	/* we will send an event, so request a new sequence number */
diff --git a/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch b/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch
index c052f2ad29..d215d12077 100644
--- a/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch
@@ -1,6 +1,6 @@
 --- a/sound/core/Kconfig
 +++ b/sound/core/Kconfig
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ config SND_PCM
  	depends on SND
  
  config SND_HWDEP
diff --git a/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch b/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch
index 2e1f8b8b38..7208dde0ef 100644
--- a/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -181,4 +181,8 @@
+@@ -181,4 +181,8 @@ config LEDS_TRIGGER_HEARTBEAT
  	  load average.
  	  If unsure, say Y.
  
@@ -11,7 +11,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -26,3 +26,4 @@
+@@ -26,3 +26,4 @@ obj-$(CONFIG_LEDS_HP6XX)		+= leds-hp6xx.
  obj-$(CONFIG_LEDS_TRIGGER_TIMER)	+= ledtrig-timer.o
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)	+= ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch b/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch
index 7216683048..b65dce85a6 100644
--- a/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -79,6 +79,12 @@
+@@ -79,6 +79,12 @@ config LEDS_WRAP
  	help
  	  This option enables support for the PCEngines WRAP programmable LEDs.
  
@@ -15,7 +15,7 @@
  	depends on LEDS_CLASS && ARCH_H1940
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX)		+= leds-s3c2
  obj-$(CONFIG_LEDS_AMS_DELTA)		+= leds-ams-delta.o
  obj-$(CONFIG_LEDS_NET48XX)		+= leds-net48xx.o
  obj-$(CONFIG_LEDS_WRAP)			+= leds-wrap.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch b/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch
index b1f8c5076e..3697ff7fa1 100644
--- a/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -191,4 +191,11 @@
+@@ -191,4 +191,11 @@ config LEDS_TRIGGER_MORSE
  	tristate "LED Morse Trigger"
  	depends on LEDS_TRIGGERS
  
@@ -14,7 +14,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -28,3 +28,4 @@
+@@ -28,3 +28,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER)	+= ledt
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)	+= ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch b/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch
index 6ae2cd7df5..46ca987e53 100644
--- a/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch
@@ -1,6 +1,6 @@
 --- a/drivers/input/misc/Kconfig
 +++ b/drivers/input/misc/Kconfig
-@@ -197,4 +197,20 @@
+@@ -197,4 +197,20 @@ config HP_SDC_RTC
  	  Say Y here if you want to support the built-in real time clock
  	  of the HP SDC controller.
  
@@ -23,7 +23,7 @@
  endif
 --- a/drivers/input/misc/Makefile
 +++ b/drivers/input/misc/Makefile
-@@ -19,3 +19,4 @@
+@@ -19,3 +19,4 @@ obj-$(CONFIG_INPUT_YEALINK)		+= yealink.
  obj-$(CONFIG_HP_SDC_RTC)		+= hp_sdc_rtc.o
  obj-$(CONFIG_INPUT_UINPUT)		+= uinput.o
  obj-$(CONFIG_INPUT_APANEL)		+= apanel.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch
index 5eecc61ae5..de8b57adf7 100644
--- a/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch
@@ -1,6 +1,6 @@
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -955,6 +955,13 @@
+@@ -955,6 +955,13 @@ config CS5535_GPIO
  
  	  If compiled as a module, it will be called cs5535_gpio.
  
@@ -16,7 +16,7 @@
  	depends on CPU_VR41XX
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -94,6 +94,7 @@
+@@ -94,6 +94,7 @@ obj-$(CONFIG_SCx200_GPIO)	+= scx200_gpio
  obj-$(CONFIG_PC8736x_GPIO)	+= pc8736x_gpio.o
  obj-$(CONFIG_NSC_GPIO)		+= nsc_gpio.o
  obj-$(CONFIG_CS5535_GPIO)	+= cs5535_gpio.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch b/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch
index e0f1a9befb..cef6ea592e 100644
--- a/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -421,6 +421,7 @@
+@@ -421,6 +421,7 @@ config FS_POSIX_ACL
  
  source "fs/xfs/Kconfig"
  source "fs/gfs2/Kconfig"
@@ -10,7 +10,7 @@
  	tristate "OCFS2 file system support"
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -121,3 +121,4 @@
+@@ -121,3 +121,4 @@ obj-$(CONFIG_HPPFS)		+= hppfs/
  obj-$(CONFIG_DEBUG_FS)		+= debugfs/
  obj-$(CONFIG_OCFS2_FS)		+= ocfs2/
  obj-$(CONFIG_GFS2_FS)           += gfs2/
diff --git a/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch b/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch
index ac895342f6..c127336346 100644
--- a/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch
@@ -1,6 +1,6 @@
 --- a/fs/yaffs2/yaffs_fs.c
 +++ b/fs/yaffs2/yaffs_fs.c
-@@ -181,7 +181,13 @@
+@@ -181,7 +181,13 @@ static int yaffs_statfs(struct super_blo
  #else
  static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
  #endif
@@ -14,7 +14,7 @@
  
  static void yaffs_put_inode(struct inode *inode);
  static void yaffs_delete_inode(struct inode *);
-@@ -284,7 +290,9 @@
+@@ -284,7 +290,9 @@ static struct file_operations yaffs_dir_
  
  static struct super_operations yaffs_super_ops = {
  	.statfs = yaffs_statfs,
@@ -24,7 +24,7 @@
  	.put_inode = yaffs_put_inode,
  	.put_super = yaffs_put_super,
  	.delete_inode = yaffs_delete_inode,
-@@ -844,11 +852,17 @@
+@@ -844,11 +852,17 @@ struct inode *yaffs_get_inode(struct sup
  	T(YAFFS_TRACE_OS,
  	  (KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
  
@@ -42,7 +42,7 @@
  
  	return inode;
  }
-@@ -1427,6 +1441,39 @@
+@@ -1427,6 +1441,39 @@ static int yaffs_sync_fs(struct super_bl
  }
  
  
@@ -82,7 +82,7 @@
  static void yaffs_read_inode(struct inode *inode)
  {
  	/* NB This is called as a side effect of other functions, but
-@@ -1448,6 +1495,7 @@
+@@ -1448,6 +1495,7 @@ static void yaffs_read_inode(struct inod
  
  	yaffs_GrossUnlock(dev);
  }
diff --git a/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch b/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch
index 6ac585eeff..c4ef46529c 100644
--- a/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -348,6 +348,50 @@
+@@ -348,6 +348,50 @@ int phy_ethtool_gset(struct phy_device *
  }
  EXPORT_SYMBOL(phy_ethtool_gset);
  
@@ -53,7 +53,7 @@
   * @phydev: the phy_device struct
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -399,6 +399,7 @@
+@@ -399,6 +399,7 @@ void phy_start_machine(struct phy_device
  void phy_stop_machine(struct phy_device *phydev);
  int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
  int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);
diff --git a/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch b/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch
index cda40d88be..9fa7bb2fe2 100644
--- a/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/mdio_bus.c
 +++ b/drivers/net/phy/mdio_bus.c
-@@ -132,6 +132,9 @@
+@@ -132,6 +132,9 @@ static int mdio_bus_match(struct device 
  	struct phy_device *phydev = to_phy_device(dev);
  	struct phy_driver *phydrv = to_phy_driver(drv);
  
@@ -12,7 +12,7 @@
  }
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -325,6 +325,11 @@
+@@ -325,6 +325,11 @@ struct phy_driver {
  	u32 features;
  	u32 flags;
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch b/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch
index 46e6bf34b6..1b035cbdbb 100644
--- a/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -65,6 +65,11 @@
+@@ -65,6 +65,11 @@ config REALTEK_PHY
  	---help---
  	  Supports the Realtek 821x PHY.
  
@@ -14,7 +14,7 @@
  	depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_SMSC_PHY)		+= smsc.o
  obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch b/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch
index 22654db8fb..6115487ddd 100644
--- a/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -53,6 +53,18 @@
+@@ -53,6 +53,18 @@ static void phy_device_release(struct de
  	phy_device_free(to_phy_device(dev));
  }
  
@@ -19,7 +19,7 @@
  struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
  {
  	struct phy_device *dev;
-@@ -78,6 +90,8 @@
+@@ -78,6 +90,8 @@ struct phy_device* phy_device_create(str
  	dev->bus = bus;
  
  	dev->state = PHY_DOWN;
@@ -30,7 +30,7 @@
  
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -295,6 +295,17 @@
+@@ -295,6 +295,17 @@ struct phy_device {
  	void (*adjust_link)(struct net_device *dev);
  
  	void (*adjust_state)(struct net_device *dev);
@@ -50,7 +50,7 @@
  
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -595,6 +595,7 @@
+@@ -595,6 +595,7 @@ struct net_device
  	void			*ax25_ptr;	/* AX.25 specific data */
  	struct wireless_dev	*ieee80211_ptr;	/* IEEE 802.11 specific data,
  						   assign before registering */
diff --git a/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch
index 85b8cb4f91..c2d7d1c0de 100644
--- a/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -70,6 +70,12 @@
+@@ -70,6 +70,12 @@ config ADM6996_PHY
  	---help---
  	  Currently supports the ADM6996F switch
  
@@ -15,7 +15,7 @@
  	depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
  obj-$(CONFIG_ADM6996_PHY)	+= adm6996.o
@@ -38,7 +38,7 @@
  /**
   * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
   * @bus: target mii_bus
-@@ -85,6 +91,7 @@
+@@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus
  
  			phydev->dev.parent = bus->dev;
  			phydev->dev.bus = &mdio_bus_type;
diff --git a/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch b/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch
index 8c2d74ef14..a47129171f 100644
--- a/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch
@@ -1,6 +1,6 @@
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
-@@ -930,6 +930,8 @@
+@@ -930,6 +930,8 @@ and is between 256 and 4096 characters. 
  
  	l2cr=		[PPC]
  
@@ -11,7 +11,7 @@
  
 --- a/Documentation/powerpc/booting-without-of.txt
 +++ b/Documentation/powerpc/booting-without-of.txt
-@@ -59,12 +59,39 @@
+@@ -59,12 +59,39 @@ Table of Contents
        p) Freescale Synchronous Serial Interface
  	  q) USB EHCI controllers
  
@@ -52,7 +52,7 @@
    Appendix A - Sample SOC node for MPC8540
  
  
-@@ -1269,10 +1296,6 @@
+@@ -1269,10 +1296,6 @@ platforms are moved over to use the flat
  
    Recommended properties:
  
@@ -63,7 +63,7 @@
      - phy-connection-type : a string naming the controller/PHY interface type,
        i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii",
        "tbi", or "rtbi".  This property is only really needed if the connection
-@@ -1622,8 +1645,7 @@
+@@ -1622,8 +1645,7 @@ platforms are moved over to use the flat
     - device_type : should be "network", "hldc", "uart", "transparent"
       "bisync", "atm", or "serial".
     - compatible : could be "ucc_geth" or "fsl_atm" and so on.
@@ -73,7 +73,7 @@
     - reg : Offset and length of the register set for the device
     - interrupts : <a b> where a is the interrupt number and b is a
       field that represents an encoding of the sense and level
-@@ -1667,10 +1689,6 @@
+@@ -1667,10 +1689,6 @@ platforms are moved over to use the flat
     - phy-handle : The phandle for the PHY connected to this controller.
  
     Recommended properties:
@@ -84,7 +84,7 @@
     - phy-connection-type : a string naming the controller/PHY interface type,
       i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
       Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
-@@ -1680,8 +1698,7 @@
+@@ -1680,8 +1698,7 @@ platforms are moved over to use the flat
  	ucc@2000 {
  		device_type = "network";
  		compatible = "ucc_geth";
@@ -94,7 +94,7 @@
  		reg = <2000 200>;
  		interrupts = <a0 0>;
  		interrupt-parent = <700>;
-@@ -1995,7 +2012,6 @@
+@@ -1995,7 +2012,6 @@ platforms are moved over to use the flat
  		interrupts = <20 8>;
  		interrupt-parent = <&PIC>;
  		phy-handle = <&PHY0>;
@@ -102,7 +102,7 @@
  		fsl,cpm-command = <12000300>;
  	};
  
-@@ -2217,12 +2233,6 @@
+@@ -2217,12 +2233,6 @@ platforms are moved over to use the flat
  			  EMAC, that is the content of the current (bogus) "phy-port"
  			  property.
  
@@ -115,7 +115,7 @@
      Optional properties:
      - phy-address       : 1 cell, optional, MDIO address of the PHY. If absent,
  			  a search is performed.
-@@ -2246,7 +2256,6 @@
+@@ -2246,7 +2256,6 @@ platforms are moved over to use the flat
      Example:
  
  	EMAC0: ethernet@40000800 {
@@ -123,7 +123,7 @@
  		device_type = "network";
  		compatible = "ibm,emac-440gp", "ibm,emac";
  		interrupt-parent = <&UIC1>;
-@@ -2817,9 +2826,528 @@
+@@ -2817,9 +2826,528 @@ platforms are moved over to use the flat
  	   };
  
  
@@ -654,7 +654,7 @@
  ===================================================
  
  The device tree represents the busses and devices of a hardware
-@@ -2905,6 +3433,54 @@
+@@ -2905,6 +3433,54 @@ encodings listed below:
  	2 =  high to low edge sensitive type enabled
  	3 =  low to high edge sensitive type enabled
  
@@ -841,7 +841,7 @@
 +   Currently I am parsing it manually.
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -49,6 +49,19 @@
+@@ -49,6 +49,19 @@ config IRQ_PER_CPU
  	bool
  	default y
  
@@ -861,7 +861,7 @@
  config RWSEM_GENERIC_SPINLOCK
  	bool
  
-@@ -81,6 +94,11 @@
+@@ -81,6 +94,11 @@ config GENERIC_FIND_NEXT_BIT
  	bool
  	default y
  
@@ -873,7 +873,7 @@
  config ARCH_NO_VIRT_TO_BUS
  	def_bool PPC64
  
-@@ -91,6 +109,7 @@
+@@ -91,6 +109,7 @@ config PPC
  	select HAVE_OPROFILE
  	select HAVE_KPROBES
  	select HAVE_KRETPROBES
@@ -881,7 +881,7 @@
  
  config EARLY_PRINTK
  	bool
-@@ -210,15 +229,6 @@
+@@ -210,15 +229,6 @@ source kernel/Kconfig.hz
  source kernel/Kconfig.preempt
  source "fs/Kconfig.binfmt"
  
@@ -897,7 +897,7 @@
  config HUGETLB_PAGE_SIZE_VARIABLE
  	bool
  	depends on HUGETLB_PAGE
-@@ -307,6 +317,16 @@
+@@ -307,6 +317,16 @@ config CRASH_DUMP
  
  	  Don't change this unless you know what you are doing.
  
@@ -914,7 +914,7 @@
  config PPCBUG_NVRAM
  	bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
  	default y if PPC_PREP
-@@ -381,6 +401,26 @@
+@@ -381,6 +401,26 @@ config PPC_64K_PAGES
  	  while on hardware with such support, it will be used to map
  	  normal application pages.
  
@@ -941,7 +941,7 @@
  config PPC_SUBPAGE_PROT
  	bool "Support setting protections for 4k subpages"
  	depends on PPC_64K_PAGES
-@@ -490,6 +530,14 @@
+@@ -490,6 +530,14 @@ config FSL_PCI
   	bool
  	select PPC_INDIRECT_PCI
  
@@ -956,7 +956,7 @@
  # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
  config MCA
  	bool
-@@ -663,22 +711,6 @@
+@@ -663,22 +711,6 @@ config CONSISTENT_SIZE
  	hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
  	default "0x00200000" if NOT_COHERENT_CACHE
  
@@ -981,7 +981,7 @@
  	depends on ADVANCED_OPTIONS && 8xx
 --- a/arch/powerpc/Kconfig.debug
 +++ b/arch/powerpc/Kconfig.debug
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ config PPC_EARLY_DEBUG_CPM_ADDR
  	hex "CPM UART early debug transmit descriptor address"
  	depends on PPC_EARLY_DEBUG_CPM
  	default "0xfa202008" if PPC_EP88XC
@@ -992,7 +992,7 @@
  	  This specifies the address of the transmit descriptor
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
-@@ -71,13 +71,11 @@
+@@ -71,13 +71,11 @@ endif
  
  LDFLAGS_vmlinux	:= -Bstatic
  
@@ -1010,7 +1010,7 @@
  CPP		= $(CC) -E $(KBUILD_CFLAGS)
  
  CHECKFLAGS	+= -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
-@@ -164,7 +162,7 @@
+@@ -164,7 +162,7 @@ boot := arch/$(ARCH)/boot
  $(BOOT_TARGETS): vmlinux
  	$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
@@ -1021,7 +1021,7 @@
  define archhelp
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -40,6 +40,7 @@
+@@ -40,6 +40,7 @@ $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
  $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
  $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
@@ -1029,7 +1029,7 @@
  
  
  zlib       := inffast.c inflate.c inftrees.c
-@@ -64,7 +65,8 @@
+@@ -64,7 +65,8 @@ src-plat := of.c cuboot-52xx.c cuboot-82
  		cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
  		fixed-head.S ep88xc.c ep405.c \
  		cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
@@ -1039,7 +1039,7 @@
  src-boot := $(src-wlib) $(src-plat) empty.c
  
  src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -192,7 +194,7 @@
+@@ -192,7 +194,7 @@ image-$(CONFIG_PPC_CHRP)		+= zImage.chrp
  image-$(CONFIG_PPC_EFIKA)		+= zImage.chrp
  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
  image-$(CONFIG_PPC_HOLLY)		+= zImage.holly
@@ -1048,7 +1048,7 @@
  image-$(CONFIG_PPC_ISERIES)		+= zImage.iseries
  image-$(CONFIG_DEFAULT_UIMAGE)		+= uImage
  
-@@ -216,6 +218,7 @@
+@@ -216,6 +218,7 @@ image-$(CONFIG_RAINIER)			+= cuImage.rai
  image-$(CONFIG_TAISHAN)			+= cuImage.taishan
  image-$(CONFIG_KATMAI)			+= cuImage.katmai
  image-$(CONFIG_WARP)			+= cuImage.warp
@@ -1056,7 +1056,7 @@
  
  # Board ports in arch/powerpc/platform/8xx/Kconfig
  image-$(CONFIG_PPC_MPC86XADS)		+= cuImage.mpc866ads
-@@ -255,6 +258,7 @@
+@@ -255,6 +258,7 @@ image-$(CONFIG_TQM8555)			+= cuImage.tqm
  image-$(CONFIG_TQM8560)			+= cuImage.tqm8560
  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
  image-$(CONFIG_SBC8560)			+= cuImage.sbc8560
@@ -1064,7 +1064,7 @@
  
  # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
  image-$(CONFIG_STORCENTER)		+= cuImage.storcenter
-@@ -285,11 +289,11 @@
+@@ -285,11 +289,11 @@ $(obj)/zImage.%: vmlinux $(wrapperbits)
  	$(call if_changed,wrap,$*)
  
  # dtbImage% - a dtbImage is a zImage with an embedded device tree blob
@@ -1080,7 +1080,7 @@
  
  # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
  # prefix
-@@ -302,14 +306,24 @@
+@@ -302,14 +306,24 @@ $(obj)/zImage.iseries: vmlinux
  $(obj)/uImage: vmlinux $(wrapperbits)
  	$(call if_changed,wrap,uboot)
  
@@ -1111,7 +1111,7 @@
  
  # If there isn't a platform selected then just strip the vmlinux.
  ifeq (,$(image-y))
-@@ -326,7 +340,7 @@
+@@ -326,7 +340,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
  
  # anything not in $(targets)
  clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \
@@ -1122,7 +1122,7 @@
  clean-kernel := vmlinux.strip vmlinux.bin
 --- a/arch/powerpc/boot/bamboo.c
 +++ b/arch/powerpc/boot/bamboo.c
-@@ -33,7 +33,8 @@
+@@ -33,7 +33,8 @@ static void bamboo_fixups(void)
  	ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
  	ibm4xx_sdram_fixup_memsize();
  	ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
@@ -1142,7 +1142,7 @@
  
  struct cpm_scc {
  	u32 gsmrl;
-@@ -42,6 +43,22 @@
+@@ -42,6 +43,22 @@ struct cpm_param {
  	u16 tbase;
  	u8 rfcr;
  	u8 tfcr;
@@ -1165,7 +1165,7 @@
  };
  
  struct cpm_bd {
-@@ -54,10 +71,10 @@
+@@ -54,10 +71,10 @@ static void *cpcr;
  static struct cpm_param *param;
  static struct cpm_smc *smc;
  static struct cpm_scc *scc;
@@ -1179,7 +1179,7 @@
  
  static void (*do_cmd)(int op);
  static void (*enable_port)(void);
-@@ -119,20 +136,25 @@
+@@ -119,20 +136,25 @@ static int cpm_serial_open(void)
  
  	out_8(&param->rfcr, 0x10);
  	out_8(&param->tfcr, 0x10);
@@ -1210,7 +1210,7 @@
  
  	do_cmd(CPM_CMD_INIT_RX_TX);
  
-@@ -175,10 +197,12 @@
+@@ -175,10 +197,12 @@ static unsigned char cpm_serial_getc(voi
  
  int cpm_console_init(void *devp, struct serial_console_data *scdp)
  {
@@ -1226,7 +1226,7 @@
  
  	if (dt_is_compatible(devp, "fsl,cpm1-smc-uart")) {
  		is_smc = 1;
-@@ -202,63 +226,64 @@
+@@ -202,63 +226,64 @@ int cpm_console_init(void *devp, struct 
  	else
  		do_cmd = cpm1_cmd;
  
@@ -1327,7 +1327,7 @@
  	scdp->putc = cpm_serial_putc;
 --- a/arch/powerpc/boot/cuboot-pq2.c
 +++ b/arch/powerpc/boot/cuboot-pq2.c
-@@ -128,7 +128,7 @@
+@@ -128,7 +128,7 @@ static void fixup_pci(void)
  	u8 *soc_regs;
  	int i, len;
  	void *node, *parent_node;
@@ -1336,7 +1336,7 @@
  
  	node = finddevice("/pci");
  	if (!node || !dt_is_compatible(node, "fsl,pq2-pci"))
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ static void fixup_pci(void)
  
  	soc_regs = (u8 *)fsl_get_immr();
  	if (!soc_regs)
@@ -1345,7 +1345,7 @@
  
  	dt_get_reg_format(node, &naddr, &nsize);
  	if (naddr != 3 || nsize != 2)
-@@ -153,7 +153,7 @@
+@@ -153,7 +153,7 @@ static void fixup_pci(void)
  
  	dt_get_reg_format(parent_node, &naddr, &nsize);
  	if (naddr != 1 || nsize != 1)
@@ -1354,7 +1354,7 @@
  
  	len = getprop(node, "ranges", pci_ranges_buf,
  	              sizeof(pci_ranges_buf));
-@@ -170,14 +170,20 @@
+@@ -170,14 +170,20 @@ static void fixup_pci(void)
  	}
  
  	if (!mem || !mmio || !io)
@@ -1377,7 +1377,7 @@
  
  	out_be32(&pci_regs[1][0], mem_base->phys_addr | 1);
  	out_be32(&pci_regs[2][0], ~(mem->size[1] + mmio->size[1] - 1));
-@@ -201,8 +207,9 @@
+@@ -201,8 +207,9 @@ static void fixup_pci(void)
  	out_le32(&pci_regs[0][58], 0);
  	out_le32(&pci_regs[0][60], 0);
  
@@ -1389,7 +1389,7 @@
  
  	/* If PCI is disabled, drive RST high to enable. */
  	if (!(in_le32(&pci_regs[0][32]) & 1)) {
-@@ -228,7 +235,11 @@
+@@ -228,7 +235,11 @@ static void fixup_pci(void)
  	return;
  
  err:
@@ -1404,7 +1404,7 @@
  static void pq2_platform_fixups(void)
 --- a/arch/powerpc/boot/cuboot-rainier.c
 +++ b/arch/powerpc/boot/cuboot-rainier.c
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static void rainier_fixups(void)
  	ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
  	ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
  	ibm4xx_denali_fixup_memsize();
@@ -1416,7 +1416,7 @@
  void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
 --- a/arch/powerpc/boot/cuboot-sequoia.c
 +++ b/arch/powerpc/boot/cuboot-sequoia.c
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static void sequoia_fixups(void)
  	ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
  	ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
  	ibm4xx_denali_fixup_memsize();
@@ -1428,7 +1428,7 @@
  void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
 --- a/arch/powerpc/boot/cuboot-taishan.c
 +++ b/arch/powerpc/boot/cuboot-taishan.c
-@@ -40,7 +40,8 @@
+@@ -40,7 +40,8 @@ static void taishan_fixups(void)
  
  	ibm4xx_sdram_fixup_memsize();
  
@@ -1440,7 +1440,7 @@
  }
 --- a/arch/powerpc/boot/cuboot-warp.c
 +++ b/arch/powerpc/boot/cuboot-warp.c
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ static void warp_fixups(void)
  	ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
  	ibm4xx_sdram_fixup_memsize();
  	ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
@@ -1498,7 +1498,7 @@
 +}
 --- a/arch/powerpc/boot/devtree.c
 +++ b/arch/powerpc/boot/devtree.c
-@@ -350,3 +350,23 @@
+@@ -350,3 +350,23 @@ int dt_is_compatible(void *node, const c
  
  	return 0;
  }
@@ -3014,7 +3014,7 @@
   *
   * This file is licensed under
   * the terms of the GNU General Public License version 2.  This program
-@@ -17,6 +18,8 @@
+@@ -17,6 +18,8 @@ XXXX add flash parts, rtc, ??
  
   */
  
@@ -3023,7 +3023,7 @@
  / {
  	model = "KuroboxHD";
  	compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
  
  		PowerPC,603e { /* Really 8241 */
  			device_type = "cpu";
@@ -3049,7 +3049,7 @@
  	};
  
  	soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
-@@ -56,26 +59,26 @@
+@@ -56,26 +59,26 @@ XXXX add flash parts, rtc, ??
  		device_type = "soc";
  		compatible = "mpc10x";
  		store-gathering = <0>; /* 0 == off, !0 == on */
@@ -3084,7 +3084,7 @@
  			};
  		};
  
-@@ -83,9 +86,9 @@
+@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ??
  			cell-index = <0>;
  			device_type = "serial";
  			compatible = "ns16550";
@@ -3097,7 +3097,7 @@
  			interrupts = <9 0>;
  			interrupt-parent = <&mpic>;
  		};
-@@ -94,10 +97,10 @@
+@@ -94,10 +97,10 @@ XXXX add flash parts, rtc, ??
  			cell-index = <1>;
  			device_type = "serial";
  			compatible = "ns16550";
@@ -3112,7 +3112,7 @@
  			interrupt-parent = <&mpic>;
  		};
  
-@@ -107,7 +110,7 @@
+@@ -107,7 +110,7 @@ XXXX add flash parts, rtc, ??
  			device_type = "open-pic";
  			compatible = "chrp,open-pic";
  			interrupt-controller;
@@ -3121,7 +3121,7 @@
  		};
  
  		pci0: pci@fec00000 {
-@@ -116,29 +119,29 @@
+@@ -116,29 +119,29 @@ XXXX add flash parts, rtc, ??
  			#interrupt-cells = <1>;
  			device_type = "pci";
  			compatible = "mpc10x-pci";
@@ -3179,7 +3179,7 @@
   *
   * This file is licensed under
   * the terms of the GNU General Public License version 2.  This program
-@@ -17,6 +18,8 @@
+@@ -17,6 +18,8 @@ XXXX add flash parts, rtc, ??
  
   */
  
@@ -3188,7 +3188,7 @@
  / {
  	model = "KuroboxHG";
  	compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
  
  		PowerPC,603e { /* Really 8241 */
  			device_type = "cpu";
@@ -3214,7 +3214,7 @@
  	};
  
  	soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
-@@ -56,26 +59,26 @@
+@@ -56,26 +59,26 @@ XXXX add flash parts, rtc, ??
  		device_type = "soc";
  		compatible = "mpc10x";
  		store-gathering = <0>; /* 0 == off, !0 == on */
@@ -3249,7 +3249,7 @@
  			};
  		};
  
-@@ -83,9 +86,9 @@
+@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ??
  			cell-index = <0>;
  			device_type = "serial";
  			compatible = "ns16550";
@@ -3262,7 +3262,7 @@
  			interrupts = <9 0>;
  			interrupt-parent = <&mpic>;
  		};
-@@ -94,10 +97,10 @@
+@@ -94,10 +97,10 @@ XXXX add flash parts, rtc, ??
  			cell-index = <1>;
  			device_type = "serial";
  			compatible = "ns16550";
@@ -3277,7 +3277,7 @@
  			interrupt-parent = <&mpic>;
  		};
  
-@@ -107,7 +110,7 @@
+@@ -107,7 +110,7 @@ XXXX add flash parts, rtc, ??
  			device_type = "open-pic";
  			compatible = "chrp,open-pic";
  			interrupt-controller;
@@ -3286,7 +3286,7 @@
  		};
  
  		pci0: pci@fec00000 {
-@@ -116,29 +119,29 @@
+@@ -116,29 +119,29 @@ XXXX add flash parts, rtc, ??
  			#interrupt-cells = <1>;
  			device_type = "pci";
  			compatible = "mpc10x-pci";
@@ -9735,7 +9735,7 @@
 +};
 --- a/arch/powerpc/boot/ebony.c
 +++ b/arch/powerpc/boot/ebony.c
-@@ -75,7 +75,8 @@
+@@ -75,7 +75,8 @@ static void ebony_fixups(void)
  
  	ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
  	ibm4xx_sdram_fixup_memsize();
@@ -9758,7 +9758,7 @@
  			exit(); \
 --- a/arch/powerpc/boot/mpc52xx-psc.c
 +++ b/arch/powerpc/boot/mpc52xx-psc.c
-@@ -51,14 +51,9 @@
+@@ -51,14 +51,9 @@ static unsigned char psc_getc(void)
  
  int mpc5200_psc_console_init(void *devp, struct serial_console_data *scdp)
  {
@@ -9777,7 +9777,7 @@
  	scdp->putc = psc_putc;
 --- a/arch/powerpc/boot/mpsc.c
 +++ b/arch/powerpc/boot/mpsc.c
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ int mpsc_console_init(void *devp, struct
  	if (mpscintr_base == NULL)
  		goto err_out;
  
@@ -9788,7 +9788,7 @@
  	reg_set = (int)v;
 --- a/arch/powerpc/boot/mv64x60.c
 +++ b/arch/powerpc/boot/mv64x60.c
-@@ -535,7 +535,7 @@
+@@ -535,7 +535,7 @@ u8 *mv64x60_get_bridge_pbase(void)
  	u32 v[2];
  	void *devp;
  
@@ -9797,7 +9797,7 @@
  	if (devp == NULL)
  		goto err_out;
  	if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v))
-@@ -553,7 +553,7 @@
+@@ -553,7 +553,7 @@ u8 *mv64x60_get_bridge_base(void)
  	u32 v;
  	void *devp;
  
@@ -9808,7 +9808,7 @@
  	if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
 --- a/arch/powerpc/boot/mv64x60_i2c.c
 +++ b/arch/powerpc/boot/mv64x60_i2c.c
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ int mv64x60_i2c_open(void)
  	u32 v;
  	void *devp;
  
@@ -9819,7 +9819,7 @@
  	if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
 --- a/arch/powerpc/boot/ns16550.c
 +++ b/arch/powerpc/boot/ns16550.c
-@@ -55,15 +55,9 @@
+@@ -55,15 +55,9 @@ static u8 ns16550_tstc(void)
  int ns16550_console_init(void *devp, struct serial_console_data *scdp)
  {
  	int n;
@@ -9839,7 +9839,7 @@
  	if (n != sizeof(reg_shift))
 --- a/arch/powerpc/boot/ops.h
 +++ b/arch/powerpc/boot/ops.h
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,7 @@ int dt_xlate_reg(void *node, int res, un
  int dt_xlate_addr(void *node, u32 *buf, int buflen, unsigned long *xlated_addr);
  int dt_is_compatible(void *node, const char *compat);
  void dt_get_reg_format(void *node, u32 *naddr, u32 *nsize);
@@ -9849,7 +9849,7 @@
  {
 --- a/arch/powerpc/boot/prpmc2800.c
 +++ b/arch/powerpc/boot/prpmc2800.c
-@@ -344,20 +344,20 @@
+@@ -344,20 +344,20 @@ static void prpmc2800_bridge_setup(u32 m
  			acc_bits);
  
  	/* Get the cpu -> pci i/o & mem mappings from the device tree */
@@ -9875,7 +9875,7 @@
  
  	enables = in_le32((u32 *)(bridge_base + MV64x60_CPU_BAR_ENABLE));
  	enables |= 0x0007fe00; /* Disable all cpu->pci windows */
-@@ -429,9 +429,9 @@
+@@ -429,9 +429,9 @@ static void prpmc2800_fixups(void)
  	setprop(devp, "model", model, l);
  
  	/* Set /cpus/PowerPC,7447/clock-frequency */
@@ -9887,7 +9887,7 @@
  	v[0] = bip->core_speed;
  	setprop(devp, "clock-frequency", &v[0], sizeof(v[0]));
  
-@@ -443,16 +443,17 @@
+@@ -443,16 +443,17 @@ static void prpmc2800_fixups(void)
  	v[1] = bip->mem_size;
  	setprop(devp, "reg", v, sizeof(v));
  
@@ -9923,7 +9923,7 @@
   *
   * The PS3 has a single processor with two threads.
   */
-@@ -47,8 +48,6 @@
+@@ -47,8 +48,6 @@ __system_reset_overlay:
  
  	mfspr	r3, 0x88
  	cntlzw.	r3, r3
@@ -9932,7 +9932,7 @@
  	beq	1f
  
  	/* Secondary goes to __secondary_hold in kernel. */
-@@ -57,8 +56,14 @@
+@@ -57,8 +56,14 @@ __system_reset_overlay:
  	mtctr	r4
  	bctr
  
@@ -9948,7 +9948,7 @@
  	or	31, 31, 31 /* db16cyc */
  	or	31, 31, 31 /* db16cyc */
  
-@@ -67,16 +72,18 @@
+@@ -67,16 +72,18 @@ __system_reset_overlay:
  	mtctr	r4
  	bctr
  
@@ -9988,7 +9988,7 @@
  	u64 in_4, u64 in_5, u64 *out_1, u64 *out_2);
  
  #ifdef DEBUG
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ BSS_STACK(4096);
   * edit the command line passed to vmlinux (by setting /chosen/bootargs).
   * The buffer is put in it's own section so that tools may locate it easier.
   */
@@ -9996,7 +9996,7 @@
  static char cmdline[COMMAND_LINE_SIZE]
  	__attribute__((__section__("__builtin_cmdline")));
  
-@@ -75,7 +76,7 @@
+@@ -75,7 +76,7 @@ static void ps3_exit(void)
  
  static int ps3_repository_read_rm_size(u64 *rm_size)
  {
@@ -10005,7 +10005,7 @@
  	u64 lpar_id;
  	u64 ppe_id;
  	u64 v2;
-@@ -114,16 +115,17 @@
+@@ -114,16 +115,17 @@ void ps3_copy_vectors(void)
  {
  	extern char __system_reset_kernel[];
  
@@ -10026,7 +10026,7 @@
  
  	console_ops.write = ps3_console_write;
  	platform_ops.exit = ps3_exit;
-@@ -151,6 +153,11 @@
+@@ -151,6 +153,11 @@ void platform_init(void)
  
  	printf(" flat tree at 0x%lx\n\r", ft_addr);
  
@@ -10040,7 +10040,7 @@
  	ps3_exit();
 --- a/arch/powerpc/boot/serial.c
 +++ b/arch/powerpc/boot/serial.c
-@@ -119,7 +119,7 @@
+@@ -119,7 +119,7 @@ int serial_console_init(void)
  
  	if (dt_is_compatible(devp, "ns16550"))
  		rc = ns16550_console_init(devp, &serial_cd);
@@ -10138,7 +10138,7 @@
 +}
 --- a/arch/powerpc/boot/treeboot-walnut.c
 +++ b/arch/powerpc/boot/treeboot-walnut.c
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ static void walnut_fixups(void)
  	ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
  	ibm4xx_fixup_ebc_ranges("/plb/ebc");
  	walnut_flashsel_fixup();
@@ -10182,7 +10182,7 @@
 +2:	b	_zimage_start_lib
 --- a/arch/powerpc/boot/wrapper
 +++ b/arch/powerpc/boot/wrapper
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ cuboot*)
      *-mpc83*)
          platformo=$object/cuboot-83xx.o
          ;;
@@ -10191,7 +10191,7 @@
          platformo=$object/cuboot-85xx-cpm2.o
          ;;
      *-mpc85*|*-tqm8540|*-sbc85*)
-@@ -199,6 +199,10 @@
+@@ -199,6 +199,10 @@ adder875-redboot)
      platformo="$object/fixed-head.o $object/redboot-8xx.o"
      binary=y
      ;;
@@ -10202,7 +10202,7 @@
  esac
  
  vmz="$tmpdir/`basename \"$kernel\"`.$ext"
-@@ -226,10 +230,13 @@
+@@ -226,10 +230,13 @@ if [ -n "$version" ]; then
      uboot_version="-n Linux-$version"
  fi
  
@@ -10217,7 +10217,7 @@
  	$uboot_version -d "$vmz" "$ofile"
      if [ -z "$cacheit" ]; then
  	rm -f "$vmz"
-@@ -298,15 +305,16 @@
+@@ -298,15 +305,16 @@ treeboot*)
      exit 0
      ;;
  ps3)
@@ -10243,7 +10243,7 @@
  
      system_reset_overlay=0x`${CROSS}nm "$ofile" \
          | grep ' __system_reset_overlay$'       \
-@@ -317,7 +325,7 @@
+@@ -317,7 +325,7 @@ ps3)
          | cut -d' ' -f1`
      system_reset_kernel=`printf "%d" $system_reset_kernel`
      overlay_dest="256"
@@ -49187,7 +49187,7 @@
  #
  # CONFIG_PPC64 is not set
  
-@@ -74,8 +74,6 @@
+@@ -74,8 +74,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=15
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
@@ -49196,7 +49196,7 @@
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -243,7 +241,7 @@
+@@ -243,7 +241,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  # CONFIG_PCI_MSI is not set
@@ -49205,7 +49205,7 @@
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  # CONFIG_HOTPLUG_PCI is not set
-@@ -1328,6 +1326,7 @@
+@@ -1328,6 +1326,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -51096,7 +51096,7 @@
  #
  CONFIG_PPC64=y
  
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=17
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
@@ -51105,7 +51105,7 @@
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -276,7 +274,7 @@
+@@ -276,7 +274,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
@@ -51114,7 +51114,7 @@
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  # CONFIG_HOTPLUG_PCI is not set
-@@ -1596,6 +1594,7 @@
+@@ -1596,6 +1594,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -51133,7 +51133,7 @@
  #
  CONFIG_PPC64=y
  
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=17
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
@@ -51142,7 +51142,7 @@
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -261,7 +259,7 @@
+@@ -261,7 +259,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  # CONFIG_PCI_MSI is not set
@@ -51151,7 +51151,7 @@
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  # CONFIG_HOTPLUG_PCI is not set
-@@ -1065,6 +1063,7 @@
+@@ -1065,6 +1063,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -53638,7 +53638,7 @@
 -# CONFIG_PPC_CLOCK is not set
 --- a/arch/powerpc/configs/maple_defconfig
 +++ b/arch/powerpc/configs/maple_defconfig
-@@ -333,7 +333,7 @@
+@@ -333,7 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
  CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
  CONFIG_STANDALONE=y
  CONFIG_PREVENT_FIRMWARE_BUILD=y
@@ -53647,7 +53647,7 @@
  # CONFIG_DEBUG_DRIVER is not set
  # CONFIG_DEBUG_DEVRES is not set
  # CONFIG_SYS_HYPERVISOR is not set
-@@ -374,6 +374,7 @@
+@@ -374,6 +374,7 @@ CONFIG_BLK_DEV_IDEDISK=y
  CONFIG_BLK_DEV_IDECD=y
  # CONFIG_BLK_DEV_IDETAPE is not set
  # CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -53655,7 +53655,7 @@
  CONFIG_IDE_TASK_IOCTL=y
  CONFIG_IDE_PROC_FS=y
  
-@@ -427,10 +428,129 @@
+@@ -427,10 +428,129 @@ CONFIG_IDE_ARCH_OBSOLETE_INIT=y
  # SCSI device support
  #
  # CONFIG_RAID_ATTRS is not set
@@ -53788,7 +53788,7 @@
  # CONFIG_MD is not set
  # CONFIG_FUSION is not set
  
-@@ -536,6 +656,7 @@
+@@ -536,6 +656,7 @@ CONFIG_USB_PEGASUS=y
  # CONFIG_HIPPI is not set
  # CONFIG_PPP is not set
  # CONFIG_SLIP is not set
@@ -53796,7 +53796,7 @@
  # CONFIG_SHAPER is not set
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
-@@ -783,12 +904,14 @@
+@@ -783,12 +904,14 @@ CONFIG_USB_UHCI_HCD=y
  #
  # may also be needed; see USB_STORAGE Help for more information
  #
@@ -65457,7 +65457,7 @@
  #
  # CONFIG_PPC64 is not set
  
-@@ -201,6 +201,7 @@
+@@ -201,6 +201,7 @@ CONFIG_PREEMPT_NONE=y
  # CONFIG_PREEMPT is not set
  CONFIG_BINFMT_ELF=y
  # CONFIG_BINFMT_MISC is not set
@@ -65465,7 +65465,7 @@
  CONFIG_MATH_EMULATION=y
  # CONFIG_IOMMU_HELPER is not set
  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-@@ -353,7 +354,90 @@
+@@ -353,7 +354,90 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
  # CONFIG_FW_LOADER is not set
  # CONFIG_SYS_HYPERVISOR is not set
  # CONFIG_CONNECTOR is not set
@@ -65557,7 +65557,7 @@
  CONFIG_OF_DEVICE=y
  # CONFIG_PARPORT is not set
  CONFIG_BLK_DEV=y
-@@ -362,6 +446,7 @@
+@@ -362,6 +446,7 @@ CONFIG_BLK_DEV=y
  CONFIG_BLK_DEV_LOOP=y
  # CONFIG_BLK_DEV_CRYPTOLOOP is not set
  # CONFIG_BLK_DEV_NBD is not set
@@ -65565,7 +65565,7 @@
  CONFIG_BLK_DEV_RAM=y
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=32768
-@@ -469,6 +554,15 @@
+@@ -469,6 +554,15 @@ CONFIG_NETDEV_10000=y
  #
  # CONFIG_WLAN_PRE80211 is not set
  # CONFIG_WLAN_80211 is not set
@@ -65581,7 +65581,7 @@
  # CONFIG_WAN is not set
  # CONFIG_PPP is not set
  # CONFIG_SLIP is not set
-@@ -563,6 +657,7 @@
+@@ -563,6 +657,7 @@ CONFIG_I2C_MPC=y
  # CONFIG_I2C_SIMTEC is not set
  # CONFIG_I2C_TAOS_EVM is not set
  # CONFIG_I2C_STUB is not set
@@ -65589,7 +65589,7 @@
  
  #
  # Miscellaneous I2C Chip support
-@@ -648,6 +743,11 @@
+@@ -648,6 +743,11 @@ CONFIG_WATCHDOG=y
  CONFIG_83xx_WDT=y
  
  #
@@ -65601,7 +65601,7 @@
  # Sonics Silicon Backplane
  #
  CONFIG_SSB_POSSIBLE=y
-@@ -664,6 +764,7 @@
+@@ -664,6 +764,7 @@ CONFIG_SSB_POSSIBLE=y
  # CONFIG_VIDEO_DEV is not set
  # CONFIG_DVB_CORE is not set
  CONFIG_DAB=y
@@ -65609,7 +65609,7 @@
  
  #
  # Graphics support
-@@ -686,6 +787,14 @@
+@@ -686,6 +787,14 @@ CONFIG_HID_SUPPORT=y
  CONFIG_HID=y
  # CONFIG_HID_DEBUG is not set
  # CONFIG_HIDRAW is not set
@@ -65624,7 +65624,7 @@
  CONFIG_USB_SUPPORT=y
  CONFIG_USB_ARCH_HAS_HCD=y
  # CONFIG_USB_ARCH_HAS_OHCI is not set
-@@ -715,8 +824,55 @@
+@@ -715,8 +824,55 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
  # CONFIG_USB_R8A66597_HCD is not set
  
  #
@@ -65680,7 +65680,7 @@
  # CONFIG_USB_GADGET is not set
  # CONFIG_MMC is not set
  # CONFIG_MEMSTICK is not set
-@@ -792,6 +948,7 @@
+@@ -792,6 +948,7 @@ CONFIG_TMPFS=y
  # CONFIG_BEFS_FS is not set
  # CONFIG_BFS_FS is not set
  # CONFIG_EFS_FS is not set
@@ -65688,7 +65688,7 @@
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
  # CONFIG_MINIX_FS is not set
-@@ -862,6 +1019,7 @@
+@@ -862,6 +1019,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -72556,7 +72556,7 @@
  #
  # CONFIG_PPC64 is not set
  
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=14
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
@@ -72565,7 +72565,7 @@
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -272,7 +270,7 @@
+@@ -272,7 +270,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  # CONFIG_PCI_MSI is not set
@@ -72574,7 +72574,7 @@
  # CONFIG_PCI_DEBUG is not set
  CONFIG_PCCARD=m
  # CONFIG_PCMCIA_DEBUG is not set
-@@ -1895,6 +1893,7 @@
+@@ -1895,6 +1893,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -73493,7 +73493,7 @@
  #
  # CONFIG_PPC64 is not set
  
-@@ -79,6 +79,7 @@
+@@ -79,6 +79,7 @@ CONFIG_FAIR_GROUP_SCHED=y
  CONFIG_USER_SCHED=y
  # CONFIG_CGROUP_SCHED is not set
  CONFIG_SYSFS_DEPRECATED=y
@@ -73501,7 +73501,7 @@
  # CONFIG_RELAY is not set
  # CONFIG_NAMESPACES is not set
  CONFIG_BLK_DEV_INITRD=y
-@@ -113,6 +114,7 @@
+@@ -113,6 +114,7 @@ CONFIG_SLUB=y
  CONFIG_HAVE_OPROFILE=y
  # CONFIG_KPROBES is not set
  CONFIG_HAVE_KPROBES=y
@@ -73509,7 +73509,7 @@
  CONFIG_PROC_PAGE_MONITOR=y
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
-@@ -143,7 +145,6 @@
+@@ -143,7 +145,6 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  CONFIG_CLASSIC_RCU=y
@@ -73517,7 +73517,7 @@
  CONFIG_PPC4xx_PCI_EXPRESS=y
  
  #
-@@ -161,12 +162,15 @@
+@@ -161,12 +162,15 @@ CONFIG_TAISHAN=y
  CONFIG_KATMAI=y
  CONFIG_RAINIER=y
  CONFIG_WARP=y
@@ -73533,7 +73533,7 @@
  CONFIG_IBM440EP_ERR42=y
  # CONFIG_IPIC is not set
  # CONFIG_MPIC is not set
-@@ -199,7 +203,6 @@
+@@ -199,7 +203,6 @@ CONFIG_HZ=250
  CONFIG_PREEMPT_NONE=y
  # CONFIG_PREEMPT_VOLUNTARY is not set
  # CONFIG_PREEMPT is not set
@@ -73541,7 +73541,7 @@
  CONFIG_BINFMT_ELF=y
  # CONFIG_BINFMT_MISC is not set
  CONFIG_MATH_EMULATION=y
-@@ -232,6 +235,7 @@
+@@ -232,6 +235,7 @@ CONFIG_ISA_DMA_API=y
  #
  CONFIG_ZONE_DMA=y
  CONFIG_PPC_INDIRECT_PCI=y
@@ -73549,7 +73549,7 @@
  CONFIG_PCI=y
  CONFIG_PCI_DOMAINS=y
  CONFIG_PCI_SYSCALL=y
-@@ -678,6 +682,7 @@
+@@ -678,6 +682,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
  # CONFIG_INFINIBAND is not set
  # CONFIG_EDAC is not set
  # CONFIG_RTC_CLASS is not set
@@ -73557,7 +73557,7 @@
  
  #
  # Userspace I/O
-@@ -805,6 +810,7 @@
+@@ -805,6 +810,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -73576,7 +73576,7 @@
  #
  CONFIG_PPC64=y
  
-@@ -84,8 +84,6 @@
+@@ -84,8 +84,6 @@ CONFIG_CGROUPS=y
  # CONFIG_CGROUP_NS is not set
  CONFIG_CPUSETS=y
  # CONFIG_GROUP_SCHED is not set
@@ -73585,7 +73585,7 @@
  # CONFIG_CGROUP_CPUACCT is not set
  # CONFIG_RESOURCE_COUNTERS is not set
  CONFIG_SYSFS_DEPRECATED=y
-@@ -289,6 +287,7 @@
+@@ -289,6 +287,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
  CONFIG_KEXEC=y
  # CONFIG_CRASH_DUMP is not set
@@ -73593,7 +73593,7 @@
  CONFIG_IRQ_ALL_CPUS=y
  # CONFIG_NUMA is not set
  CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-@@ -335,7 +334,7 @@
+@@ -335,7 +334,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
@@ -73602,7 +73602,7 @@
  # CONFIG_PCI_DEBUG is not set
  CONFIG_PCCARD=y
  # CONFIG_PCMCIA_DEBUG is not set
-@@ -1881,6 +1880,7 @@
+@@ -1881,6 +1880,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -73621,7 +73621,7 @@
  #
  CONFIG_PPC64=y
  
-@@ -83,8 +83,6 @@
+@@ -83,8 +83,6 @@ CONFIG_CGROUPS=y
  CONFIG_CGROUP_NS=y
  CONFIG_CPUSETS=y
  # CONFIG_GROUP_SCHED is not set
@@ -73630,7 +73630,7 @@
  CONFIG_CGROUP_CPUACCT=y
  # CONFIG_RESOURCE_COUNTERS is not set
  CONFIG_SYSFS_DEPRECATED=y
-@@ -237,6 +235,7 @@
+@@ -237,6 +235,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
  CONFIG_KEXEC=y
  # CONFIG_CRASH_DUMP is not set
@@ -73638,7 +73638,7 @@
  CONFIG_IRQ_ALL_CPUS=y
  CONFIG_NUMA=y
  CONFIG_NODES_SHIFT=4
-@@ -283,7 +282,7 @@
+@@ -283,7 +282,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
@@ -73647,7 +73647,7 @@
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  CONFIG_HOTPLUG_PCI=m
-@@ -1519,6 +1518,7 @@
+@@ -1519,6 +1518,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
@@ -87815,7 +87815,7 @@
 -# CONFIG_PPC_CLOCK is not set
 --- a/arch/powerpc/kernel/Makefile
 +++ b/arch/powerpc/kernel/Makefile
-@@ -67,6 +67,7 @@
+@@ -67,6 +67,7 @@ obj-$(CONFIG_BOOTX_TEXT)	+= btext.o
  obj-$(CONFIG_SMP)		+= smp.o
  obj-$(CONFIG_KPROBES)		+= kprobes.o
  obj-$(CONFIG_PPC_UDBG_16550)	+= legacy_serial.o udbg_16550.o
@@ -87844,7 +87844,7 @@
  
  #define DEFINE(sym, val) \
  	asm volatile("\n->" #sym " %0 " #val : : "i" (val))
-@@ -60,7 +61,6 @@
+@@ -60,7 +61,6 @@ int main(void)
  	DEFINE(AUDITCONTEXT, offsetof(struct task_struct, audit_context));
  #else
  	DEFINE(THREAD_INFO, offsetof(struct task_struct, stack));
@@ -87852,7 +87852,7 @@
  #endif /* CONFIG_PPC64 */
  
  	DEFINE(KSP, offsetof(struct thread_struct, ksp));
-@@ -80,7 +80,6 @@
+@@ -80,7 +80,6 @@ int main(void)
  	DEFINE(PGDIR, offsetof(struct thread_struct, pgdir));
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
  	DEFINE(THREAD_DBCR0, offsetof(struct thread_struct, dbcr0));
@@ -87860,7 +87860,7 @@
  #endif
  #ifdef CONFIG_SPE
  	DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0]));
-@@ -325,6 +324,9 @@
+@@ -325,6 +324,9 @@ int main(void)
  	DEFINE(PAGE_OFFSET_VSID, KERNEL_VSID(PAGE_OFFSET));
  	DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
  	DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
@@ -87900,7 +87900,7 @@
   * Benjamin Herrenschmidt <benh@kernel.crashing.org>
   *
   * This program is free software; you can redistribute it and/or
-@@ -32,6 +32,9 @@
+@@ -32,6 +32,9 @@ _GLOBAL(__setup_cpu_440grx)
  	bl	__fixup_440A_mcheck
  	mtlr	r4
  	blr
@@ -87912,7 +87912,7 @@
  	b	__fixup_440A_mcheck
 --- a/arch/powerpc/kernel/cputable.c
 +++ b/arch/powerpc/kernel/cputable.c
-@@ -36,6 +36,8 @@
+@@ -36,6 +36,8 @@ extern void __setup_cpu_440epx(unsigned 
  extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec);
@@ -87921,7 +87921,7 @@
  extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
-@@ -1397,6 +1399,30 @@
+@@ -1397,6 +1399,30 @@ static struct cpu_spec __initdata cpu_sp
  		.machine_check		= machine_check_440A,
  		.platform		= "ppc440",
  	},
@@ -87952,7 +87952,7 @@
  #endif /* CONFIG_44x */
  #ifdef CONFIG_FSL_BOOKE
  #ifdef CONFIG_E200
-@@ -1512,7 +1538,7 @@
+@@ -1512,7 +1538,7 @@ struct cpu_spec * __init identify_cpu(un
  				*t = *s;
  			*PTRRELOC(&cur_cpu_spec) = &the_cpu_spec;
  #if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE)
@@ -87993,7 +87993,7 @@
  
 --- a/arch/powerpc/kernel/entry_32.S
 +++ b/arch/powerpc/kernel/entry_32.S
-@@ -110,9 +110,9 @@
+@@ -110,9 +110,9 @@ transfer_to_handler:
  	stw	r11,PT_REGS(r12)
  #if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
  	/* Check to see if the dbcr0 register is set up to debug.  Use the
@@ -88005,7 +88005,7 @@
  	beq+	3f
  	/* From user and task is ptraced - load up global dbcr0 */
  	li	r12,-1			/* clear all pending debug events */
-@@ -120,6 +120,12 @@
+@@ -120,6 +120,12 @@ transfer_to_handler:
  	lis	r11,global_dbcr0@ha
  	tophys(r11,r11)
  	addi	r11,r11,global_dbcr0@l
@@ -88018,7 +88018,7 @@
  	lwz	r12,0(r11)
  	mtspr	SPRN_DBCR0,r12
  	lwz	r12,4(r11)
-@@ -238,10 +244,10 @@
+@@ -238,10 +244,10 @@ ret_from_syscall:
  	stw	r11,_CCR(r1)
  syscall_exit_cont:
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
@@ -88032,7 +88032,7 @@
  	bnel-	load_dbcr0
  #endif
  #ifdef CONFIG_44x
-@@ -666,10 +672,10 @@
+@@ -666,10 +672,10 @@ user_exc_return:		/* r10 contains MSR_KE
  
  restore_user:
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
@@ -88046,7 +88046,7 @@
  	bnel-	load_dbcr0
  #endif
  
-@@ -879,6 +885,12 @@
+@@ -879,6 +885,12 @@ load_dbcr0:
  	mfspr	r10,SPRN_DBCR0
  	lis	r11,global_dbcr0@ha
  	addi	r11,r11,global_dbcr0@l
@@ -88059,7 +88059,7 @@
  	stw	r10,0(r11)
  	mtspr	SPRN_DBCR0,r0
  	lwz	r10,4(r11)
-@@ -891,7 +903,7 @@
+@@ -891,7 +903,7 @@ load_dbcr0:
  	.section .bss
  	.align	4
  global_dbcr0:
@@ -88088,7 +88088,7 @@
  
  	.section	".text"
  	.align 7
-@@ -88,6 +90,14 @@
+@@ -88,6 +90,14 @@ system_call_common:
  	addi	r9,r1,STACK_FRAME_OVERHEAD
  	ld	r11,exception_marker@toc(r2)
  	std	r11,-16(r9)		/* "regshere" marker */
@@ -88103,7 +88103,7 @@
  	li	r10,1
  	stb	r10,PACASOFTIRQEN(r13)
  	stb	r10,PACAHARDIRQEN(r13)
-@@ -102,7 +112,7 @@
+@@ -102,7 +112,7 @@ BEGIN_FW_FTR_SECTION
  	b	hardware_interrupt_entry
  2:
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
@@ -88112,7 +88112,7 @@
  	mfmsr	r11
  	ori	r11,r11,MSR_EE
  	mtmsrd	r11,1
-@@ -504,6 +514,10 @@
+@@ -504,6 +514,10 @@ BEGIN_FW_FTR_SECTION
  
  	li	r3,0
  	stb	r3,PACASOFTIRQEN(r13)	/* ensure we are soft-disabled */
@@ -88123,7 +88123,7 @@
  	ori	r10,r10,MSR_EE
  	mtmsrd	r10			/* hard-enable again */
  	addi	r3,r1,STACK_FRAME_OVERHEAD
-@@ -512,7 +526,7 @@
+@@ -512,7 +526,7 @@ BEGIN_FW_FTR_SECTION
  4:
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
  #endif
@@ -88132,7 +88132,7 @@
  
  	/* extract EE bit and use it to restore paca->hard_enabled */
  	ld	r3,_MSR(r1)
-@@ -580,6 +594,16 @@
+@@ -580,6 +594,16 @@ do_work:
  	bne	restore
  	/* here we are preempting the current task */
  1:
@@ -88159,7 +88159,7 @@
  
  /* 601 only have IBAT; cr0.eq is set on 601 when using this macro */
  #define LOAD_BAT(n, reg, RA, RB)	\
-@@ -268,8 +269,8 @@
+@@ -268,8 +269,8 @@ __secondary_hold_acknowledge:
  	li	r10,MSR_KERNEL & ~(MSR_IR|MSR_DR); /* can take exceptions */ \
  	MTMSRD(r10);			/* (except for mach check in rtas) */ \
  	stw	r0,GPR0(r11);	\
@@ -88170,7 +88170,7 @@
  	stw	r10,8(r11);	\
  	SAVE_4GPRS(3, r11);	\
  	SAVE_2GPRS(7, r11)
-@@ -763,23 +764,6 @@
+@@ -763,23 +764,6 @@ load_up_altivec:
  	b	fast_exception_return
  
  /*
@@ -88196,7 +88196,7 @@
   * and save the AltiVec registers in its thread_struct.
 --- a/arch/powerpc/kernel/head_44x.S
 +++ b/arch/powerpc/kernel/head_44x.S
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ skpinv:	addi	r4,r4,1				/* Increment */
  	SET_IVOR(12, WatchdogTimer);
  	SET_IVOR(13, DataTLBError);
  	SET_IVOR(14, InstructionTLBError);
@@ -88205,7 +88205,7 @@
  
  	/* Establish the interrupt vector base */
  	lis	r4,interrupt_base@h	/* IVPR only uses the high 16-bits */
-@@ -578,7 +578,7 @@
+@@ -578,7 +578,7 @@ interrupt_base:
  	b	InstructionStorage
  
  	/* Debug Interrupt */
@@ -88226,7 +88226,7 @@
  
  /*
   * We layout physical memory as follows:
-@@ -450,8 +449,8 @@
+@@ -450,8 +449,8 @@ bad_stack:
   */
  fast_exc_return_irq:			/* restores irq state too */
  	ld	r3,SOFTE(r1)
@@ -88236,7 +88236,7 @@
  	rldicl	r4,r12,49,63		/* get MSR_EE to LSB */
  	stb	r4,PACAHARDIRQEN(r13)	/* restore paca->hard_enabled */
  	b	1f
-@@ -621,7 +620,7 @@
+@@ -621,7 +620,7 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
  	mtlr	r10
  
  	andi.	r10,r12,MSR_RI	/* check for unrecoverable exception */
@@ -88245,7 +88245,7 @@
  
  .machine	push
  .machine	"power4"
-@@ -643,6 +642,22 @@
+@@ -643,6 +642,22 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
  	rfid
  	b	.	/* prevent speculative execution */
  
@@ -88268,7 +88268,7 @@
  unrecov_slb:
  	EXCEPTION_PROLOG_COMMON(0x4100, PACA_EXSLB)
  	DISABLE_INTS
-@@ -808,7 +823,7 @@
+@@ -808,7 +823,7 @@ _STATIC(load_up_altivec)
   * Hash table stuff
   */
  	.align	7
@@ -88277,7 +88277,7 @@
  	std	r3,_DAR(r1)
  	std	r4,_DSISR(r1)
  
-@@ -820,6 +835,27 @@
+@@ -820,6 +835,27 @@ BEGIN_FTR_SECTION
  END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
  
  	/*
@@ -88305,7 +88305,7 @@
  	 * We need to set the _PAGE_USER bit if MSR_PR is set or if we are
  	 * accessing a userspace segment (even from the kernel). We assume
  	 * kernel addresses always have the high bit set.
-@@ -832,13 +868,6 @@
+@@ -832,13 +868,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
  	rlwimi	r4,r5,22+2,31-2,31-2	/* Set _PAGE_EXEC if trap is 0x400 */
  
  	/*
@@ -88319,7 +88319,7 @@
  	 * r3 contains the faulting address
  	 * r4 contains the required access permissions
  	 * r5 contains the trap number
-@@ -848,7 +877,6 @@
+@@ -848,7 +877,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
  	bl	.hash_page		/* build HPTE if possible */
  	cmpdi	r3,0			/* see if hash_page succeeded */
  
@@ -88327,7 +88327,7 @@
  BEGIN_FW_FTR_SECTION
  	/*
  	 * If we had interrupts soft-enabled at the point where the
-@@ -860,7 +888,7 @@
+@@ -860,7 +888,7 @@ BEGIN_FW_FTR_SECTION
  	 */
  	beq	13f
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
@@ -88336,7 +88336,7 @@
  BEGIN_FW_FTR_SECTION
  	/*
  	 * Here we have interrupts hard-disabled, so it is sufficient
-@@ -874,11 +902,12 @@
+@@ -874,11 +902,12 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISER
  
  	/*
  	 * hash_page couldn't handle it, set soft interrupt enable back
@@ -88351,7 +88351,7 @@
  	b	11f
  
  /* Here we have a page fault that hash_page can't handle. */
-@@ -1477,6 +1506,10 @@
+@@ -1477,6 +1506,10 @@ _INIT_STATIC(start_here_multiplatform)
  	addi	r2,r2,0x4000
  	add	r2,r2,r26
  
@@ -88362,7 +88362,7 @@
  	/* Do very early kernel initializations, including initial hash table,
  	 * stab and slb setup before we turn on relocation.	*/
  
-@@ -1505,10 +1538,6 @@
+@@ -1505,10 +1538,6 @@ _INIT_GLOBAL(start_here_common)
  	li	r0,0
  	stdu	r0,-STACK_FRAME_OVERHEAD(r1)
  
@@ -88403,7 +88403,7 @@
  #define DEBUG_SPRG		SPRN_SPRG6W
  
  #ifdef CONFIG_SMP
-@@ -212,9 +221,8 @@
+@@ -212,9 +221,8 @@ label:
   * save (and later restore) the MSR via SPRN_CSRR1, which will still have
   * the MSR_DE bit set.
   */
@@ -88415,7 +88415,7 @@
  	DEBUG_EXCEPTION_PROLOG;						      \
  									      \
  	/*								      \
-@@ -234,8 +242,8 @@
+@@ -234,8 +242,8 @@ label:
  	cmplw	r12,r10;						      \
  	blt+	2f;			/* addr below exception vectors */    \
  									      \
@@ -88426,7 +88426,7 @@
  	cmplw	r12,r10;						      \
  	bgt+	2f;			/* addr above exception vectors */    \
  									      \
-@@ -265,9 +273,9 @@
+@@ -265,9 +273,9 @@ label:
  2:	mfspr	r4,SPRN_DBSR;						      \
  	addi	r3,r1,STACK_FRAME_OVERHEAD;				      \
  	EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, debug_transfer_to_handler, ret_from_debug_exc)
@@ -88439,7 +88439,7 @@
  	CRITICAL_EXCEPTION_PROLOG;					      \
  									      \
  	/*								      \
-@@ -287,8 +295,8 @@
+@@ -287,8 +295,8 @@ label:
  	cmplw	r12,r10;						      \
  	blt+	2f;			/* addr below exception vectors */    \
  									      \
@@ -88450,7 +88450,7 @@
  	cmplw	r12,r10;						      \
  	bgt+	2f;			/* addr above exception vectors */    \
  									      \
-@@ -318,7 +326,6 @@
+@@ -318,7 +326,6 @@ label:
  2:	mfspr	r4,SPRN_DBSR;						      \
  	addi	r3,r1,STACK_FRAME_OVERHEAD;				      \
  	EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, crit_transfer_to_handler, ret_from_crit_exc)
@@ -88460,7 +88460,7 @@
  	START_EXCEPTION(InstructionStorage)				      \
 --- a/arch/powerpc/kernel/head_fsl_booke.S
 +++ b/arch/powerpc/kernel/head_fsl_booke.S
-@@ -68,7 +68,9 @@
+@@ -68,7 +68,9 @@ _ENTRY(_start);
  	mr	r29,r5
  	mr	r28,r6
  	mr	r27,r7
@@ -88470,7 +88470,7 @@
  
  /* We try to not make any assumptions about how the boot loader
   * setup or used the TLBs.  We invalidate all mappings from the
-@@ -167,7 +169,28 @@
+@@ -167,7 +169,28 @@ skpinv:	addi	r6,r6,1				/* Increment */
  	mtspr	SPRN_MAS0,r7
  	tlbre
  
@@ -88500,7 +88500,7 @@
  	lis	r7,0x1000	/* Set MAS0(TLBSEL) = 1 */
  	rlwimi	r7,r5,16,4,15	/* Setup MAS0 = TLBSEL | ESEL(r5) */
  	mtspr	SPRN_MAS0,r7
-@@ -177,12 +200,10 @@
+@@ -177,12 +200,10 @@ skpinv:	addi	r6,r6,1				/* Increment */
  	ori	r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
  	mtspr	SPRN_MAS1,r6
  	mfspr	r6,SPRN_MAS2
@@ -88515,7 +88515,7 @@
  	tlbwe
  
  	xori	r6,r4,1
-@@ -232,8 +253,7 @@
+@@ -232,8 +253,7 @@ skpinv:	addi	r6,r6,1				/* Increment */
  	ori	r6,r6,PAGE_OFFSET@l
  	rlwimi	r6,r7,0,20,31
  	mtspr	SPRN_MAS2,r6
@@ -88525,7 +88525,7 @@
  	tlbwe
  
  /* 7. Jump to KERNELBASE mapping */
-@@ -283,7 +303,10 @@
+@@ -283,7 +303,10 @@ skpinv:	addi	r6,r6,1				/* Increment */
  	SET_IVOR(12, WatchdogTimer);
  	SET_IVOR(13, DataTLBError);
  	SET_IVOR(14, InstructionTLBError);
@@ -88537,7 +88537,7 @@
  	SET_IVOR(32, SPEUnavailable);
  	SET_IVOR(33, SPEFloatingPointData);
  	SET_IVOR(34, SPEFloatingPointRound);
-@@ -718,7 +741,10 @@
+@@ -718,7 +741,10 @@ interrupt_base:
  
  
  	/* Debug Interrupt */
@@ -88551,7 +88551,7 @@
   * Local functions
 --- a/arch/powerpc/kernel/ibmebus.c
 +++ b/arch/powerpc/kernel/ibmebus.c
-@@ -183,7 +183,7 @@
+@@ -183,7 +183,7 @@ static int ibmebus_create_devices(const 
  		ret = ibmebus_create_device(child);
  		if (ret) {
  			printk(KERN_ERR "%s: failed to create device (%i)",
@@ -88560,7 +88560,7 @@
  			of_node_put(child);
  			break;
  		}
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ static ssize_t ibmebus_store_probe(struc
  	if (bus_find_device(&ibmebus_bus_type, NULL, path,
  			    ibmebus_match_path)) {
  		printk(KERN_WARNING "%s: %s has already been probed\n",
@@ -88569,7 +88569,7 @@
  		rc = -EEXIST;
  		goto out;
  	}
-@@ -279,7 +279,7 @@
+@@ -279,7 +279,7 @@ static ssize_t ibmebus_store_probe(struc
  		of_node_put(dn);
  	} else {
  		printk(KERN_WARNING "%s: no such device node: %s\n",
@@ -88578,7 +88578,7 @@
  		rc = -ENODEV;
  	}
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ static ssize_t ibmebus_store_remove(stru
  		return count;
  	} else {
  		printk(KERN_WARNING "%s: %s not on the bus\n",
@@ -88587,7 +88587,7 @@
  
  		kfree(path);
  		return -ENODEV;
-@@ -337,14 +337,14 @@
+@@ -337,14 +337,14 @@ static int __init ibmebus_bus_init(void)
  	err = of_bus_type_init(&ibmebus_bus_type, "ibmebus");
  	if (err) {
  		printk(KERN_ERR "%s: failed to register IBM eBus.\n",
@@ -88606,7 +88606,7 @@
  		return err;
 --- a/arch/powerpc/kernel/iommu.c
 +++ b/arch/powerpc/kernel/iommu.c
-@@ -520,7 +520,7 @@
+@@ -520,7 +520,7 @@ void iommu_free_table(struct iommu_table
  	unsigned int order;
  
  	if (!tbl || !tbl->it_map) {
@@ -88615,7 +88615,7 @@
  				node_name);
  		return;
  	}
-@@ -530,7 +530,7 @@
+@@ -530,7 +530,7 @@ void iommu_free_table(struct iommu_table
  	for (i = 0; i < (tbl->it_size/64); i++) {
  		if (tbl->it_map[i] != 0) {
  			printk(KERN_WARNING "%s: Unexpected TCEs for %s\n",
@@ -88626,7 +88626,7 @@
  	}
 --- a/arch/powerpc/kernel/irq.c
 +++ b/arch/powerpc/kernel/irq.c
-@@ -114,7 +114,7 @@
+@@ -114,7 +114,7 @@ static inline void set_soft_enabled(unsi
  	: : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled)));
  }
  
@@ -88635,7 +88635,7 @@
  {
  	/*
  	 * get_paca()->soft_enabled = en;
-@@ -174,6 +174,7 @@
+@@ -174,6 +174,7 @@ void local_irq_restore(unsigned long en)
  
  	__hard_irq_enable();
  }
@@ -88643,7 +88643,7 @@
  #endif /* CONFIG_PPC64 */
  
  int show_interrupts(struct seq_file *p, void *v)
-@@ -310,8 +311,21 @@
+@@ -310,8 +311,21 @@ void do_IRQ(struct pt_regs *regs)
  				handler = &__do_IRQ;
  			irqtp->task = curtp->task;
  			irqtp->flags = 0;
@@ -88665,7 +88665,7 @@
  			if (irqtp->flags)
  				set_bits(irqtp->flags, &curtp->flags);
  		} else
-@@ -357,7 +371,7 @@
+@@ -357,7 +371,7 @@ void irq_ctx_init(void)
  		memset((void *)softirq_ctx[i], 0, THREAD_SIZE);
  		tp = softirq_ctx[i];
  		tp->cpu = i;
@@ -88676,7 +88676,7 @@
  		tp = hardirq_ctx[i];
 --- a/arch/powerpc/kernel/isa-bridge.c
 +++ b/arch/powerpc/kernel/isa-bridge.c
-@@ -80,13 +80,13 @@
+@@ -80,13 +80,13 @@ static void __devinit pci_process_ISA_OF
  	 *			(size depending on dev->n_addr_cells)
  	 *   cell 5:		the size of the range
  	 */
@@ -88692,7 +88692,7 @@
  		goto inval_range;
  
  	isa_addr = range->isa_addr.a_lo;
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ static void __devinit pci_process_ISA_OF
  	 */
  	if ((pci_addr != 0) || (isa_addr != 0)) {
  		printk(KERN_ERR "unexpected isa to pci mapping: %s\n",
@@ -88703,7 +88703,7 @@
  
 --- a/arch/powerpc/kernel/lparcfg.c
 +++ b/arch/powerpc/kernel/lparcfg.c
-@@ -226,7 +226,7 @@
+@@ -226,7 +226,7 @@ static void parse_system_parameter_strin
  	unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
  	if (!local_buffer) {
  		printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
@@ -88712,7 +88712,7 @@
  		return;
  	}
  
-@@ -243,14 +243,14 @@
+@@ -243,14 +243,14 @@ static void parse_system_parameter_strin
  	if (call_status != 0) {
  		printk(KERN_INFO
  		       "%s %s Error calling get-system-parameter (0x%x)\n",
@@ -88729,7 +88729,7 @@
  			kfree(local_buffer);
  			return;
  		}
-@@ -484,10 +484,10 @@
+@@ -484,10 +484,10 @@ static ssize_t lparcfg_write(struct file
  	current_weight = (resource >> 5 * 8) & 0xFF;
  
  	pr_debug("%s: current_entitled = %lu, current_weight = %u\n",
@@ -88742,7 +88742,7 @@
  
  	retval = plpar_hcall_norets(H_SET_PPP, *new_entitled_ptr,
  				    *new_weight_ptr);
-@@ -502,7 +502,7 @@
+@@ -502,7 +502,7 @@ static ssize_t lparcfg_write(struct file
  		retval = -EINVAL;
  	} else {
  		printk(KERN_WARNING "%s: received unknown hv return code %ld",
@@ -88793,7 +88793,7 @@
   */
  struct lppaca lppaca[] = {
  	[0 ... (NR_CPUS-1)] = {
-@@ -66,32 +65,17 @@
+@@ -66,32 +65,17 @@ struct slb_shadow slb_shadow[] __cacheli
   * processors.  The processor VPD array needs one entry per physical
   * processor (not thread).
   */
@@ -88843,7 +88843,7 @@
  #ifdef CONFIG_PPC32
  extern void transfer_to_handler(void);
  extern void do_IRQ(struct pt_regs *regs);
-@@ -58,7 +54,6 @@
+@@ -58,7 +54,6 @@ extern void program_check_exception(stru
  extern void single_step_exception(struct pt_regs *regs);
  extern int sys_sigreturn(struct pt_regs *regs);
  
@@ -88851,7 +88851,7 @@
  EXPORT_SYMBOL(clear_pages);
  EXPORT_SYMBOL(copy_page);
  EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
-@@ -79,6 +74,7 @@
+@@ -79,6 +74,7 @@ EXPORT_SYMBOL(strncpy);
  EXPORT_SYMBOL(strcat);
  EXPORT_SYMBOL(strlen);
  EXPORT_SYMBOL(strcmp);
@@ -88859,14 +88859,14 @@
  
  EXPORT_SYMBOL(csum_partial);
  EXPORT_SYMBOL(csum_partial_copy_generic);
-@@ -192,3 +188,4 @@
+@@ -192,3 +188,4 @@ EXPORT_SYMBOL(intercept_table);
  EXPORT_SYMBOL(__mtdcr);
  EXPORT_SYMBOL(__mfdcr);
  #endif
 +EXPORT_SYMBOL(empty_zero_page);
 --- a/arch/powerpc/kernel/process.c
 +++ b/arch/powerpc/kernel/process.c
-@@ -868,11 +868,6 @@
+@@ -868,11 +868,6 @@ int sys_execve(unsigned long a0, unsigne
  	flush_spe_to_thread(current);
  	error = do_execve(filename, (char __user * __user *) a1,
  			  (char __user * __user *) a2, regs);
@@ -88878,7 +88878,7 @@
  	putname(filename);
  out:
  	return error;
-@@ -919,20 +914,6 @@
+@@ -919,20 +914,6 @@ int validate_sp(unsigned long sp, struct
  	return valid_irq_stack(sp, p, nbytes);
  }
  
@@ -88899,7 +88899,7 @@
  EXPORT_SYMBOL(validate_sp);
  
  unsigned long get_wchan(struct task_struct *p)
-@@ -944,15 +925,15 @@
+@@ -944,15 +925,15 @@ unsigned long get_wchan(struct task_stru
  		return 0;
  
  	sp = p->thread.ksp;
@@ -88918,7 +88918,7 @@
  			if (!in_sched_functions(ip))
  				return ip;
  		}
-@@ -981,12 +962,12 @@
+@@ -981,12 +962,12 @@ void show_stack(struct task_struct *tsk,
  	lr = 0;
  	printk("Call Trace:\n");
  	do {
@@ -88933,7 +88933,7 @@
  		if (!firstframe || ip != lr) {
  			printk("["REG"] ["REG"] ", sp, ip);
  			print_symbol("%s", ip);
-@@ -1000,8 +981,8 @@
+@@ -1000,8 +981,8 @@ void show_stack(struct task_struct *tsk,
  		 * See if this is an exception frame.
  		 * We look for the "regshere" marker in the current frame.
  		 */
@@ -88966,7 +88966,7 @@
  #include <asm/kexec.h>
  
  #ifdef DEBUG
-@@ -436,7 +437,7 @@
+@@ -436,7 +437,7 @@ early_param("mem", early_parse_mem);
   * The device tree may be allocated beyond our memory limit, or inside the
   * crash kernel region for kdump. If so, move it out of the way.
   */
@@ -88975,7 +88975,7 @@
  {
  	unsigned long start, size;
  	void *p;
-@@ -1040,6 +1041,87 @@
+@@ -1040,6 +1041,87 @@ static void __init early_reserve_mem(voi
  #endif
  }
  
@@ -89063,7 +89063,7 @@
  void __init early_init_devtree(void *params)
  {
  	DBG(" -> early_init_devtree(%p)\n", params);
-@@ -1052,6 +1134,11 @@
+@@ -1052,6 +1134,11 @@ void __init early_init_devtree(void *par
  	of_scan_flat_dt(early_init_dt_scan_rtas, NULL);
  #endif
  
@@ -89075,7 +89075,7 @@
  	/* Retrieve various informations from the /chosen node of the
  	 * device-tree, including the platform type, initrd location and
  	 * size, TCE reserve, and more ...
-@@ -1072,6 +1159,7 @@
+@@ -1072,6 +1159,7 @@ void __init early_init_devtree(void *par
  	reserve_kdump_trampoline();
  	reserve_crashkernel();
  	early_reserve_mem();
@@ -89083,7 +89083,7 @@
  
  	lmb_enforce_memory_limit(memory_limit);
  	lmb_analyze();
-@@ -1244,12 +1332,14 @@
+@@ -1244,12 +1332,14 @@ EXPORT_SYMBOL(of_node_put);
   */
  void of_attach_node(struct device_node *np)
  {
@@ -89100,7 +89100,7 @@
  }
  
  /*
-@@ -1260,8 +1350,9 @@
+@@ -1260,8 +1350,9 @@ void of_attach_node(struct device_node *
  void of_detach_node(struct device_node *np)
  {
  	struct device_node *parent;
@@ -89111,7 +89111,7 @@
  
  	parent = np->parent;
  	if (!parent)
-@@ -1292,7 +1383,7 @@
+@@ -1292,7 +1383,7 @@ void of_detach_node(struct device_node *
  	of_node_set_flag(np, OF_DETACHED);
  
  out_unlock:
@@ -89120,7 +89120,7 @@
  }
  
  #ifdef CONFIG_PPC_PSERIES
-@@ -1373,20 +1464,21 @@
+@@ -1373,20 +1464,21 @@ __initcall(prom_reconfig_setup);
  int prom_add_property(struct device_node* np, struct property* prop)
  {
  	struct property **next;
@@ -89145,7 +89145,7 @@
  
  #ifdef CONFIG_PROC_DEVICETREE
  	/* try to add to proc as well if it was initialized */
-@@ -1406,9 +1498,10 @@
+@@ -1406,9 +1498,10 @@ int prom_add_property(struct device_node
  int prom_remove_property(struct device_node *np, struct property *prop)
  {
  	struct property **next;
@@ -89157,7 +89157,7 @@
  	next = &np->properties;
  	while (*next) {
  		if (*next == prop) {
-@@ -1421,7 +1514,7 @@
+@@ -1421,7 +1514,7 @@ int prom_remove_property(struct device_n
  		}
  		next = &(*next)->next;
  	}
@@ -89166,7 +89166,7 @@
  
  	if (!found)
  		return -ENODEV;
-@@ -1447,9 +1540,10 @@
+@@ -1447,9 +1540,10 @@ int prom_update_property(struct device_n
  			 struct property *oldprop)
  {
  	struct property **next;
@@ -89178,7 +89178,7 @@
  	next = &np->properties;
  	while (*next) {
  		if (*next == oldprop) {
-@@ -1463,7 +1557,7 @@
+@@ -1463,7 +1557,7 @@ int prom_update_property(struct device_n
  		}
  		next = &(*next)->next;
  	}
@@ -89189,7 +89189,7 @@
  		return -ENODEV;
 --- a/arch/powerpc/kernel/prom_init.c
 +++ b/arch/powerpc/kernel/prom_init.c
-@@ -2240,6 +2240,14 @@
+@@ -2240,6 +2240,14 @@ static void __init fixup_device_tree_efi
  	if (rv != PROM_ERROR && (strcmp(prop, "chrp") == 0))
  		prom_setprop(node, "/", "device_type", "efika", sizeof("efika"));
  
@@ -89222,7 +89222,7 @@
  #include <asm/udbg.h>
  #include <asm/syscalls.h>
  #include <asm/smp.h>
-@@ -507,7 +507,7 @@
+@@ -507,7 +507,7 @@ int rtas_error_rc(int rtas_rc)
  			break;
  		default:
  			printk(KERN_ERR "%s: unexpected RTAS error %d\n",
@@ -89233,7 +89233,7 @@
  	}
 --- a/arch/powerpc/kernel/rtas_flash.c
 +++ b/arch/powerpc/kernel/rtas_flash.c
-@@ -807,7 +807,7 @@
+@@ -807,7 +807,7 @@ int __init rtas_flash_init(void)
  				rtas_block_ctor);
  	if (!flash_block_cache) {
  		printk(KERN_ERR "%s: failed to create block cache\n",
@@ -89244,7 +89244,7 @@
  	}
 --- a/arch/powerpc/kernel/rtas_pci.c
 +++ b/arch/powerpc/kernel/rtas_pci.c
-@@ -56,21 +56,6 @@
+@@ -56,21 +56,6 @@ static inline int config_access_valid(st
  	return 0;
  }
  
@@ -89266,7 +89266,7 @@
  int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
  {
  	int returnval = -1;
-@@ -117,7 +102,7 @@
+@@ -117,7 +102,7 @@ static int rtas_pci_read_config(struct p
  	for (dn = busdn->child; dn; dn = dn->sibling) {
  		struct pci_dn *pdn = PCI_DN(dn);
  		if (pdn && pdn->devfn == devfn
@@ -89275,7 +89275,7 @@
  			return rtas_read_config(pdn, where, size, val);
  	}
  
-@@ -164,7 +149,7 @@
+@@ -164,7 +149,7 @@ static int rtas_pci_write_config(struct 
  	for (dn = busdn->child; dn; dn = dn->sibling) {
  		struct pci_dn *pdn = PCI_DN(dn);
  		if (pdn && pdn->devfn == devfn
@@ -89284,7 +89284,7 @@
  			return rtas_write_config(pdn, where, size, val);
  	}
  	return PCIBIOS_DEVICE_NOT_FOUND;
-@@ -326,7 +311,7 @@
+@@ -326,7 +311,7 @@ int pcibios_remove_root_bus(struct pci_c
  
  	res = b->resource[0];
  	if (!res->flags) {
@@ -89293,7 +89293,7 @@
  				b->name);
  		return 1;
  	}
-@@ -334,13 +319,13 @@
+@@ -334,13 +319,13 @@ int pcibios_remove_root_bus(struct pci_c
  	rc = pcibios_unmap_io_space(b);
  	if (rc) {
  		printk(KERN_ERR "%s: failed to unmap IO on bus %s\n",
@@ -89309,7 +89309,7 @@
  		return 1;
  	}
  
-@@ -348,13 +333,13 @@
+@@ -348,13 +333,13 @@ int pcibios_remove_root_bus(struct pci_c
  		res = b->resource[i];
  		if (!res->flags && i == 0) {
  			printk(KERN_ERR "%s: no MEM resource for PHB %s\n",
@@ -89343,7 +89343,7 @@
  #include <asm/xmon.h>
  #include <asm/cputhreads.h>
  
-@@ -167,6 +167,8 @@
+@@ -167,6 +167,8 @@ static int show_cpuinfo(struct seq_file 
  	unsigned short min;
  
  	if (cpu_id == NR_CPUS) {
@@ -89352,7 +89352,7 @@
  #if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
  		unsigned long bogosum = 0;
  		int i;
-@@ -178,6 +180,13 @@
+@@ -178,6 +180,13 @@ static int show_cpuinfo(struct seq_file 
  		seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq);
  		if (ppc_md.name)
  			seq_printf(m, "platform\t: %s\n", ppc_md.name);
@@ -89368,7 +89368,7 @@
  
 --- a/arch/powerpc/kernel/setup_32.c
 +++ b/arch/powerpc/kernel/setup_32.c
-@@ -172,6 +172,18 @@
+@@ -172,6 +172,18 @@ int __init ppc_setup_l2cr(char *str)
  }
  __setup("l2cr=", ppc_setup_l2cr);
  
@@ -89387,7 +89387,7 @@
  #ifdef CONFIG_GENERIC_NVRAM
  
  /* Generic nvram hooks used by drivers/char/gen_nvram.c */
-@@ -277,7 +289,7 @@
+@@ -277,7 +289,7 @@ void __init setup_arch(char **cmdline_p)
  	if (ppc_md.panic)
  		setup_panic();
  
@@ -89415,7 +89415,7 @@
  #include <asm/firmware.h>
  #include <asm/xmon.h>
  #include <asm/udbg.h>
-@@ -178,6 +179,9 @@
+@@ -178,6 +179,9 @@ void __init early_setup(unsigned long dt
  	/* Enable early debugging if any specified (see udbg.h) */
  	udbg_early_init();
  
@@ -89425,7 +89425,7 @@
   	DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
  
  	/*
-@@ -510,7 +514,7 @@
+@@ -510,7 +514,7 @@ void __init setup_arch(char **cmdline_p)
  	if (ppc_md.panic)
  		setup_panic();
  
@@ -89486,7 +89486,7 @@
 +}
 --- a/arch/powerpc/kernel/sys_ppc32.c
 +++ b/arch/powerpc/kernel/sys_ppc32.c
-@@ -368,11 +368,6 @@
+@@ -368,11 +368,6 @@ long compat_sys_execve(unsigned long a0,
  
  	error = compat_do_execve(filename, compat_ptr(a1), compat_ptr(a2), regs);
  
@@ -89518,7 +89518,7 @@
  #include <asm/sections.h>
 --- a/arch/powerpc/kernel/vio.c
 +++ b/arch/powerpc/kernel/vio.c
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ static int vio_bus_remove(struct device 
   */
  int vio_register_driver(struct vio_driver *viodrv)
  {
@@ -89527,7 +89527,7 @@
  		viodrv->driver.name);
  
  	/* fill in 'struct driver' fields */
-@@ -184,7 +184,7 @@
+@@ -184,7 +184,7 @@ struct vio_dev *vio_register_device_node
  	/* we need the 'device_type' property, in order to match with drivers */
  	if (of_node->type == NULL) {
  		printk(KERN_WARNING "%s: node %s missing 'device_type'\n",
@@ -89536,7 +89536,7 @@
  				of_node->name ? of_node->name : "<unknown>");
  		return NULL;
  	}
-@@ -192,7 +192,7 @@
+@@ -192,7 +192,7 @@ struct vio_dev *vio_register_device_node
  	unit_address = of_get_property(of_node, "reg", NULL);
  	if (unit_address == NULL) {
  		printk(KERN_WARNING "%s: node %s missing 'reg'\n",
@@ -89545,7 +89545,7 @@
  				of_node->name ? of_node->name : "<unknown>");
  		return NULL;
  	}
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ struct vio_dev *vio_register_device_node
  	/* register with generic device framework */
  	if (device_register(&viodev->dev)) {
  		printk(KERN_ERR "%s: failed to register device %s\n",
@@ -89554,7 +89554,7 @@
  		/* XXX free TCE table */
  		kfree(viodev);
  		return NULL;
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ static int __init vio_bus_init(void)
  	err = device_register(&vio_bus_device.dev);
  	if (err) {
  		printk(KERN_WARNING "%s: device_register returned %i\n",
@@ -89578,7 +89578,7 @@
  #include <asm-generic/vmlinux.lds.h>
  #include <asm/cache.h>
  
-@@ -33,7 +31,7 @@
+@@ -33,7 +31,7 @@ SECTIONS
   */
  
  	/* Text and gots */
@@ -89587,7 +89587,7 @@
  		ALIGN_FUNCTION();
  		*(.text.head)
  		_text = .;
-@@ -58,7 +56,7 @@
+@@ -58,7 +56,7 @@ SECTIONS
  	RODATA
  
  	/* Exception & bug tables */
@@ -89596,7 +89596,7 @@
  		__start___ex_table = .;
  		*(__ex_table)
  		__stop___ex_table = .;
-@@ -74,7 +72,7 @@
+@@ -74,7 +72,7 @@ SECTIONS
  	. = ALIGN(PAGE_SIZE);
  	__init_begin = .;
  
@@ -89605,7 +89605,7 @@
  		_sinittext = .;
  		INIT_TEXT
  		_einittext = .;
-@@ -83,11 +81,11 @@
+@@ -83,11 +81,11 @@ SECTIONS
  	/* .exit.text is discarded at runtime, not link time,
  	 * to deal with references from __bug_table
  	 */
@@ -89619,7 +89619,7 @@
  		INIT_DATA
  		__vtop_table_begin = .;
  		*(.vtop_fixup);
-@@ -103,19 +101,19 @@
+@@ -103,19 +101,19 @@ SECTIONS
  	}
  
  	. = ALIGN(16);
@@ -89642,7 +89642,7 @@
  		__con_initcall_start = .;
  		*(.con_initcall.init)
  		__con_initcall_end = .;
-@@ -124,14 +122,14 @@
+@@ -124,14 +122,14 @@ SECTIONS
  	SECURITY_INIT
  
  	. = ALIGN(8);
@@ -89659,7 +89659,7 @@
  		__start___fw_ftr_fixup = .;
  		*(__fw_ftr_fixup)
  		__stop___fw_ftr_fixup = .;
-@@ -139,14 +137,14 @@
+@@ -139,14 +137,14 @@ SECTIONS
  #endif
  #ifdef CONFIG_BLK_DEV_INITRD
  	. = ALIGN(PAGE_SIZE);
@@ -89676,7 +89676,7 @@
  		__per_cpu_start = .;
  		*(.data.percpu)
  		*(.data.percpu.shared_aligned)
-@@ -154,7 +152,7 @@
+@@ -154,7 +152,7 @@ SECTIONS
  	}
  
  	. = ALIGN(8);
@@ -89685,7 +89685,7 @@
  		__machine_desc_start = . ;
  		*(.machine.desc)
  		__machine_desc_end = . ;
-@@ -172,25 +170,24 @@
+@@ -172,25 +170,24 @@ SECTIONS
  	_sdata = .;
  
  #ifdef CONFIG_PPC32
@@ -89715,7 +89715,7 @@
  		__toc_start = .;
  		*(.got)
  		*(.toc)
-@@ -207,26 +204,26 @@
+@@ -207,26 +204,26 @@ SECTIONS
  #else
  	. = ALIGN(16384);
  #endif
@@ -89747,7 +89747,7 @@
  		__nosave_begin = .;
  		*(.data.nosave)
  		. = ALIGN(PAGE_SIZE);
-@@ -237,7 +234,7 @@
+@@ -237,7 +234,7 @@ SECTIONS
   * And finally the bss
   */
  
@@ -89758,7 +89758,7 @@
  		*(.dynbss)
 --- a/arch/powerpc/lib/rheap.c
 +++ b/arch/powerpc/lib/rheap.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ static int grow(rh_info_t * info, int ma
  
  	new_blocks = max_blocks - info->max_blocks;
  
@@ -89767,7 +89767,7 @@
  	if (block == NULL)
  		return -ENOMEM;
  
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ rh_info_t *rh_create(unsigned int alignm
  	if ((alignment & (alignment - 1)) != 0)
  		return ERR_PTR(-EINVAL);
  
@@ -89778,7 +89778,7 @@
  
 --- a/arch/powerpc/lib/string.S
 +++ b/arch/powerpc/lib/string.S
-@@ -75,6 +75,20 @@
+@@ -75,6 +75,20 @@ _GLOBAL(strcmp)
  	beq	1b
  	blr
  
@@ -89801,7 +89801,7 @@
  1:	lbzu	r0,1(r4)
 --- a/arch/powerpc/math-emu/fabs.c
 +++ b/arch/powerpc/math-emu/fabs.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fabs(u32 *frD, u32 *frB)
  	frD[1] = frB[1];
  
  #ifdef DEBUG
@@ -89812,7 +89812,7 @@
  #endif
 --- a/arch/powerpc/math-emu/fadd.c
 +++ b/arch/powerpc/math-emu/fadd.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fadd(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89823,7 +89823,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fadds.c
 +++ b/arch/powerpc/math-emu/fadds.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fadds(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89834,7 +89834,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fcmpo.c
 +++ b/arch/powerpc/math-emu/fcmpo.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fcmpo(u32 *ccr, int crfD, void *frA, voi
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89845,7 +89845,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fcmpu.c
 +++ b/arch/powerpc/math-emu/fcmpu.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fcmpu(u32 *ccr, int crfD, void *frA, voi
  	long cmp;
  
  #ifdef DEBUG
@@ -89856,7 +89856,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fctiw.c
 +++ b/arch/powerpc/math-emu/fctiw.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fctiw(u32 *frD, void *frB)
  	frD[1] = r;
  
  #ifdef DEBUG
@@ -89867,7 +89867,7 @@
  #endif
 --- a/arch/powerpc/math-emu/fctiwz.c
 +++ b/arch/powerpc/math-emu/fctiwz.c
-@@ -23,7 +23,7 @@
+@@ -23,7 +23,7 @@ fctiwz(u32 *frD, void *frB)
  	__FPU_FPSCR = fpscr;
  
  #ifdef DEBUG
@@ -89878,7 +89878,7 @@
  #endif
 --- a/arch/powerpc/math-emu/fdiv.c
 +++ b/arch/powerpc/math-emu/fdiv.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fdiv(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89887,7 +89887,7 @@
  #endif
  
  	__FP_UNPACK_D(A, frA);
-@@ -28,13 +28,13 @@
+@@ -28,13 +28,13 @@ fdiv(void *frD, void *frA, void *frB)
  	if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
  		ret |= EFLAG_VXZDZ;
  #ifdef DEBUG
@@ -89905,7 +89905,7 @@
  
 --- a/arch/powerpc/math-emu/fdivs.c
 +++ b/arch/powerpc/math-emu/fdivs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fdivs(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89914,7 +89914,7 @@
  #endif
  
  	__FP_UNPACK_D(A, frA);
-@@ -29,13 +29,13 @@
+@@ -29,13 +29,13 @@ fdivs(void *frD, void *frA, void *frB)
  	if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
  		ret |= EFLAG_VXZDZ;
  #ifdef DEBUG
@@ -89932,7 +89932,7 @@
  
 --- a/arch/powerpc/math-emu/fmadd.c
 +++ b/arch/powerpc/math-emu/fmadd.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fmadd(void *frD, void *frA, void *frB, v
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89943,7 +89943,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmadds.c
 +++ b/arch/powerpc/math-emu/fmadds.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fmadds(void *frD, void *frA, void *frB, 
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89954,7 +89954,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmr.c
 +++ b/arch/powerpc/math-emu/fmr.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fmr(u32 *frD, u32 *frB)
  	frD[1] = frB[1];
  
  #ifdef DEBUG
@@ -89965,7 +89965,7 @@
  #endif
 --- a/arch/powerpc/math-emu/fmsub.c
 +++ b/arch/powerpc/math-emu/fmsub.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fmsub(void *frD, void *frA, void *frB, v
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89976,7 +89976,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmsubs.c
 +++ b/arch/powerpc/math-emu/fmsubs.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fmsubs(void *frD, void *frA, void *frB, 
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89987,7 +89987,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmul.c
 +++ b/arch/powerpc/math-emu/fmul.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fmul(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -89998,7 +89998,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmuls.c
 +++ b/arch/powerpc/math-emu/fmuls.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fmuls(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90009,7 +90009,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnabs.c
 +++ b/arch/powerpc/math-emu/fnabs.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fnabs(u32 *frD, u32 *frB)
  	frD[1] = frB[1];
  
  #ifdef DEBUG
@@ -90020,7 +90020,7 @@
  #endif
 --- a/arch/powerpc/math-emu/fneg.c
 +++ b/arch/powerpc/math-emu/fneg.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fneg(u32 *frD, u32 *frB)
  	frD[1] = frB[1];
  
  #ifdef DEBUG
@@ -90031,7 +90031,7 @@
  #endif
 --- a/arch/powerpc/math-emu/fnmadd.c
 +++ b/arch/powerpc/math-emu/fnmadd.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fnmadd(void *frD, void *frA, void *frB, 
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90042,7 +90042,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmadds.c
 +++ b/arch/powerpc/math-emu/fnmadds.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fnmadds(void *frD, void *frA, void *frB,
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90053,7 +90053,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmsub.c
 +++ b/arch/powerpc/math-emu/fnmsub.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fnmsub(void *frD, void *frA, void *frB, 
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90064,7 +90064,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmsubs.c
 +++ b/arch/powerpc/math-emu/fnmsubs.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fnmsubs(void *frD, void *frA, void *frB,
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90075,7 +90075,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fres.c
 +++ b/arch/powerpc/math-emu/fres.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
  fres(void *frD, void *frB)
  {
  #ifdef DEBUG
@@ -90086,7 +90086,7 @@
  }
 --- a/arch/powerpc/math-emu/frsp.c
 +++ b/arch/powerpc/math-emu/frsp.c
-@@ -12,7 +12,7 @@
+@@ -12,7 +12,7 @@ frsp(void *frD, void *frB)
  	FP_DECL_D(B);
  
  #ifdef DEBUG
@@ -90097,7 +90097,7 @@
  	__FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/frsqrte.c
 +++ b/arch/powerpc/math-emu/frsqrte.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
  frsqrte(void *frD, void *frB)
  {
  #ifdef DEBUG
@@ -90108,7 +90108,7 @@
  }
 --- a/arch/powerpc/math-emu/fsel.c
 +++ b/arch/powerpc/math-emu/fsel.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ fsel(u32 *frD, void *frA, u32 *frB, u32 
  	FP_DECL_D(A);
  
  #ifdef DEBUG
@@ -90119,7 +90119,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fsqrt.c
 +++ b/arch/powerpc/math-emu/fsqrt.c
-@@ -13,7 +13,7 @@
+@@ -13,7 +13,7 @@ fsqrt(void *frD, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90130,7 +90130,7 @@
  	__FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/fsqrts.c
 +++ b/arch/powerpc/math-emu/fsqrts.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fsqrts(void *frD, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90141,7 +90141,7 @@
  	__FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/fsub.c
 +++ b/arch/powerpc/math-emu/fsub.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fsub(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90152,7 +90152,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fsubs.c
 +++ b/arch/powerpc/math-emu/fsubs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fsubs(void *frD, void *frA, void *frB)
  	int ret = 0;
  
  #ifdef DEBUG
@@ -90163,7 +90163,7 @@
  	__FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/lfd.c
 +++ b/arch/powerpc/math-emu/lfd.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ lfd(void *frD, void *ea)
  	if (copy_from_user(frD, ea, sizeof(double)))
  		return -EFAULT;
  #ifdef DEBUG
@@ -90174,7 +90174,7 @@
  #endif
 --- a/arch/powerpc/math-emu/lfs.c
 +++ b/arch/powerpc/math-emu/lfs.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lfs(void *frD, void *ea)
  	float f;
  
  #ifdef DEBUG
@@ -90185,7 +90185,7 @@
  	if (copy_from_user(&f, ea, sizeof(float)))
 --- a/arch/powerpc/math-emu/mcrfs.c
 +++ b/arch/powerpc/math-emu/mcrfs.c
-@@ -10,7 +10,7 @@
+@@ -10,7 +10,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
  	u32 value, clear;
  
  #ifdef DEBUG
@@ -90194,7 +90194,7 @@
  #endif
  
  	clear = 15 << ((7 - crfS) << 2);
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
  	*ccr |= (value << ((7 - crfD) << 2));
  
  #ifdef DEBUG
@@ -90205,7 +90205,7 @@
  	return 0;
 --- a/arch/powerpc/math-emu/mffs.c
 +++ b/arch/powerpc/math-emu/mffs.c
-@@ -10,7 +10,7 @@
+@@ -10,7 +10,7 @@ mffs(u32 *frD)
  	frD[1] = __FPU_FPSCR;
  
  #ifdef DEBUG
@@ -90216,7 +90216,7 @@
  	return 0;
 --- a/arch/powerpc/math-emu/mtfsb0.c
 +++ b/arch/powerpc/math-emu/mtfsb0.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ mtfsb0(int crbD)
  		__FPU_FPSCR &= ~(1 << (31 - crbD));
  
  #ifdef DEBUG
@@ -90227,7 +90227,7 @@
  	return 0;
 --- a/arch/powerpc/math-emu/mtfsb1.c
 +++ b/arch/powerpc/math-emu/mtfsb1.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ mtfsb1(int crbD)
  		__FPU_FPSCR |= (1 << (31 - crbD));
  
  #ifdef DEBUG
@@ -90238,7 +90238,7 @@
  	return 0;
 --- a/arch/powerpc/math-emu/mtfsf.c
 +++ b/arch/powerpc/math-emu/mtfsf.c
-@@ -38,7 +38,7 @@
+@@ -38,7 +38,7 @@ mtfsf(unsigned int FM, u32 *frB)
  	__FPU_FPSCR |= (frB[1] & mask);
  
  #ifdef DEBUG
@@ -90249,7 +90249,7 @@
  	return 0;
 --- a/arch/powerpc/math-emu/mtfsfi.c
 +++ b/arch/powerpc/math-emu/mtfsfi.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ mtfsfi(unsigned int crfD, unsigned int I
  	__FPU_FPSCR |= (IMM & 0xf) << ((7 - crfD) << 2);
  
  #ifdef DEBUG
@@ -90260,7 +90260,7 @@
  	return 0;
 --- a/arch/powerpc/math-emu/stfd.c
 +++ b/arch/powerpc/math-emu/stfd.c
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,7 @@ stfd(void *frS, void *ea)
  {
  #if 0
  #ifdef DEBUG
@@ -90271,7 +90271,7 @@
  #endif
 --- a/arch/powerpc/math-emu/stfiwx.c
 +++ b/arch/powerpc/math-emu/stfiwx.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
  stfiwx(u32 *frS, void *ea)
  {
  #ifdef DEBUG
@@ -90282,7 +90282,7 @@
  	if (copy_to_user(ea, &frS[1], sizeof(frS[1])))
 --- a/arch/powerpc/math-emu/stfs.c
 +++ b/arch/powerpc/math-emu/stfs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ stfs(void *frS, void *ea)
  	int err;
  
  #ifdef DEBUG
@@ -90293,7 +90293,7 @@
  	__FP_UNPACK_D(A, frS);
 --- a/arch/powerpc/mm/40x_mmu.c
 +++ b/arch/powerpc/mm/40x_mmu.c
-@@ -97,7 +97,7 @@
+@@ -97,7 +97,7 @@ unsigned long __init mmu_mapin_ram(void)
  	phys_addr_t p;
  
  	v = KERNELBASE;
@@ -90304,7 +90304,7 @@
  	if (__map_without_ltlbs)
 --- a/arch/powerpc/mm/44x_mmu.c
 +++ b/arch/powerpc/mm/44x_mmu.c
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ unsigned long __init mmu_mapin_ram(void)
  
  	/* Pin in enough TLBs to cover any lowmem not covered by the
  	 * initial 256M mapping established in head_44x.S */
@@ -90315,7 +90315,7 @@
  
 --- a/arch/powerpc/mm/Makefile
 +++ b/arch/powerpc/mm/Makefile
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ ifeq ($(CONFIG_PPC64),y)
  EXTRA_CFLAGS	+= -mno-minimal-toc
  endif
  
@@ -90347,7 +90347,7 @@
  
  #define NUM_TLBCAMS	(16)
  
-@@ -165,15 +162,15 @@
+@@ -165,15 +162,15 @@ void invalidate_tlbcam_entry(int index)
  void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1,
  		unsigned long cam2)
  {
@@ -90366,7 +90366,7 @@
  	}
  }
  
-@@ -196,35 +193,32 @@
+@@ -196,35 +193,32 @@ unsigned long __init mmu_mapin_ram(void)
  void __init
  adjust_total_lowmem(void)
  {
@@ -90418,7 +90418,7 @@
  		ram -= __cam2;
  	}
  
-@@ -232,6 +226,6 @@
+@@ -232,6 +226,6 @@ adjust_total_lowmem(void)
  			" CAM2=%ldMb residual: %ldMb\n",
  			__cam0 >> 20, __cam1 >> 20, __cam2 >> 20,
  			(total_lowmem - __cam0 - __cam1 - __cam2) >> 20);
@@ -90446,7 +90446,7 @@
  #include <asm/abs_addr.h>
  #include <asm/tlbflush.h>
  #include <asm/io.h>
-@@ -191,6 +192,29 @@
+@@ -191,6 +192,29 @@ int htab_bolt_mapping(unsigned long vsta
  	return ret < 0 ? ret : 0;
  }
  
@@ -90476,7 +90476,7 @@
  static int __init htab_dt_scan_seg_sizes(unsigned long node,
  					 const char *uname, int depth,
  					 void *data)
-@@ -434,6 +458,12 @@
+@@ -434,6 +458,12 @@ void create_section_mapping(unsigned lon
  			_PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX,
  			mmu_linear_psize, mmu_kernel_ssize));
  }
@@ -90507,7 +90507,7 @@
  #include <asm/sections.h>
  
  #include "mmu_decl.h"
-@@ -59,8 +59,8 @@
+@@ -59,8 +59,8 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_ga
  unsigned long total_memory;
  unsigned long total_lowmem;
  
@@ -90518,7 +90518,7 @@
  
  int boot_mapsize;
  #ifdef CONFIG_PPC_PMAC
-@@ -95,10 +95,10 @@
+@@ -95,10 +95,10 @@ int __map_without_ltlbs;
  unsigned long __max_low_memory = MAX_LOW_MEM;
  
  /*
@@ -90531,7 +90531,7 @@
  
  /*
   * Check for command-line options that affect what MMU_init will do.
-@@ -131,10 +131,10 @@
+@@ -131,10 +131,10 @@ void __init MMU_init(void)
  
  	/* 601 can only access 16MB at the moment */
  	if (PVR_VER(mfspr(SPRN_PVR)) == 1)
@@ -90544,7 +90544,7 @@
  
  	/* parse args from command line */
  	MMU_setup();
-@@ -145,8 +145,8 @@
+@@ -145,8 +145,8 @@ void __init MMU_init(void)
  		printk(KERN_WARNING "Only using first contiguous memory region");
  	}
  
@@ -90555,7 +90555,7 @@
  
  #ifdef CONFIG_FSL_BOOKE
  	/* Freescale Book-E parts expect lowmem to be mapped by fixed TLB
-@@ -157,9 +157,10 @@
+@@ -157,9 +157,10 @@ void __init MMU_init(void)
  
  	if (total_lowmem > __max_low_memory) {
  		total_lowmem = __max_low_memory;
@@ -90567,7 +90567,7 @@
  		lmb_analyze();
  #endif /* CONFIG_HIGHMEM */
  	}
-@@ -184,8 +185,6 @@
+@@ -184,8 +185,6 @@ void __init MMU_init(void)
  	/* Map in I/O resources */
  	if (ppc_md.progress)
  		ppc_md.progress("MMU:setio", 0x302);
@@ -90576,7 +90576,7 @@
  
  	/* Initialize the context management stuff */
  	mmu_context_init();
-@@ -208,7 +207,7 @@
+@@ -208,7 +207,7 @@ void __init *early_get_page(void)
  		p = alloc_bootmem_pages(PAGE_SIZE);
  	} else {
  		p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE,
@@ -90585,7 +90585,7 @@
  	}
  	return p;
  }
-@@ -276,7 +275,7 @@
+@@ -276,7 +275,7 @@ static int __init setup_kcore(void)
  
  		kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
  		if (!kcore_mem)
@@ -90619,7 +90619,7 @@
  
  void free_initmem(void)
  {
-@@ -122,7 +121,7 @@
+@@ -122,7 +121,7 @@ static int __init setup_kcore(void)
  		/* GFP_ATOMIC to avoid might_sleep warnings during boot */
  		kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
  		if (!kcore_mem)
@@ -91006,7 +91006,7 @@
  #include <asm/sections.h>
  #include <asm/vdso.h>
  
-@@ -111,7 +111,7 @@
+@@ -111,7 +111,7 @@ int memory_add_physaddr_to_nid(u64 start
  }
  #endif
  
@@ -91015,7 +91015,7 @@
  {
  	struct pglist_data *pgdata;
  	struct zone *zone;
-@@ -175,7 +175,6 @@
+@@ -175,7 +175,6 @@ void show_mem(void)
  
  	printk("Mem-info:\n");
  	show_free_areas();
@@ -91023,7 +91023,7 @@
  	for_each_online_pgdat(pgdat) {
  		unsigned long flags;
  		pgdat_resize_lock(pgdat, &flags);
-@@ -217,9 +216,11 @@
+@@ -217,9 +216,11 @@ void __init do_init_bootmem(void)
  	unsigned long total_pages;
  	int boot_mapsize;
  
@@ -91036,7 +91036,7 @@
  #endif
  
  	/*
-@@ -245,18 +246,18 @@
+@@ -245,18 +246,18 @@ void __init do_init_bootmem(void)
  	 * present.
  	 */
  #ifdef CONFIG_HIGHMEM
@@ -91059,7 +91059,7 @@
  				      lmb.reserved.region[i].base;
  			reserve_bootmem(lmb.reserved.region[i].base,
  					adjusted_size, BOOTMEM_DEFAULT);
-@@ -326,7 +327,7 @@
+@@ -326,7 +327,7 @@ void __init paging_init(void)
  	       (top_of_ram - total_ram) >> 20);
  	memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
  #ifdef CONFIG_HIGHMEM
@@ -91068,7 +91068,7 @@
  	max_zone_pfns[ZONE_HIGHMEM] = top_of_ram >> PAGE_SHIFT;
  #else
  	max_zone_pfns[ZONE_DMA] = top_of_ram >> PAGE_SHIFT;
-@@ -381,7 +382,7 @@
+@@ -381,7 +382,7 @@ void __init mem_init(void)
  	{
  		unsigned long pfn, highmem_mapnr;
  
@@ -91079,7 +91079,7 @@
  			if (lmb_is_reserved(pfn << PAGE_SHIFT))
 --- a/arch/powerpc/mm/mmu_decl.h
 +++ b/arch/powerpc/mm/mmu_decl.h
-@@ -48,9 +48,11 @@
+@@ -48,9 +48,11 @@ extern unsigned int num_tlbcam_entries;
  
  extern unsigned long ioremap_bot;
  extern unsigned long __max_low_memory;
@@ -91107,7 +91107,7 @@
  
 --- a/arch/powerpc/mm/pgtable_32.c
 +++ b/arch/powerpc/mm/pgtable_32.c
-@@ -281,12 +281,13 @@
+@@ -281,12 +281,13 @@ int map_page(unsigned long va, phys_addr
   */
  void __init mapin_ram(void)
  {
@@ -91138,7 +91138,7 @@
  
  #include "mmu_decl.h"
  
-@@ -82,7 +82,6 @@
+@@ -82,7 +82,6 @@ unsigned long __init mmu_mapin_ram(void)
  #else
  	unsigned long tot, bl, done;
  	unsigned long max_size = (256<<20);
@@ -91146,7 +91146,7 @@
  
  	if (__map_without_bats) {
  		printk(KERN_DEBUG "RAM mapped without BATs\n");
-@@ -93,19 +92,13 @@
+@@ -93,19 +92,13 @@ unsigned long __init mmu_mapin_ram(void)
  
  	/* Make sure we don't map a block larger than the
  	   smallest alignment of the physical address. */
@@ -91167,7 +91167,7 @@
  	done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1;
  	if ((done < tot) && !bat_addrs[3].limit) {
  		/* use BAT3 to cover a bit more */
-@@ -113,7 +106,7 @@
+@@ -113,7 +106,7 @@ unsigned long __init mmu_mapin_ram(void)
  		for (bl = 128<<10; bl < max_size; bl <<= 1)
  			if (bl * 2 > tot)
  				break;
@@ -91176,7 +91176,7 @@
  		done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1;
  	}
  
-@@ -240,7 +233,7 @@
+@@ -240,7 +233,7 @@ void __init MMU_init_hw(void)
  	 */
  	if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
  	Hash = __va(lmb_alloc_base(Hash_size, Hash_size,
@@ -91205,7 +91205,7 @@
  #include <asm/iseries/hv_call.h>
 --- a/arch/powerpc/oprofile/cell/spu_task_sync.c
 +++ b/arch/powerpc/oprofile/cell/spu_task_sync.c
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ static struct cached_info *get_cached_in
  	if (spu_num >= num_spu_nodes) {
  		printk(KERN_ERR "SPU_PROF: "
  		       "%s, line %d: Invalid index %d into spu info cache\n",
@@ -91214,7 +91214,7 @@
  		ret_info = NULL;
  		goto out;
  	}
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ prepare_cached_spu_info(struct spu *spu,
  	if (!info) {
  		printk(KERN_ERR "SPU_PROF: "
  		       "%s, line %d: create vma_map failed\n",
@@ -91223,7 +91223,7 @@
  		retval = -ENOMEM;
  		goto err_alloc;
  	}
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ prepare_cached_spu_info(struct spu *spu,
  	if (!new_map) {
  		printk(KERN_ERR "SPU_PROF: "
  		       "%s, line %d: create vma_map failed\n",
@@ -91232,7 +91232,7 @@
  		retval = -ENOMEM;
  		goto err_alloc;
  	}
-@@ -171,7 +171,7 @@
+@@ -171,7 +171,7 @@ static int release_cached_info(int spu_i
  			printk(KERN_ERR "SPU_PROF: "
  				"%s, line %d: "
  				"Invalid index %d into spu info cache\n",
@@ -91241,7 +91241,7 @@
  			goto out;
  		}
  		end = spu_index + 1;
-@@ -273,7 +273,7 @@
+@@ -273,7 +273,7 @@ fail_no_image_cookie:
  
  	printk(KERN_ERR "SPU_PROF: "
  		"%s, line %d: Cannot find dcookie for SPU binary\n",
@@ -91250,7 +91250,7 @@
  	goto out;
  }
  
-@@ -467,7 +467,7 @@
+@@ -467,7 +467,7 @@ int spu_sync_stop(void)
  	if (ret) {
  		printk(KERN_ERR "SPU_PROF: "
  			"%s, line %d: spu_switch_event_unregister returned %d\n",
@@ -91261,7 +91261,7 @@
  
 --- a/arch/powerpc/oprofile/cell/vma_map.c
 +++ b/arch/powerpc/oprofile/cell/vma_map.c
-@@ -72,7 +72,7 @@
+@@ -72,7 +72,7 @@ vma_map_add(struct vma_to_fileoffset_map
  		kzalloc(sizeof(struct vma_to_fileoffset_map), GFP_KERNEL);
  	if (!new) {
  		printk(KERN_ERR "SPU_PROF: %s, line %d: malloc failed\n",
@@ -91270,7 +91270,7 @@
  		vma_map_free(map);
  		return NULL;
  	}
-@@ -134,19 +134,19 @@
+@@ -134,19 +134,19 @@ struct vma_to_fileoffset_map *create_vma
  	if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) {
  		printk(KERN_ERR "SPU_PROF: "
  		       "%s, line %d: Unexpected e_ident parsing SPU ELF\n",
@@ -91293,7 +91293,7 @@
  		goto fail;
  	}
  	phdr_start = spu_elf_start + ehdr.e_phoff;
-@@ -232,7 +232,7 @@
+@@ -232,7 +232,7 @@ struct vma_to_fileoffset_map *create_vma
  	if (overlay_tbl_offset < 0) {
  		printk(KERN_ERR "SPU_PROF: "
  		       "%s, line %d: Error finding SPU overlay table\n",
@@ -91304,7 +91304,7 @@
  	ovly_table = spu_elf_start + overlay_tbl_offset;
 --- a/arch/powerpc/oprofile/op_model_cell.c
 +++ b/arch/powerpc/oprofile/op_model_cell.c
-@@ -216,7 +216,7 @@
+@@ -216,7 +216,7 @@ static void pm_rtas_reset_signals(u32 no
  		 * failure to stop OProfile.
  		 */
  		printk(KERN_WARNING "%s: rtas returned: %d\n",
@@ -91313,7 +91313,7 @@
  }
  
  static int pm_rtas_activate_signals(u32 node, u32 count)
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ static int pm_rtas_activate_signals(u32 
  
  		if (unlikely(ret)) {
  			printk(KERN_WARNING "%s: rtas returned: %d\n",
@@ -91322,7 +91322,7 @@
  			return -EIO;
  		}
  	}
-@@ -560,7 +560,7 @@
+@@ -560,7 +560,7 @@ static int cell_reg_setup(struct op_coun
  		if (unlikely(spu_rtas_token == RTAS_UNKNOWN_SERVICE)) {
  			printk(KERN_ERR
  			       "%s: rtas token ibm,cbe-spu-perftools unknown\n",
@@ -91331,7 +91331,7 @@
  			return -EIO;
  		}
  	}
-@@ -576,7 +576,7 @@
+@@ -576,7 +576,7 @@ static int cell_reg_setup(struct op_coun
  	if (unlikely(pm_rtas_token == RTAS_UNKNOWN_SERVICE)) {
  		printk(KERN_ERR
  		       "%s: rtas token ibm,cbe-perftools unknown\n",
@@ -91340,7 +91340,7 @@
  		return -EIO;
  	}
  
-@@ -853,7 +853,7 @@
+@@ -853,7 +853,7 @@ static int pm_rtas_activate_spu_profilin
  
  	if (unlikely(ret)) {
  		printk(KERN_WARNING "%s: rtas returned: %d\n",
@@ -91349,7 +91349,7 @@
  		return -EIO;
  	}
  
-@@ -949,7 +949,7 @@
+@@ -949,7 +949,7 @@ static int cell_global_start_spu(struct 
  		if (unlikely(ret != 0)) {
  			printk(KERN_ERR
  			       "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
@@ -91358,7 +91358,7 @@
  			rtas_error = -EIO;
  			goto out;
  		}
-@@ -1061,7 +1061,7 @@
+@@ -1061,7 +1061,7 @@ static void cell_global_stop_spu(void)
  		if (unlikely(rtn_value != 0)) {
  			printk(KERN_ERR
  			       "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
@@ -91377,7 +91377,7 @@
  
  static struct device_node *bcsr_node;
  static void __iomem *bcsr_regs;
-@@ -119,5 +120,6 @@
+@@ -119,5 +120,6 @@ define_machine(ep405) {
  	.progress		= udbg_progress,
  	.init_IRQ		= uic_init_tree,
  	.get_irq		= uic_get_irq,
@@ -91403,7 +91403,7 @@
  
  static __initdata struct of_device_id kilauea_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -54,5 +55,6 @@
+@@ -54,5 +55,6 @@ define_machine(kilauea) {
  	.progress 			= udbg_progress,
  	.init_IRQ 			= uic_init_tree,
  	.get_irq 			= uic_get_irq,
@@ -91420,7 +91420,7 @@
  
  static __initdata struct of_device_id makalu_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -54,5 +55,6 @@
+@@ -54,5 +55,6 @@ define_machine(makalu) {
  	.progress 			= udbg_progress,
  	.init_IRQ 			= uic_init_tree,
  	.get_irq 			= uic_get_irq,
@@ -91437,7 +91437,7 @@
  
  static struct of_device_id xilinx_of_bus_ids[] __initdata = {
  	{ .compatible = "xlnx,plb-v46-1.00.a", },
-@@ -48,5 +49,6 @@
+@@ -48,5 +49,6 @@ define_machine(virtex) {
  	.probe			= virtex_probe,
  	.init_IRQ		= xilinx_intc_init_tree,
  	.get_irq		= xilinx_intc_get_irq,
@@ -91454,7 +91454,7 @@
  
  static __initdata struct of_device_id walnut_of_bus[] = {
  	{ .compatible = "ibm,plb3", },
-@@ -61,5 +62,6 @@
+@@ -61,5 +62,6 @@ define_machine(walnut) {
  	.progress		= udbg_progress,
  	.init_IRQ		= uic_init_tree,
  	.get_irq		= uic_get_irq,
@@ -91473,7 +91473,7 @@
  #endif /* __POWERPC_PLATFORMS_44X_44X_H */
 --- a/arch/powerpc/platforms/44x/Kconfig
 +++ b/arch/powerpc/platforms/44x/Kconfig
-@@ -67,6 +67,25 @@
+@@ -67,6 +67,25 @@ config WARP
  	  See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
  	  Telephony Developers" link for more information.
  
@@ -91499,7 +91499,7 @@
  #config LUAN
  #	bool "Luan"
  #	depends on 44x
-@@ -122,6 +141,14 @@
+@@ -122,6 +141,14 @@ config 440SPe
  	bool
  	select IBM_NEW_EMAC_EMAC4
  
@@ -91541,7 +91541,7 @@
  
  static __initdata struct of_device_id bamboo_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -53,11 +52,11 @@
+@@ -53,11 +52,11 @@ static int __init bamboo_probe(void)
  }
  
  define_machine(bamboo) {
@@ -91637,7 +91637,7 @@
  
  static __initdata struct of_device_id ebony_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -66,6 +65,6 @@
+@@ -66,6 +65,6 @@ define_machine(ebony) {
  	.progress		= udbg_progress,
  	.init_IRQ		= uic_init_tree,
  	.get_irq		= uic_get_irq,
@@ -91727,7 +91727,7 @@
  
  static __initdata struct of_device_id katmai_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -58,6 +57,6 @@
+@@ -58,6 +57,6 @@ define_machine(katmai) {
  	.progress 			= udbg_progress,
  	.init_IRQ 			= uic_init_tree,
  	.get_irq 			= uic_get_irq,
@@ -91737,7 +91737,7 @@
  };
 --- a/arch/powerpc/platforms/44x/misc_44x.S
 +++ b/arch/powerpc/platforms/44x/misc_44x.S
-@@ -44,14 +44,3 @@
+@@ -44,14 +44,3 @@ _GLOBAL(as1_writeb)
  	sync
  	isync
  	blr
@@ -91763,7 +91763,7 @@
  
  static __initdata struct of_device_id rainier_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -57,6 +57,6 @@
+@@ -57,6 +57,6 @@ define_machine(rainier) {
  	.progress 			= udbg_progress,
  	.init_IRQ 			= uic_init_tree,
  	.get_irq 			= uic_get_irq,
@@ -91782,7 +91782,7 @@
  
  static __initdata struct of_device_id sequoia_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -58,6 +58,6 @@
+@@ -58,6 +58,6 @@ define_machine(sequoia) {
  	.progress 			= udbg_progress,
  	.init_IRQ 			= uic_init_tree,
  	.get_irq 			= uic_get_irq,
@@ -91802,7 +91802,7 @@
  
  static __initdata struct of_device_id taishan_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -68,6 +67,6 @@
+@@ -68,6 +67,6 @@ define_machine(taishan) {
  	.progress		= udbg_progress,
  	.init_IRQ		= uic_init_tree,
  	.get_irq		= uic_get_irq,
@@ -91820,7 +91820,7 @@
  
  #ifdef CONFIG_MTD_NAND_NDFC
  
-@@ -100,6 +101,6 @@
+@@ -100,6 +101,6 @@ static int warp_setup_nand_flash(void)
  
  	return 0;
  }
@@ -91841,7 +91841,7 @@
  
  static __initdata struct of_device_id warp_of_bus[] = {
  	{ .compatible = "ibm,plb4", },
-@@ -49,7 +47,7 @@
+@@ -49,7 +47,7 @@ define_machine(warp) {
  	.progress 	= udbg_progress,
  	.init_IRQ 	= uic_init_tree,
  	.get_irq 	= uic_get_irq,
@@ -91852,7 +91852,7 @@
  
 --- a/arch/powerpc/platforms/52xx/lite5200.c
 +++ b/arch/powerpc/platforms/52xx/lite5200.c
-@@ -63,7 +63,7 @@
+@@ -63,7 +63,7 @@ lite5200_fix_clock_config(void)
  	of_node_put(np);
  	if (!cdm) {
  		printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
@@ -91861,7 +91861,7 @@
  		return;
  	}
  
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ lite5200_fix_port_config(void)
  	of_node_put(np);
  	if (!gpio) {
  		printk(KERN_ERR "%s() failed. expect abnormal behavior\n",
@@ -91872,7 +91872,7 @@
  
 --- a/arch/powerpc/platforms/82xx/Kconfig
 +++ b/arch/powerpc/platforms/82xx/Kconfig
-@@ -11,7 +11,6 @@
+@@ -11,7 +11,6 @@ config MPC8272_ADS
  	select 8260
  	select FSL_SOC
  	select PQ2_ADS_PCI_PIC if PCI
@@ -91880,7 +91880,7 @@
  	help
  	  This option enables support for the MPC8272 ADS board
  
-@@ -22,7 +21,6 @@
+@@ -22,7 +21,6 @@ config PQ2FADS
  	select 8260
  	select FSL_SOC
  	select PQ2_ADS_PCI_PIC if PCI
@@ -91888,7 +91888,7 @@
  	help
  	  This option enables support for the PQ2FADS board
  
-@@ -31,7 +29,6 @@
+@@ -31,7 +29,6 @@ config EP8248E
  	select 8272
  	select 8260
  	select FSL_SOC
@@ -91898,7 +91898,7 @@
  	  This enables support for the Embedded Planet EP8248E board.
 --- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c
 +++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ static void __init mpc837x_rdb_setup_arc
  static struct of_device_id mpc837x_ids[] = {
  	{ .type = "soc", },
  	{ .compatible = "soc", },
@@ -91926,7 +91926,7 @@
  #define CONTROL_OTG_PORT           0x00000020
 --- a/arch/powerpc/platforms/83xx/usb.c
 +++ b/arch/powerpc/platforms/83xx/usb.c
-@@ -129,7 +129,7 @@
+@@ -129,7 +129,7 @@ int mpc831x_usb_cfg(void)
  	if (immr_node && of_device_is_compatible(immr_node, "fsl,mpc8315-immr"))
  		clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
  		                MPC8315_SCCR_USB_MASK,
@@ -91935,7 +91935,7 @@
  	else
  		clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
  		                MPC83XX_SCCR_USB_MASK,
-@@ -164,9 +164,15 @@
+@@ -164,9 +164,15 @@ int mpc831x_usb_cfg(void)
  	/* Using on-chip PHY */
  	if (prop && (!strcmp(prop, "utmi_wide") ||
  		     !strcmp(prop, "utmi"))) {
@@ -91955,7 +91955,7 @@
  		/* Set PHY_CLK_SEL to ULPI */
 --- a/arch/powerpc/platforms/85xx/Kconfig
 +++ b/arch/powerpc/platforms/85xx/Kconfig
-@@ -19,7 +19,6 @@
+@@ -19,7 +19,6 @@ config MPC8540_ADS
  config MPC8560_ADS
  	bool "Freescale MPC8560 ADS"
  	select DEFAULT_UIMAGE
@@ -91963,7 +91963,7 @@
  	select CPM2
  	help
  	  This option enables support for the MPC 8560 ADS board
-@@ -46,6 +45,12 @@
+@@ -46,6 +45,12 @@ config MPC85xx_DS
  	help
  	  This option enables support for the MPC85xx DS (MPC8544 DS) board
  
@@ -91976,7 +91976,7 @@
  config STX_GP3
  	bool "Silicon Turnkey Express GP3"
  	help
-@@ -53,14 +58,12 @@
+@@ -53,14 +58,12 @@ config STX_GP3
  	  board.
  	select CPM2
  	select DEFAULT_UIMAGE
@@ -91991,7 +91991,7 @@
  	select TQM85xx
  
  config TQM8541
-@@ -68,7 +71,6 @@
+@@ -68,7 +71,6 @@ config TQM8541
  	help
  	  This option enables support for the TQ Components TQM8541 board.
  	select DEFAULT_UIMAGE
@@ -91999,7 +91999,7 @@
  	select TQM85xx
  	select CPM2
  
-@@ -77,7 +79,6 @@
+@@ -77,7 +79,6 @@ config TQM8555
  	help
  	  This option enables support for the TQ Components TQM8555 board.
  	select DEFAULT_UIMAGE
@@ -92007,7 +92007,7 @@
  	select TQM85xx
  	select CPM2
  
-@@ -86,7 +87,6 @@
+@@ -86,7 +87,6 @@ config TQM8560
  	help
  	  This option enables support for the TQ Components TQM8560 board.
  	select DEFAULT_UIMAGE
@@ -92015,7 +92015,7 @@
  	select TQM85xx
  	select CPM2
  
-@@ -99,7 +99,6 @@
+@@ -99,7 +99,6 @@ config SBC8548
  config SBC8560
  	bool "Wind River SBC8560"
  	select DEFAULT_UIMAGE
@@ -92025,7 +92025,7 @@
  
 --- a/arch/powerpc/platforms/85xx/Makefile
 +++ b/arch/powerpc/platforms/85xx/Makefile
-@@ -10,3 +10,4 @@
+@@ -10,3 +10,4 @@ obj-$(CONFIG_STX_GP3)	  += stx_gp3.o
  obj-$(CONFIG_TQM85xx)	  += tqm85xx.o
  obj-$(CONFIG_SBC8560)     += sbc8560.o
  obj-$(CONFIG_SBC8548)     += sbc8548.o
@@ -92292,7 +92292,7 @@
 +};
 --- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c
 +++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ static void __init init_ioports(void)
  	int i;
  
  	for (i = 0; i < ARRAY_SIZE(mpc8560_ads_pins); i++) {
@@ -92320,7 +92320,7 @@
  #else
  #define DBG(fmt, args...)
  #endif
-@@ -183,6 +184,18 @@
+@@ -183,6 +184,18 @@ static int __init mpc8544_ds_probe(void)
  	}
  }
  
@@ -92341,7 +92341,7 @@
   */
 --- a/arch/powerpc/platforms/86xx/Kconfig
 +++ b/arch/powerpc/platforms/86xx/Kconfig
-@@ -11,6 +11,12 @@
+@@ -11,6 +11,12 @@ config MPC8641_HPCN
  	help
  	  This option enables support for the MPC8641 HPCN board.
  
@@ -92354,7 +92354,7 @@
  config MPC8610_HPCD
  	bool "Freescale MPC8610 HPCD"
  	select DEFAULT_UIMAGE
-@@ -24,7 +30,7 @@
+@@ -24,7 +30,7 @@ config MPC8641
  	select FSL_PCI if PCI
  	select PPC_UDBG_16550
  	select MPIC
@@ -92373,7 +92373,7 @@
  obj-$(CONFIG_MPC8610_HPCD)	+= mpc8610_hpcd.o
 --- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
 +++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
-@@ -52,7 +52,7 @@
+@@ -52,7 +52,7 @@ static int __init mpc8610_declare_of_pla
  }
  machine_device_initcall(mpc86xx_hpcd, mpc8610_declare_of_platform_devices);
  
@@ -92382,7 +92382,7 @@
  mpc86xx_hpcd_init_irq(void)
  {
  	struct mpic *mpic1;
-@@ -200,7 +200,7 @@
+@@ -200,7 +200,7 @@ static int __init mpc86xx_hpcd_probe(voi
  	return 0;
  }
  
@@ -92393,7 +92393,7 @@
  	unsigned int temp;
 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
 +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ static void mpc86xx_8259_cascade(unsigne
  }
  #endif	/* CONFIG_PCI */
  
@@ -92402,7 +92402,7 @@
  mpc86xx_hpcn_init_irq(void)
  {
  	struct mpic *mpic1;
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ mpc86xx_hpcn_setup_arch(void)
  }
  
  
@@ -92411,7 +92411,7 @@
  mpc86xx_hpcn_show_cpuinfo(struct seq_file *m)
  {
  	struct device_node *root;
-@@ -190,13 +190,19 @@
+@@ -190,13 +190,19 @@ static int __init mpc86xx_hpcn_probe(voi
  {
  	unsigned long root = of_get_flat_dt_root();
  
@@ -92602,7 +92602,7 @@
 +};
 --- a/arch/powerpc/platforms/8xx/Kconfig
 +++ b/arch/powerpc/platforms/8xx/Kconfig
-@@ -18,7 +18,6 @@
+@@ -18,7 +18,6 @@ config MPC8XXFADS
  config MPC86XADS
  	bool "MPC86XADS"
  	select CPM1
@@ -92610,7 +92610,7 @@
  	help
  	  MPC86x Application Development System by Freescale Semiconductor.
  	  The MPC86xADS is meant to serve as a platform for s/w and h/w
-@@ -27,7 +26,6 @@
+@@ -27,7 +26,6 @@ config MPC86XADS
  config MPC885ADS
  	bool "MPC885ADS"
  	select CPM1
@@ -92618,7 +92618,7 @@
  	help
  	  Freescale Semiconductor MPC885 Application Development System (ADS).
  	  Also known as DUET.
-@@ -37,7 +35,6 @@
+@@ -37,7 +35,6 @@ config MPC885ADS
  config PPC_EP88XC
  	bool "Embedded Planet EP88xC (a.k.a. CWH-PPC-885XN-VE)"
  	select CPM1
@@ -92626,7 +92626,7 @@
  	help
  	  This enables support for the Embedded Planet EP88xC board.
  
-@@ -47,7 +44,6 @@
+@@ -47,7 +44,6 @@ config PPC_EP88XC
  config PPC_ADDER875
  	bool "Analogue & Micro Adder 875"
  	select CPM1
@@ -92636,7 +92636,7 @@
  	  This enables support for the Analogue & Micro Adder 875
 --- a/arch/powerpc/platforms/8xx/m8xx_setup.c
 +++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
-@@ -111,17 +111,12 @@
+@@ -111,17 +111,12 @@ void __init mpc8xx_calibrate_decr(void)
  
  	/* Processor frequency is MHz.
  	 */
@@ -92657,7 +92657,7 @@
  	/* Perform some more timer/timebase initialization.  This used
 --- a/arch/powerpc/platforms/Kconfig
 +++ b/arch/powerpc/platforms/Kconfig
-@@ -290,13 +290,7 @@
+@@ -290,13 +290,7 @@ config CPM2
  config PPC_CPM_NEW_BINDING
  	bool
  	depends on CPM1 || CPM2
@@ -92674,7 +92674,7 @@
  	tristate "Axon DDR2 memory device driver"
 --- a/arch/powerpc/platforms/Kconfig.cputype
 +++ b/arch/powerpc/platforms/Kconfig.cputype
-@@ -41,11 +41,13 @@
+@@ -41,11 +41,13 @@ config 40x
  	bool "AMCC 40x"
  	select PPC_DCR_NATIVE
  	select PPC_UDBG_16550
@@ -92705,7 +92705,7 @@
  #include <asm/firmware.h>
  #include <asm/cell-regs.h>
  
-@@ -316,7 +316,7 @@
+@@ -316,7 +316,7 @@ static void cell_iommu_setup_stab(struct
  	segments = max(dbase + dsize, fbase + fsize) >> IO_SEGMENT_SHIFT;
  
  	pr_debug("%s: iommu[%d]: segments: %lu\n",
@@ -92714,7 +92714,7 @@
  
  	/* set up the segment table */
  	stab_size = segments * sizeof(unsigned long);
-@@ -343,7 +343,7 @@
+@@ -343,7 +343,7 @@ static unsigned long *cell_iommu_alloc_p
  				(1 << 12) / sizeof(unsigned long));
  
  	ptab_size = segments * pages_per_segment * sizeof(unsigned long);
@@ -92723,7 +92723,7 @@
  			iommu->nid, ptab_size, get_order(ptab_size));
  	page = alloc_pages_node(iommu->nid, GFP_KERNEL, get_order(ptab_size));
  	BUG_ON(!page);
-@@ -355,7 +355,7 @@
+@@ -355,7 +355,7 @@ static unsigned long *cell_iommu_alloc_p
  	n_pte_pages = (pages_per_segment * sizeof(unsigned long)) >> 12;
  
  	pr_debug("%s: iommu[%d]: stab at %p, ptab at %p, n_pte_pages: %lu\n",
@@ -92732,7 +92732,7 @@
  			n_pte_pages);
  
  	/* initialise the STEs */
-@@ -394,7 +394,7 @@
+@@ -394,7 +394,7 @@ static void cell_iommu_enable_hardware(s
  
  	if (cell_iommu_find_ioc(iommu->nid, &xlate_base))
  		panic("%s: missing IOC register mappings for node %d\n",
@@ -92743,7 +92743,7 @@
  	iommu->cmd_regs = iommu->xlate_regs + IOC_IOCmd_Offset;
 --- a/arch/powerpc/platforms/cell/pervasive.c
 +++ b/arch/powerpc/platforms/cell/pervasive.c
-@@ -65,7 +65,7 @@
+@@ -65,7 +65,7 @@ static void cbe_power_save(void)
  		break;
  	default:
  		printk(KERN_WARNING "%s: unknown configuration\n",
@@ -92754,7 +92754,7 @@
  	mtspr(SPRN_TSC_CELL, thread_switch_control);
 --- a/arch/powerpc/platforms/cell/ras.c
 +++ b/arch/powerpc/platforms/cell/ras.c
-@@ -132,7 +132,7 @@
+@@ -132,7 +132,7 @@ static int __init cbe_ptcal_enable_on_no
  				(unsigned int)(addr >> 32),
  				(unsigned int)(addr & 0xffffffff))) {
  		printk(KERN_ERR "%s: error enabling PTCAL on node %d!\n",
@@ -92763,7 +92763,7 @@
  		goto out_free_pages;
  	}
  
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ static int __init cbe_ptcal_enable(void)
  	if (!size)
  		return -ENODEV;
  
@@ -92772,7 +92772,7 @@
  	order = get_order(*size);
  	of_node_put(np);
  
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ static int __init cbe_ptcal_enable(void)
  		const u32 *nid = of_get_property(np, "node-id", NULL);
  		if (!nid) {
  			printk(KERN_ERR "%s: node %s is missing node-id?\n",
@@ -92781,7 +92781,7 @@
  			continue;
  		}
  		cbe_ptcal_enable_on_node(*nid, order);
-@@ -195,13 +195,13 @@
+@@ -195,13 +195,13 @@ static int cbe_ptcal_disable(void)
  	struct ptcal_area *area, *tmp;
  	int ret = 0;
  
@@ -92799,7 +92799,7 @@
  			continue;
 --- a/arch/powerpc/platforms/cell/spu_base.c
 +++ b/arch/powerpc/platforms/cell/spu_base.c
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ static int __spu_trap_data_seg(struct sp
  	struct spu_slb slb;
  	int psize;
  
@@ -92808,7 +92808,7 @@
  
  	slb.esid = (ea & ESID_MASK) | SLB_ESID_V;
  
-@@ -215,7 +215,7 @@
+@@ -215,7 +215,7 @@ static int __spu_trap_data_seg(struct sp
  extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap); //XXX
  static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr)
  {
@@ -92817,7 +92817,7 @@
  
  	/* Handle kernel space hash faults immediately.
  	   User hash faults need to be deferred to process context. */
-@@ -351,7 +351,7 @@
+@@ -351,7 +351,7 @@ spu_irq_class_1(int irq, void *data)
  		__spu_trap_data_seg(spu, dar);
  
  	spin_unlock(&spu->register_lock);
@@ -92826,7 +92826,7 @@
  			dar, dsisr);
  
  	if (stat & CLASS1_STORAGE_FAULT_INTR)
-@@ -726,7 +726,7 @@
+@@ -726,7 +726,7 @@ static int __init init_spu_base(void)
  
  	if (ret < 0) {
  		printk(KERN_WARNING "%s: Error initializing spus\n",
@@ -92837,7 +92837,7 @@
  
 --- a/arch/powerpc/platforms/cell/spu_callbacks.c
 +++ b/arch/powerpc/platforms/cell/spu_callbacks.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ long spu_sys_callback(struct spu_syscall
  	long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6);
  
  	if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) {
@@ -92848,7 +92848,7 @@
  
 --- a/arch/powerpc/platforms/cell/spu_manage.c
 +++ b/arch/powerpc/platforms/cell/spu_manage.c
-@@ -92,7 +92,7 @@
+@@ -92,7 +92,7 @@ static int __init spu_map_interrupts_old
  
  	tmp = of_get_property(np->parent->parent, "node-id", NULL);
  	if (!tmp) {
@@ -92857,7 +92857,7 @@
  		nid = spu->node;
  	} else
  		nid = tmp[0];
-@@ -296,7 +296,7 @@
+@@ -296,7 +296,7 @@ static int __init of_enumerate_spus(int 
  		ret = fn(node);
  		if (ret) {
  			printk(KERN_WARNING "%s: Error initializing %s\n",
@@ -92866,7 +92866,7 @@
  			break;
  		}
  		n++;
-@@ -327,7 +327,7 @@
+@@ -327,7 +327,7 @@ static int __init of_create_spu(struct s
  		if (!legacy_map) {
  			legacy_map = 1;
  			printk(KERN_WARNING "%s: Legacy device tree found, "
@@ -92875,7 +92875,7 @@
  		}
  		ret = spu_map_device_old(spu);
  		if (ret) {
-@@ -342,7 +342,7 @@
+@@ -342,7 +342,7 @@ static int __init of_create_spu(struct s
  		if (!legacy_irq) {
  			legacy_irq = 1;
  			printk(KERN_WARNING "%s: Legacy device tree found, "
@@ -92886,7 +92886,7 @@
  		if (ret) {
 --- a/arch/powerpc/platforms/cell/spufs/coredump.c
 +++ b/arch/powerpc/platforms/cell/spufs/coredump.c
-@@ -133,8 +133,6 @@
+@@ -133,8 +133,6 @@ static struct spu_context *coredump_next
  		if (ctx->flags & SPU_CREATE_NOSCHED)
  			continue;
  
@@ -92895,7 +92895,7 @@
  		break;
  	}
  
-@@ -157,6 +155,9 @@
+@@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void
  			break;
  
  		size += rc;
@@ -92905,7 +92905,7 @@
  	}
  
  	return size;
-@@ -239,6 +240,9 @@
+@@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(str
  		}
  
  		spu_release_saved(ctx);
@@ -92917,7 +92917,7 @@
  	return 0;
 --- a/arch/powerpc/platforms/cell/spufs/file.c
 +++ b/arch/powerpc/platforms/cell/spufs/file.c
-@@ -1337,7 +1337,7 @@
+@@ -1337,7 +1337,7 @@ static u64 spufs_signal1_type_get(struct
  	return ctx->ops->signal1_type_get(ctx);
  }
  DEFINE_SPUFS_ATTRIBUTE(spufs_signal1_type, spufs_signal1_type_get,
@@ -92926,7 +92926,7 @@
  
  
  static int spufs_signal2_type_set(void *data, u64 val)
-@@ -1359,7 +1359,7 @@
+@@ -1359,7 +1359,7 @@ static u64 spufs_signal2_type_get(struct
  	return ctx->ops->signal2_type_get(ctx);
  }
  DEFINE_SPUFS_ATTRIBUTE(spufs_signal2_type, spufs_signal2_type_get,
@@ -92935,7 +92935,7 @@
  
  #if SPUFS_MMAP_4K
  static unsigned long spufs_mss_mmap_nopfn(struct vm_area_struct *vma,
-@@ -1556,7 +1556,7 @@
+@@ -1556,7 +1556,7 @@ void spufs_mfc_callback(struct spu *spu)
  
  	wake_up_all(&ctx->mfc_wq);
  
@@ -92944,7 +92944,7 @@
  	if (ctx->mfc_fasync) {
  		u32 free_elements, tagstatus;
  		unsigned int mask;
-@@ -1790,7 +1790,7 @@
+@@ -1790,7 +1790,7 @@ static unsigned int spufs_mfc_poll(struc
  	if (tagstatus & ctx->tagwait)
  		mask |= POLLIN | POLLRDNORM;
  
@@ -92955,7 +92955,7 @@
  	return mask;
 --- a/arch/powerpc/platforms/cell/spufs/run.c
 +++ b/arch/powerpc/platforms/cell/spufs/run.c
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ static int spu_setup_isolated(struct spu
  			!= MFC_CNTL_PURGE_DMA_COMPLETE) {
  		if (time_after(jiffies, timeout)) {
  			printk(KERN_ERR "%s: timeout flushing MFC DMA queue\n",
@@ -92964,7 +92964,7 @@
  			ret = -EIO;
  			goto out;
  		}
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ static int spu_setup_isolated(struct spu
  				status_loading) {
  		if (time_after(jiffies, timeout)) {
  			printk(KERN_ERR "%s: timeout waiting for loader\n",
@@ -92973,7 +92973,7 @@
  			ret = -EIO;
  			goto out_drop_priv;
  		}
-@@ -134,7 +134,7 @@
+@@ -134,7 +134,7 @@ static int spu_setup_isolated(struct spu
  	if (!(status & SPU_STATUS_RUNNING)) {
  		/* If isolated LOAD has failed: run SPU, we will get a stop-and
  		 * signal later. */
@@ -92982,7 +92982,7 @@
  		ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_RUNNABLE);
  		ret = -EACCES;
  		goto out_drop_priv;
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ static int spu_setup_isolated(struct spu
  
  	if (!(status & SPU_STATUS_ISOLATED_STATE)) {
  		/* This isn't allowed by the CBEA, but check anyway */
@@ -92991,7 +92991,7 @@
  		ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_STOP);
  		ret = -EINVAL;
  		goto out_drop_priv;
-@@ -282,7 +282,7 @@
+@@ -282,7 +282,7 @@ static int spu_handle_restartsys(struct 
  		break;
  	default:
  		printk(KERN_WARNING "%s: unexpected return code %ld\n",
@@ -93000,7 +93000,7 @@
  		ret = 0;
  	}
  	return ret;
-@@ -323,6 +323,10 @@
+@@ -323,6 +323,10 @@ static int spu_process_callback(struct s
  			return -EINTR;
  	}
  
@@ -93013,7 +93013,7 @@
  	ctx->ops->npc_write(ctx, npc);
 --- a/arch/powerpc/platforms/cell/spufs/switch.c
 +++ b/arch/powerpc/platforms/cell/spufs/switch.c
-@@ -1815,6 +1815,7 @@
+@@ -1815,6 +1815,7 @@ static void save_csa(struct spu_state *p
  	save_mfc_csr_ato(prev, spu);	/* Step 24. */
  	save_mfc_tclass_id(prev, spu);	/* Step 25. */
  	set_mfc_tclass_id(prev, spu);	/* Step 26. */
@@ -93021,7 +93021,7 @@
  	purge_mfc_queue(prev, spu);	/* Step 27. */
  	wait_purge_complete(prev, spu);	/* Step 28. */
  	setup_mfc_sr1(prev, spu);	/* Step 30. */
-@@ -1831,7 +1832,6 @@
+@@ -1831,7 +1832,6 @@ static void save_csa(struct spu_state *p
  	save_ppuint_mb(prev, spu);	/* Step 41. */
  	save_ch_part1(prev, spu);	/* Step 42. */
  	save_spu_mb(prev, spu);	        /* Step 43. */
@@ -93031,7 +93031,7 @@
  
 --- a/arch/powerpc/platforms/celleb/beat.c
 +++ b/arch/powerpc/platforms/celleb/beat.c
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ void beat_power_off(void)
  }
  
  u64 beat_halt_code = 0x1000000000000000UL;
@@ -93039,7 +93039,7 @@
  
  void beat_halt(void)
  {
-@@ -94,9 +95,8 @@
+@@ -94,9 +95,8 @@ ssize_t beat_nvram_read(char *buf, size_
  		len = count;
  		if (len > BEAT_NVRW_CNT)
  			len = BEAT_NVRW_CNT;
@@ -93050,7 +93050,7 @@
  
  		p += len;
  		i += len;
-@@ -121,9 +121,8 @@
+@@ -121,9 +121,8 @@ ssize_t beat_nvram_write(char *buf, size
  		len = count;
  		if (len > BEAT_NVRW_CNT)
  			len = BEAT_NVRW_CNT;
@@ -93061,7 +93061,7 @@
  
  		p += len;
  		i += len;
-@@ -149,13 +148,14 @@
+@@ -149,13 +148,14 @@ int64_t beat_get_term_char(u64 vterm, u6
  	u64 db[2];
  	s64 ret;
  
@@ -93077,7 +93077,7 @@
  
  int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2)
  {
-@@ -163,8 +163,9 @@
+@@ -163,8 +163,9 @@ int64_t beat_put_term_char(u64 vterm, u6
  
  	db[0] = t1;
  	db[1] = t2;
@@ -93088,7 +93088,7 @@
  
  void beat_power_save(void)
  {
-@@ -261,7 +262,3 @@
+@@ -261,7 +262,3 @@ static int __init beat_event_init(void)
  }
  
  device_initcall(beat_event_init);
@@ -93111,7 +93111,7 @@
  void beat_power_off(void);
 --- a/arch/powerpc/platforms/celleb/beat_wrapper.h
 +++ b/arch/powerpc/platforms/celleb/beat_wrapper.h
-@@ -197,7 +197,8 @@
+@@ -197,7 +197,8 @@ static inline s64 beat_put_characters_to
  	u64 b[2];
  
  	memcpy(b, buffer, len);
@@ -93135,7 +93135,7 @@
  #endif
  
  static DEFINE_SPINLOCK(beat_htab_lock);
-@@ -116,7 +116,8 @@
+@@ -116,7 +116,8 @@ static long beat_lpar_hpte_insert(unsign
  		hpte_r &= ~_PAGE_COHERENT;
  
  	spin_lock(&beat_htab_lock);
@@ -93147,7 +93147,7 @@
  		spin_unlock(&beat_htab_lock);
 --- a/arch/powerpc/platforms/celleb/interrupt.c
 +++ b/arch/powerpc/platforms/celleb/interrupt.c
-@@ -34,7 +34,7 @@
+@@ -34,7 +34,7 @@ static DEFINE_SPINLOCK(beatic_irq_mask_l
  static uint64_t	beatic_irq_mask_enable[(MAX_IRQS+255)/64];
  static uint64_t	beatic_irq_mask_ack[(MAX_IRQS+255)/64];
  
@@ -93156,7 +93156,7 @@
  
  /*
   * In this implementation, "virq" == "IRQ plug number",
-@@ -49,13 +49,13 @@
+@@ -49,13 +49,13 @@ static inline void beatic_update_irq_mas
  
  	off = (irq_plug / 256) * 4;
  	masks[0] = beatic_irq_mask_enable[off + 0]
@@ -93174,7 +93174,7 @@
  	if (beat_set_interrupt_mask(irq_plug&~255UL,
  		masks[0], masks[1], masks[2], masks[3]) != 0)
  		panic("Failed to set mask IRQ!");
-@@ -96,7 +96,8 @@
+@@ -96,7 +96,8 @@ static void beatic_end_irq(unsigned int 
  	s64 err;
  	unsigned long flags;
  
@@ -93184,7 +93184,7 @@
  		if ((err & 0xFFFFFFFF) != 0xFFFFFFF5) /* -11: wrong state */
  			panic("Failed to downcount IRQ! Error = %16lx", err);
  
-@@ -138,7 +139,8 @@
+@@ -138,7 +139,8 @@ static int beatic_pic_host_map(struct ir
  	struct irq_desc *desc = get_irq_desc(virq);
  	int64_t	err;
  
@@ -93194,7 +93194,7 @@
  		return -EIO;
  
  	desc->status |= IRQ_LEVEL;
-@@ -202,22 +204,22 @@
+@@ -202,22 +204,22 @@ static inline unsigned int beatic_get_ir
  		beat_detect_pending_interrupts(i, pending);
  		__asm__ ("cntlzd %0,%1":"=r"(ub):
  			"r"(pending[0] & beatic_irq_mask_enable[i/64+0]
@@ -93221,7 +93221,7 @@
  		if (ub != 64)
  			return i + ub + 192;
  	}
-@@ -250,7 +252,7 @@
+@@ -250,7 +252,7 @@ void __init beatic_init_IRQ(void)
  
  	/* Allocate an irq host */
  	beatic_host = irq_alloc_host(NULL, IRQ_HOST_MAP_NOMAP, 0,
@@ -93232,7 +93232,7 @@
  	irq_set_default_host(beatic_host);
 --- a/arch/powerpc/platforms/celleb/scc_epci.c
 +++ b/arch/powerpc/platforms/celleb/scc_epci.c
-@@ -161,9 +161,9 @@
+@@ -161,9 +161,9 @@ static PCI_IO_ADDR celleb_epci_make_conf
  	if (bus != hose->bus)
  		addr = celleb_epci_get_epci_cfg(hose) +
  		       (((bus->number & 0xff) << 16)
@@ -93245,7 +93245,7 @@
  	else
  		addr = celleb_epci_get_epci_cfg(hose) +
  		       (((devfn & 0xff) << 8) | (where & 0xff));
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ static PCI_IO_ADDR celleb_epci_make_conf
  }
  
  static int celleb_epci_read_config(struct pci_bus *bus,
@@ -93265,7 +93265,7 @@
  
  static struct {
  	uint32_t offset;
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init txx9_serial_config(cha
  	int	i;
  
  	for (;;) {
@@ -93276,7 +93276,7 @@
  		case 2:
 --- a/arch/powerpc/platforms/celleb/spu_priv1.c
 +++ b/arch/powerpc/platforms/celleb/spu_priv1.c
-@@ -183,8 +183,7 @@
+@@ -183,8 +183,7 @@ static u64 resource_allocation_enable_ge
  	return enable;
  }
  
@@ -93288,7 +93288,7 @@
  	.int_mask_set = int_mask_set,
 --- a/arch/powerpc/platforms/celleb/udbg_beat.c
 +++ b/arch/powerpc/platforms/celleb/udbg_beat.c
-@@ -54,7 +54,8 @@
+@@ -54,7 +54,8 @@ static int udbg_getc_poll_beat(void)
  	if (inbuflen == 0) {
  		/* get some more chars. */
  		inbuflen = 0;
@@ -93298,7 +93298,7 @@
  		if (rc != 0)
  			inbuflen = 0;	/* otherwise inbuflen is garbage */
  	}
-@@ -78,7 +79,7 @@
+@@ -78,7 +79,7 @@ static int udbg_getc_beat(void)
  		if (ch == -1) {
  			/* This shouldn't be needed...but... */
  			volatile unsigned long delay;
@@ -93309,7 +93309,7 @@
  			return ch;
 --- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
 +++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
-@@ -117,11 +117,11 @@
+@@ -117,11 +117,11 @@ static void __init mpc7448_hpc2_init_IRQ
  	}
  
  	if (mpic_paddr == 0) {
@@ -93323,7 +93323,7 @@
  	    (u32) mpic_paddr);
  
  	mpic = mpic_alloc(tsi_pic, mpic_paddr,
-@@ -140,17 +140,17 @@
+@@ -140,17 +140,17 @@ static void __init mpc7448_hpc2_init_IRQ
  #ifdef CONFIG_PCI
  	tsi_pci = of_find_node_by_type(NULL, "pci");
  	if (tsi_pci == NULL) {
@@ -93346,7 +93346,7 @@
  	set_irq_data(cascade_pci_irq, mpic);
 --- a/arch/powerpc/platforms/embedded6xx/prpmc2800.c
 +++ b/arch/powerpc/platforms/embedded6xx/prpmc2800.c
-@@ -49,13 +49,13 @@
+@@ -49,13 +49,13 @@ static void __init prpmc2800_setup_arch(
  	 * ioremap mpp and gpp registers in case they are later
  	 * needed by prpmc2800_reset_board().
  	 */
@@ -93388,7 +93388,7 @@
  	b	.__start_initialization_iSeries	/* Start up the first processor */
 --- a/arch/powerpc/platforms/iseries/ipl_parms.h
 +++ b/arch/powerpc/platforms/iseries/ipl_parms.h
-@@ -65,6 +65,4 @@
+@@ -65,6 +65,4 @@ struct ItIplParmsReal {
  	u64	xRsvd13;		// Reserved			x38-x3F
  };
  
@@ -93418,7 +93418,7 @@
  	.xDesc = 0xc8a5d9c4,	/* "HvRD" ebcdic */
  	.xSize = sizeof(struct HvReleaseData),
  	.xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
-@@ -61,6 +61,63 @@
+@@ -61,6 +61,63 @@ struct naca_struct naca = {
  	.xRamDiskSize = 0,
  };
  
@@ -93482,7 +93482,7 @@
  extern void system_reset_iSeries(void);
  extern void machine_check_iSeries(void);
  extern void data_access_iSeries(void);
-@@ -129,7 +186,7 @@
+@@ -129,7 +186,7 @@ struct ItLpNaca itLpNaca = {
  };
  
  /* May be filled in by the hypervisor so cannot end up in the BSS */
@@ -93491,7 +93491,7 @@
  
  /* May be filled in by the hypervisor so cannot end up in the BSS */
  struct ItExtVpdPanel xItExtVpdPanel __attribute__((__section__(".data")));
-@@ -152,13 +209,54 @@
+@@ -152,13 +209,54 @@ u64    xMsVpd[3400] __attribute__((__sec
  
  /* Space for Recovery Log Buffer */
  /* May be filled in by the hypervisor so cannot end up in the BSS */
@@ -93548,7 +93548,7 @@
  /* The LparMap data is now located at offset 0x6000 in head.S
   * It was put there so that the HvReleaseData could address it
   * with a 32-bit offset as required by the iSeries hypervisor
-@@ -167,7 +265,7 @@
+@@ -167,7 +265,7 @@ struct SpCommArea xSpCommArea = {
   * the Naca via the HvReleaseData area.  The HvReleaseData has the
   * offset into the Naca of the pointer to the ItVpdAreas.
   */
@@ -93557,7 +93557,7 @@
  	.xSlicDesc = 0xc9a3e5c1,		/* "ItVA" */
  	.xSlicSize = sizeof(struct ItVpdAreas),
  	.xSlicVpdEntries = ItVpdMaxEntries,	/* # VPD array entries */
-@@ -185,7 +283,7 @@
+@@ -185,7 +283,7 @@ struct ItVpdAreas itVpdAreas = {
  	.xSlicVpdLens = {			/* VPD lengths */
  	        0,0,0,		        /*  0 - 2 */
  		sizeof(xItExtVpdPanel), /*       3 Extended VPD   */
@@ -93566,7 +93566,7 @@
  		0,			/*       5 */
  		sizeof(struct ItIplParmsReal),/* 6 length of IPL parms */
  		26992,			/*	 7 length of MS VPD */
-@@ -203,7 +301,7 @@
+@@ -203,7 +301,7 @@ struct ItVpdAreas itVpdAreas = {
  	.xSlicVpdAdrs = {			/* VPD addresses */
  		0,0,0,			/*	 0 -  2 */
  		&xItExtVpdPanel,        /*       3 Extended VPD */
@@ -93575,7 +93575,7 @@
  		0,			/*       5 */
  		&xItIplParmsReal,	/*	 6 IPL parms */
  		&xMsVpd,		/*	 7 MS Vpd */
-@@ -219,10 +317,3 @@
+@@ -219,10 +317,3 @@ struct ItVpdAreas itVpdAreas = {
  		0,0
  	}
  };
@@ -93607,7 +93607,7 @@
  #include <linux/kernel.h>
  #include <linux/list.h>
  #include <linux/string.h>
-@@ -586,7 +587,7 @@
+@@ -586,7 +587,7 @@ static inline struct device_node *xlate_
  		static unsigned long last_jiffies;
  		static int num_printed;
  
@@ -93618,7 +93618,7 @@
  		}
 --- a/arch/powerpc/platforms/iseries/release_data.h
 +++ b/arch/powerpc/platforms/iseries/release_data.h
-@@ -58,6 +58,6 @@
+@@ -58,6 +58,6 @@ struct HvReleaseData {
  	char	xRsvd3[20];	/* Reserved			x2C-x3F */
  };
  
@@ -93628,7 +93628,7 @@
  #endif /* _ISERIES_RELEASE_DATA_H */
 --- a/arch/powerpc/platforms/iseries/spcomm_area.h
 +++ b/arch/powerpc/platforms/iseries/spcomm_area.h
-@@ -31,6 +31,4 @@
+@@ -31,6 +31,4 @@ struct SpCommArea {
  	u8	xRsvd2[80];		// Reserved				030-07F
  };
  
@@ -93637,7 +93637,7 @@
  #endif /* _ISERIES_SPCOMM_AREA_H */
 --- a/arch/powerpc/platforms/iseries/vpd_areas.h
 +++ b/arch/powerpc/platforms/iseries/vpd_areas.h
-@@ -80,9 +80,9 @@
+@@ -80,9 +80,9 @@ struct ItVpdAreas {
  	u32	xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths	080-0A7
  	u32	xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens	0A8-0CF
  	u32	xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths	0D0-12F
@@ -93651,7 +93651,7 @@
  #endif /* _ISERIES_VPD_AREAS_H */
 --- a/arch/powerpc/platforms/maple/pci.c
 +++ b/arch/powerpc/platforms/maple/pci.c
-@@ -592,50 +592,3 @@
+@@ -592,50 +592,3 @@ int maple_pci_get_legacy_ide_irq(struct 
  	}
  	return irq;
  }
@@ -93720,7 +93720,7 @@
  #include <asm/mpic.h>
  #include <asm/rtas.h>
  #include <asm/udbg.h>
-@@ -319,7 +319,7 @@
+@@ -319,7 +319,7 @@ static int __init maple_probe(void)
  	return 1;
  }
  
@@ -93748,7 +93748,7 @@
  
  static struct pasdma_status *dma_status;
  
-@@ -43,6 +46,8 @@
+@@ -43,6 +46,8 @@ static struct pci_dev *dma_pdev;
  
  static DECLARE_BITMAP(txch_free, MAX_TXCH);
  static DECLARE_BITMAP(rxch_free, MAX_RXCH);
@@ -93757,7 +93757,7 @@
  
  /* pasemi_read_iob_reg - read IOB register
   * @reg: Register to read (offset into PCI CFG space)
-@@ -373,6 +378,106 @@
+@@ -373,6 +378,106 @@ void pasemi_dma_free_buf(struct pasemi_d
  }
  EXPORT_SYMBOL(pasemi_dma_free_buf);
  
@@ -93864,7 +93864,7 @@
  static void *map_onedev(struct pci_dev *p, int index)
  {
  	struct device_node *dn;
-@@ -410,6 +515,7 @@
+@@ -410,6 +515,7 @@ int pasemi_dma_init(void)
  	struct resource res;
  	struct device_node *dn;
  	int i, intf, err = 0;
@@ -93872,7 +93872,7 @@
  	u32 tmp;
  
  	if (!machine_is(pasemi))
-@@ -478,6 +584,44 @@
+@@ -478,6 +584,44 @@ int pasemi_dma_init(void)
  	for (i = 0; i < MAX_RXCH; i++)
  		__set_bit(i, rxch_free);
  
@@ -93977,7 +93977,7 @@
  static u32 iob_l1_emptyval;
  static u32 iob_l2_emptyval;
  static u32 *iob_l2_base;
-@@ -219,7 +218,7 @@
+@@ -219,7 +218,7 @@ int __init iob_init(struct device_node *
  	for (i = 0; i < 64; i++) {
  		/* Each L1 covers 32MB, i.e. 8K entries = 32K of ram */
  		regword = IOBMAP_L1E_V | (__pa(iob_l2_base + i*0x2000) >> 12);
@@ -94006,7 +94006,7 @@
  #include "pmac.h"
 --- a/arch/powerpc/platforms/ps3/device-init.c
 +++ b/arch/powerpc/platforms/ps3/device-init.c
-@@ -499,41 +499,14 @@
+@@ -499,41 +499,14 @@ static int __init ps3_register_graphics_
  }
  
  /**
@@ -94050,7 +94050,7 @@
  	case PS3_DEV_TYPE_STOR_DISK:
  		result = ps3_setup_storage_dev(repo, PS3_MATCH_ID_STOR_DISK);
  
-@@ -572,6 +545,48 @@
+@@ -572,6 +545,48 @@ static int ps3_register_repository_devic
  	return result;
  }
  
@@ -94099,7 +94099,7 @@
  static void ps3_find_and_add_device(u64 bus_id, u64 dev_id)
  {
  	struct ps3_repository_device repo;
-@@ -601,7 +616,7 @@
+@@ -601,7 +616,7 @@ found:
  		pr_debug("%s:%u: device %lu:%lu found after %u retries\n",
  			 __func__, __LINE__, bus_id, dev_id, retries);
  
@@ -94108,7 +94108,7 @@
  	return;
  }
  
-@@ -905,8 +920,7 @@
+@@ -905,8 +920,7 @@ static int __init ps3_register_devices(v
  
  	ps3_register_graphics_devices();
  
@@ -94134,7 +94134,7 @@
  #include <asm/ps3fb.h>
 --- a/arch/powerpc/platforms/ps3/interrupt.c
 +++ b/arch/powerpc/platforms/ps3/interrupt.c
-@@ -709,7 +709,7 @@
+@@ -709,7 +709,7 @@ static unsigned int ps3_get_irq(void)
  	asm volatile("cntlzd %0,%1" : "=r" (plug) : "r" (x));
  	plug &= 0x3f;
  
@@ -94172,7 +94172,7 @@
  
 --- a/arch/powerpc/platforms/ps3/setup.c
 +++ b/arch/powerpc/platforms/ps3/setup.c
-@@ -95,6 +95,14 @@
+@@ -95,6 +95,14 @@ static void ps3_power_off(void)
  	ps3_sys_manager_power_off(); /* never returns */
  }
  
@@ -94187,7 +94187,7 @@
  static void ps3_panic(char *str)
  {
  	DBG("%s:%d %s\n", __func__, __LINE__, str);
-@@ -105,7 +113,8 @@
+@@ -105,7 +113,8 @@ static void ps3_panic(char *str)
  	printk("   Please press POWER button.\n");
  	printk("\n");
  
@@ -94197,7 +94197,7 @@
  }
  
  #if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \
-@@ -117,7 +126,7 @@
+@@ -117,7 +126,7 @@ static void __init prealloc(struct ps3_p
  
  	p->address = __alloc_bootmem(p->size, p->align, __pa(MAX_DMA_ADDRESS));
  	if (!p->address) {
@@ -94206,7 +94206,7 @@
  		       p->name);
  		return;
  	}
-@@ -266,6 +275,7 @@
+@@ -266,6 +275,7 @@ define_machine(ps3) {
  	.progress			= ps3_progress,
  	.restart			= ps3_restart,
  	.power_off			= ps3_power_off,
@@ -94224,7 +94224,7 @@
  
  #include "../cell/spufs/spufs.h"
  #include "platform.h"
-@@ -140,6 +141,12 @@
+@@ -140,6 +141,12 @@ static void _dump_areas(unsigned int spe
  	pr_debug("%s:%d: shadow:  %lxh\n", func, line, shadow);
  }
  
@@ -94239,14 +94239,14 @@
  	unsigned long id;
 --- a/arch/powerpc/platforms/pseries/Makefile
 +++ b/arch/powerpc/platforms/pseries/Makefile
-@@ -18,3 +18,4 @@
+@@ -18,3 +18,4 @@ obj-$(CONFIG_HOTPLUG_CPU)	+= hotplug-cpu
  obj-$(CONFIG_HVC_CONSOLE)	+= hvconsole.o
  obj-$(CONFIG_HVCS)		+= hvcserver.o
  obj-$(CONFIG_HCALL_STATS)	+= hvCall_inst.o
 +obj-$(CONFIG_PHYP_DUMP)	+= phyp_dump.o
 --- a/arch/powerpc/platforms/pseries/eeh.c
 +++ b/arch/powerpc/platforms/pseries/eeh.c
-@@ -945,7 +945,6 @@
+@@ -945,7 +945,6 @@ static void *early_enable_eeh(struct dev
  	unsigned int rets[3];
  	struct eeh_early_enable_info *info = data;
  	int ret;
@@ -94254,7 +94254,7 @@
  	const u32 *class_code = of_get_property(dn, "class-code", NULL);
  	const u32 *vendor_id = of_get_property(dn, "vendor-id", NULL);
  	const u32 *device_id = of_get_property(dn, "device-id", NULL);
-@@ -959,8 +958,8 @@
+@@ -959,8 +958,8 @@ static void *early_enable_eeh(struct dev
  	pdn->eeh_freeze_count = 0;
  	pdn->eeh_false_positives = 0;
  
@@ -94275,7 +94275,7 @@
  
  #ifdef DEBUG_LOW
  #define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0)
-@@ -203,7 +204,6 @@
+@@ -203,7 +204,6 @@ void __init find_udbg_vterm(void)
  	struct device_node *stdout_node;
  	const u32 *termno;
  	const char *name;
@@ -94283,7 +94283,7 @@
  
  	/* find the boot console from /chosen/stdout */
  	if (!of_chosen)
-@@ -219,8 +219,6 @@
+@@ -219,8 +219,6 @@ void __init find_udbg_vterm(void)
  		printk(KERN_WARNING "stdout node missing 'name' property!\n");
  		goto out;
  	}
@@ -94292,7 +94292,7 @@
  
  	/* Check if it's a virtual terminal */
  	if (strncmp(name, "vty", 3) != 0)
-@@ -234,15 +232,13 @@
+@@ -234,15 +232,13 @@ void __init find_udbg_vterm(void)
  		udbg_putc = udbg_putcLP;
  		udbg_getc = udbg_getcLP;
  		udbg_getc_poll = udbg_getc_pollLP;
@@ -94310,7 +94310,7 @@
  	}
  out:
  	of_node_put(stdout_node);
-@@ -520,6 +516,20 @@
+@@ -520,6 +516,20 @@ static void pSeries_lpar_hpte_invalidate
  	BUG_ON(lpar_rc != H_SUCCESS);
  }
  
@@ -94331,7 +94331,7 @@
  /* Flag bits for H_BULK_REMOVE */
  #define HBR_REQUEST	0x4000000000000000UL
  #define HBR_RESPONSE	0x8000000000000000UL
-@@ -597,6 +607,7 @@
+@@ -597,6 +607,7 @@ void __init hpte_init_lpar(void)
  	ppc_md.hpte_updateboltedpp = pSeries_lpar_hpte_updateboltedpp;
  	ppc_md.hpte_insert	= pSeries_lpar_hpte_insert;
  	ppc_md.hpte_remove	= pSeries_lpar_hpte_remove;
@@ -94341,7 +94341,7 @@
  }
 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c
 +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ pcibios_pci_config_bridge(struct pci_dev
  	/* Add to children of PCI bridge dev->bus */
  	child_bus = pci_add_new_bus(dev->bus, dev, sec_busno);
  	if (!child_bus) {
@@ -94862,7 +94862,7 @@
 +early_param("phyp_dump_reserve_size", early_phyp_dump_reserve_size);
 --- a/arch/powerpc/platforms/pseries/pseries.h
 +++ b/arch/powerpc/platforms/pseries/pseries.h
-@@ -38,4 +38,6 @@
+@@ -38,4 +38,6 @@ extern void pSeries_final_fixup(void);
  /* Poweron flag used for enabling auto ups restart */
  extern unsigned long rtas_poweron_auto;
  
@@ -94871,7 +94871,7 @@
  #endif /* _PSERIES_PSERIES_H */
 --- a/arch/powerpc/platforms/pseries/reconfig.c
 +++ b/arch/powerpc/platforms/pseries/reconfig.c
-@@ -222,14 +222,14 @@
+@@ -222,14 +222,14 @@ static char * parse_next_property(char *
  	tmp = strchr(buf, ' ');
  	if (!tmp) {
  		printk(KERN_ERR "property parse failed in %s at line %d\n",
@@ -94888,7 +94888,7 @@
  		return NULL;
  	}
  
-@@ -238,12 +238,12 @@
+@@ -238,12 +238,12 @@ static char * parse_next_property(char *
  	*length = simple_strtoul(tmp, &tmp, 10);
  	if (*length == -1) {
  		printk(KERN_ERR "property parse failed in %s at line %d\n",
@@ -94903,7 +94903,7 @@
  		return NULL;
  	}
  
-@@ -252,12 +252,12 @@
+@@ -252,12 +252,12 @@ static char * parse_next_property(char *
  	tmp += *length;
  	if (tmp > end) {
  		printk(KERN_ERR "property parse failed in %s at line %d\n",
@@ -94920,7 +94920,7 @@
  	tmp++;
 --- a/arch/powerpc/platforms/pseries/scanlog.c
 +++ b/arch/powerpc/platforms/pseries/scanlog.c
-@@ -195,31 +195,30 @@
+@@ -195,31 +195,30 @@ const struct file_operations scanlog_fop
  static int __init scanlog_init(void)
  {
  	struct proc_dir_entry *ent;
@@ -94982,7 +94982,7 @@
  int fwnmi_active;  /* TRUE if an FWNMI handler is present */
  
  static void pseries_shared_idle_sleep(void);
-@@ -127,14 +124,60 @@
+@@ -127,14 +124,60 @@ void pseries_8259_cascade(unsigned int i
  	desc->chip->eoi(irq);
  }
  
@@ -95047,7 +95047,7 @@
  	int naddr, n, i, opplen;
  	struct mpic *mpic;
  
-@@ -167,43 +210,13 @@
+@@ -167,43 +210,13 @@ static void __init pseries_mpic_init_IRQ
  	mpic_init(mpic);
  
  	/* Look for cascade */
@@ -95097,7 +95097,7 @@
  }
  
  static void pseries_lpar_enable_pmcs(void)
-@@ -235,7 +248,7 @@
+@@ -235,7 +248,7 @@ static void __init pseries_discover_pic(
  			smp_init_pseries_mpic();
  			return;
  		} else if (strstr(typep, "ppc-xicp")) {
@@ -95106,7 +95106,7 @@
  			setup_kexec_cpu_down_xics();
  			smp_init_pseries_xics();
  			return;
-@@ -393,6 +406,7 @@
+@@ -393,6 +406,7 @@ static void pseries_dedicated_idle_sleep
  { 
  	unsigned int cpu = smp_processor_id();
  	unsigned long start_snooze;
@@ -95114,7 +95114,7 @@
  
  	/*
  	 * Indicate to the HV that we are idle. Now would be
-@@ -400,6 +414,7 @@
+@@ -400,6 +414,7 @@ static void pseries_dedicated_idle_sleep
  	 */
  	get_lppaca()->idle = 1;
  	get_lppaca()->donate_dedicated_cpu = 1;
@@ -95122,7 +95122,7 @@
  
  	/*
  	 * We come in with interrupts disabled, and need_resched()
-@@ -432,6 +447,8 @@
+@@ -432,6 +447,8 @@ static void pseries_dedicated_idle_sleep
  
  out:
  	HMT_medium();
@@ -95133,7 +95133,7 @@
  }
 --- a/arch/powerpc/platforms/pseries/xics.c
 +++ b/arch/powerpc/platforms/pseries/xics.c
-@@ -516,6 +516,8 @@
+@@ -516,6 +516,8 @@ static struct irq_chip xics_pic_lpar = {
  	.set_affinity = xics_set_affinity
  };
  
@@ -95142,7 +95142,7 @@
  
  static int xics_host_match(struct irq_host *h, struct device_node *node)
  {
-@@ -526,23 +528,13 @@
+@@ -526,23 +528,13 @@ static int xics_host_match(struct irq_ho
  	return !of_device_is_compatible(node, "chrp,iic");
  }
  
@@ -95170,7 +95170,7 @@
  	return 0;
  }
  
-@@ -561,27 +553,20 @@
+@@ -561,27 +553,20 @@ static int xics_host_xlate(struct irq_ho
  	return 0;
  }
  
@@ -95204,7 +95204,7 @@
  				   XICS_IRQ_SPURIOUS);
  	BUG_ON(xics_host == NULL);
  	irq_set_default_host(xics_host);
-@@ -655,52 +640,6 @@
+@@ -655,52 +640,6 @@ static void __init xics_init_one_node(st
  	}
  }
  
@@ -95257,7 +95257,7 @@
  void __init xics_init_IRQ(void)
  {
  	struct device_node *np;
-@@ -733,8 +672,6 @@
+@@ -733,8 +672,6 @@ void __init xics_init_IRQ(void)
  
  	xics_setup_cpu();
  
@@ -95268,7 +95268,7 @@
  
 --- a/arch/powerpc/platforms/pseries/xics.h
 +++ b/arch/powerpc/platforms/pseries/xics.h
-@@ -28,7 +28,4 @@
+@@ -28,7 +28,4 @@ struct xics_ipi_struct {
  
  extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;
  
@@ -95278,7 +95278,7 @@
  #endif /* _POWERPC_KERNEL_XICS_H */
 --- a/arch/powerpc/sysdev/Makefile
 +++ b/arch/powerpc/sysdev/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_U3_DART)		+= dart_iommu.o
  obj-$(CONFIG_MMIO_NVRAM)	+= mmio_nvram.o
  obj-$(CONFIG_FSL_SOC)		+= fsl_soc.o
  obj-$(CONFIG_FSL_PCI)		+= fsl_pci.o
@@ -95286,7 +95286,7 @@
  obj-$(CONFIG_RAPIDIO)		+= fsl_rio.o
  obj-$(CONFIG_TSI108_BRIDGE)	+= tsi108_pci.o tsi108_dev.o
  obj-$(CONFIG_QUICC_ENGINE)	+= qe_lib/
-@@ -27,6 +28,7 @@
+@@ -27,6 +28,7 @@ obj-$(CONFIG_PPC_INDIRECT_PCI)	+= indire
  obj-$(CONFIG_PPC_I8259)		+= i8259.o
  obj-$(CONFIG_IPIC)		+= ipic.o
  obj-$(CONFIG_4xx)		+= uic.o
@@ -95306,7 +95306,7 @@
  cpm8xx_t __iomem *cpmp;  /* Pointer to comm processor space */
  immap_t __iomem *mpc8xx_immr;
  static cpic8xx_t __iomem *cpic_reg;
-@@ -229,12 +226,7 @@
+@@ -229,12 +226,7 @@ void __init cpm_reset(void)
  	out_be32(&siu_conf->sc_sdcr, 1);
  	immr_unmap(siu_conf);
  
@@ -95319,7 +95319,7 @@
  }
  
  static DEFINE_SPINLOCK(cmd_lock);
-@@ -257,7 +249,7 @@
+@@ -257,7 +249,7 @@ int cpm_command(u32 command, u8 opcode)
  		if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
  			goto out;
  
@@ -95328,7 +95328,7 @@
  	ret = -EIO;
  out:
  	spin_unlock_irqrestore(&cmd_lock, flags);
-@@ -293,110 +285,6 @@
+@@ -293,110 +285,6 @@ cpm_setbrg(uint brg, uint rate)
  			      CPM_BRG_EN | CPM_BRG_DIV16);
  }
  
@@ -95452,7 +95452,7 @@
  cpm_cpm2_t __iomem *cpmp; /* Pointer to comm processor space */
  
  /* We allocate this here because it is used almost exclusively for
-@@ -71,15 +67,17 @@
+@@ -71,15 +67,17 @@ void __init cpm2_reset(void)
  
  	/* Reclaim the DP memory for our use.
  	 */
@@ -95474,7 +95474,7 @@
  }
  
  static DEFINE_SPINLOCK(cmd_lock);
-@@ -99,7 +97,7 @@
+@@ -99,7 +97,7 @@ int cpm_command(u32 command, u8 opcode)
  		if ((in_be32(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
  			goto out;
  
@@ -95483,7 +95483,7 @@
  	ret = -EIO;
  out:
  	spin_unlock_irqrestore(&cmd_lock, flags);
-@@ -347,95 +345,6 @@
+@@ -347,95 +345,6 @@ int cpm2_smc_clk_setup(enum cpm_clk_targ
  	return ret;
  }
  
@@ -95581,7 +95581,7 @@
  	u32 res[3];
 --- a/arch/powerpc/sysdev/cpm_common.c
 +++ b/arch/powerpc/sysdev/cpm_common.c
-@@ -58,7 +58,6 @@
+@@ -58,7 +58,6 @@ void __init udbg_init_cpm(void)
  }
  #endif
  
@@ -95589,7 +95589,7 @@
  static spinlock_t cpm_muram_lock;
  static rh_block_t cpm_boot_muram_rh_block[16];
  static rh_info_t cpm_muram_info;
-@@ -199,5 +198,3 @@
+@@ -199,5 +198,3 @@ dma_addr_t cpm_muram_dma(void __iomem *a
  	return muram_pbase + ((u8 __iomem *)addr - muram_vbase);
  }
  EXPORT_SYMBOL(cpm_muram_dma);
@@ -95747,7 +95747,7 @@
 +EXPORT_SYMBOL(fsl_upm_find);
 --- a/arch/powerpc/sysdev/fsl_soc.c
 +++ b/arch/powerpc/sysdev/fsl_soc.c
-@@ -75,6 +75,33 @@
+@@ -75,6 +75,33 @@ phys_addr_t get_immrbase(void)
  
  EXPORT_SYMBOL(get_immrbase);
  
@@ -95781,7 +95781,7 @@
  #if defined(CONFIG_CPM2) || defined(CONFIG_QUICC_ENGINE) || defined(CONFIG_8xx)
  
  static u32 brgfreq = -1;
-@@ -516,9 +543,9 @@
+@@ -516,9 +543,9 @@ arch_initcall(fsl_i2c_of_init);
  static int __init mpc83xx_wdt_init(void)
  {
  	struct resource r;
@@ -95793,7 +95793,7 @@
  	int ret;
  
  	np = of_find_compatible_node(NULL, "watchdog", "mpc83xx_wdt");
-@@ -528,19 +555,6 @@
+@@ -528,19 +555,6 @@ static int __init mpc83xx_wdt_init(void)
  		goto nodev;
  	}
  
@@ -95813,7 +95813,7 @@
  	memset(&r, 0, sizeof(r));
  
  	ret = of_address_to_resource(np, 0, &r);
-@@ -553,20 +567,16 @@
+@@ -553,20 +567,16 @@ static int __init mpc83xx_wdt_init(void)
  		goto err;
  	}
  
@@ -95835,7 +95835,7 @@
  	of_node_put(np);
  nodev:
  	return ret;
-@@ -735,547 +745,6 @@
+@@ -735,547 +745,6 @@ err:
  
  arch_initcall(fsl_usb_of_init);
  
@@ -96383,7 +96383,7 @@
  static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk,
  				   struct spi_board_info *board_infos,
  				   unsigned int num_board_infos,
-@@ -1371,25 +840,9 @@
+@@ -1371,25 +840,9 @@ int __init fsl_spi_init(struct spi_board
  	sysclk = get_brgfreq();
  #endif
  	if (sysclk == -1) {
@@ -96423,7 +96423,7 @@
  
 --- a/arch/powerpc/sysdev/mpic.c
 +++ b/arch/powerpc/sysdev/mpic.c
-@@ -175,13 +175,16 @@
+@@ -175,13 +175,16 @@ static inline void _mpic_write(enum mpic
  	switch(type) {
  #ifdef CONFIG_PPC_DCR
  	case mpic_access_dcr:
@@ -96443,7 +96443,7 @@
  	}
  }
  
-@@ -1000,7 +1003,7 @@
+@@ -1000,7 +1003,7 @@ struct mpic * __init mpic_alloc(struct d
  				const char *name)
  {
  	struct mpic	*mpic;
@@ -96452,7 +96452,7 @@
  	const char	*vers;
  	int		i;
  	int		intvec_top;
-@@ -1064,7 +1067,8 @@
+@@ -1064,7 +1067,8 @@ struct mpic * __init mpic_alloc(struct d
  
  	/* Look for protected sources */
  	if (node) {
@@ -96462,7 +96462,7 @@
  		const u32 *psrc =
  			of_get_property(node, "protected-sources", &psize);
  		if (psrc) {
-@@ -1107,8 +1111,7 @@
+@@ -1107,8 +1111,7 @@ struct mpic * __init mpic_alloc(struct d
  	 * in, try to obtain one
  	 */
  	if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) {
@@ -96472,7 +96472,7 @@
  		BUG_ON(reg == NULL);
  		paddr = of_translate_address(node, reg);
  		BUG_ON(paddr == OF_BAD_ADDR);
-@@ -1137,12 +1140,13 @@
+@@ -1137,12 +1140,13 @@ struct mpic * __init mpic_alloc(struct d
  	 * MPICs, num sources as well. On ISU MPICs, sources are counted
  	 * as ISUs are added
  	 */
@@ -96490,7 +96490,7 @@
  
  	/* Map the per-CPU registers */
  	for (i = 0; i < mpic->num_cpus; i++) {
-@@ -1161,7 +1165,7 @@
+@@ -1161,7 +1165,7 @@ struct mpic * __init mpic_alloc(struct d
  	mpic->isu_mask = (1 << mpic->isu_shift) - 1;
  
  	/* Display version */
@@ -96499,7 +96499,7 @@
  	case 1:
  		vers = "1.0";
  		break;
-@@ -1321,7 +1325,7 @@
+@@ -1321,7 +1325,7 @@ void __init mpic_set_serial_int(struct m
  
  void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
  {
@@ -96508,7 +96508,7 @@
  	struct mpic *mpic = mpic_find(irq, &is_ipi);
  	unsigned int src = mpic_irq_to_hw(irq);
  	unsigned long flags;
-@@ -1344,7 +1348,7 @@
+@@ -1344,7 +1348,7 @@ void mpic_irq_set_priority(unsigned int 
  
  unsigned int mpic_irq_get_priority(unsigned int irq)
  {
@@ -96517,7 +96517,7 @@
  	struct mpic *mpic = mpic_find(irq, &is_ipi);
  	unsigned int src = mpic_irq_to_hw(irq);
  	unsigned long flags;
-@@ -1406,11 +1410,6 @@
+@@ -1406,11 +1410,6 @@ void mpic_cpu_set_priority(int prio)
  	mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), prio);
  }
  
@@ -96529,7 +96529,7 @@
  void mpic_teardown_this_cpu(int secondary)
  {
  	struct mpic *mpic = mpic_primary;
-@@ -1430,6 +1429,10 @@
+@@ -1430,6 +1429,10 @@ void mpic_teardown_this_cpu(int secondar
  
  	/* Set current processor priority to max */
  	mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0xf);
@@ -96542,7 +96542,7 @@
  }
 --- a/arch/powerpc/sysdev/mv64x60_dev.c
 +++ b/arch/powerpc/sysdev/mv64x60_dev.c
-@@ -127,7 +127,7 @@
+@@ -127,7 +127,7 @@ static int __init mv64x60_mpsc_device_se
  	if (err)
  		return err;
  
@@ -96551,7 +96551,7 @@
  	if (!prop)
  		return -ENODEV;
  	port_number = *(int *)prop;
-@@ -136,6 +136,7 @@
+@@ -136,6 +136,7 @@ static int __init mv64x60_mpsc_device_se
  
  	pdata.cache_mgmt = 1; /* All current revs need this set */
  
@@ -96559,7 +96559,7 @@
  	prop = of_get_property(np, "max_idle", NULL);
  	if (prop)
  		pdata.max_idle = *prop;
-@@ -205,30 +206,24 @@
+@@ -205,30 +206,24 @@ error:
  /*
   * Create mv64x60_eth platform devices
   */
@@ -96597,7 +96597,7 @@
  {
  	struct resource r[1];
  	struct mv643xx_eth_platform_data pdata;
-@@ -239,16 +234,12 @@
+@@ -239,16 +234,12 @@ static int __init mv64x60_eth_device_set
  	const phandle *ph;
  	int err;
  
@@ -96615,7 +96615,7 @@
  	if (!prop)
  		return -ENODEV;
  	pdata.port_number = *prop;
-@@ -301,7 +292,7 @@
+@@ -301,7 +292,7 @@ static int __init mv64x60_eth_device_set
  
  	of_node_put(phy);
  
@@ -96624,7 +96624,7 @@
  	if (!pdev)
  		return -ENOMEM;
  
-@@ -345,21 +336,19 @@
+@@ -345,21 +336,19 @@ static int __init mv64x60_i2c_device_set
  
  	memset(&pdata, 0, sizeof(pdata));
  
@@ -96649,7 +96649,7 @@
  
  	pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id);
  	if (!pdev)
-@@ -401,10 +390,7 @@
+@@ -401,10 +390,7 @@ static int __init mv64x60_wdt_device_set
  
  	memset(&pdata, 0, sizeof(pdata));
  
@@ -96661,7 +96661,7 @@
  
  	np = of_get_parent(np);
  	if (!np)
-@@ -441,27 +427,43 @@
+@@ -441,27 +427,43 @@ error:
  
  static int __init mv64x60_device_setup(void)
  {
@@ -96712,7 +96712,7 @@
  	if (np) {
  		if ((err = mv64x60_wdt_device_setup(np, id)))
  			goto error;
-@@ -489,10 +491,10 @@
+@@ -489,10 +491,10 @@ static int __init mv64x60_add_mpsc_conso
  	if (!np)
  		goto not_mpsc;
  
@@ -96727,7 +96727,7 @@
  
 --- a/arch/powerpc/sysdev/mv64x60_pci.c
 +++ b/arch/powerpc/sysdev/mv64x60_pci.c
-@@ -86,14 +86,14 @@
+@@ -86,14 +86,14 @@ static int __init mv64x60_sysfs_init(voi
  	struct platform_device *pdev;
  	const unsigned int *prop;
  
@@ -96744,7 +96744,7 @@
  	if (IS_ERR(pdev))
  		return PTR_ERR(pdev);
  
-@@ -166,6 +166,6 @@
+@@ -166,6 +166,6 @@ void __init mv64x60_pci_init(void)
  {
  	struct device_node *np;
  
@@ -96754,7 +96754,7 @@
  }
 --- a/arch/powerpc/sysdev/mv64x60_pic.c
 +++ b/arch/powerpc/sysdev/mv64x60_pic.c
-@@ -238,13 +238,13 @@
+@@ -238,13 +238,13 @@ void __init mv64x60_init_irq(void)
  	const unsigned int *reg;
  	unsigned long flags;
  
@@ -96772,7 +96772,7 @@
  	mv64x60_irq_reg_base = ioremap(paddr, reg[1]);
 --- a/arch/powerpc/sysdev/mv64x60_udbg.c
 +++ b/arch/powerpc/sysdev/mv64x60_udbg.c
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ static void mv64x60_udbg_init(void)
  	if (!stdout)
  		return;
  
@@ -96783,7 +96783,7 @@
  	}
 --- a/arch/powerpc/sysdev/ppc4xx_pci.c
 +++ b/arch/powerpc/sysdev/ppc4xx_pci.c
-@@ -527,6 +527,7 @@
+@@ -527,6 +527,7 @@ static void __init ppc4xx_probe_pcix_bri
   *
   * ibm,plb-pciex-440spe
   * ibm,plb-pciex-405ex
@@ -96791,7 +96791,7 @@
   *
   * Anything else will be rejected for now as they are all subtly
   * different unfortunately.
-@@ -645,7 +646,7 @@
+@@ -645,7 +646,7 @@ static int __init ppc440spe_pciex_core_i
  	int time_out = 20;
  
  	/* Set PLL clock receiver to LVPECL */
@@ -96800,7 +96800,7 @@
  
  	/* Shouldn't we do all the calibration stuff etc... here ? */
  	if (ppc440spe_pciex_check_reset(np))
-@@ -659,8 +660,7 @@
+@@ -659,8 +660,7 @@ static int __init ppc440spe_pciex_core_i
  	}
  
  	/* De-assert reset of PCIe PLL, wait for lock */
@@ -96810,7 +96810,7 @@
  	udelay(3);
  
  	while (time_out) {
-@@ -712,9 +712,8 @@
+@@ -712,9 +712,8 @@ static int ppc440spe_pciex_init_port_hw(
  		mtdcri(SDR0, port->sdr_base + PESDRn_440SPE_HSSL7SET1,
  		       0x35000000);
  	}
@@ -96822,7 +96822,7 @@
  
  	return 0;
  }
-@@ -775,6 +774,115 @@
+@@ -775,6 +774,115 @@ static struct ppc4xx_pciex_hwops ppc440s
  	.setup_utl	= ppc440speB_pciex_init_utl,
  };
  
@@ -96938,7 +96938,7 @@
  #endif /* CONFIG_44x */
  
  #ifdef CONFIG_40x
-@@ -830,17 +938,9 @@
+@@ -830,17 +938,9 @@ static int ppc405ex_pciex_init_port_hw(s
  	 * PCIe boards don't show this problem.
  	 * This has to be re-tested and fixed in a later release!
  	 */
@@ -96956,7 +96956,7 @@
  
  	dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000);  /* guarded on */
  
-@@ -896,6 +996,8 @@
+@@ -896,6 +996,8 @@ static int __init ppc4xx_pciex_check_cor
  		else
  			ppc4xx_pciex_hwops = &ppc440speB_pcie_hwops;
  	}
@@ -96965,7 +96965,7 @@
  #endif /* CONFIG_44x    */
  #ifdef CONFIG_40x
  	if (of_device_is_compatible(np, "ibm,plb-pciex-405ex"))
-@@ -1042,8 +1144,7 @@
+@@ -1042,8 +1144,7 @@ static int __init ppc4xx_pciex_port_init
  		port->link = 0;
  	}
  
@@ -97255,7 +97255,7 @@
 +}
 --- a/arch/powerpc/sysdev/qe_lib/qe.c
 +++ b/arch/powerpc/sysdev/qe_lib/qe.c
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ struct qe_snum {
  /* We allocate this here because it is used almost exclusively for
   * the communication processor devices.
   */
@@ -97264,7 +97264,7 @@
  EXPORT_SYMBOL(qe_immr);
  
  static struct qe_snum snums[QE_NUM_OF_SNUM];	/* Dynamically allocated SNUMs */
-@@ -156,7 +156,7 @@
+@@ -156,7 +156,7 @@ EXPORT_SYMBOL(qe_issue_cmd);
   */
  static unsigned int brg_clk = 0;
  
@@ -97273,7 +97273,7 @@
  {
  	struct device_node *qe;
  	unsigned int size;
-@@ -180,6 +180,7 @@
+@@ -180,6 +180,7 @@ unsigned int get_brg_clk(void)
  
  	return brg_clk;
  }
@@ -97281,7 +97281,7 @@
  
  /* Program the BRG to the given sampling rate and multiplier
   *
-@@ -197,7 +198,7 @@
+@@ -197,7 +198,7 @@ int qe_setbrg(enum qe_clock brg, unsigne
  	if ((brg < QE_BRG1) || (brg > QE_BRG16))
  		return -EINVAL;
  
@@ -97290,7 +97290,7 @@
  
  	if (divisor > QE_BRGC_DIVISOR_MAX + 1) {
  		div16 = QE_BRGC_DIV16;
-@@ -415,12 +416,6 @@
+@@ -415,12 +416,6 @@ void qe_muram_dump(void)
  }
  EXPORT_SYMBOL(qe_muram_dump);
  
@@ -97313,7 +97313,7 @@
  #include <asm/prom.h>
  #include <sysdev/fsl_soc.h>
  
-@@ -41,7 +42,7 @@
+@@ -41,7 +42,7 @@ struct port_regs {
  #endif
  };
  
@@ -97322,7 +97322,7 @@
  static int num_par_io_ports = 0;
  
  int par_io_init(struct device_node *np)
-@@ -165,7 +166,7 @@
+@@ -165,7 +166,7 @@ int par_io_of_config(struct device_node 
  	}
  
  	ph = of_get_property(np, "pio-handle", NULL);
@@ -97331,7 +97331,7 @@
  		printk(KERN_ERR "pio-handle not available \n");
  		return -1;
  	}
-@@ -200,7 +201,7 @@
+@@ -200,7 +201,7 @@ static void dump_par_io(void)
  {
  	unsigned int i;
  
@@ -97342,7 +97342,7 @@
  			in_be32(&par_io[i].cpodr));
 --- a/arch/powerpc/sysdev/qe_lib/ucc_fast.c
 +++ b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
-@@ -148,57 +148,57 @@
+@@ -148,57 +148,57 @@ int ucc_fast_init(struct ucc_fast_info *
  
  	/* check if the UCC port number is in range. */
  	if ((uf_info->ucc_num < 0) || (uf_info->ucc_num > UCC_MAX_NUM - 1)) {
@@ -97410,7 +97410,7 @@
  		return -ENOMEM;
  	}
  
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ int ucc_fast_init(struct ucc_fast_info *
  	/* Set the PHY base address */
  	uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast));
  	if (uccf->uf_regs == NULL) {
@@ -97419,7 +97419,7 @@
  		return -ENOMEM;
  	}
  
-@@ -230,7 +230,7 @@
+@@ -230,7 +230,7 @@ int ucc_fast_init(struct ucc_fast_info *
  	/* Set UCC to fast type */
  	ret = ucc_set_type(uf_info->ucc_num, UCC_SPEED_TYPE_FAST);
  	if (ret) {
@@ -97428,7 +97428,7 @@
  		ucc_fast_free(uccf);
  		return ret;
  	}
-@@ -270,7 +270,7 @@
+@@ -270,7 +270,7 @@ int ucc_fast_init(struct ucc_fast_info *
  	    qe_muram_alloc(uf_info->utfs, UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
  	if (IS_ERR_VALUE(uccf->ucc_fast_tx_virtual_fifo_base_offset)) {
  		printk(KERN_ERR "%s: cannot allocate MURAM for TX FIFO\n",
@@ -97437,7 +97437,7 @@
  		uccf->ucc_fast_tx_virtual_fifo_base_offset = 0;
  		ucc_fast_free(uccf);
  		return -ENOMEM;
-@@ -283,7 +283,7 @@
+@@ -283,7 +283,7 @@ int ucc_fast_init(struct ucc_fast_info *
  			   UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
  	if (IS_ERR_VALUE(uccf->ucc_fast_rx_virtual_fifo_base_offset)) {
  		printk(KERN_ERR "%s: cannot allocate MURAM for RX FIFO\n",
@@ -97446,7 +97446,7 @@
  		uccf->ucc_fast_rx_virtual_fifo_base_offset = 0;
  		ucc_fast_free(uccf);
  		return -ENOMEM;
-@@ -314,7 +314,7 @@
+@@ -314,7 +314,7 @@ int ucc_fast_init(struct ucc_fast_info *
  		    ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->rx_clock,
  					COMM_DIR_RX)) {
  			printk(KERN_ERR "%s: illegal value for RX clock\n",
@@ -97455,7 +97455,7 @@
  			ucc_fast_free(uccf);
  			return -EINVAL;
  		}
-@@ -323,7 +323,7 @@
+@@ -323,7 +323,7 @@ int ucc_fast_init(struct ucc_fast_info *
  		    ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->tx_clock,
  					COMM_DIR_TX)) {
  			printk(KERN_ERR "%s: illegal value for TX clock\n",
@@ -97466,7 +97466,7 @@
  		}
 --- a/arch/powerpc/sysdev/qe_lib/ucc_slow.c
 +++ b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ int ucc_slow_init(struct ucc_slow_info *
  
  	/* check if the UCC port number is in range. */
  	if ((us_info->ucc_num < 0) || (us_info->ucc_num > UCC_MAX_NUM - 1)) {
@@ -97475,7 +97475,7 @@
  		return -EINVAL;
  	}
  
-@@ -161,7 +161,7 @@
+@@ -161,7 +161,7 @@ int ucc_slow_init(struct ucc_slow_info *
  	uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL);
  	if (!uccs) {
  		printk(KERN_ERR "%s: Cannot allocate private data\n",
@@ -97484,7 +97484,7 @@
  		return -ENOMEM;
  	}
  
-@@ -170,7 +170,7 @@
+@@ -170,7 +170,7 @@ int ucc_slow_init(struct ucc_slow_info *
  	/* Set the PHY base address */
  	uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
  	if (uccs->us_regs == NULL) {
@@ -97493,7 +97493,7 @@
  		return -ENOMEM;
  	}
  
-@@ -189,7 +189,7 @@
+@@ -189,7 +189,7 @@ int ucc_slow_init(struct ucc_slow_info *
  	uccs->us_pram_offset =
  		qe_muram_alloc(UCC_SLOW_PRAM_SIZE, ALIGNMENT_OF_UCC_SLOW_PRAM);
  	if (IS_ERR_VALUE(uccs->us_pram_offset)) {
@@ -97502,7 +97502,7 @@
  		ucc_slow_free(uccs);
  		return -ENOMEM;
  	}
-@@ -202,7 +202,7 @@
+@@ -202,7 +202,7 @@ int ucc_slow_init(struct ucc_slow_info *
  	/* Set UCC to slow type */
  	ret = ucc_set_type(us_info->ucc_num, UCC_SPEED_TYPE_SLOW);
  	if (ret) {
@@ -97511,7 +97511,7 @@
  		ucc_slow_free(uccs);
  		return ret;
  	}
-@@ -216,7 +216,7 @@
+@@ -216,7 +216,7 @@ int ucc_slow_init(struct ucc_slow_info *
  		qe_muram_alloc(us_info->rx_bd_ring_len * sizeof(struct qe_bd),
  				QE_ALIGNMENT_OF_BD);
  	if (IS_ERR_VALUE(uccs->rx_base_offset)) {
@@ -97520,7 +97520,7 @@
  			us_info->rx_bd_ring_len);
  		uccs->rx_base_offset = 0;
  		ucc_slow_free(uccs);
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ int ucc_slow_init(struct ucc_slow_info *
  		qe_muram_alloc(us_info->tx_bd_ring_len * sizeof(struct qe_bd),
  			QE_ALIGNMENT_OF_BD);
  	if (IS_ERR_VALUE(uccs->tx_base_offset)) {
@@ -97529,7 +97529,7 @@
  		uccs->tx_base_offset = 0;
  		ucc_slow_free(uccs);
  		return -ENOMEM;
-@@ -317,7 +317,7 @@
+@@ -317,7 +317,7 @@ int ucc_slow_init(struct ucc_slow_info *
  		if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->rx_clock,
  					COMM_DIR_RX)) {
  			printk(KERN_ERR "%s: illegal value for RX clock\n",
@@ -97538,7 +97538,7 @@
  			ucc_slow_free(uccs);
  			return -EINVAL;
  		}
-@@ -325,7 +325,7 @@
+@@ -325,7 +325,7 @@ int ucc_slow_init(struct ucc_slow_info *
  		if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->tx_clock,
  					COMM_DIR_TX)) {
  			printk(KERN_ERR "%s: illegal value for TX clock\n",
@@ -97549,7 +97549,7 @@
  		}
 --- a/arch/powerpc/sysdev/rtc_cmos_setup.c
 +++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
-@@ -56,3 +56,5 @@
+@@ -56,3 +56,5 @@ static int  __init add_rtc(void)
  	return 0;
  }
  fs_initcall(add_rtc);
@@ -97557,7 +97557,7 @@
 +MODULE_LICENSE("GPL");
 --- a/arch/powerpc/sysdev/tsi108_dev.c
 +++ b/arch/powerpc/sysdev/tsi108_dev.c
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init tsi108_eth_of_init(voi
  
  		ret = of_address_to_resource(np, 0, &r[0]);
  		DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
@@ -97566,7 +97566,7 @@
  		if (ret)
  			goto err;
  
-@@ -93,7 +93,7 @@
+@@ -93,7 +93,7 @@ static int __init tsi108_eth_of_init(voi
  		r[1].end = irq_of_parse_and_map(np, 0);
  		r[1].flags = IORESOURCE_IRQ;
  		DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
@@ -97577,7 +97577,7 @@
  		    platform_device_register_simple("tsi-ethernet", i++, &r[0],
 --- a/arch/powerpc/sysdev/tsi108_pci.c
 +++ b/arch/powerpc/sysdev/tsi108_pci.c
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ int __init tsi108_setup_pci(struct devic
  	/* PCI Config mapping */
  	tsi108_pci_cfg_base = (u32)ioremap(cfg_phys, TSI108_PCI_CFG_SIZE);
  	tsi108_pci_cfg_phys = cfg_phys;
@@ -97586,7 +97586,7 @@
  	    tsi108_pci_cfg_base);
  
  	/* Fetch host bridge registers address */
-@@ -395,7 +395,7 @@
+@@ -395,7 +395,7 @@ static int pci_irq_host_xlate(struct irq
  static int pci_irq_host_map(struct irq_host *h, unsigned int virq,
  			  irq_hw_number_t hw)
  {	unsigned int irq;
@@ -97605,7 +97605,7 @@
  #endif
  
  #include "nonstdio.h"
-@@ -1244,15 +1243,12 @@
+@@ -1244,15 +1243,12 @@ static void get_function_bounds(unsigned
  
  static int xmon_depth_to_print = 64;
  
@@ -97625,7 +97625,7 @@
  #define REGS_OFFSET		16
  #endif
  
-@@ -1318,7 +1314,7 @@
+@@ -1318,7 +1314,7 @@ static void xmon_show_stack(unsigned lon
  		/* Look for "regshere" marker to see if this is
  		   an exception frame. */
  		if (mread(sp + MARKER_OFFSET, &marker, sizeof(unsigned long))
@@ -97634,7 +97634,7 @@
  			if (mread(sp + REGS_OFFSET, &regs, sizeof(regs))
  			    != sizeof(regs)) {
  				printf("Couldn't read registers at %lx\n",
-@@ -1598,7 +1594,6 @@
+@@ -1598,7 +1594,6 @@ void super_regs(void)
  		if (firmware_has_feature(FW_FEATURE_ISERIES)) {
  			struct paca_struct *ptrPaca;
  			struct lppaca *ptrLpPaca;
@@ -97642,7 +97642,7 @@
  
  			/* Dump out relevant Paca data areas. */
  			printf("Paca: \n");
-@@ -1611,15 +1606,6 @@
+@@ -1611,15 +1606,6 @@ void super_regs(void)
  			printf("    Saved Gpr3=%.16lx  Saved Gpr4=%.16lx \n",
  			       ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4);
  			printf("    Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5);
@@ -97671,7 +97671,7 @@
  
 --- a/arch/ppc/8xx_io/fec.c
 +++ b/arch/ppc/8xx_io/fec.c
-@@ -520,7 +520,7 @@
+@@ -520,7 +520,7 @@ fec_enet_interrupt(int irq, void * dev_i
  #ifdef	CONFIG_USE_MDIO
  			fec_enet_mii(dev);
  #else
@@ -97680,7 +97680,7 @@
  #endif	/* CONFIG_USE_MDIO */
  		}
  
-@@ -1441,7 +1441,7 @@
+@@ -1441,7 +1441,7 @@ irqreturn_t mii_link_interrupt(int irq, 
  		fecp->fec_ecntrl = ecntrl;	/* restore old settings */
  	}
  #else
@@ -97691,7 +97691,7 @@
  #ifndef CONFIG_RPXCLASSIC
 --- a/arch/ppc/kernel/head.S
 +++ b/arch/ppc/kernel/head.S
-@@ -701,23 +701,6 @@
+@@ -701,23 +701,6 @@ load_up_altivec:
  	b	fast_exception_return
  
  /*
@@ -97717,7 +97717,7 @@
   * and save the AltiVec registers in its thread_struct.
 --- a/arch/ppc/mm/init.c
 +++ b/arch/ppc/mm/init.c
-@@ -109,7 +109,6 @@
+@@ -109,7 +109,6 @@ void show_mem(void)
  
  	printk("Mem-info:\n");
  	show_free_areas();
@@ -97727,7 +97727,7 @@
  		total++;
 --- a/arch/ppc/platforms/radstone_ppc7d.c
 +++ b/arch/ppc/platforms/radstone_ppc7d.c
-@@ -512,7 +512,7 @@
+@@ -512,7 +512,7 @@ static void __init ppc7d_init_irq(void)
  {
  	int irq;
  
@@ -97736,7 +97736,7 @@
  	i8259_init(0, 0);
  	mv64360_init_irq();
  
-@@ -569,7 +569,7 @@
+@@ -569,7 +569,7 @@ static int __init ppc7d_map_irq(struct p
  	};
  	const long min_idsel = 10, max_idsel = 14, irqs_per_slot = 4;
  
@@ -97745,7 +97745,7 @@
  		 dev->vendor, dev->device, PCI_FUNC(dev->devfn), idsel, pin);
  
  	return PCI_IRQ_TABLE_LOOKUP;
-@@ -1300,7 +1300,7 @@
+@@ -1300,7 +1300,7 @@ static void ppc7d_init2(void)
  	u32 data;
  	u8 data8;
  
@@ -97754,7 +97754,7 @@
  
  	/* Wait for debugger? */
  	if (ppc7d_wait_debugger) {
-@@ -1333,7 +1333,7 @@
+@@ -1333,7 +1333,7 @@ static void ppc7d_init2(void)
          ppc_md.set_rtc_time = ppc7d_set_rtc_time;
          ppc_md.get_rtc_time = ppc7d_get_rtc_time;
  
@@ -97765,7 +97765,7 @@
  /* Called from machine_init(), early, before any of the __init functions
 --- a/arch/ppc/syslib/mpc52xx_setup.c
 +++ b/arch/ppc/syslib/mpc52xx_setup.c
-@@ -279,7 +279,7 @@
+@@ -279,7 +279,7 @@ int mpc52xx_match_psc_function(int psc_i
  
  int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv)
  {
@@ -97776,7 +97776,7 @@
  	u16 mclken_div;
 --- a/arch/sparc64/Kconfig
 +++ b/arch/sparc64/Kconfig
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ config SPARC64
  	bool
  	default y
  	select HAVE_IDE
@@ -97786,7 +97786,7 @@
  	  Sun Microsystems, incorporated.  This port covers the newer 64-bit
 --- a/drivers/block/viodasd.c
 +++ b/drivers/block/viodasd.c
-@@ -69,7 +69,7 @@
+@@ -69,7 +69,7 @@ MODULE_LICENSE("GPL");
  enum {
  	PARTITION_SHIFT = 3,
  	MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS,
@@ -97797,7 +97797,7 @@
  static DEFINE_SPINLOCK(viodasd_spinlock);
 --- a/drivers/char/hvc_beat.c
 +++ b/drivers/char/hvc_beat.c
-@@ -78,8 +78,8 @@
+@@ -78,8 +78,8 @@ static int hvc_beat_put_chars(uint32_t v
  	for (rest = cnt; rest > 0; rest -= nlen) {
  		nlen = (rest > 16) ? 16 : rest;
  		memcpy(kb, buf, nlen);
@@ -97831,7 +97831,7 @@
  }
  
  /**
-@@ -117,20 +117,8 @@
+@@ -117,20 +117,8 @@ static inline u32 buffer_icap_get_bram(v
   **/
  static inline bool buffer_icap_busy(void __iomem *base_address)
  {
@@ -97865,7 +97865,7 @@
  /* Loads a partial bitstream from system memory. */
  int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
  			     u32 Size);
-@@ -54,4 +52,7 @@
+@@ -54,4 +52,7 @@ int buffer_icap_set_configuration(struct
  int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
  			     u32 Size);
  
@@ -97889,7 +97889,7 @@
  
  #define XHI_WFO_MAX_VACANCY 1024 /* Max Write FIFO Vacancy, in words */
  #define XHI_RFO_MAX_OCCUPANCY 256 /* Max Read FIFO Occupancy, in words */
-@@ -152,13 +145,35 @@
+@@ -152,13 +145,35 @@ static inline void fifo_icap_start_readb
  }
  
  /**
@@ -97928,7 +97928,7 @@
  
 --- a/drivers/char/xilinx_hwicap/fifo_icap.h
 +++ b/drivers/char/xilinx_hwicap/fifo_icap.h
-@@ -56,6 +56,7 @@
+@@ -56,6 +56,7 @@ int fifo_icap_set_configuration(
  		u32 *FrameBuffer,
  		u32 NumWords);
  
@@ -97978,7 +97978,7 @@
  /* An array, which is set to true when the device is registered. */
  static bool probed_devices[HWICAP_DEVICES];
  static struct mutex icap_sem;
-@@ -250,8 +246,26 @@
+@@ -250,8 +246,26 @@ static int hwicap_get_configuration_regi
  	 * Create the data to be written to the ICAP.
  	 */
  	buffer[index++] = XHI_DUMMY_PACKET;
@@ -98005,7 +98005,7 @@
  	buffer[index++] = hwicap_type_1_read(reg) | 1;
  	buffer[index++] = XHI_NOOP_PACKET;
  	buffer[index++] = XHI_NOOP_PACKET;
-@@ -587,7 +601,7 @@
+@@ -587,7 +601,7 @@ static int __devinit hwicap_setup(struct
  	probed_devices[id] = 1;
  	mutex_unlock(&icap_sem);
  
@@ -98014,7 +98014,7 @@
  
  	drvdata = kzalloc(sizeof(struct hwicap_drvdata), GFP_KERNEL);
  	if (!drvdata) {
-@@ -664,12 +678,14 @@
+@@ -664,12 +678,14 @@ static int __devinit hwicap_setup(struct
  static struct hwicap_driver_config buffer_icap_config = {
  	.get_configuration = buffer_icap_get_configuration,
  	.set_configuration = buffer_icap_set_configuration,
@@ -98029,7 +98029,7 @@
  	.reset = fifo_icap_reset,
  };
  
-@@ -690,7 +706,7 @@
+@@ -690,7 +706,7 @@ static int __devexit hwicap_remove(struc
  	dev_set_drvdata(dev, NULL);
  
  	mutex_lock(&icap_sem);
@@ -98038,7 +98038,7 @@
  	mutex_unlock(&icap_sem);
  	return 0;		/* success */
  }
-@@ -830,23 +846,12 @@
+@@ -830,23 +846,12 @@ static int __init hwicap_module_init(voi
  	icap_class = class_create(THIS_MODULE, "xilinx_config");
  	mutex_init(&icap_sem);
  
@@ -98068,7 +98068,7 @@
  
  	retval = platform_driver_register(&hwicap_platform_driver);
  
-@@ -871,7 +876,7 @@
+@@ -871,7 +876,7 @@ static int __init hwicap_module_init(voi
  
  static void __exit hwicap_module_cleanup(void)
  {
@@ -98079,7 +98079,7 @@
  
 --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
 +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
-@@ -65,10 +65,27 @@
+@@ -65,10 +65,27 @@ struct hwicap_drvdata {
  };
  
  struct hwicap_driver_config {
@@ -98107,7 +98107,7 @@
  	void (*reset)(struct hwicap_drvdata *drvdata);
  };
  
-@@ -163,6 +180,13 @@
+@@ -163,6 +180,13 @@ struct config_registers {
  /* Constant to use for CRC check when CRC has been disabled */
  #define XHI_DISABLED_AUTO_CRC       0x0000DEFCUL
  
@@ -98332,7 +98332,7 @@
  struct fsl_elbc_ctrl;
  
  /* mtd information per set */
-@@ -261,7 +66,7 @@
+@@ -261,7 +66,7 @@ struct fsl_elbc_ctrl {
  
  	/* device info */
  	struct device *dev;
@@ -98341,7 +98341,7 @@
  	int irq;
  	wait_queue_head_t irq_wait;
  	unsigned int irq_status; /* status read from LTESR by irq handler */
-@@ -322,7 +127,7 @@
+@@ -322,7 +127,7 @@ static void set_addr(struct mtd_info *mt
  	struct nand_chip *chip = mtd->priv;
  	struct fsl_elbc_mtd *priv = chip->priv;
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98350,7 +98350,7 @@
  	int buf_num;
  
  	ctrl->page = page_addr;
-@@ -363,7 +168,7 @@
+@@ -363,7 +168,7 @@ static int fsl_elbc_run_command(struct m
  	struct nand_chip *chip = mtd->priv;
  	struct fsl_elbc_mtd *priv = chip->priv;
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98359,7 +98359,7 @@
  
  	/* Setup the FMR[OP] to execute without write protection */
  	out_be32(&lbc->fmr, priv->fmr | 3);
-@@ -406,7 +211,7 @@
+@@ -406,7 +211,7 @@ static void fsl_elbc_do_read(struct nand
  {
  	struct fsl_elbc_mtd *priv = chip->priv;
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98368,7 +98368,7 @@
  
  	if (priv->page_size) {
  		out_be32(&lbc->fir,
-@@ -439,7 +244,7 @@
+@@ -439,7 +244,7 @@ static void fsl_elbc_cmdfunc(struct mtd_
  	struct nand_chip *chip = mtd->priv;
  	struct fsl_elbc_mtd *priv = chip->priv;
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98377,7 +98377,7 @@
  
  	ctrl->use_mdr = 0;
  
-@@ -775,7 +580,7 @@
+@@ -775,7 +580,7 @@ static int fsl_elbc_wait(struct mtd_info
  {
  	struct fsl_elbc_mtd *priv = chip->priv;
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98386,7 +98386,7 @@
  
  	if (ctrl->status != LTESR_CC)
  		return NAND_STATUS_FAIL;
-@@ -807,7 +612,7 @@
+@@ -807,7 +612,7 @@ static int fsl_elbc_chip_init_tail(struc
  	struct nand_chip *chip = mtd->priv;
  	struct fsl_elbc_mtd *priv = chip->priv;
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98395,7 +98395,7 @@
  	unsigned int al;
  
  	/* calculate FMR Address Length field */
-@@ -922,7 +727,7 @@
+@@ -922,7 +727,7 @@ static void fsl_elbc_write_page(struct m
  static int fsl_elbc_chip_init(struct fsl_elbc_mtd *priv)
  {
  	struct fsl_elbc_ctrl *ctrl = priv->ctrl;
@@ -98404,7 +98404,7 @@
  	struct nand_chip *chip = &priv->chip;
  
  	dev_dbg(priv->dev, "eLBC Set Information for bank %d\n", priv->bank);
-@@ -986,7 +791,7 @@
+@@ -986,7 +791,7 @@ static int fsl_elbc_chip_remove(struct f
  static int fsl_elbc_chip_probe(struct fsl_elbc_ctrl *ctrl,
                                 struct device_node *node)
  {
@@ -98413,7 +98413,7 @@
  	struct fsl_elbc_mtd *priv;
  	struct resource res;
  #ifdef CONFIG_MTD_PARTITIONS
-@@ -1083,7 +888,7 @@
+@@ -1083,7 +888,7 @@ err:
  
  static int __devinit fsl_elbc_ctrl_init(struct fsl_elbc_ctrl *ctrl)
  {
@@ -98422,7 +98422,7 @@
  
  	/* clear event registers */
  	setbits32(&lbc->ltesr, LTESR_NAND_MASK);
-@@ -1128,7 +933,7 @@
+@@ -1128,7 +933,7 @@ static int __devexit fsl_elbc_ctrl_remov
  static irqreturn_t fsl_elbc_ctrl_irq(int irqno, void *data)
  {
  	struct fsl_elbc_ctrl *ctrl = data;
@@ -98433,7 +98433,7 @@
  	if (status) {
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -219,7 +219,8 @@
+@@ -219,7 +219,8 @@ obj-$(CONFIG_SMC911X) += smc911x.o
  obj-$(CONFIG_BFIN_MAC) += bfin_mac.o
  obj-$(CONFIG_DM9000) += dm9000.o
  obj-$(CONFIG_FEC_8XX) += fec_8xx/
@@ -98445,7 +98445,7 @@
  
 --- a/drivers/net/iseries_veth.c
 +++ b/drivers/net/iseries_veth.c
-@@ -308,7 +308,8 @@
+@@ -308,7 +308,8 @@ static void veth_complete_allocation(voi
  
  static int veth_allocate_events(HvLpIndex rlp, int number)
  {
@@ -98491,7 +98491,7 @@
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR ("Olof Johansson <olof@lixom.net>");
  MODULE_DESCRIPTION("PA Semi PWRficient Ethernet driver");
-@@ -94,6 +79,8 @@
+@@ -94,6 +79,8 @@ static int debug = -1;	/* -1 == use DEFA
  module_param(debug, int, 0);
  MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value");
  
@@ -98500,7 +98500,7 @@
  static int translation_enabled(void)
  {
  #if defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE)
-@@ -322,6 +309,104 @@
+@@ -322,6 +309,104 @@ static int pasemi_mac_unmap_tx_skb(struc
  	return (nfrags + 3) & ~1;
  }
  
@@ -98605,7 +98605,7 @@
  static int pasemi_mac_setup_rx_resources(const struct net_device *dev)
  {
  	struct pasemi_mac_rxring *ring;
-@@ -445,7 +530,7 @@
+@@ -445,7 +530,7 @@ pasemi_mac_setup_tx_resources(const stru
  	cfg = PAS_DMA_TXCHAN_CFG_TY_IFACE |
  	      PAS_DMA_TXCHAN_CFG_TATTR(mac->dma_if) |
  	      PAS_DMA_TXCHAN_CFG_UP |
@@ -98614,7 +98614,7 @@
  
  	if (translation_enabled())
  		cfg |= PAS_DMA_TXCHAN_CFG_TRD | PAS_DMA_TXCHAN_CFG_TRR;
-@@ -810,13 +895,21 @@
+@@ -810,13 +895,21 @@ restart:
  		u64 mactx = TX_DESC(txring, i);
  		struct sk_buff *skb;
  
@@ -98639,7 +98639,7 @@
  		if (unlikely(mactx & XCT_MACTX_O))
  			/* Not yet transmitted */
  			break;
-@@ -1041,13 +1134,7 @@
+@@ -1041,13 +1134,7 @@ static int pasemi_mac_open(struct net_de
  {
  	struct pasemi_mac *mac = netdev_priv(dev);
  	unsigned int flags;
@@ -98654,7 +98654,7 @@
  
  	flags = PAS_MAC_CFG_TXP_FCE | PAS_MAC_CFG_TXP_FPC(3) |
  		PAS_MAC_CFG_TXP_SL(3) | PAS_MAC_CFG_TXP_COB(0xf) |
-@@ -1064,6 +1151,19 @@
+@@ -1064,6 +1151,19 @@ static int pasemi_mac_open(struct net_de
  	if (!mac->tx)
  		goto out_tx_ring;
  
@@ -98674,7 +98674,7 @@
  	/* 0x3ff with 33MHz clock is about 31us */
  	write_iob_reg(PAS_IOB_DMA_COM_TIMEOUTCFG,
  		      PAS_IOB_DMA_COM_TIMEOUTCFG_TCNT(0x3ff));
-@@ -1247,7 +1347,7 @@
+@@ -1247,7 +1347,7 @@ static int pasemi_mac_close(struct net_d
  {
  	struct pasemi_mac *mac = netdev_priv(dev);
  	unsigned int sta;
@@ -98683,7 +98683,7 @@
  
  	rxch = rx_ring(mac)->chan.chno;
  	txch = tx_ring(mac)->chan.chno;
-@@ -1292,6 +1392,13 @@
+@@ -1292,6 +1392,13 @@ static int pasemi_mac_close(struct net_d
  	free_irq(mac->tx->chan.irq, mac->tx);
  	free_irq(mac->rx->chan.irq, mac->rx);
  
@@ -98697,7 +98697,7 @@
  	/* Free resources */
  	pasemi_mac_free_rx_resources(mac);
  	pasemi_mac_free_tx_resources(mac);
-@@ -1299,35 +1406,113 @@
+@@ -1299,35 +1406,113 @@ static int pasemi_mac_close(struct net_d
  	return 0;
  }
  
@@ -98831,7 +98831,7 @@
  
  	nfrags = skb_shinfo(skb)->nr_frags;
  
-@@ -1350,24 +1535,46 @@
+@@ -1350,24 +1535,46 @@ static int pasemi_mac_start_tx(struct sk
  		}
  	}
  
@@ -98883,7 +98883,7 @@
  	TX_DESC(txring, fill) = mactx;
  	TX_DESC_INFO(txring, fill).dma = nfrags;
  	fill++;
-@@ -1441,12 +1648,33 @@
+@@ -1441,12 +1648,33 @@ static int pasemi_mac_poll(struct napi_s
  	return pkts;
  }
  
@@ -98918,7 +98918,7 @@
  
  	if (new_mtu < PE_MIN_MTU || new_mtu > PE_MAX_MTU)
  		return -EINVAL;
-@@ -1468,6 +1696,16 @@
+@@ -1468,6 +1696,16 @@ static int pasemi_mac_change_mtu(struct 
  		pasemi_mac_pause_rxint(mac);
  		pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE);
  		pasemi_mac_free_rx_buffers(mac);
@@ -98935,7 +98935,7 @@
  	}
  
  	/* Change maxf, i.e. what size frames are accepted.
-@@ -1482,6 +1720,7 @@
+@@ -1482,6 +1720,7 @@ static int pasemi_mac_change_mtu(struct 
  	/* MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
  	mac->bufsz = new_mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
  
@@ -98943,7 +98943,7 @@
  	if (running) {
  		write_dma_reg(PAS_DMA_RXINT_RCMDSTA(mac->dma_if),
  			      rcmdsta | PAS_DMA_RXINT_RCMDSTA_EN);
-@@ -1494,7 +1733,7 @@
+@@ -1494,7 +1733,7 @@ static int pasemi_mac_change_mtu(struct 
  		pasemi_mac_intf_enable(mac);
  	}
  
@@ -98952,7 +98952,7 @@
  }
  
  static int __devinit
-@@ -1528,7 +1767,7 @@
+@@ -1528,7 +1767,7 @@ pasemi_mac_probe(struct pci_dev *pdev, c
  	netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64);
  
  	dev->features = NETIF_F_IP_CSUM | NETIF_F_LLTX | NETIF_F_SG |
@@ -98961,7 +98961,7 @@
  
  	mac->lro_mgr.max_aggr = LRO_MAX_AGGR;
  	mac->lro_mgr.max_desc = MAX_LRO_DESCRIPTORS;
-@@ -1588,8 +1827,12 @@
+@@ -1588,8 +1827,12 @@ pasemi_mac_probe(struct pci_dev *pdev, c
  	dev->mtu = PE_DEF_MTU;
  	/* 1500 MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
  	mac->bufsz = dev->mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
@@ -98991,7 +98991,7 @@
  
  struct pasemi_mac_txring {
  	struct pasemi_dmachan chan; /* Must be first */
-@@ -51,6 +58,15 @@
+@@ -51,6 +58,15 @@ struct pasemi_mac_rxring {
  	struct pasemi_mac *mac;	/* Needed in intr handler */
  };
  
@@ -99007,7 +99007,7 @@
  struct pasemi_mac {
  	struct net_device *netdev;
  	struct pci_dev *pdev;
-@@ -60,10 +76,12 @@
+@@ -60,10 +76,12 @@ struct pasemi_mac {
  	struct napi_struct napi;
  
  	int		bufsz; /* RX ring buffer size */
@@ -99021,7 +99021,7 @@
  
  	u8		mac_addr[6];
  
-@@ -74,6 +92,7 @@
+@@ -74,6 +92,7 @@ struct pasemi_mac {
  
  	struct pasemi_mac_txring *tx;
  	struct pasemi_mac_rxring *rx;
@@ -99029,7 +99029,7 @@
  	char		tx_irq_name[10];		/* "eth%d tx" */
  	char		rx_irq_name[10];		/* "eth%d rx" */
  	int	link;
-@@ -90,6 +109,16 @@
+@@ -90,6 +109,16 @@ struct pasemi_mac_buffer {
  	dma_addr_t	dma;
  };
  
@@ -99046,7 +99046,7 @@
  
  /* PCI register offsets and formats */
  
-@@ -101,6 +130,7 @@
+@@ -101,6 +130,7 @@ enum {
  	PAS_MAC_CFG_ADR0 = 0x8c,
  	PAS_MAC_CFG_ADR1 = 0x90,
  	PAS_MAC_CFG_TXP = 0x98,
@@ -99054,7 +99054,7 @@
  	PAS_MAC_IPC_CHNL = 0x208,
  };
  
-@@ -172,6 +202,8 @@
+@@ -172,6 +202,8 @@ enum {
  #define PAS_MAC_CFG_TXP_TIFG(x)		(((x) << PAS_MAC_CFG_TXP_TIFG_S) & \
  					 PAS_MAC_CFG_TXP_TIFG_M)
  
@@ -99063,7 +99063,7 @@
  #define PAS_MAC_IPC_CHNL_DCHNO_M	0x003f0000
  #define PAS_MAC_IPC_CHNL_DCHNO_S	16
  #define PAS_MAC_IPC_CHNL_DCHNO(x)	(((x) << PAS_MAC_IPC_CHNL_DCHNO_S) & \
-@@ -181,4 +213,5 @@
+@@ -181,4 +213,5 @@ enum {
  #define PAS_MAC_IPC_CHNL_BCH(x)		(((x) << PAS_MAC_IPC_CHNL_BCH_S) & \
  					 PAS_MAC_IPC_CHNL_BCH_M)
  
@@ -99233,7 +99233,7 @@
 +
 --- a/drivers/net/ps3_gelic_net.c
 +++ b/drivers/net/ps3_gelic_net.c
-@@ -1266,6 +1266,85 @@
+@@ -1266,6 +1266,85 @@ int gelic_net_set_rx_csum(struct net_dev
  	return 0;
  }
  
@@ -99319,7 +99319,7 @@
  static struct ethtool_ops gelic_ether_ethtool_ops = {
  	.get_drvinfo	= gelic_net_get_drvinfo,
  	.get_settings	= gelic_ether_get_settings,
-@@ -1274,6 +1353,8 @@
+@@ -1274,6 +1353,8 @@ static struct ethtool_ops gelic_ether_et
  	.set_tx_csum	= ethtool_op_set_tx_csum,
  	.get_rx_csum	= gelic_net_get_rx_csum,
  	.set_rx_csum	= gelic_net_set_rx_csum,
@@ -99330,7 +99330,7 @@
  /**
 --- a/drivers/net/ps3_gelic_net.h
 +++ b/drivers/net/ps3_gelic_net.h
-@@ -182,12 +182,32 @@
+@@ -182,12 +182,32 @@ enum gelic_lv1_net_control_code {
  	GELIC_LV1_GET_ETH_PORT_STATUS	= 2,
  	GELIC_LV1_SET_NEGOTIATION_MODE	= 3,
  	GELIC_LV1_GET_VLAN_ID		= 4,
@@ -99365,7 +99365,7 @@
  	GELIC_LV1_ETHER_LINK_UP		= 0x0000000000000001L,
 --- a/drivers/net/ucc_geth.c
 +++ b/drivers/net/ucc_geth.c
-@@ -3853,7 +3853,13 @@
+@@ -3853,7 +3853,13 @@ static int ucc_geth_probe(struct of_devi
  
  	ugeth_vdbg("%s: IN", __FUNCTION__);
  
@@ -99382,7 +99382,7 @@
  		return -ENODEV;
 --- a/drivers/net/ucc_geth_mii.c
 +++ b/drivers/net/ucc_geth_mii.c
-@@ -203,9 +203,14 @@
+@@ -203,9 +203,14 @@ static int uec_mdio_probe(struct of_devi
  		if ((res.start >= tempres.start) &&
  		    (res.end <= tempres.end)) {
  			/* set this UCC to be the MII master */
@@ -99427,7 +99427,7 @@
 +obj-$(CONFIG_OF_I2C)	+= i2c.o
 --- a/drivers/of/base.c
 +++ b/drivers/of/base.c
-@@ -117,6 +117,32 @@
+@@ -117,6 +117,32 @@ int of_device_is_compatible(const struct
  EXPORT_SYMBOL(of_device_is_compatible);
  
  /**
@@ -99833,7 +99833,7 @@
  #include <asm/ps3.h>
  
  #include "vuart.h"
-@@ -187,6 +188,7 @@
+@@ -187,6 +188,7 @@ enum ps3_sys_manager_next_op {
   * controller, and bluetooth controller.
   * @PS3_SM_WAKE_RTC:
   * @PS3_SM_WAKE_RTC_ERROR:
@@ -99841,7 +99841,7 @@
   * @PS3_SM_WAKE_P_O_R: Power on reset.
   *
   * Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN.
-@@ -200,10 +202,19 @@
+@@ -200,10 +202,19 @@ enum ps3_sys_manager_wake_source {
  	PS3_SM_WAKE_DEFAULT   = 0,
  	PS3_SM_WAKE_RTC       = 0x00000040,
  	PS3_SM_WAKE_RTC_ERROR = 0x00000080,
@@ -99861,7 +99861,7 @@
   * enum ps3_sys_manager_cmd - Command from system manager to guest.
   *
   * The guest completes the actions needed, then acks or naks the command via
-@@ -581,6 +592,23 @@
+@@ -581,6 +592,23 @@ fail_id:
  	return -EIO;
  }
  
@@ -99885,7 +99885,7 @@
  /**
   * ps3_sys_manager_final_power_off - The final platform machine_power_off routine.
   *
-@@ -601,13 +629,9 @@
+@@ -601,13 +629,9 @@ static void ps3_sys_manager_final_power_
  	ps3_vuart_cancel_async(dev);
  
  	ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_SHUTDOWN,
@@ -99901,7 +99901,7 @@
  }
  
  /**
-@@ -638,14 +662,42 @@
+@@ -638,14 +662,42 @@ static void ps3_sys_manager_final_restar
  
  	ps3_sys_manager_send_attr(dev, 0);
  	ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT,
@@ -99959,7 +99959,7 @@
  #include <asm/ps3.h>
  
  /**
-@@ -50,10 +51,7 @@
+@@ -50,10 +51,7 @@ void ps3_sys_manager_power_off(void)
  	if (ps3_sys_manager_ops.power_off)
  		ps3_sys_manager_ops.power_off(ps3_sys_manager_ops.dev);
  
@@ -99971,7 +99971,7 @@
  }
  
  void ps3_sys_manager_restart(void)
-@@ -61,8 +59,14 @@
+@@ -61,8 +59,14 @@ void ps3_sys_manager_restart(void)
  	if (ps3_sys_manager_ops.restart)
  		ps3_sys_manager_ops.restart(ps3_sys_manager_ops.dev);
  
@@ -99990,7 +99990,7 @@
 +
 --- a/drivers/serial/cpm_uart/cpm_uart.h
 +++ b/drivers/serial/cpm_uart/cpm_uart.h
-@@ -92,6 +92,9 @@
+@@ -92,6 +92,9 @@ extern struct uart_cpm_port cpm_uart_por
  
  /* these are located in their respective files */
  void cpm_line_cr_cmd(struct uart_cpm_port *port, int cmd);
@@ -100002,7 +100002,7 @@
  void cpm_uart_freebuf(struct uart_cpm_port *pinfo);
 --- a/drivers/serial/cpm_uart/cpm_uart_core.c
 +++ b/drivers/serial/cpm_uart/cpm_uart_core.c
-@@ -966,24 +966,23 @@
+@@ -966,24 +966,23 @@ static int cpm_uart_init_port(struct dev
  	if (!mem)
  		return -ENOMEM;
  
@@ -100035,7 +100035,7 @@
  	}
  
  	pinfo->tx_nrfifos = TX_NUM_FIFO;
-@@ -1007,7 +1006,7 @@
+@@ -1007,7 +1006,7 @@ static int cpm_uart_init_port(struct dev
  	return cpm_uart_request_port(&pinfo->port);
  
  out_pram:
@@ -100055,7 +100055,7 @@
  #include "cpm_uart.h"
  
  /**************************************************************/
-@@ -54,6 +56,18 @@
+@@ -54,6 +56,18 @@ void cpm_line_cr_cmd(struct uart_cpm_por
  {
  	cpm_command(port->command, cmd);
  }
@@ -100086,7 +100086,7 @@
  
  #include <linux/serial_core.h>
  #include <linux/kernel.h>
-@@ -54,6 +57,55 @@
+@@ -54,6 +57,55 @@ void cpm_line_cr_cmd(struct uart_cpm_por
  {
  	cpm_command(port->command, cmd);
  }
@@ -100144,7 +100144,7 @@
  {
 --- a/drivers/serial/of_serial.c
 +++ b/drivers/serial/of_serial.c
-@@ -56,7 +56,9 @@
+@@ -56,7 +56,9 @@ static int __devinit of_platform_serial_
  	port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
  		| UPF_FIXED_PORT;
  	port->dev = &ofdev->dev;
@@ -100157,7 +100157,7 @@
  }
 --- a/drivers/serial/ucc_uart.c
 +++ b/drivers/serial/ucc_uart.c
-@@ -1270,10 +1270,18 @@
+@@ -1270,10 +1270,18 @@ static int ucc_uart_probe(struct of_devi
  
  	/* Get the UCC number (device ID) */
  	/* UCCs are numbered 1-7 */
@@ -100189,7 +100189,7 @@
  header-y += auxvec.h
  header-y += ioctls.h
  header-y += mman.h
-@@ -23,7 +24,6 @@
+@@ -23,7 +24,6 @@ header-y += sigcontext.h
  header-y += statfs.h
  header-y += ps3fb.h
  
@@ -100214,7 +100214,7 @@
  struct mschunks_map {
 --- a/include/asm-powerpc/bitops.h
 +++ b/include/asm-powerpc/bitops.h
-@@ -312,24 +312,26 @@
+@@ -312,24 +312,26 @@ static __inline__ int fls(unsigned int x
  	asm ("cntlzw %0,%1" : "=r" (lz) : "r" (x));
  	return 32 - lz;
  }
@@ -100325,7 +100325,7 @@
  	((PG << 26) | (SBC << 21) | (MCN << 6) | OP)
 --- a/include/asm-powerpc/cputhreads.h
 +++ b/include/asm-powerpc/cputhreads.h
-@@ -35,7 +35,7 @@
+@@ -35,7 +35,7 @@ static inline cpumask_t cpu_thread_mask_
  
  	res = CPU_MASK_NONE;
  	for (i = 0; i < NR_CPUS; i += threads_per_core) {
@@ -100336,7 +100336,7 @@
  	}
 --- a/include/asm-powerpc/dcr-native.h
 +++ b/include/asm-powerpc/dcr-native.h
-@@ -82,6 +82,19 @@
+@@ -82,6 +82,19 @@ static inline void __mtdcri(int base_add
  	spin_unlock_irqrestore(&dcr_ind_lock, flags);
  }
  
@@ -100356,7 +100356,7 @@
  #define mfdcri(base, reg)	__mfdcri(DCRN_ ## base ## _CONFIG_ADDR,	\
  					 DCRN_ ## base ## _CONFIG_DATA,	\
  					 reg)
-@@ -90,6 +103,10 @@
+@@ -90,6 +103,10 @@ static inline void __mtdcri(int base_add
  					 DCRN_ ## base ## _CONFIG_DATA,	\
  					 reg, data)
  
@@ -100454,7 +100454,7 @@
  #endif /* __DCR_REGS_H__ */
 --- a/include/asm-powerpc/exception.h
 +++ b/include/asm-powerpc/exception.h
-@@ -228,18 +228,18 @@
+@@ -228,18 +228,18 @@ label##_pSeries:							\
  BEGIN_FW_FTR_SECTION;				\
  	stb	r11,PACAHARDIRQEN(r13);		\
  END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES);	\
@@ -100851,7 +100851,7 @@
 +#endif /* __ASM_POWERPC_GPIO_H */
 --- a/include/asm-powerpc/hw_irq.h
 +++ b/include/asm-powerpc/hw_irq.h
-@@ -27,7 +27,7 @@
+@@ -27,7 +27,7 @@ static inline unsigned long local_get_fl
  	return flags;
  }
  
@@ -100860,7 +100860,7 @@
  {
  	unsigned long flags, zero;
  
-@@ -39,14 +39,15 @@
+@@ -39,14 +39,15 @@ static inline unsigned long local_irq_di
  	return flags;
  }
  
@@ -100891,7 +100891,7 @@
  
  #define QE_IMMAP_SIZE	(1024 * 1024)	/* 1MB from 1MB+IMMR */
  
-@@ -468,7 +469,7 @@
+@@ -468,7 +469,7 @@ struct qe_immap {
  	u8			res18[0xC0000];	/* 0x140000 - 0x200000 */
  } __attribute__ ((packed));
  
@@ -101174,7 +101174,7 @@
  #endif /* _ASM_POWERPC_LMB_H */
 --- a/include/asm-powerpc/machdep.h
 +++ b/include/asm-powerpc/machdep.h
-@@ -68,6 +68,8 @@
+@@ -68,6 +68,8 @@ struct machdep_calls {
  				       unsigned long vflags,
  				       int psize, int ssize);
  	long		(*hpte_remove)(unsigned long hpte_group);
@@ -101183,7 +101183,7 @@
  	void		(*flush_hash_range)(unsigned long number, int local);
  
  	/* special for kexec, to be called in real mode, linar mapping is
-@@ -196,9 +198,6 @@
+@@ -196,9 +198,6 @@ struct machdep_calls {
  	   May be NULL. */
  	void		(*init)(void);
  
@@ -101254,7 +101254,7 @@
  	unsigned long vdso_base;
 --- a/include/asm-powerpc/mmu-hash32.h
 +++ b/include/asm-powerpc/mmu-hash32.h
-@@ -84,8 +84,6 @@
+@@ -84,8 +84,6 @@ typedef struct {
  	unsigned long vdso_base;
  } mm_context_t;
  
@@ -101265,7 +101265,7 @@
  #endif /* _ASM_POWERPC_MMU_HASH32_H_ */
 --- a/include/asm-powerpc/mmu-hash64.h
 +++ b/include/asm-powerpc/mmu-hash64.h
-@@ -469,9 +469,6 @@
+@@ -469,9 +469,6 @@ static inline unsigned long get_vsid(uns
  				 VSID_MODULUS_256M)
  #define KERNEL_VSID(ea)		VSID_SCRAMBLE(GET_ESID(ea))
  
@@ -101277,7 +101277,7 @@
  #endif /* _ASM_POWERPC_MMU_HASH64_H_ */
 --- a/include/asm-powerpc/paca.h
 +++ b/include/asm-powerpc/paca.h
-@@ -42,10 +42,7 @@
+@@ -42,10 +42,7 @@ struct task_struct;
   * Defines the layout of the paca.
   *
   * This structure is not directly accessed by firmware or the service
@@ -101289,7 +101289,7 @@
   */
  struct paca_struct {
  	/*
-@@ -55,14 +52,7 @@
+@@ -55,14 +52,7 @@ struct paca_struct {
  	 * avoid cacheline bouncing.
  	 */
  
@@ -101334,7 +101334,7 @@
   *
   * Hardware register layout and descriptor formats for the on-board
   * DMA engine on PA Semi PWRficient. Used by ethernet, function and security
-@@ -40,6 +40,11 @@
+@@ -40,6 +40,11 @@ enum {
  	PAS_DMA_COM_TXSTA = 0x104,	/* Transmit Status Register   */
  	PAS_DMA_COM_RXCMD = 0x108,	/* Receive Command Register   */
  	PAS_DMA_COM_RXSTA = 0x10c,	/* Receive Status Register    */
@@ -101346,7 +101346,7 @@
  };
  
  
-@@ -123,11 +128,16 @@
+@@ -123,11 +128,16 @@ enum {
  #define    PAS_DMA_TXCHAN_TCMDSTA_DA	0x00000100
  #define PAS_DMA_TXCHAN_CFG(c)     (0x304+(c)*_PAS_DMA_TXCHAN_STRIDE)
  #define    PAS_DMA_TXCHAN_CFG_TY_IFACE	0x00000000	/* Type = interface */
@@ -101364,7 +101364,7 @@
  #define    PAS_DMA_TXCHAN_CFG_WT_S	6
  #define    PAS_DMA_TXCHAN_CFG_WT(x)	(((x) << PAS_DMA_TXCHAN_CFG_WT_S) & \
  					 PAS_DMA_TXCHAN_CFG_WT_M)
-@@ -394,11 +404,62 @@
+@@ -394,11 +404,62 @@ enum {
  				 XCT_COPY_LLEN_M)
  #define XCT_COPY_SE		0x0000000000000001ull
  
@@ -101428,7 +101428,7 @@
  #define CTRL_CMD_REG_S		0
  #define CTRL_CMD_REG(x)		((((long)(x)) << CTRL_CMD_REG_S) & \
  				 CTRL_CMD_REG_M)
-@@ -461,6 +522,16 @@
+@@ -461,6 +522,16 @@ extern void *pasemi_dma_alloc_buf(struct
  extern void pasemi_dma_free_buf(struct pasemi_dmachan *chan, int size,
  				dma_addr_t *handle);
  
@@ -101447,7 +101447,7 @@
  
 --- a/include/asm-powerpc/pci-bridge.h
 +++ b/include/asm-powerpc/pci-bridge.h
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ struct pci_controller {
  
  #ifndef CONFIG_PPC64
  
@@ -101456,7 +101456,7 @@
  {
  	return bus->sysdata;
  }
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ extern void pcibios_fixup_new_pci_device
  
  extern int pcibios_remove_root_bus(struct pci_controller *phb);
  
@@ -101467,7 +101467,7 @@
  
 --- a/include/asm-powerpc/pgtable-ppc32.h
 +++ b/include/asm-powerpc/pgtable-ppc32.h
-@@ -98,9 +98,6 @@
+@@ -98,9 +98,6 @@ extern int icache_44x_need_flush;
  #define USER_PTRS_PER_PGD	(TASK_SIZE / PGDIR_SIZE)
  #define FIRST_USER_ADDRESS	0
  
@@ -101477,7 +101477,7 @@
  #define pte_ERROR(e) \
  	printk("%s:%d: bad pte %llx.\n", __FILE__, __LINE__, \
  		(unsigned long long)pte_val(e))
-@@ -420,7 +417,8 @@
+@@ -420,7 +417,8 @@ extern int icache_44x_need_flush;
  #define _PAGE_IO	(_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED)
  #define _PAGE_RAM	(_PAGE_KERNEL | _PAGE_HWEXEC)
  
@@ -101487,7 +101487,7 @@
  /* We want the debuggers to be able to set breakpoints anywhere, so
   * don't write protect the kernel text */
  #define _PAGE_RAM_TEXT	_PAGE_RAM
-@@ -692,7 +690,7 @@
+@@ -692,7 +690,7 @@ extern pgprot_t phys_mem_access_prot(str
  #define pmd_page_vaddr(pmd)	\
  	((unsigned long) (pmd_val(pmd) & PAGE_MASK))
  #define pmd_page(pmd)		\
@@ -101580,7 +101580,7 @@
 +#endif /* __ASM_POWERPC_PPC4xx_H__ */
 --- a/include/asm-powerpc/ps3.h
 +++ b/include/asm-powerpc/ps3.h
-@@ -434,8 +434,11 @@
+@@ -434,8 +434,11 @@ struct ps3_sys_manager_ops {
  };
  
  void ps3_sys_manager_register_ops(const struct ps3_sys_manager_ops *ops);
@@ -101596,7 +101596,7 @@
      const char *name;
 --- a/include/asm-powerpc/ptrace.h
 +++ b/include/asm-powerpc/ptrace.h
-@@ -58,6 +58,11 @@
+@@ -58,6 +58,11 @@ struct pt_regs {
  #define __ARCH_WANT_COMPAT_SYS_PTRACE
  
  #define STACK_FRAME_OVERHEAD	112	/* size of minimum stack frame */
@@ -101608,7 +101608,7 @@
  
  /* Size of dummy stack frame allocated when calling signal handler. */
  #define __SIGNAL_FRAMESIZE	128
-@@ -66,6 +71,10 @@
+@@ -66,6 +71,10 @@ struct pt_regs {
  #else /* __powerpc64__ */
  
  #define STACK_FRAME_OVERHEAD	16	/* size of minimum stack frame */
@@ -101621,7 +101621,7 @@
  #define __SIGNAL_FRAMESIZE	64
 --- a/include/asm-powerpc/qe.h
 +++ b/include/asm-powerpc/qe.h
-@@ -85,6 +85,7 @@
+@@ -85,6 +85,7 @@ extern int par_io_data_set(u8 port, u8 p
  /* QE internal API */
  int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input);
  enum qe_clock qe_clock_source(const char *source);
@@ -101629,7 +101629,7 @@
  int qe_setbrg(enum qe_clock brg, unsigned int rate, unsigned int multiplier);
  int qe_get_snum(void);
  void qe_put_snum(u8 snum);
-@@ -92,7 +93,16 @@
+@@ -92,7 +93,16 @@ unsigned long qe_muram_alloc(int size, i
  int qe_muram_free(unsigned long offset);
  unsigned long qe_muram_alloc_fixed(unsigned long offset, int size);
  void qe_muram_dump(void);
@@ -101649,7 +101649,7 @@
   *
 --- a/include/asm-powerpc/rwsem.h
 +++ b/include/asm-powerpc/rwsem.h
-@@ -32,11 +32,20 @@
+@@ -32,11 +32,20 @@ struct rw_semaphore {
  #define RWSEM_ACTIVE_WRITE_BIAS		(RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
  	spinlock_t		wait_lock;
  	struct list_head	wait_list;
@@ -101672,7 +101672,7 @@
  
  #define DECLARE_RWSEM(name)		\
  	struct rw_semaphore name = __RWSEM_INITIALIZER(name)
-@@ -46,12 +55,15 @@
+@@ -46,12 +55,15 @@ extern struct rw_semaphore *rwsem_down_w
  extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
  extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
  
@@ -101694,7 +101694,7 @@
  
  /*
   * lock for reading
-@@ -78,7 +90,7 @@
+@@ -78,7 +90,7 @@ static inline int __down_read_trylock(st
  /*
   * lock for writing
   */
@@ -101703,7 +101703,7 @@
  {
  	int tmp;
  
-@@ -88,6 +100,11 @@
+@@ -88,6 +100,11 @@ static inline void __down_write(struct r
  		rwsem_down_write_failed(sem);
  }
  
@@ -101745,7 +101745,7 @@
  #define __HAVE_ARCH_STRCAT
  #define __HAVE_ARCH_MEMSET
  #define __HAVE_ARCH_MEMCPY
-@@ -18,6 +19,7 @@
+@@ -18,6 +19,7 @@ extern char * strcpy(char *,const char *
  extern char * strncpy(char *,const char *, __kernel_size_t);
  extern __kernel_size_t strlen(const char *);
  extern int strcmp(const char *,const char *);
@@ -101755,7 +101755,7 @@
  extern void * memcpy(void *,const void *,__kernel_size_t);
 --- a/include/asm-powerpc/types.h
 +++ b/include/asm-powerpc/types.h
-@@ -84,6 +84,13 @@
+@@ -84,6 +84,13 @@ typedef unsigned long long u64;
  
  typedef __vector128 vector128;
  
@@ -101872,7 +101872,7 @@
 +#endif /* _LINUX_LMB_H */
 --- a/include/linux/of.h
 +++ b/include/linux/of.h
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ extern struct property *of_find_property
  					 int *lenp);
  extern int of_device_is_compatible(const struct device_node *device,
  				   const char *);
@@ -101981,7 +101981,7 @@
 +#endif /* __LINUX_OF_I2C_H */
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -141,4 +141,7 @@
+@@ -141,4 +141,7 @@ config HAS_DMA
  config CHECK_SIGNATURE
  	bool
  
@@ -101991,7 +101991,7 @@
  endmenu
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -70,6 +70,8 @@
+@@ -70,6 +70,8 @@ obj-$(CONFIG_FAULT_INJECTION) += fault-i
  
  lib-$(CONFIG_GENERIC_BUG) += bug.o
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch b/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch
index e91ff5eafa..395495ab1c 100644
--- a/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
-@@ -58,6 +58,7 @@
+@@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv
     drivers depend on it.
  */
  
@@ -8,7 +8,7 @@
  static int debug;
  static struct usb_serial *serial_table[SERIAL_TTY_MINORS];	/* initially all NULL */
  static DEFINE_MUTEX(table_lock);
-@@ -903,7 +904,7 @@
+@@ -903,7 +904,7 @@ int usb_serial_probe(struct usb_interfac
  			dev_err(&interface->dev, "No free urbs available\n");
  			goto probe_error;
  		}
@@ -17,7 +17,7 @@
  		port->bulk_in_size = buffer_size;
  		port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
  		port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
-@@ -1315,3 +1316,5 @@
+@@ -1315,3 +1316,5 @@ MODULE_LICENSE("GPL");
  
  module_param(debug, bool, S_IRUGO | S_IWUSR);
  MODULE_PARM_DESC(debug, "Debug enabled or not");
diff --git a/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch b/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch
index 1289129a89..d1d162b02a 100644
--- a/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch
@@ -1,6 +1,6 @@
 --- a/init/main.c
 +++ b/init/main.c
-@@ -775,7 +775,7 @@
+@@ -775,7 +775,7 @@ static int noinline init_post(void)
  	numa_default_policy();
  
  	if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
diff --git a/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch b/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch
index 2d4eafd1f4..20bf1efabc 100644
--- a/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/erase.c
 +++ b/fs/jffs2/erase.c
-@@ -35,6 +35,8 @@
+@@ -35,6 +35,8 @@ static void jffs2_erase_block(struct jff
  {
  	int ret;
  	uint32_t bad_offset;
@@ -9,7 +9,7 @@
  #ifdef __ECOS
         ret = jffs2_flash_erase(c, jeb);
         if (!ret) {
-@@ -47,6 +49,11 @@
+@@ -47,6 +49,11 @@ static void jffs2_erase_block(struct jff
  
  	D1(printk(KERN_DEBUG "jffs2_erase_block(): erase block %#08x (range %#08x-%#08x)\n",
  				jeb->offset, jeb->offset, jeb->offset + c->sector_size));
diff --git a/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch b/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch
index b15fd56a9d..cd5d6864fa 100644
--- a/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch
@@ -11,7 +11,7 @@
  #include <linux/types.h>
  
  #ifdef __KERNEL__
-@@ -232,4 +236,6 @@
+@@ -232,4 +236,6 @@ struct itimerval {
   */
  #define TIMER_ABSTIME			0x01
  
@@ -35,7 +35,7 @@
  #ifdef	__KERNEL__
  
  #define DECLARE_BITMAP(name,bits) \
-@@ -161,6 +169,8 @@
+@@ -161,6 +169,8 @@ typedef unsigned long blkcnt_t;
  
  #endif /* __KERNEL_STRICT_NAMES */
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch b/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch
index 36b4d259f5..45a3f27006 100644
--- a/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch
@@ -62,7 +62,7 @@
  
 --- a/scripts/kconfig/Makefile
 +++ b/scripts/kconfig/Makefile
-@@ -93,6 +93,9 @@
+@@ -93,6 +93,9 @@ check-lxdialog  := $(srctree)/$(src)/lxd
  # we really need to do so. (Do not call gcc as part of make mrproper)
  HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
  HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
diff --git a/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch b/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch
index 81e10834e3..c0bbf2c6ef 100644
--- a/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/hostap/hostap_ap.c
 +++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2397,13 +2397,13 @@
+@@ -2397,13 +2397,13 @@ int prism2_ap_get_sta_qual(local_info_t 
  		addr[count].sa_family = ARPHRD_ETHER;
  		memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
  		if (sta->last_rx_silence == 0)
@@ -20,7 +20,7 @@
  		qual[count].updated = sta->last_rx_updated;
  
  		sta->last_rx_updated = IW_QUAL_DBM;
-@@ -2468,13 +2468,13 @@
+@@ -2468,13 +2468,13 @@ int prism2_ap_translate_scan(struct net_
  		memset(&iwe, 0, sizeof(iwe));
  		iwe.cmd = IWEVQUAL;
  		if (sta->last_rx_silence == 0)
@@ -54,7 +54,7 @@
  #endif /* HOSTAP_CONFIG_H */
 --- a/drivers/net/wireless/hostap/hostap.h
 +++ b/drivers/net/wireless/hostap/hostap.h
-@@ -89,6 +89,7 @@
+@@ -89,6 +89,7 @@ extern const struct iw_handler_def hosta
  extern const struct ethtool_ops prism2_ethtool_ops;
  
  int hostap_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
@@ -64,7 +64,7 @@
  #endif /* HOSTAP_H */
 --- a/drivers/net/wireless/hostap/hostap_hw.c
 +++ b/drivers/net/wireless/hostap/hostap_hw.c
-@@ -933,6 +933,7 @@
+@@ -933,6 +933,7 @@ static int hfa384x_set_rid(struct net_de
  			prism2_hw_reset(dev);
  	}
  
@@ -74,7 +74,7 @@
  
 --- a/drivers/net/wireless/hostap/hostap_info.c
 +++ b/drivers/net/wireless/hostap/hostap_info.c
-@@ -434,6 +434,11 @@
+@@ -434,6 +434,11 @@ static void handle_info_queue_linkstatus
  	}
  
  	/* Get BSSID if we have a valid AP address */
@@ -88,7 +88,7 @@
  		netif_carrier_on(local->ddev);
 --- a/drivers/net/wireless/hostap/hostap_ioctl.c
 +++ b/drivers/net/wireless/hostap/hostap_ioctl.c
-@@ -1500,23 +1500,20 @@
+@@ -1500,23 +1500,20 @@ static int prism2_txpower_hfa386x_to_dBm
  		val = 255;
  
  	tmp = val;
@@ -116,7 +116,7 @@
  
  	return (unsigned char) tmp;
  }
-@@ -4076,3 +4073,35 @@
+@@ -4076,3 +4073,35 @@ int hostap_ioctl(struct net_device *dev,
  
  	return ret;
  }
diff --git a/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch b/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch
index c0c01c0101..7fe248d8d3 100644
--- a/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch
@@ -1,6 +1,6 @@
 --- a/include/linux/stddef.h
 +++ b/include/linux/stddef.h
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ enum {
  	false	= 0,
  	true	= 1
  };
@@ -8,7 +8,7 @@
  
  #undef offsetof
  #ifdef __compiler_offsetof
-@@ -23,6 +24,5 @@
+@@ -23,6 +24,5 @@ enum {
  #else
  #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
  #endif
diff --git a/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch b/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch
index 401b15126d..8fc9381a69 100644
--- a/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch
@@ -1,6 +1,6 @@
 --- a/scripts/gen_initramfs_list.sh
 +++ b/scripts/gen_initramfs_list.sh
-@@ -125,7 +125,7 @@
+@@ -125,7 +125,7 @@ parse() {
  			str="${ftype} ${name} ${location} ${str}"
  			;;
  		"nod")
@@ -9,7 +9,7 @@
  			local maj=`field 5 ${dev}`
  			local min=`field 6 ${dev}`
  			maj=${maj%,}
-@@ -135,7 +135,7 @@
+@@ -135,7 +135,7 @@ parse() {
  			str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
  			;;
  		"slink")
diff --git a/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch b/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
index 355cfb2675..29725148b0 100644
--- a/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -627,12 +627,10 @@
+@@ -627,12 +627,10 @@ static int __devinit m25p_probe(struct s
  		struct mtd_partition	*parts = NULL;
  		int			nr_parts = 0;
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch
index 760d27aeda..a80482842d 100644
--- a/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch
@@ -1,7 +1,5 @@
-Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/include/linux/spi/spi_gpio.h	2008-10-18 23:32:31.000000000 +0200
+--- /dev/null
++++ b/include/linux/spi/spi_gpio.h
 @@ -0,0 +1,72 @@
 +/*
 + * spi_gpio interface to platform code
@@ -75,10 +73,8 @@ Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h
 +int spi_gpio_next_id(void);
 +
 +#endif /* _LINUX_SPI_SPI_GPIO */
-Index: linux-2.6.25.17/drivers/spi/spi_gpio.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/drivers/spi/spi_gpio.c	2008-10-18 23:31:27.000000000 +0200
+--- /dev/null
++++ b/drivers/spi/spi_gpio.c
 @@ -0,0 +1,249 @@
 +/*
 + * Bitbanging SPI bus driver using GPIO API
@@ -329,10 +325,8 @@ Index: linux-2.6.25.17/drivers/spi/spi_gpio.c
 +MODULE_AUTHOR("Piot Skamruk <piotr.skamruk at gmail.com>");
 +MODULE_DESCRIPTION("Platform independent GPIO bitbanging SPI driver");
 +MODULE_LICENSE("GPL v2");
-Index: linux-2.6.25.17/drivers/spi/Kconfig
-===================================================================
---- linux-2.6.25.17.orig/drivers/spi/Kconfig	2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/spi/Kconfig	2008-10-18 23:30:43.000000000 +0200
+--- a/drivers/spi/Kconfig
++++ b/drivers/spi/Kconfig
 @@ -100,6 +100,19 @@ config SPI_BUTTERFLY
  	  inexpensive battery powered microcontroller evaluation board.
  	  This same cable can be used to flash new firmware.
@@ -353,10 +347,8 @@ Index: linux-2.6.25.17/drivers/spi/Kconfig
  config SPI_IMX
  	tristate "Freescale iMX SPI controller"
  	depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
-Index: linux-2.6.25.17/drivers/spi/Makefile
-===================================================================
---- linux-2.6.25.17.orig/drivers/spi/Makefile	2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/spi/Makefile	2008-10-18 23:30:43.000000000 +0200
+--- a/drivers/spi/Makefile
++++ b/drivers/spi/Makefile
 @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN)			+= spi_bfin5xx.
  obj-$(CONFIG_SPI_BITBANG)		+= spi_bitbang.o
  obj-$(CONFIG_SPI_AU1550)		+= au1550_spi.o
diff --git a/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch b/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch
index 58c2144985..b775a0e6bf 100644
--- a/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch
@@ -1,7 +1,5 @@
-Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c	2008-10-18 23:33:54.000000000 +0200
+--- /dev/null
++++ b/drivers/mmc/host/gpiommc.c
 @@ -0,0 +1,605 @@
 +/*
 + * Driver an MMC/SD card on a bitbanging GPIO SPI bus.
@@ -608,10 +606,8 @@ Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c
 +	platform_driver_unregister(&gpiommc_plat_driver);
 +}
 +module_exit(gpiommc_modexit);
-Index: linux-2.6.25.17/drivers/mmc/host/Kconfig
-===================================================================
---- linux-2.6.25.17.orig/drivers/mmc/host/Kconfig	2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/mmc/host/Kconfig	2008-10-18 23:32:54.000000000 +0200
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
 @@ -130,3 +130,27 @@ config MMC_SPI
  
  	  If unsure, or if your system has no SPI master driver, say N.
@@ -640,20 +636,16 @@ Index: linux-2.6.25.17/drivers/mmc/host/Kconfig
 +	help
 +	  This option automatically enables configfs support for gpiommc
 +	  if configfs is available.
-Index: linux-2.6.25.17/drivers/mmc/host/Makefile
-===================================================================
---- linux-2.6.25.17.orig/drivers/mmc/host/Makefile	2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/mmc/host/Makefile	2008-10-18 23:32:54.000000000 +0200
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
 @@ -17,4 +17,4 @@ obj-$(CONFIG_MMC_OMAP)		+= omap.o
  obj-$(CONFIG_MMC_AT91)		+= at91_mci.o
  obj-$(CONFIG_MMC_TIFM_SD)	+= tifm_sd.o
  obj-$(CONFIG_MMC_SPI)		+= mmc_spi.o
 -
 +obj-$(CONFIG_GPIOMMC)		+= gpiommc.o
-Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/include/linux/mmc/gpiommc.h	2008-10-18 23:34:21.000000000 +0200
+--- /dev/null
++++ b/include/linux/mmc/gpiommc.h
 @@ -0,0 +1,69 @@
 +/*
 + * Device driver for MMC/SD cards driven over a GPIO bus.
@@ -724,10 +716,8 @@ Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h
 +int gpiommc_next_id(void);
 +
 +#endif /* LINUX_GPIOMMC_H_ */
-Index: linux-2.6.25.17/Documentation/gpiommc.txt
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/Documentation/gpiommc.txt	2008-10-18 23:32:54.000000000 +0200
+--- /dev/null
++++ b/Documentation/gpiommc.txt
 @@ -0,0 +1,97 @@
 +GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus
 +================================================================
diff --git a/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch b/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch
index e68d4ab014..c84f62b447 100644
--- a/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch
@@ -1,10 +1,8 @@
 The gpiommc configfs context structure needs locking, as configfs
 does not lock access between files.
 
-Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c
-===================================================================
---- linux-2.6.25.17.orig/drivers/mmc/host/gpiommc.c	2008-10-18 23:33:54.000000000 +0200
-+++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c	2008-10-18 23:34:33.000000000 +0200
+--- a/drivers/mmc/host/gpiommc.c
++++ b/drivers/mmc/host/gpiommc.c
 @@ -140,6 +140,8 @@ struct gpiommc_configfs_device {
  	struct platform_device *pdev;
  	/* The configuration */
diff --git a/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch b/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch
index 5b3755e871..25abf821df 100644
--- a/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch
@@ -32,7 +32,7 @@ and didn't make it with the ppc32 equivalent. Thanks.
 ---
 --- a/include/asm-ppc/io.h
 +++ b/include/asm-ppc/io.h
-@@ -413,11 +413,21 @@
+@@ -413,11 +413,21 @@ static inline unsigned int ioread16(void
  	return readw(addr);
  }
  
@@ -54,7 +54,7 @@ and didn't make it with the ppc32 equivalent. Thanks.
  static inline void iowrite8(u8 val, void __iomem *addr)
  {
  	writeb(val, addr);
-@@ -428,11 +438,21 @@
+@@ -428,11 +438,21 @@ static inline void iowrite16(u16 val, vo
  	writew(val, addr);
  }
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch b/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch
index c6c28a0037..3fd993812a 100644
--- a/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch
@@ -9,7 +9,7 @@
  #
  # machine_is_xxx	CONFIG_xxxx		MACH_TYPE_xxx		number
  #
-@@ -381,13 +381,13 @@
+@@ -381,13 +381,13 @@ ks8695p			ARCH_KS8695P		KS8695P			363
  se4000			ARCH_SE4000		SE4000			364
  quadriceps		ARCH_QUADRICEPS		QUADRICEPS		365
  bronco			ARCH_BRONCO		BRONCO			366
@@ -25,7 +25,7 @@
  rcube			ARCH_RCUBE		RCUBE			374
  rea_olv			ARCH_REA_OLV		REA_OLV			375
  pxa_iphone		ARCH_PXA_IPHONE		PXA_IPHONE		376
-@@ -1463,7 +1463,7 @@
+@@ -1463,7 +1463,7 @@ artemis			MACH_ARTEMIS		ARTEMIS			1462
  htctitan		MACH_HTCTITAN		HTCTITAN		1463
  qranium			MACH_QRANIUM		QRANIUM			1464
  adx_wsc2		MACH_ADX_WSC2		ADX_WSC2		1465
@@ -34,7 +34,7 @@
  bboard			MACH_BBOARD		BBOARD			1467
  cambria			MACH_CAMBRIA		CAMBRIA			1468
  mt7xxx			MACH_MT7XXX		MT7XXX			1469
-@@ -1611,3 +1611,112 @@
+@@ -1611,3 +1611,112 @@ kb9263			MACH_KB9263		KB9263			1612
  mt7108			MACH_MT7108		MT7108			1613
  smtr2440		MACH_SMTR2440		SMTR2440		1614
  manao			MACH_MANAO		MANAO			1615
diff --git a/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch b/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
index 81789b82d3..7912a4e8dd 100644
--- a/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
@@ -1,6 +1,6 @@
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -593,3 +593,6 @@
+@@ -593,3 +593,6 @@ config CRYPTO_LZO
  source "drivers/crypto/Kconfig"
  
  endif	# if CRYPTO
@@ -9,7 +9,7 @@
 +
 --- a/crypto/Makefile
 +++ b/crypto/Makefile
-@@ -65,6 +65,8 @@
+@@ -65,6 +65,8 @@ obj-$(CONFIG_CRYPTO_LZO) += lzo.o
  
  obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
  
@@ -44,7 +44,7 @@
   * All of these routines try to estimate how many bits of randomness a
   * particular randomness source.  They do this by keeping track of the
   * first and second order deltas of the event timings.
-@@ -669,6 +679,61 @@
+@@ -669,6 +679,61 @@ void add_disk_randomness(struct gendisk 
  }
  #endif
  
@@ -108,7 +108,7 @@
  /*********************************************************************
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
-@@ -202,6 +202,7 @@
+@@ -202,6 +202,7 @@ asmlinkage long sys_dup(unsigned int fil
  		ret = dupfd(file, 0, 0);
  	return ret;
  }
@@ -167,7 +167,7 @@
  struct rand_pool_info {
  	int	entropy_count;
  	int	buf_size;
-@@ -48,6 +73,10 @@
+@@ -48,6 +73,10 @@ extern void add_input_randomness(unsigne
  				 unsigned int value);
  extern void add_interrupt_randomness(int irq);
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch b/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
index f41b01453c..8da25daa75 100644
--- a/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
@@ -24,7 +24,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -68,6 +68,9 @@
+@@ -68,6 +68,9 @@ static void gpio_ensure_requested(struct
  	if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
  		pr_warning("GPIO-%d autorequested\n", (int)(desc - gpio_desc));
  		desc_set_label(desc, "[auto]");
@@ -34,7 +34,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  	}
  }
  
-@@ -177,6 +180,9 @@
+@@ -177,6 +180,9 @@ int gpio_request(unsigned gpio, const ch
  	if (desc->chip == NULL)
  		goto done;
  
@@ -44,7 +44,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  	/* NOTE:  gpio_request() can be called in early boot,
  	 * before IRQs are enabled.
  	 */
-@@ -184,8 +190,10 @@
+@@ -184,8 +190,10 @@ int gpio_request(unsigned gpio, const ch
  	if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
  		desc_set_label(desc, label ? : "?");
  		status = 0;
@@ -56,7 +56,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
  done:
  	if (status)
-@@ -209,9 +217,10 @@
+@@ -209,9 +217,10 @@ void gpio_free(unsigned gpio)
  	spin_lock_irqsave(&gpio_lock, flags);
  
  	desc = &gpio_desc[gpio];
@@ -79,7 +79,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
  /**
   * struct gpio_chip - abstract a GPIO controller
-@@ -48,6 +49,7 @@
+@@ -48,6 +49,7 @@ struct seq_file;
   */
  struct gpio_chip {
  	char			*label;
diff --git a/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch b/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
index 49f3808109..771b743baf 100644
--- a/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
@@ -18,7 +18,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/Documentation/gpio.txt
 +++ b/Documentation/gpio.txt
-@@ -107,6 +107,16 @@
+@@ -107,6 +107,16 @@ type of GPIO controller, and on one part
  The numbers need not be contiguous; either of those platforms could also
  use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.
  
@@ -37,7 +37,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ int gpiochip_add(struct gpio_chip *chip)
  	 * dynamic allocation.  We don't currently support that.
  	 */
  
@@ -46,7 +46,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		status = -EINVAL;
  		goto fail;
  	}
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ int gpio_request(unsigned gpio, const ch
  
  	spin_lock_irqsave(&gpio_lock, flags);
  
@@ -55,7 +55,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		goto done;
  	desc = &gpio_desc[gpio];
  	if (desc->chip == NULL)
-@@ -209,7 +209,7 @@
+@@ -209,7 +209,7 @@ void gpio_free(unsigned gpio)
  	unsigned long		flags;
  	struct gpio_desc	*desc;
  
@@ -64,7 +64,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		WARN_ON(extra_checks);
  		return;
  	}
-@@ -245,7 +245,7 @@
+@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct
  {
  	unsigned gpio = chip->base + offset;
  
@@ -73,7 +73,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		return NULL;
  	if (test_bit(FLAG_REQUESTED, &gpio_desc[gpio].flags) == 0)
  		return NULL;
-@@ -276,7 +276,7 @@
+@@ -276,7 +276,7 @@ int gpio_direction_input(unsigned gpio)
  
  	spin_lock_irqsave(&gpio_lock, flags);
  
@@ -82,7 +82,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		goto fail;
  	chip = desc->chip;
  	if (!chip || !chip->get || !chip->direction_input)
-@@ -314,7 +314,7 @@
+@@ -314,7 +314,7 @@ int gpio_direction_output(unsigned gpio,
  
  	spin_lock_irqsave(&gpio_lock, flags);
  
@@ -91,7 +91,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		goto fail;
  	chip = desc->chip;
  	if (!chip || !chip->set || !chip->direction_output)
-@@ -531,7 +531,7 @@
+@@ -531,7 +531,7 @@ static int gpiolib_show(struct seq_file 
  
  	/* REVISIT this isn't locked against gpio_chip removal ... */
  
@@ -115,7 +115,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  struct seq_file;
  struct module;
  
-@@ -99,6 +105,16 @@
+@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio
  
  #else
  
diff --git a/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch b/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
index bcd5c19485..0960f6764d 100644
--- a/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
@@ -23,7 +23,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -80,6 +80,33 @@
+@@ -80,6 +80,33 @@ static inline struct gpio_chip *gpio_to_
  	return gpio_desc[gpio].chip;
  }
  
@@ -57,7 +57,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  /**
   * gpiochip_add() - register a gpio_chip
   * @chip: the chip to register, with chip->base initialized
-@@ -88,38 +115,49 @@
+@@ -88,38 +115,49 @@ static inline struct gpio_chip *gpio_to_
   * Returns a negative errno if the chip can't be registered, such as
   * because the chip->base is invalid or already associated with a
   * different chip.  Otherwise it returns zero as a success code.
diff --git a/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch b/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
index a4a243e8ec..abf77c3559 100644
--- a/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
@@ -21,7 +21,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,7 @@ struct gpio_desc {
  /* flag symbols are bit numbers */
  #define FLAG_REQUESTED	0
  #define FLAG_IS_OUT	1
@@ -29,7 +29,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
  #ifdef CONFIG_DEBUG_FS
  	const char		*label;
-@@ -88,9 +89,10 @@
+@@ -88,9 +89,10 @@ static int gpiochip_find_base(int ngpio)
  	int base = -ENOSPC;
  
  	for (i = ARCH_NR_GPIOS - 1; i >= 0 ; i--) {
@@ -42,7 +42,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  			spare++;
  			if (spare == ngpio) {
  				base = i;
-@@ -98,7 +100,8 @@
+@@ -98,7 +100,8 @@ static int gpiochip_find_base(int ngpio)
  			}
  		} else {
  			spare = 0;
@@ -52,7 +52,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		}
  	}
  
-@@ -108,6 +111,47 @@
+@@ -108,6 +111,47 @@ static int gpiochip_find_base(int ngpio)
  }
  
  /**
@@ -102,7 +102,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
   * Context: potentially before irqs or kmalloc will work
 --- a/include/asm-generic/gpio.h
 +++ b/include/asm-generic/gpio.h
-@@ -74,6 +74,7 @@
+@@ -74,6 +74,7 @@ struct gpio_chip {
  
  extern const char *gpiochip_is_requested(struct gpio_chip *chip,
  			unsigned offset);
diff --git a/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch b/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
index 74d7247ccd..c875a0d4ca 100644
--- a/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
@@ -17,7 +17,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -127,7 +127,7 @@
+@@ -127,7 +127,7 @@ int __init gpiochip_reserve(int start, i
  	unsigned long flags;
  	int i;
  
@@ -26,7 +26,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  		return -EINVAL;
  
  	spin_lock_irqsave(&gpio_lock, flags);
-@@ -170,7 +170,7 @@
+@@ -170,7 +170,7 @@ int gpiochip_add(struct gpio_chip *chip)
  	unsigned	id;
  	int		base = chip->base;
  
@@ -35,7 +35,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  			&& base >= 0) {
  		status = -EINVAL;
  		goto fail;
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ fail:
  	/* failures here can mean systems won't boot... */
  	if (status)
  		pr_err("gpiochip_add: gpios %d..%d (%s) not registered\n",
diff --git a/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch b/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch
index 98103ae131..d5bb40f3e9 100644
--- a/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch
+++ b/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/sierra.c
 +++ b/drivers/usb/serial/sierra.c
-@@ -166,14 +166,19 @@
+@@ -166,14 +166,19 @@ static struct usb_device_id id_table [] 
  	{ USB_DEVICE(0x1199, 0x6815) },	/* Sierra Wireless MC8775 */
  	{ USB_DEVICE(0x03f0, 0x1e1d) },	/* HP hs2300 a.k.a MC8775 */
  	{ USB_DEVICE(0x1199, 0x6820) },	/* Sierra Wireless AirCard 875 */
diff --git a/target/linux/ps3/Makefile b/target/linux/ps3/Makefile
index daa2c62d78..3feeec0297 100644
--- a/target/linux/ps3/Makefile
+++ b/target/linux/ps3/Makefile
@@ -10,7 +10,7 @@ ARCH:=powerpc
 BOARD:=ps3
 BOARDNAME:=Sony PS3 Game Console
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 KERNEL_CC:=
 
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index 9e46cfec3f..2919af64b4 100644
--- a/target/linux/x86/Makefile
+++ b/target/linux/x86/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=x86
 FEATURES:=squashfs jffs2 ext2 vdi
 SUBTARGETS=generic
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci