add script which initiates suspend-to-ram (target-specific)
[openwrt.git] / target / linux / at91 / patches-2.6.25 / 000-at91patches.patch
index b522a30..06c2935 100644 (file)
@@ -1,7 +1,6 @@
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach-at91/Kconfig
---- linux-2.6.25/arch/arm/mach-at91/Kconfig    2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/Kconfig       2008-04-25 21:15:43.000000000 +0200
-@@ -12,18 +12,28 @@
+--- a/arch/arm/mach-at91/Kconfig
++++ b/arch/arm/mach-at91/Kconfig
+@@ -12,18 +12,28 @@ config ARCH_AT91RM9200
  
  config ARCH_AT91SAM9260
        bool "AT91SAM9260 or AT91SAM9XE"
  
  config ARCH_AT91SAM9260
        bool "AT91SAM9260 or AT91SAM9XE"
@@ -30,7 +29,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  
  config ARCH_AT91X40
        bool "AT91x40"
  
  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.
        depends on ARCH_AT91RM9200
        help
          Select this if you are using Ajeco's 1ARM Single Board Computer.
@@ -39,7 +38,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  
  config ARCH_AT91RM9200DK
        bool "Atmel AT91RM9200-DK Development board"
  
  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.
        depends on ARCH_AT91RM9200
        help
          Select this if you are using KwikByte's KB920x board.
@@ -48,7 +47,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  
  config MACH_PICOTUX2XX
        bool "picotux 200"
  
  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.
  
        help
          Select this if you are using Sperry-Sun's KAFA board.
  
@@ -87,7 +86,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  endif
  
  # ----------------------------------------------------------
  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>
  
          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>
  
@@ -122,7 +121,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  endif
  
  # ----------------------------------------------------------
  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>
  
          Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
          <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
  
@@ -136,7 +135,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  endif
  
  # ----------------------------------------------------------
  endif
  
  # ----------------------------------------------------------
-@@ -216,7 +293,7 @@
+@@ -216,7 +293,7 @@ comment "AT91 Board Options"
  
  config MTD_AT91_DATAFLASH_CARD
        bool "Enable DataFlash Card support"
  
  config MTD_AT91_DATAFLASH_CARD
        bool "Enable DataFlash Card support"
@@ -145,7 +144,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
        help
          Enable support for the DataFlash card.
  
        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.
  
          Select this if you need to program one or more of the PCK0..PCK3
          programmable clock outputs.
  
@@ -165,10 +164,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  config AT91_TIMER_HZ
         int "Kernel HZ (jiffies per second)"
         range 32 1024
  config AT91_TIMER_HZ
         int "Kernel HZ (jiffies per second)"
         range 32 1024
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Makefile linux-2.6/arch/arm/mach-at91/Makefile
---- linux-2.6.25/arch/arm/mach-at91/Makefile   2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/Makefile      2008-04-25 21:15:43.000000000 +0200
-@@ -28,16 +28,26 @@
+--- a/arch/arm/mach-at91/Makefile
++++ b/arch/arm/mach-at91/Makefile
+@@ -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
  obj-$(CONFIG_MACH_KB9200)     += board-kb9202.o
  obj-$(CONFIG_MACH_ATEB9200)   += board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)               += board-kafa.o
@@ -195,7 +193,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Makefile linux-2.6/arch/arm/mac
  
  # AT91SAM9RL board-specific support
  obj-$(CONFIG_MACH_AT91SAM9RLEK)       += board-sam9rlek.o
  
  # 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
  
  # Drivers
  obj-y                         += leds.o
@@ -207,9 +205,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Makefile linux-2.6/arch/arm/mac
  
  ifeq ($(CONFIG_PM_DEBUG),y)
  CFLAGS_pm.o += -DDEBUG
  
  ifeq ($(CONFIG_PM_DEBUG),y)
  CFLAGS_pm.o += -DDEBUG
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/mach-at91/at91cap9.c
---- linux-2.6.25/arch/arm/mach-at91/at91cap9.c 2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91cap9.c    2008-05-05 22:01:39.000000000 +0200
+--- a/arch/arm/mach-at91/at91cap9.c
++++ b/arch/arm/mach-at91/at91cap9.c
 @@ -13,12 +13,15 @@
   */
  
 @@ -13,12 +13,15 @@
   */
  
@@ -226,7 +223,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/m
  
  #include "generic.h"
  #include "clock.h"
  
  #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);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -239,7 +236,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/m
  /* --------------------------------------------------------------------
   *  AT91CAP9 processor initialization
   * -------------------------------------------------------------------- */
  /* --------------------------------------------------------------------
   *  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;
        iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc));
  
        at91_arch_reset = at91cap9_reset;
@@ -247,7 +244,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/m
        at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
  
        /* Init clock subsystem */
        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);
  
        /* Register GPIO subsystem */
        at91_gpio_init(at91cap9_gpio, 4);
@@ -260,9 +257,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/m
  }
  
  /* --------------------------------------------------------------------
  }
  
  /* --------------------------------------------------------------------
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/arch/arm/mach-at91/at91cap9_devices.c
---- linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c 2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91cap9_devices.c    2008-05-05 22:01:39.000000000 +0200
+--- a/arch/arm/mach-at91/at91cap9_devices.c
++++ b/arch/arm/mach-at91/at91cap9_devices.c
 @@ -13,18 +13,20 @@
   */
  #include <asm/mach/arch.h>
 @@ -13,18 +13,20 @@
   */
  #include <asm/mach/arch.h>
@@ -286,7 +282,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -69,6 +71,9 @@
+@@ -69,6 +71,9 @@ void __init at91_add_device_usbh(struct 
        if (!data)
                return;
  
        if (!data)
                return;
  
@@ -296,7 +292,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
        /* Enable VBus control for UHP ports */
        for (i = 0; i < data->ports; i++) {
                if (data->vbus_pin[i])
        /* 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 
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -407,7 +403,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
   *  Ethernet
   * -------------------------------------------------------------------- */
  
   *  Ethernet
   * -------------------------------------------------------------------- */
  
-@@ -246,7 +355,7 @@
+@@ -246,7 +355,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                mmc0_data = *data;
                }
  
                mmc0_data = *data;
@@ -416,7 +412,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
                platform_device_register(&at91cap9_mmc0_device);
        } else {                        /* MCI1 */
                /* CLK */
                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[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -433,7 +429,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
        }
  };
  
        }
  };
  
-@@ -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
  
  void __init at91_add_device_nand(struct at91_nand_data *data) {}
  #endif
  
@@ -441,7 +437,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
  /* --------------------------------------------------------------------
   *  TWI (i2c)
   * -------------------------------------------------------------------- */
  /* --------------------------------------------------------------------
   *  TWI (i2c)
   * -------------------------------------------------------------------- */
-@@ -532,17 +647,64 @@
+@@ -532,17 +647,64 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -508,7 +504,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
        platform_device_register(&at91cap9_rtt_device);
  }
  
        platform_device_register(&at91cap9_rtt_device);
  }
  
-@@ -660,6 +822,9 @@
+@@ -660,6 +822,9 @@ void __init at91_add_device_lcdc(struct 
        if (!data)
                return;
  
        if (!data)
                return;
  
@@ -518,7 +514,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
        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 */
        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 */
  }
  
                at91_set_B_periph(AT91_PIN_PD6, 0);     /* CTS2 */
  }
  
@@ -527,7 +523,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
  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];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
@@ -536,7 +532,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
  }
  
  void __init at91_add_device_serial(void)
  }
  
  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]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
@@ -546,7 +542,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
  }
  #else
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
  }
  #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();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
@@ -554,10 +550,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/ar
        return 0;
  }
  
        return 0;
  }
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/arch/arm/mach-at91/at91rm9200_devices.c
---- linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c       2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91rm9200_devices.c  2008-04-25 21:15:43.000000000 +0200
-@@ -513,7 +513,18 @@
+--- a/arch/arm/mach-at91/at91rm9200_devices.c
++++ b/arch/arm/mach-at91/at91rm9200_devices.c
+@@ -513,7 +513,18 @@ void __init at91_add_device_i2c(struct i
   *  SPI
   * -------------------------------------------------------------------- */
  
   *  SPI
   * -------------------------------------------------------------------- */
  
@@ -577,7 +572,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
  static u64 spi_dmamask = DMA_BIT_MASK(32);
  
  static struct resource spi_resources[] = {
  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 = {
  };
  
  static struct platform_device at91rm9200_spi_device = {
@@ -586,7 +581,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
        .id             = 0,
        .dev            = {
                                .dma_mask               = &spi_dmamask,
        .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);
  
                else
                        at91_set_gpio_output(cs_pin, 1);
  
@@ -599,7 +594,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
  
                /* pass chip-select pin to driver */
                devices[i].controller_data = (void *) cs_pin;
  
                /* 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
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -690,7 +685,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
   *  RTC
   * -------------------------------------------------------------------- */
  
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -589,6 +690,7 @@
+@@ -589,6 +690,7 @@ static struct platform_device at91rm9200
  
  static void __init at91_add_device_rtc(void)
  {
  
  static void __init at91_add_device_rtc(void)
  {
@@ -698,7 +693,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
        platform_device_register(&at91rm9200_rtc_device);
  }
  #else
        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 */
  }
  
                at91_set_B_periph(AT91_PIN_PB0, 0);     /* RTS3 */
  }
  
@@ -707,7 +702,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  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];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
@@ -716,7 +711,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
  }
  
  void __init at91_add_device_serial(void)
  }
  
  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]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
@@ -726,7 +721,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #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();
  {
        at91_add_device_rtc();
        at91_add_device_watchdog();
@@ -734,10 +729,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/
        return 0;
  }
  
        return 0;
  }
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_time.c linux-2.6/arch/arm/mach-at91/at91rm9200_time.c
---- linux-2.6.25/arch/arm/mach-at91/at91rm9200_time.c  2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91rm9200_time.c     2008-04-25 21:15:43.000000000 +0200
-@@ -136,8 +136,6 @@
+--- a/arch/arm/mach-at91/at91rm9200_time.c
++++ b/arch/arm/mach-at91/at91rm9200_time.c
+@@ -136,8 +136,6 @@ clkevt32k_next_event(unsigned long delta
        u32             alm;
        int             status = 0;
  
        u32             alm;
        int             status = 0;
  
@@ -746,9 +740,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91rm9200_time.c linux-2.6/arc
        /* Use "raw" primitives so we behave correctly on RT kernels. */
        raw_local_irq_save(flags);
  
        /* Use "raw" primitives so we behave correctly on RT kernels. */
        raw_local_irq_save(flags);
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260.c linux-2.6/arch/arm/mach-at91/at91sam9260.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9260.c      2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9260.c 2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9260.c
++++ b/arch/arm/mach-at91/at91sam9260.c
 @@ -11,6 +11,7 @@
   */
  
 @@ -11,6 +11,7 @@
   */
  
@@ -765,7 +758,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260.c linux-2.6/arch/ar
  
  #include "generic.h"
  #include "clock.h"
  
  #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);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -777,7 +770,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260.c linux-2.6/arch/ar
  
  /* --------------------------------------------------------------------
   *  AT91SAM9260 processor initialization
  
  /* --------------------------------------------------------------------
   *  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;
                iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
  
        at91_arch_reset = at91sam9260_reset;
@@ -785,9 +778,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260.c linux-2.6/arch/ar
        at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)
                        | (1 << AT91SAM9260_ID_IRQ2);
  
        at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)
                        | (1 << AT91SAM9260_ID_IRQ2);
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6/arch/arm/mach-at91/at91sam9260_devices.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c      2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9260_devices.c 2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9260_devices.c
++++ b/arch/arm/mach-at91/at91sam9260_devices.c
 @@ -19,8 +19,8 @@
  #include <asm/arch/board.h>
  #include <asm/arch/gpio.h>
 @@ -19,8 +19,8 @@
  #include <asm/arch/board.h>
  #include <asm/arch/gpio.h>
@@ -798,7 +790,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
  
  #include "generic.h"
  
  
  #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[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -815,7 +807,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
        }
  };
  
        }
  };
  
-@@ -540,6 +545,90 @@
+@@ -540,6 +545,90 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -906,7 +898,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
   *  RTT
   * -------------------------------------------------------------------- */
  
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -553,13 +642,14 @@
+@@ -553,13 +642,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9260_rtt_device = {
        .name           = "at91_rtt",
  
  static struct platform_device at91sam9260_rtt_device = {
        .name           = "at91_rtt",
@@ -922,7 +914,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
        platform_device_register(&at91sam9260_rtt_device);
  }
  
        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 */
  }
  
        at91_set_A_periph(AT91_PIN_PB13, 0);            /* RXD5 */
  }
  
@@ -931,7 +923,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  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];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
@@ -940,7 +932,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
  }
  
  void __init at91_add_device_serial(void)
  }
  
  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]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
@@ -950,7 +942,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #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();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
@@ -958,9 +950,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
        return 0;
  }
  
        return 0;
  }
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261.c linux-2.6/arch/arm/mach-at91/at91sam9261.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9261.c      2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9261.c 2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9261.c
++++ b/arch/arm/mach-at91/at91sam9261.c
 @@ -11,12 +11,14 @@
   */
  
 @@ -11,12 +11,14 @@
   */
  
@@ -976,7 +967,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261.c linux-2.6/arch/ar
  
  #include "generic.h"
  #include "clock.h"
  
  #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);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -988,7 +979,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261.c linux-2.6/arch/ar
  
  /* --------------------------------------------------------------------
   *  AT91SAM9261 processor initialization
  
  /* --------------------------------------------------------------------
   *  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;
        iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc));
  
        at91_arch_reset = at91sam9261_reset;
@@ -996,9 +987,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261.c linux-2.6/arch/ar
        at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1)
                        | (1 << AT91SAM9261_ID_IRQ2);
  
        at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1)
                        | (1 << AT91SAM9261_ID_IRQ2);
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6/arch/arm/mach-at91/at91sam9261_devices.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c      2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9261_devices.c 2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9261_devices.c
++++ b/arch/arm/mach-at91/at91sam9261_devices.c
 @@ -24,7 +24,7 @@
  #include <asm/arch/gpio.h>
  #include <asm/arch/at91sam9261.h>
 @@ -24,7 +24,7 @@
  #include <asm/arch/gpio.h>
  #include <asm/arch/at91sam9261.h>
@@ -1008,7 +998,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -548,6 +548,55 @@
+@@ -548,6 +548,55 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -1064,7 +1054,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
   *  RTT
   * -------------------------------------------------------------------- */
  
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -561,13 +610,14 @@
+@@ -561,13 +610,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9261_rtt_device = {
        .name           = "at91_rtt",
  
  static struct platform_device at91sam9261_rtt_device = {
        .name           = "at91_rtt",
@@ -1080,7 +1070,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
        platform_device_register(&at91sam9261_rtt_device);
  }
  
        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 */
  }
  
                at91_set_B_periph(AT91_PIN_PA16, 0);    /* CTS2 */
  }
  
@@ -1089,7 +1079,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  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];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
@@ -1098,7 +1088,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
  }
  
  void __init at91_add_device_serial(void)
  }
  
  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]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
@@ -1108,7 +1098,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #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();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
@@ -1116,9 +1106,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6
        return 0;
  }
  
        return 0;
  }
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263.c linux-2.6/arch/arm/mach-at91/at91sam9263.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9263.c      2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9263.c 2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9263.c
++++ b/arch/arm/mach-at91/at91sam9263.c
 @@ -11,12 +11,14 @@
   */
  
 @@ -11,12 +11,14 @@
   */
  
@@ -1134,7 +1123,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263.c linux-2.6/arch/ar
  
  #include "generic.h"
  #include "clock.h"
  
  #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);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -1146,7 +1135,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263.c linux-2.6/arch/ar
  
  /* --------------------------------------------------------------------
   *  AT91SAM9263 processor initialization
  
  /* --------------------------------------------------------------------
   *  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;
        iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc));
  
        at91_arch_reset = at91sam9263_reset;
@@ -1154,9 +1143,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263.c linux-2.6/arch/ar
        at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1);
  
        /* Init clock subsystem */
        at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1);
  
        /* Init clock subsystem */
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6/arch/arm/mach-at91/at91sam9263_devices.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c      2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9263_devices.c 2008-04-25 21:16:23.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9263_devices.c
++++ b/arch/arm/mach-at91/at91sam9263_devices.c
 @@ -22,8 +22,8 @@
  #include <asm/arch/board.h>
  #include <asm/arch/gpio.h>
 @@ -22,8 +22,8 @@
  #include <asm/arch/board.h>
  #include <asm/arch/gpio.h>
@@ -1167,7 +1155,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                mmc0_data = *data;
                }
  
                mmc0_data = *data;
@@ -1176,7 +1164,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
                platform_device_register(&at91sam9263_mmc0_device);
        } else {                        /* MCI1 */
                /* CLK */
                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[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -1193,7 +1181,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
        }
  };
  
        }
  };
  
-@@ -783,6 +788,43 @@
+@@ -783,6 +788,43 @@ void __init at91_add_device_isi(void) {}
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -1237,7 +1225,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
   *  RTT
   * -------------------------------------------------------------------- */
  
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -818,7 +860,9 @@
+@@ -818,7 +860,9 @@ static struct platform_device at91sam926
  
  static void __init at91_add_device_rtt(void)
  {
  
  static void __init at91_add_device_rtt(void)
  {
@@ -1247,7 +1235,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
        platform_device_register(&at91sam9263_rtt1_device);
  }
  
        platform_device_register(&at91sam9263_rtt1_device);
  }
  
-@@ -933,9 +977,6 @@
+@@ -933,9 +977,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
  }
  
  /*
@@ -1257,7 +1245,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
   * 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
   * 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 */
  }
  
                at91_set_B_periph(AT91_PIN_PD6, 0);     /* CTS2 */
  }
  
@@ -1266,7 +1254,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  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];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
@@ -1275,7 +1263,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
  }
  
  void __init at91_add_device_serial(void)
  }
  
  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]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
@@ -1289,7 +1277,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
  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) {}
  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();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
@@ -1297,9 +1285,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6
        return 0;
  }
  
        return 0;
  }
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam926x_time.c linux-2.6/arch/arm/mach-at91/at91sam926x_time.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam926x_time.c 2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam926x_time.c    2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam926x_time.c
++++ b/arch/arm/mach-at91/at91sam926x_time.c
 @@ -1,23 +1,20 @@
  /*
 - * linux/arch/arm/mach-at91/at91sam926x_time.c
 @@ -1,23 +1,20 @@
  /*
 - * linux/arch/arm/mach-at91/at91sam926x_time.c
@@ -1534,9 +1521,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam926x_time.c linux-2.6/ar
 +      .resume         = at91sam926x_pit_reset,
  };
 -
 +      .resume         = at91sam926x_pit_reset,
  };
 -
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl.c linux-2.6/arch/arm/mach-at91/at91sam9rl.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9rl.c       2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9rl.c  2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9rl.c
++++ b/arch/arm/mach-at91/at91sam9rl.c
 @@ -10,6 +10,7 @@
   */
  
 @@ -10,6 +10,7 @@
   */
  
@@ -1553,7 +1539,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl.c linux-2.6/arch/arm
  
  #include "generic.h"
  #include "clock.h"
  
  #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);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
@@ -1565,7 +1551,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl.c linux-2.6/arch/arm
  
  /* --------------------------------------------------------------------
   *  AT91SAM9RL processor initialization
  
  /* --------------------------------------------------------------------
   *  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;
        iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
  
        at91_arch_reset = at91sam9rl_reset;
@@ -1573,9 +1559,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl.c linux-2.6/arch/arm
        at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0);
  
        /* Init clock subsystem */
        at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0);
  
        /* Init clock subsystem */
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/arch/arm/mach-at91/at91sam9rl_devices.c
---- linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c       2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9rl_devices.c  2008-05-02 00:52:36.000000000 +0200
+--- a/arch/arm/mach-at91/at91sam9rl_devices.c
++++ b/arch/arm/mach-at91/at91sam9rl_devices.c
 @@ -20,12 +20,107 @@
  #include <asm/arch/gpio.h>
  #include <asm/arch/at91sam9rl.h>
 @@ -20,12 +20,107 @@
  #include <asm/arch/gpio.h>
  #include <asm/arch/at91sam9rl.h>
@@ -1685,7 +1670,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
   *  MMC / SD
   * -------------------------------------------------------------------- */
  
   *  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[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
@@ -1702,7 +1687,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
        }
  };
  
        }
  };
  
-@@ -385,6 +485,100 @@
+@@ -385,6 +485,100 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
@@ -1803,7 +1788,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
   *  RTC
   * -------------------------------------------------------------------- */
  
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -397,6 +591,7 @@
+@@ -397,6 +591,7 @@ static struct platform_device at91sam9rl
  
  static void __init at91_add_device_rtc(void)
  {
  
  static void __init at91_add_device_rtc(void)
  {
@@ -1811,7 +1796,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
        platform_device_register(&at91sam9rl_rtc_device);
  }
  #else
        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",
  
  static struct platform_device at91sam9rl_rtt_device = {
        .name           = "at91_rtt",
@@ -1827,7 +1812,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
        platform_device_register(&at91sam9rl_rtt_device);
  }
  
        platform_device_register(&at91sam9rl_rtt_device);
  }
  
-@@ -539,9 +735,6 @@
+@@ -539,9 +735,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
  }
  
  /*
@@ -1837,7 +1822,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
   * 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
   * 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 */
  }
  
                at91_set_B_periph(AT91_PIN_PD3, 0);     /* CTS3 */
  }
  
@@ -1846,7 +1831,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  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];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
@@ -1855,7 +1840,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
  }
  
  void __init at91_add_device_serial(void)
  }
  
  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]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
@@ -1865,7 +1850,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #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();
        at91_add_device_rtc();
        at91_add_device_rtt();
        at91_add_device_watchdog();
@@ -1873,9 +1858,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
        return 0;
  }
  
        return 0;
  }
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cam60.c linux-2.6/arch/arm/mach-at91/board-cam60.c
---- linux-2.6.25/arch/arm/mach-at91/board-cam60.c      1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-cam60.c 2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-cam60.c
 @@ -0,0 +1,180 @@
 +/*
 + * KwikByte CAM60 (KB9260)
 @@ -0,0 +1,180 @@
 +/*
 + * KwikByte CAM60 (KB9260)
@@ -2057,9 +2041,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cam60.c linux-2.6/arch/ar
 +      .init_irq       = cam60_init_irq,
 +      .init_machine   = cam60_board_init,
 +MACHINE_END
 +      .init_irq       = cam60_init_irq,
 +      .init_machine   = cam60_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/arm/mach-at91/board-cap9adk.c
---- linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c    2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-cap9adk.c       2008-05-05 22:01:39.000000000 +0200
+--- a/arch/arm/mach-at91/board-cap9adk.c
++++ b/arch/arm/mach-at91/board-cap9adk.c
 @@ -36,16 +36,14 @@
  #include <asm/hardware.h>
  #include <asm/setup.h>
 @@ -36,16 +36,14 @@
  #include <asm/hardware.h>
  #include <asm/setup.h>
@@ -2078,7 +2061,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -78,6 +76,12 @@
+@@ -78,6 +76,12 @@ static struct at91_usbh_data __initdata 
        .ports          = 2,
  };
  
        .ports          = 2,
  };
  
@@ -2091,7 +2074,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/
  
  /*
   * ADS7846 Touchscreen
  
  /*
   * 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 */
        {
                .modalias       = "ads7846",
                .chip_select    = 3,            /* can be 2 or 3, depending on J2 jumper */
@@ -2100,7 +2083,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/
                .bus_num        = 0,
                .platform_data  = &ads_info,
                .irq            = AT91_PIN_PC4,
                .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 */
        /* Serial */
        at91_add_device_serial();
        /* USB Host */
@@ -2111,7 +2094,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/
        /* SPI */
        at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices));
        /* Touchscreen */
        /* 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 */
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        /* LCD Controller */
@@ -2119,9 +2102,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/
        at91_add_device_lcdc(&cap9adk_lcdc_data);
        /* AC97 */
        at91_add_device_ac97(&cap9adk_ac97_data);
        at91_add_device_lcdc(&cap9adk_lcdc_data);
        /* AC97 */
        at91_add_device_ac97(&cap9adk_ac97_data);
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-carmeva.c linux-2.6/arch/arm/mach-at91/board-carmeva.c
---- linux-2.6.25/arch/arm/mach-at91/board-carmeva.c    2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-carmeva.c       2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/board-carmeva.c
++++ b/arch/arm/mach-at91/board-carmeva.c
 @@ -40,24 +40,21 @@
  #include "generic.h"
  
 @@ -40,24 +40,21 @@
  #include "generic.h"
  
@@ -2157,7 +2139,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-carmeva.c linux-2.6/arch/
  }
  
  static void __init carmeva_init_irq(void)
  }
  
  static void __init carmeva_init_irq(void)
-@@ -117,6 +114,30 @@
+@@ -117,6 +114,30 @@ static struct spi_board_info carmeva_spi
        },
  };
  
        },
  };
  
@@ -2188,7 +2170,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-carmeva.c linux-2.6/arch/
  static void __init carmeva_board_init(void)
  {
        /* Serial */
  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);
  //    at91_add_device_cf(&carmeva_cf_data);
        /* MMC */
        at91_add_device_mmc(0, &carmeva_mmc_data);
@@ -2197,9 +2179,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-carmeva.c linux-2.6/arch/
  }
  
  MACHINE_START(CARMEVA, "Carmeva")
  }
  
  MACHINE_START(CARMEVA, "Carmeva")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-chub.c linux-2.6/arch/arm/mach-at91/board-chub.c
---- linux-2.6.25/arch/arm/mach-at91/board-chub.c       1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-chub.c  2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-chub.c
 @@ -0,0 +1,132 @@
 +/*
 + * linux/arch/arm/mach-at91/board-chub.c
 @@ -0,0 +1,132 @@
 +/*
 + * linux/arch/arm/mach-at91/board-chub.c
@@ -2333,10 +2314,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-chub.c linux-2.6/arch/arm
 +      .init_irq       = chub_init_irq,
 +      .init_machine   = chub_board_init,
 +MACHINE_END
 +      .init_irq       = chub_init_irq,
 +      .init_machine   = chub_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb337.c linux-2.6/arch/arm/mach-at91/board-csb337.c
---- linux-2.6.25/arch/arm/mach-at91/board-csb337.c     2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-csb337.c        2008-05-02 00:05:42.000000000 +0200
-@@ -61,6 +61,7 @@
+--- a/arch/arm/mach-at91/board-csb337.c
++++ b/arch/arm/mach-at91/board-csb337.c
+@@ -61,6 +61,7 @@ static void __init csb337_map_io(void)
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1);
@@ -2344,7 +2324,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb337.c linux-2.6/arch/a
  
        /* Setup the serial ports and console */
        at91_init_serial(&csb337_uart_config);
  
        /* 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)
  {
  
  static void __init csb300_add_device_buttons(void)
  {
@@ -2359,7 +2339,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb337.c linux-2.6/arch/a
        at91_set_deglitch(AT91_PIN_PA21, 1);
  
        platform_device_register(&csb300_button_device);
        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",
                .gpio                   = AT91_PIN_PB0,
                .active_low             = 1,
                .default_trigger        = "ide-disk",
@@ -2368,9 +2348,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb337.c linux-2.6/arch/a
  };
  
  
  };
  
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb637.c linux-2.6/arch/arm/mach-at91/board-csb637.c
---- linux-2.6.25/arch/arm/mach-at91/board-csb637.c     2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-csb637.c        2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/board-csb637.c
++++ b/arch/arm/mach-at91/board-csb637.c
 @@ -40,27 +40,16 @@
  #include "generic.h"
  
 @@ -40,27 +40,16 @@
  #include "generic.h"
  
@@ -2403,7 +2382,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb637.c linux-2.6/arch/a
  }
  
  static void __init csb637_init_irq(void)
  }
  
  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),
  };
  
        .num_resources  = ARRAY_SIZE(csb_flash_resources),
  };
  
@@ -2423,9 +2402,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-csb637.c linux-2.6/arch/a
        /* Serial */
        at91_add_device_serial();
        /* Ethernet */
        /* Serial */
        at91_add_device_serial();
        /* Ethernet */
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/mach-at91/board-dk.c
---- linux-2.6.25/arch/arm/mach-at91/board-dk.c 2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-dk.c    2008-05-03 00:44:06.000000000 +0200
+--- a/arch/arm/mach-at91/board-dk.c
++++ b/arch/arm/mach-at91/board-dk.c
 @@ -25,6 +25,7 @@
  #include <linux/init.h>
  #include <linux/mm.h>
 @@ -25,6 +25,7 @@
  #include <linux/init.h>
  #include <linux/mm.h>
@@ -2452,7 +2430,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/m
  static void __init dk_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
  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);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2);
  
@@ -2471,7 +2449,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/m
  }
  
  static void __init dk_init_irq(void)
  }
  
  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);
  }
  
        at91rm9200_init_interrupts(NULL);
  }
  
@@ -2657,7 +2635,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/m
  static struct at91_eth_data __initdata dk_eth_data = {
        .phy_irq_pin    = AT91_PIN_PC4,
        .is_rmii        = 1,
  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 = {
  #define DK_FLASH_SIZE 0x200000
  
  static struct physmap_flash_data dk_flash_data = {
@@ -2666,7 +2644,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/m
  };
  
  static struct resource dk_flash_resource = {
  };
  
  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));
        platform_device_register(&dk_flash);
        /* LEDs */
        at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds));
@@ -2680,9 +2658,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/m
  }
  
  MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
  }
  
  MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-eb9200.c linux-2.6/arch/arm/mach-at91/board-eb9200.c
---- linux-2.6.25/arch/arm/mach-at91/board-eb9200.c     2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-eb9200.c        2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/board-eb9200.c
++++ b/arch/arm/mach-at91/board-eb9200.c
 @@ -40,24 +40,24 @@
  #include "generic.h"
  
 @@ -40,24 +40,24 @@
  #include "generic.h"
  
@@ -2721,9 +2698,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-eb9200.c linux-2.6/arch/a
  }
  
  static void __init eb9200_init_irq(void)
  }
  
  static void __init eb9200_init_irq(void)
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ecbat91.c linux-2.6/arch/arm/mach-at91/board-ecbat91.c
---- linux-2.6.25/arch/arm/mach-at91/board-ecbat91.c    1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-ecbat91.c       2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-ecbat91.c
 @@ -0,0 +1,178 @@
 +/*
 + * linux/arch/arm/mach-at91rm9200/board-ecbat91.c
 @@ -0,0 +1,178 @@
 +/*
 + * linux/arch/arm/mach-at91rm9200/board-ecbat91.c
@@ -2903,9 +2879,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ecbat91.c linux-2.6/arch/
 +      .init_irq       = ecb_at91init_irq,
 +      .init_machine   = ecb_at91board_init,
 +MACHINE_END
 +      .init_irq       = ecb_at91init_irq,
 +      .init_machine   = ecb_at91board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/mach-at91/board-ek.c
---- linux-2.6.25/arch/arm/mach-at91/board-ek.c 2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-ek.c    2008-05-03 00:44:38.000000000 +0200
+--- a/arch/arm/mach-at91/board-ek.c
++++ b/arch/arm/mach-at91/board-ek.c
 @@ -25,6 +25,7 @@
  #include <linux/init.h>
  #include <linux/mm.h>
 @@ -25,6 +25,7 @@
  #include <linux/init.h>
  #include <linux/mm.h>
@@ -2932,7 +2907,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/m
  static void __init ek_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
  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);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2);
  
@@ -2951,7 +2926,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/m
  }
  
  static void __init ek_init_irq(void)
  }
  
  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);
  }
  
        at91rm9200_init_interrupts(NULL);
  }
  
@@ -3139,7 +3114,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/m
  static struct at91_eth_data __initdata ek_eth_data = {
        .phy_irq_pin    = AT91_PIN_PC4,
        .is_rmii        = 1,
  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 = {
  #define EK_FLASH_SIZE 0x200000
  
  static struct physmap_flash_data ek_flash_data = {
@@ -3148,7 +3123,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/m
  };
  
  static struct resource ek_flash_resource = {
  };
  
  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 */
        /* LEDs */
        at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
        /* VGA */
@@ -3157,9 +3132,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/m
  }
  
  MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
  }
  
  MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-homematic.c linux-2.6/arch/arm/mach-at91/board-homematic.c
---- linux-2.6.25/arch/arm/mach-at91/board-homematic.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-homematic.c     2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-homematic.c
 @@ -0,0 +1,163 @@
 +/*
 + * linux/arch/arm/mach-at91/board-homematic.c
 @@ -0,0 +1,163 @@
 +/*
 + * linux/arch/arm/mach-at91/board-homematic.c
@@ -3324,9 +3298,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-homematic.c linux-2.6/arc
 +      .init_irq       = homematic_init_irq,
 +      .init_machine   = homematic_board_init,
 +MACHINE_END
 +      .init_irq       = homematic_init_irq,
 +      .init_machine   = homematic_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-kb9202.c linux-2.6/arch/arm/mach-at91/board-kb9202.c
---- linux-2.6.25/arch/arm/mach-at91/board-kb9202.c     2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-kb9202.c        2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/board-kb9202.c
++++ b/arch/arm/mach-at91/board-kb9202.c
 @@ -37,19 +37,10 @@
  #include <asm/arch/board.h>
  #include <asm/arch/gpio.h>
 @@ -37,19 +37,10 @@
  #include <asm/arch/board.h>
  #include <asm/arch/gpio.h>
@@ -3349,7 +3322,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-kb9202.c linux-2.6/arch/a
  
  static void __init kb9202_map_io(void)
  {
  
  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);
  
        /* Set up the LEDs */
        at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18);
  
@@ -3372,7 +3345,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-kb9202.c linux-2.6/arch/a
  }
  
  static void __init kb9202_init_irq(void)
  }
  
  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,
  };
  
        .partition_info = nand_partitions,
  };
  
@@ -3421,7 +3394,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-kb9202.c linux-2.6/arch/a
  static void __init kb9202_board_init(void)
  {
        /* Serial */
  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);
        at91_add_device_spi(NULL, 0);
        /* NAND */
        at91_add_device_nand(&kb9202_nand_data);
@@ -3430,9 +3403,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-kb9202.c linux-2.6/arch/a
  }
  
  MACHINE_START(KB9200, "KB920x")
  }
  
  MACHINE_START(KB9200, "KB920x")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-qil-a9260.c linux-2.6/arch/arm/mach-at91/board-qil-a9260.c
---- linux-2.6.25/arch/arm/mach-at91/board-qil-a9260.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-qil-a9260.c     2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-qil-a9260.c
 @@ -0,0 +1,255 @@
 +/*
 + * linux/arch/arm/mach-at91/board-qil-a9260.c
 @@ -0,0 +1,255 @@
 +/*
 + * linux/arch/arm/mach-at91/board-qil-a9260.c
@@ -3689,9 +3661,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-qil-a9260.c linux-2.6/arc
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9-l9260.c linux-2.6/arch/arm/mach-at91/board-sam9-l9260.c
---- linux-2.6.25/arch/arm/mach-at91/board-sam9-l9260.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9-l9260.c    2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-sam9-l9260.c
 @@ -0,0 +1,199 @@
 +/*
 + * linux/arch/arm/mach-at91/board-sam9-l9260.c
 @@ -0,0 +1,199 @@
 +/*
 + * linux/arch/arm/mach-at91/board-sam9-l9260.c
@@ -3892,9 +3863,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9-l9260.c linux-2.6/ar
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arch/arm/mach-at91/board-sam9260ek.c
---- linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c  2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9260ek.c     2008-05-01 23:56:24.000000000 +0200
+--- a/arch/arm/mach-at91/board-sam9260ek.c
++++ b/arch/arm/mach-at91/board-sam9260ek.c
 @@ -25,6 +25,10 @@
  #include <linux/module.h>
  #include <linux/platform_device.h>
 @@ -25,6 +25,10 @@
  #include <linux/module.h>
  #include <linux/platform_device.h>
@@ -3950,7 +3920,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arc
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -85,6 +89,35 @@
+@@ -85,6 +89,35 @@ static struct at91_udc_data __initdata e
  
  
  /*
  
  
  /*
@@ -3986,7 +3956,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arc
   * SPI devices.
   */
  static struct spi_board_info ek_spi_devices[] = {
   * 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,
                .chip_select    = 0,
                .max_speed_hz   = 10 * 1000 * 1000,
                .bus_num        = 1,
@@ -3995,7 +3965,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arc
        },
  #endif
  };
        },
  #endif
  };
-@@ -172,6 +207,74 @@
+@@ -172,6 +207,74 @@ static struct at91_mmc_data __initdata e
  //    .vcc_pin        = ... not connected
  };
  
  //    .vcc_pin        = ... not connected
  };
  
@@ -4070,7 +4040,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arc
  static void __init ek_board_init(void)
  {
        /* Serial */
  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);
        at91_add_device_mmc(0, &ek_mmc_data);
        /* I2C */
        at91_add_device_i2c(NULL, 0);
@@ -4087,9 +4057,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arc
  }
  
  MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
  }
  
  MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arch/arm/mach-at91/board-sam9261ek.c
---- linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c  2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9261ek.c     2008-05-01 23:53:20.000000000 +0200
+--- a/arch/arm/mach-at91/board-sam9261ek.c
++++ b/arch/arm/mach-at91/board-sam9261ek.c
 @@ -26,6 +26,8 @@
  #include <linux/platform_device.h>
  #include <linux/spi/spi.h>
 @@ -26,6 +26,8 @@
  #include <linux/platform_device.h>
  #include <linux/spi/spi.h>
@@ -4124,7 +4093,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
  static void __init ek_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
  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);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14);
  
@@ -4138,7 +4107,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -239,6 +234,35 @@
+@@ -239,6 +234,35 @@ static void __init ek_add_device_ts(void
  #endif
  
  /*
  #endif
  
  /*
@@ -4174,7 +4143,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
   * SPI devices
   */
  static struct spi_board_info ek_spi_devices[] = {
   * 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,
        {
                .modalias       = "ads7846",
                .chip_select    = 2,
@@ -4187,7 +4156,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
        },
  #endif
  #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
        },
  #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,
                .chip_select    = 3,
                .max_speed_hz   = 10 * 1000 * 1000,
                .bus_num        = 0,
@@ -4197,7 +4166,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
        },
  #endif
  };
        },
  #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,
                .code           = BTN_0,
                .desc           = "Button 0",
                .active_low     = 1,
@@ -4226,7 +4195,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
        }
  };
  
        }
  };
  
-@@ -445,13 +477,13 @@
+@@ -445,13 +477,13 @@ static struct platform_device ek_button_
  
  static void __init ek_add_device_buttons(void)
  {
  
  static void __init ek_add_device_buttons(void)
  {
@@ -4244,7 +4213,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
        at91_set_deglitch(AT91_PIN_PA24, 1);
  
        platform_device_register(&ek_button_device);
        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
  
  static void __init ek_add_device_buttons(void) {}
  #endif
  
@@ -4274,7 +4243,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
  static void __init ek_board_init(void)
  {
        /* Serial */
  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();
        at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
        /* Touchscreen */
        ek_add_device_ts();
@@ -4284,7 +4253,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
  #else
        /* MMC */
        at91_add_device_mmc(0, &ek_mmc_data);
  #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();
        at91_add_device_lcdc(&ek_lcdc_data);
        /* Push Buttons */
        ek_add_device_buttons();
@@ -4296,9 +4265,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
  }
  
  MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK")
  }
  
  MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arch/arm/mach-at91/board-sam9263ek.c
---- linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c  2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9263ek.c     2008-05-01 23:53:20.000000000 +0200
+--- a/arch/arm/mach-at91/board-sam9263ek.c
++++ b/arch/arm/mach-at91/board-sam9263ek.c
 @@ -43,29 +43,24 @@
  
  #include <asm/arch/board.h>
 @@ -43,29 +43,24 @@
  
  #include <asm/arch/board.h>
@@ -4338,7 +4306,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arc
  }
  
  static void __init ek_init_irq(void)
  }
  
  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,
        {
                .modalias       = "ads7846",
                .chip_select    = 3,
@@ -4347,7 +4315,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arc
                .bus_num        = 0,
                .platform_data  = &ads_info,
                .irq            = AT91SAM9263_ID_IRQ1,
                .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)
  {
  
  static void __init ek_add_device_buttons(void)
  {
@@ -4359,7 +4327,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arc
        at91_set_deglitch(AT91_PIN_PC4, 1);
  
        platform_device_register(&ek_button_device);
        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",
                .name                   = "ds3",
                .gpio                   = AT91_PIN_PB7,
                .default_trigger        = "heartbeat",
@@ -4368,7 +4336,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arc
  };
  
  
  };
  
  
-@@ -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));
        at91_add_device_ac97(&ek_ac97_data);
        /* LEDs */
        at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
@@ -4378,9 +4346,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arc
  }
  
  MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
  }
  
  MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9rlek.c linux-2.6/arch/arm/mach-at91/board-sam9rlek.c
---- linux-2.6.25/arch/arm/mach-at91/board-sam9rlek.c   2008-05-03 00:15:33.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9rlek.c      2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/board-sam9rlek.c
++++ b/arch/arm/mach-at91/board-sam9rlek.c
 @@ -29,29 +29,24 @@
  
  #include <asm/arch/board.h>
 @@ -29,29 +29,24 @@
  
  #include <asm/arch/board.h>
@@ -4420,7 +4387,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9rlek.c linux-2.6/arch
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -61,6 +56,14 @@
+@@ -61,6 +56,14 @@ static void __init ek_init_irq(void)
  
  
  /*
  
  
  /*
@@ -4435,7 +4402,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9rlek.c linux-2.6/arch
   * MCI (SD/MMC)
   */
  static struct at91_mmc_data __initdata ek_mmc_data = {
   * 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();
  {
        /* Serial */
        at91_add_device_serial();
@@ -4444,7 +4411,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9rlek.c linux-2.6/arch
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        /* NAND */
        /* 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);
        at91_add_device_mmc(0, &ek_mmc_data);
        /* LCD Controller */
        at91_add_device_lcdc(&ek_lcdc_data);
@@ -4454,9 +4421,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9rlek.c linux-2.6/arch
  }
  
  MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK")
  }
  
  MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK")
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-tms.c linux-2.6/arch/arm/mach-at91/board-tms.c
---- linux-2.6.25/arch/arm/mach-at91/board-tms.c        1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-tms.c   2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-tms.c
 @@ -0,0 +1,198 @@
 +/*
 +* linux/arch/arm/mach-at91/board-tms.c
 @@ -0,0 +1,198 @@
 +/*
 +* linux/arch/arm/mach-at91/board-tms.c
@@ -4656,9 +4622,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-tms.c linux-2.6/arch/arm/
 +      .init_irq       = tms_init_irq,
 +      .init_machine   = tms_board_init,
 +MACHINE_END
 +      .init_irq       = tms_init_irq,
 +      .init_machine   = tms_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-tt9200.c linux-2.6/arch/arm/mach-at91/board-tt9200.c
---- linux-2.6.25/arch/arm/mach-at91/board-tt9200.c     1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-tt9200.c        2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-tt9200.c
 @@ -0,0 +1,192 @@
 +/*
 + * linux/arch/arm/mach-at91rm9200/board-tt9200.c
 @@ -0,0 +1,192 @@
 +/*
 + * linux/arch/arm/mach-at91rm9200/board-tt9200.c
@@ -4852,9 +4817,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-tt9200.c linux-2.6/arch/a
 +      .init_irq       = tt9200_init_irq,
 +      .init_machine   = tt9200_board_init,
 +MACHINE_END
 +      .init_irq       = tt9200_init_irq,
 +      .init_machine   = tt9200_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-usb-a9260.c linux-2.6/arch/arm/mach-at91/board-usb-a9260.c
---- linux-2.6.25/arch/arm/mach-at91/board-usb-a9260.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-usb-a9260.c     2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-usb-a9260.c
 @@ -0,0 +1,215 @@
 +/*
 + * linux/arch/arm/mach-at91/board-usb-a9260.c
 @@ -0,0 +1,215 @@
 +/*
 + * linux/arch/arm/mach-at91/board-usb-a9260.c
@@ -5071,9 +5035,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-usb-a9260.c linux-2.6/arc
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-usb-a9263.c linux-2.6/arch/arm/mach-at91/board-usb-a9263.c
---- linux-2.6.25/arch/arm/mach-at91/board-usb-a9263.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-usb-a9263.c     2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/board-usb-a9263.c
 @@ -0,0 +1,230 @@
 +/*
 + * linux/arch/arm/mach-at91/board-usb-a9263.c
 @@ -0,0 +1,230 @@
 +/*
 + * linux/arch/arm/mach-at91/board-usb-a9263.c
@@ -5305,9 +5268,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-usb-a9263.c linux-2.6/arc
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
 +      .init_irq       = ek_init_irq,
 +      .init_machine   = ek_board_init,
 +MACHINE_END
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach-at91/clock.c
---- linux-2.6.25/arch/arm/mach-at91/clock.c    2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/clock.c       2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/clock.c
++++ b/arch/arm/mach-at91/clock.c
 @@ -32,6 +32,7 @@
  #include <asm/arch/cpu.h>
  
 @@ -32,6 +32,7 @@
  #include <asm/arch/cpu.h>
  
@@ -5316,7 +5278,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
  
  
  /*
  
  
  /*
-@@ -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);
  }
  
                at91_sys_write(AT91_PMC_SCDR, clk->pmc_mask);
  }
  
@@ -5351,7 +5313,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
  static struct clk uhpck = {
        .name           = "uhpck",
        .parent         = &pllb,
  static struct clk uhpck = {
        .name           = "uhpck",
        .parent         = &pllb,
-@@ -254,6 +277,23 @@
+@@ -254,6 +277,23 @@ EXPORT_SYMBOL(clk_get_rate);
  
  /*------------------------------------------------------------------------*/
  
  
  /*------------------------------------------------------------------------*/
  
@@ -5375,7 +5337,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
  #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
  
  /*
  #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)
  {
  
  static int at91_clk_show(struct seq_file *s, void *unused)
  {
@@ -5384,7 +5346,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
        struct clk      *clk;
  
        seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR));
        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));
        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));
@@ -5396,7 +5358,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
        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));
  
        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";
                        state = (scsr & clk->pmc_mask) ? "on" : "off";
                else if (clk->mode == pmc_periph_mode)
                        state = (pcsr & clk->pmc_mask) ? "on" : "off";
@@ -5405,7 +5367,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
                else if (clk->pmc_mask)
                        state = (sr & clk->pmc_mask) ? "on" : "off";
                else if (clk == &clk32k || clk == &main_clk)
                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);
  
        /*
        uhpck.rate_hz = at91_usb_rate(&pllb, pllb.rate_hz, at91_pllb_usb_init);
  
        /*
@@ -5423,7 +5385,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
         * MCK and CPU derive from one of those primary clocks.
         * For now, assume this parentage won't change.
         */
         * 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);
  
        for (i = 0; i < ARRAY_SIZE(standard_pmc_clocks); i++)
                list_add_tail(&standard_pmc_clocks[i]->node, &clocks);
  
@@ -5433,10 +5395,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/clock.c linux-2.6/arch/arm/mach
        /* MCK and CPU clock are "always on" */
        clk_enable(&mck);
  
        /* MCK and CPU clock are "always on" */
        clk_enable(&mck);
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/generic.h linux-2.6/arch/arm/mach-at91/generic.h
---- linux-2.6.25/arch/arm/mach-at91/generic.h  2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/generic.h     2008-04-25 21:15:43.000000000 +0200
-@@ -41,6 +41,7 @@
+--- a/arch/arm/mach-at91/generic.h
++++ b/arch/arm/mach-at91/generic.h
+@@ -41,6 +41,7 @@ extern void __init at91_clock_associate(
   /* Power Management */
  extern void at91_irq_suspend(void);
  extern void at91_irq_resume(void);
   /* Power Management */
  extern void at91_irq_suspend(void);
  extern void at91_irq_resume(void);
@@ -5444,10 +5405,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/generic.h linux-2.6/arch/arm/ma
  
   /* GPIO */
  #define AT91RM9200_PQFP               3       /* AT91RM9200 PQFP package has 3 banks */
  
   /* GPIO */
  #define AT91RM9200_PQFP               3       /* AT91RM9200 PQFP package has 3 banks */
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/gpio.c linux-2.6/arch/arm/mach-at91/gpio.c
---- linux-2.6.25/arch/arm/mach-at91/gpio.c     2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/gpio.c        2008-04-25 21:15:43.000000000 +0200
-@@ -490,7 +490,8 @@
+--- a/arch/arm/mach-at91/gpio.c
++++ b/arch/arm/mach-at91/gpio.c
+@@ -490,7 +490,8 @@ postcore_initcall(at91_gpio_debugfs_init
  
  /*--------------------------------------------------------------------------*/
  
  
  /*--------------------------------------------------------------------------*/
  
@@ -5457,7 +5417,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/gpio.c linux-2.6/arch/arm/mach-
   * category than their parents, so it won't report false recursion.
   */
  static struct lock_class_key gpio_lock_class;
   * 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 */
                data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS;
  
                /* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */
@@ -5465,9 +5425,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/gpio.c linux-2.6/arch/arm/mach-
                if (last && last->id == data->id)
                        last->next = data;
        }
                if (last && last->id == data->id)
                        last->next = data;
        }
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/ics1523.c linux-2.6/arch/arm/mach-at91/ics1523.c
---- linux-2.6.25/arch/arm/mach-at91/ics1523.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/ics1523.c     2008-04-25 21:15:43.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/ics1523.c
 @@ -0,0 +1,208 @@
 +/*
 + * arch/arm/mach-at91rm9200/ics1523.c
 @@ -0,0 +1,208 @@
 +/*
 + * arch/arm/mach-at91rm9200/ics1523.c
@@ -5677,9 +5636,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/ics1523.c linux-2.6/arch/arm/ma
 +
 +      return ack;
 +}
 +
 +      return ack;
 +}
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at91/pm.c
---- linux-2.6.25/arch/arm/mach-at91/pm.c       2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/pm.c  2008-04-25 21:15:43.000000000 +0200
+--- a/arch/arm/mach-at91/pm.c
++++ b/arch/arm/mach-at91/pm.c
 @@ -26,12 +26,144 @@
  #include <asm/mach-types.h>
  
 @@ -26,12 +26,144 @@
  #include <asm/mach-types.h>
  
@@ -5826,7 +5784,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
  
  static int at91_pm_valid_state(suspend_state_t state)
  {
  
  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.
   */
   * Verify that all the clocks are correct before entering
   * slow-clock mode.
   */
@@ -5834,7 +5792,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
  static int at91_pm_verify_clocks(void)
  {
        unsigned long scsr;
  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)
  }
  
  /*
  }
  
  /*
@@ -5865,7 +5823,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
  
  static int at91_pm_enter(suspend_state_t state)
  {
  
  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) {
                         * turning off the main oscillator; reverse on wakeup.
                         */
                        if (slow_clock) {
@@ -5882,7 +5840,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
                                /* FALLTHROUGH leaving master clock alone */
                        }
  
                                /* 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
                case PM_SUSPEND_STANDBY:
                        /*
                         * NOTE: the Wait-for-Interrupt instruction needs to be
@@ -5902,7 +5860,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
  
                case PM_SUSPEND_ON:
                        asm("mcr p15, 0, r0, c7, c0, 4");       /* wait for interrupt */
  
                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:
                        at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR));
  
  error:
@@ -5910,7 +5868,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
        target_state = PM_SUSPEND_ON;
        at91_irq_resume();
        at91_gpio_resume();
        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)
  {
  
  static int __init at91_pm_init(void)
  {
@@ -5940,9 +5898,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm.c linux-2.6/arch/arm/mach-at
        return 0;
  }
  arch_initcall(at91_pm_init);
        return 0;
  }
  arch_initcall(at91_pm_init);
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm_slowclock.S linux-2.6/arch/arm/mach-at91/pm_slowclock.S
---- linux-2.6.25/arch/arm/mach-at91/pm_slowclock.S     1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/pm_slowclock.S        2008-05-03 01:00:33.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-at91/pm_slowclock.S
 @@ -0,0 +1,283 @@
 +/*
 + * arch/arm/mach-at91/pm_slow_clock.S
 @@ -0,0 +1,283 @@
 +/*
 + * arch/arm/mach-at91/pm_slow_clock.S
@@ -6227,10 +6184,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/pm_slowclock.S linux-2.6/arch/a
 +
 +ENTRY(at91_slow_clock_sz)
 +      .word .-at91_slow_clock
 +
 +ENTRY(at91_slow_clock_sz)
 +      .word .-at91_slow_clock
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/Makefile linux-2.6/arch/arm/mach-ks8695/Makefile
---- linux-2.6.25/arch/arm/mach-ks8695/Makefile 2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-ks8695/Makefile    2007-12-31 15:04:45.000000000 +0200
-@@ -11,5 +11,8 @@
+--- a/arch/arm/mach-ks8695/Makefile
++++ b/arch/arm/mach-ks8695/Makefile
+@@ -11,5 +11,8 @@ obj-                         :=
  # PCI support is optional
  obj-$(CONFIG_PCI)             += pci.o
  
  # PCI support is optional
  obj-$(CONFIG_PCI)             += pci.o
  
@@ -6239,10 +6195,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/Makefile linux-2.6/arch/arm/m
 +
  # Board-specific support
  obj-$(CONFIG_MACH_KS8695)     += board-micrel.o
 +
  # Board-specific support
  obj-$(CONFIG_MACH_KS8695)     += board-micrel.o
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/devices.c linux-2.6/arch/arm/mach-ks8695/devices.c
---- linux-2.6.25/arch/arm/mach-ks8695/devices.c        2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-ks8695/devices.c   2007-12-31 10:43:55.000000000 +0200
-@@ -176,6 +176,27 @@
+--- a/arch/arm/mach-ks8695/devices.c
++++ b/arch/arm/mach-ks8695/devices.c
+@@ -176,6 +176,27 @@ static void __init ks8695_add_device_wat
  #endif
  
  
  #endif
  
  
@@ -6270,10 +6225,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/devices.c linux-2.6/arch/arm/
  /* -------------------------------------------------------------------- */
  
  /*
  /* -------------------------------------------------------------------- */
  
  /*
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/gpio.c linux-2.6/arch/arm/mach-ks8695/gpio.c
---- linux-2.6.25/arch/arm/mach-ks8695/gpio.c   2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-ks8695/gpio.c      2007-12-31 14:49:20.000000000 +0200
-@@ -136,9 +136,9 @@
+--- a/arch/arm/mach-ks8695/gpio.c
++++ b/arch/arm/mach-ks8695/gpio.c
+@@ -136,9 +136,9 @@ int __init_or_module gpio_direction_outp
        /* set line state */
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
        if (state)
        /* set line state */
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
        if (state)
@@ -6285,7 +6239,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/gpio.c linux-2.6/arch/arm/mac
        __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
        /* set pin as output */
        __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)
        /* set output line state */
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
        if (state)
@@ -6297,7 +6251,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/gpio.c linux-2.6/arch/arm/mac
        __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
        local_irq_restore(flags);
        __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);
                return -EINVAL;
  
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
@@ -6306,9 +6260,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/gpio.c linux-2.6/arch/arm/mac
  }
  EXPORT_SYMBOL(gpio_get_value);
  
  }
  EXPORT_SYMBOL(gpio_get_value);
  
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/leds.c linux-2.6/arch/arm/mach-ks8695/leds.c
---- linux-2.6.25/arch/arm/mach-ks8695/leds.c   1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-ks8695/leds.c      2007-12-31 15:18:25.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-ks8695/leds.c
 @@ -0,0 +1,94 @@
 +/*
 + * LED driver for KS8695-based boards.
 @@ -0,0 +1,94 @@
 +/*
 + * LED driver for KS8695-based boards.
@@ -6404,10 +6357,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/leds.c linux-2.6/arch/arm/mac
 +}
 +
 +__initcall(leds_init);
 +}
 +
 +__initcall(leds_init);
-diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/pci.c linux-2.6/arch/arm/mach-ks8695/pci.c
---- linux-2.6.25/arch/arm/mach-ks8695/pci.c    2008-05-03 00:15:44.000000000 +0200
-+++ linux-2.6/arch/arm/mach-ks8695/pci.c       2008-05-08 22:03:41.000000000 +0200
-@@ -141,7 +141,7 @@
+--- a/arch/arm/mach-ks8695/pci.c
++++ b/arch/arm/mach-ks8695/pci.c
+@@ -141,7 +141,7 @@ static struct pci_ops ks8695_pci_ops = {
        .write  = ks8695_pci_writeconfig,
  };
  
        .write  = ks8695_pci_writeconfig,
  };
  
@@ -6416,10 +6368,9 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-ks8695/pci.c linux-2.6/arch/arm/mach
  {
        return pci_scan_bus(sys->busnr, &ks8695_pci_ops, sys);
  }
  {
        return pci_scan_bus(sys->busnr, &ks8695_pci_ops, sys);
  }
-diff -urN -x CVS linux-2.6.25/drivers/char/Kconfig linux-2.6/drivers/char/Kconfig
---- linux-2.6.25/drivers/char/Kconfig  2008-05-03 00:15:47.000000000 +0200
-+++ linux-2.6/drivers/char/Kconfig     2008-03-09 15:14:46.000000000 +0200
-@@ -1056,5 +1056,21 @@
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -1056,5 +1056,21 @@ config DEVPORT
  
  source "drivers/s390/char/Kconfig"
  
  
  source "drivers/s390/char/Kconfig"
  
@@ -6441,10 +6392,9 @@ diff -urN -x CVS linux-2.6.25/drivers/char/Kconfig linux-2.6/drivers/char/Kconfi
 +
  endmenu
  
 +
  endmenu
  
-diff -urN -x CVS linux-2.6.25/drivers/char/Makefile linux-2.6/drivers/char/Makefile
---- linux-2.6.25/drivers/char/Makefile 2008-05-03 00:15:47.000000000 +0200
-+++ linux-2.6/drivers/char/Makefile    2008-03-09 15:14:46.000000000 +0200
-@@ -98,6 +98,8 @@
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
+@@ -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
  obj-$(CONFIG_GPIO_VR41XX)     += vr41xx_giu.o
  obj-$(CONFIG_GPIO_TB0219)     += tb0219.o
  obj-$(CONFIG_TELCLOCK)                += tlclk.o
@@ -6453,9 +6403,8 @@ diff -urN -x CVS linux-2.6.25/drivers/char/Makefile linux-2.6/drivers/char/Makef
  
  obj-$(CONFIG_MWAVE)           += mwave/
  obj-$(CONFIG_AGP)             += agp/
  
  obj-$(CONFIG_MWAVE)           += mwave/
  obj-$(CONFIG_AGP)             += agp/
-diff -urN -x CVS linux-2.6.25/drivers/char/at91_spi.c linux-2.6/drivers/char/at91_spi.c
---- linux-2.6.25/drivers/char/at91_spi.c       1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/char/at91_spi.c  2008-04-18 17:38:01.000000000 +0200
+--- /dev/null
++++ b/drivers/char/at91_spi.c
 @@ -0,0 +1,337 @@
 +/*
 + * Serial Peripheral Interface (SPI) driver for the Atmel AT91RM9200 (Thunder)
 @@ -0,0 +1,337 @@
 +/*
 + * Serial Peripheral Interface (SPI) driver for the Atmel AT91RM9200 (Thunder)
@@ -6794,9 +6743,8 @@ diff -urN -x CVS linux-2.6.25/drivers/char/at91_spi.c linux-2.6/drivers/char/at9
 +MODULE_AUTHOR("Andrew Victor")
 +MODULE_DESCRIPTION("SPI driver for Atmel AT91RM9200")
 +MODULE_ALIAS("platform:at91_spi");
 +MODULE_AUTHOR("Andrew Victor")
 +MODULE_DESCRIPTION("SPI driver for Atmel AT91RM9200")
 +MODULE_ALIAS("platform:at91_spi");
-diff -urN -x CVS linux-2.6.25/drivers/char/at91_spidev.c linux-2.6/drivers/char/at91_spidev.c
---- linux-2.6.25/drivers/char/at91_spidev.c    1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/char/at91_spidev.c       2007-12-31 15:18:43.000000000 +0200
+--- /dev/null
++++ b/drivers/char/at91_spidev.c
 @@ -0,0 +1,233 @@
 +/*
 + * User-space interface to the SPI bus on Atmel AT91RM9200
 @@ -0,0 +1,233 @@
 +/*
 + * User-space interface to the SPI bus on Atmel AT91RM9200
@@ -7031,10 +6979,9 @@ diff -urN -x CVS linux-2.6.25/drivers/char/at91_spidev.c linux-2.6/drivers/char/
 +MODULE_LICENSE("GPL")
 +MODULE_AUTHOR("Andrew Victor")
 +MODULE_DESCRIPTION("SPI /dev interface for Atmel AT91RM9200")
 +MODULE_LICENSE("GPL")
 +MODULE_AUTHOR("Andrew Victor")
 +MODULE_DESCRIPTION("SPI /dev interface for Atmel AT91RM9200")
-diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/Kconfig linux-2.6/drivers/i2c/busses/Kconfig
---- linux-2.6.25/drivers/i2c/busses/Kconfig    2008-05-03 00:15:47.000000000 +0200
-+++ linux-2.6/drivers/i2c/busses/Kconfig       2008-04-02 22:11:28.000000000 +0200
-@@ -88,6 +88,14 @@
+--- a/drivers/i2c/busses/Kconfig
++++ b/drivers/i2c/busses/Kconfig
+@@ -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.
  
          to support combined I2C messages.  Use the i2c-gpio driver
          unless your system can cope with those limitations.
  
@@ -7049,7 +6996,7 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/Kconfig linux-2.6/drivers/i2c/b
  config I2C_AU1550
        tristate "Au1550/Au1200 SMBus interface"
        depends on SOC_AU1550 || SOC_AU1200
  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.
  
          This driver can also be built as a module.  If so, the module
          will be called i2c-voodoo3.
  
@@ -7064,10 +7011,9 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/Kconfig linux-2.6/drivers/i2c/b
  config I2C_PCA_ISA
        tristate "PCA9564 on an ISA bus"
        depends on ISA
  config I2C_PCA_ISA
        tristate "PCA9564 on an ISA bus"
        depends on ISA
-diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/Makefile linux-2.6/drivers/i2c/busses/Makefile
---- linux-2.6.25/drivers/i2c/busses/Makefile   2008-05-03 00:15:47.000000000 +0200
-+++ linux-2.6/drivers/i2c/busses/Makefile      2008-03-09 15:14:46.000000000 +0200
-@@ -29,6 +29,7 @@
+--- a/drivers/i2c/busses/Makefile
++++ b/drivers/i2c/busses/Makefile
+@@ -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
  obj-$(CONFIG_I2C_PARPORT)     += i2c-parport.o
  obj-$(CONFIG_I2C_PARPORT_LIGHT)       += i2c-parport-light.o
  obj-$(CONFIG_I2C_PASEMI)      += i2c-pasemi.o
@@ -7075,9 +7021,8 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/Makefile linux-2.6/drivers/i2c/
  obj-$(CONFIG_I2C_PCA_ISA)     += i2c-pca-isa.o
  obj-$(CONFIG_I2C_PIIX4)               += i2c-piix4.o
  obj-$(CONFIG_I2C_PMCMSP)      += i2c-pmcmsp.o
  obj-$(CONFIG_I2C_PCA_ISA)     += i2c-pca-isa.o
  obj-$(CONFIG_I2C_PIIX4)               += i2c-piix4.o
  obj-$(CONFIG_I2C_PMCMSP)      += i2c-pmcmsp.o
-diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/i2c-at91.c linux-2.6/drivers/i2c/busses/i2c-at91.c
---- linux-2.6.25/drivers/i2c/busses/i2c-at91.c 2008-05-03 00:15:35.000000000 +0200
-+++ linux-2.6/drivers/i2c/busses/i2c-at91.c    2008-01-16 13:15:34.000000000 +0200
+--- a/drivers/i2c/busses/i2c-at91.c
++++ b/drivers/i2c/busses/i2c-at91.c
 @@ -31,8 +31,11 @@
  #include <asm/arch/board.h>
  #include <asm/arch/cpu.h>
 @@ -31,8 +31,11 @@
  #include <asm/arch/board.h>
  #include <asm/arch/cpu.h>
@@ -7091,7 +7036,7 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/i2c-at91.c linux-2.6/drivers/i2
  
  static struct clk *twi_clk;
  static void __iomem *twi_base;
  
  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 */
        at91_twi_write(AT91_TWI_CR, AT91_TWI_MSEN);     /* Set Master mode */
  
        /* Calcuate clock dividers */
@@ -7100,7 +7045,7 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/i2c-at91.c linux-2.6/drivers/i2
        cdiv = cdiv + 1;        /* round up */
        ckdiv = 0;
        while (cdiv > 255) {
        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;
        }
  
                cdiv = cdiv >> 1;
        }
  
@@ -7118,9 +7063,8 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/i2c-at91.c linux-2.6/drivers/i2
        }
  
        at91_twi_write(AT91_TWI_CWGR, (ckdiv << 16) | (cdiv << 8) | cdiv);
        }
  
        at91_twi_write(AT91_TWI_CWGR, (ckdiv << 16) | (cdiv << 8) | cdiv);
-diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/i2c-pca.c linux-2.6/drivers/i2c/busses/i2c-pca.c
---- linux-2.6.25/drivers/i2c/busses/i2c-pca.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/i2c/busses/i2c-pca.c     2007-12-31 15:18:43.000000000 +0200
+--- /dev/null
++++ b/drivers/i2c/busses/i2c-pca.c
 @@ -0,0 +1,213 @@
 +/*
 + *  Platform driver for PCA9564 I2C bus controller.
 @@ -0,0 +1,213 @@
 +/*
 + *  Platform driver for PCA9564 I2C bus controller.
@@ -7335,10 +7279,9 @@ diff -urN -x CVS linux-2.6.25/drivers/i2c/busses/i2c-pca.c linux-2.6/drivers/i2c
 +MODULE_AUTHOR("Andrew Victor");
 +MODULE_DESCRIPTION("PCA9564 platform driver");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Andrew Victor");
 +MODULE_DESCRIPTION("PCA9564 platform driver");
 +MODULE_LICENSE("GPL");
-diff -urN -x CVS linux-2.6.25/drivers/mmc/host/at91_mci.c linux-2.6/drivers/mmc/host/at91_mci.c
---- linux-2.6.25/drivers/mmc/host/at91_mci.c   2008-05-03 00:15:48.000000000 +0200
-+++ linux-2.6/drivers/mmc/host/at91_mci.c      2008-04-18 17:32:40.000000000 +0200
-@@ -659,13 +659,14 @@
+--- a/drivers/mmc/host/at91_mci.c
++++ b/drivers/mmc/host/at91_mci.c
+@@ -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) {
        /* maybe switch power to the card */
        if (host->board->vcc_pin) {
                switch (ios->power_mode) {
@@ -7360,10 +7303,9 @@ diff -urN -x CVS linux-2.6.25/drivers/mmc/host/at91_mci.c linux-2.6/drivers/mmc/
                }
        }
  }
                }
        }
  }
-diff -urN -x CVS linux-2.6.25/drivers/mtd/devices/Kconfig linux-2.6/drivers/mtd/devices/Kconfig
---- linux-2.6.25/drivers/mtd/devices/Kconfig   2008-05-03 00:15:36.000000000 +0200
-+++ linux-2.6/drivers/mtd/devices/Kconfig      2007-12-31 10:44:25.000000000 +0200
-@@ -270,5 +270,17 @@
+--- a/drivers/mtd/devices/Kconfig
++++ b/drivers/mtd/devices/Kconfig
+@@ -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.
  
          LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
          you have managed to wipe the first block.
  
@@ -7382,17 +7324,15 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/devices/Kconfig linux-2.6/drivers/mtd/
 +        Always add the whole DataFlash device when using MTD partitions.
  
 +endmenu
 +        Always add the whole DataFlash device when using MTD partitions.
  
 +endmenu
-diff -urN -x CVS linux-2.6.25/drivers/mtd/devices/Makefile linux-2.6/drivers/mtd/devices/Makefile
---- linux-2.6.25/drivers/mtd/devices/Makefile  2008-05-03 00:15:36.000000000 +0200
-+++ linux-2.6/drivers/mtd/devices/Makefile     2007-12-31 10:48:27.000000000 +0200
-@@ -17,3 +17,4 @@
+--- a/drivers/mtd/devices/Makefile
++++ b/drivers/mtd/devices/Makefile
+@@ -17,3 +17,4 @@ obj-$(CONFIG_MTD_LART)               += lart.o
  obj-$(CONFIG_MTD_BLOCK2MTD)   += block2mtd.o
  obj-$(CONFIG_MTD_DATAFLASH)   += mtd_dataflash.o
  obj-$(CONFIG_MTD_M25P80)      += m25p80.o
 +obj-$(CONFIG_MTD_AT91_DATAFLASH)+= at91_dataflash.o
  obj-$(CONFIG_MTD_BLOCK2MTD)   += block2mtd.o
  obj-$(CONFIG_MTD_DATAFLASH)   += mtd_dataflash.o
  obj-$(CONFIG_MTD_M25P80)      += m25p80.o
 +obj-$(CONFIG_MTD_AT91_DATAFLASH)+= at91_dataflash.o
-diff -urN -x CVS linux-2.6.25/drivers/mtd/devices/at91_dataflash.c linux-2.6/drivers/mtd/devices/at91_dataflash.c
---- linux-2.6.25/drivers/mtd/devices/at91_dataflash.c  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/mtd/devices/at91_dataflash.c     2007-12-31 15:18:43.000000000 +0200
+--- /dev/null
++++ b/drivers/mtd/devices/at91_dataflash.c
 @@ -0,0 +1,673 @@
 +/*
 + * Atmel DataFlash driver for Atmel AT91RM9200 (Thunder)
 @@ -0,0 +1,673 @@
 +/*
 + * Atmel DataFlash driver for Atmel AT91RM9200 (Thunder)
@@ -8067,10 +8007,9 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/devices/at91_dataflash.c linux-2.6/dri
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Andrew Victor");
 +MODULE_DESCRIPTION("DataFlash driver for Atmel AT91RM9200");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Andrew Victor");
 +MODULE_DESCRIPTION("DataFlash driver for Atmel AT91RM9200");
-diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/Kconfig linux-2.6/drivers/mtd/nand/Kconfig
---- linux-2.6.25/drivers/mtd/nand/Kconfig      2008-05-03 00:15:48.000000000 +0200
-+++ linux-2.6/drivers/mtd/nand/Kconfig 2008-04-18 17:52:53.000000000 +0200
-@@ -273,12 +273,53 @@
+--- a/drivers/mtd/nand/Kconfig
++++ b/drivers/mtd/nand/Kconfig
+@@ -273,12 +273,53 @@ config MTD_NAND_CS553X
          If you say "m", the module will be called "cs553x_nand.ko".
  
  config MTD_NAND_AT91
          If you say "m", the module will be called "cs553x_nand.ko".
  
  config MTD_NAND_AT91
@@ -8125,9 +8064,8 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/Kconfig linux-2.6/drivers/mtd/nan
  config MTD_NAND_CM_X270
        tristate "Support for NAND Flash on CM-X270 modules"
        depends on MTD_NAND && MACH_ARMCORE
  config MTD_NAND_CM_X270
        tristate "Support for NAND Flash on CM-X270 modules"
        depends on MTD_NAND && MACH_ARMCORE
-diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd/nand/at91_nand.c
---- linux-2.6.25/drivers/mtd/nand/at91_nand.c  2008-05-03 00:15:48.000000000 +0200
-+++ linux-2.6/drivers/mtd/nand/at91_nand.c     2008-05-03 00:53:39.000000000 +0200
+--- a/drivers/mtd/nand/at91_nand.c
++++ b/drivers/mtd/nand/at91_nand.c
 @@ -9,6 +9,15 @@
   *  Derived from drivers/mtd/spia.c
   *     Copyright (C) 2000 Steven J. Hill (sjhill@cotw.com)
 @@ -9,6 +9,15 @@
   *  Derived from drivers/mtd/spia.c
   *     Copyright (C) 2000 Steven J. Hill (sjhill@cotw.com)
@@ -8220,7 +8158,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
   * Hardware specific access to control-lines
   */
  static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
   * 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;
  
        struct nand_chip *nand_chip = mtd->priv;
        struct at91_nand_host *host = nand_chip->priv;
  
@@ -8234,7 +8172,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
        if (cmd == NAND_CMD_NONE)
                return;
  
        if (cmd == NAND_CMD_NONE)
                return;
  
-@@ -65,27 +141,249 @@
+@@ -65,27 +141,249 @@ static int at91_nand_device_ready(struct
  }
  
  /*
  }
  
  /*
@@ -8493,7 +8431,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
  /*
   * Probe for the NAND device.
   */
  /*
   * 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;
        struct at91_nand_host *host;
        struct mtd_info *mtd;
        struct nand_chip *nand_chip;
@@ -8502,7 +8440,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
        int res;
  
  #ifdef CONFIG_MTD_PARTITIONS
        int res;
  
  #ifdef CONFIG_MTD_PARTITIONS
-@@ -108,8 +408,13 @@
+@@ -108,8 +408,13 @@ static int __init at91_nand_probe(struct
                return -ENOMEM;
        }
  
                return -ENOMEM;
        }
  
@@ -8518,7 +8456,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
        if (host->io_base == NULL) {
                printk(KERN_ERR "at91_nand: ioremap failed\n");
                kfree(host);
        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;
        mtd = &host->mtd;
        nand_chip = &host->nand_chip;
        host->board = pdev->dev.platform_data;
@@ -8526,7 +8464,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
  
        nand_chip->priv = host;         /* link the private data structures */
        mtd->priv = nand_chip;
  
        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;
  
        if (host->board->rdy_pin)
                nand_chip->dev_ready = at91_nand_device_ready;
  
@@ -8568,7 +8506,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
  
        platform_set_drvdata(pdev, host);
        at91_nand_enable(host);
  
        platform_set_drvdata(pdev, host);
        at91_nand_enable(host);
-@@ -149,8 +484,60 @@
+@@ -149,8 +484,60 @@ static int __init at91_nand_probe(struct
                }
        }
  
                }
        }
  
@@ -8631,7 +8569,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
                res = -ENXIO;
                goto out;
        }
                res = -ENXIO;
                goto out;
        }
-@@ -179,8 +566,11 @@
+@@ -179,8 +566,11 @@ static int __init at91_nand_probe(struct
        if (!res)
                return res;
  
        if (!res)
                return res;
  
@@ -8643,7 +8581,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
  out:
        at91_nand_disable(host);
        platform_set_drvdata(pdev, NULL);
  out:
        at91_nand_disable(host);
        platform_set_drvdata(pdev, NULL);
-@@ -192,7 +582,7 @@
+@@ -192,7 +582,7 @@ out:
  /*
   * Remove a NAND device.
   */
  /*
   * Remove a NAND device.
   */
@@ -8652,7 +8590,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
  {
        struct at91_nand_host *host = platform_get_drvdata(pdev);
        struct mtd_info *mtd = &host->mtd;
  {
        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 = {
  }
  
  static struct platform_driver at91_nand_driver = {
@@ -8662,7 +8600,7 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
        .driver         = {
                .name   = "at91_nand",
                .owner  = THIS_MODULE,
        .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)
  {
  
  static int __init at91_nand_init(void)
  {
@@ -8671,16 +8609,15 @@ diff -urN -x CVS linux-2.6.25/drivers/mtd/nand/at91_nand.c linux-2.6/drivers/mtd
  }
  
  
  }
  
  
-@@ -233,4 +622,4 @@
+@@ -233,4 +622,4 @@ module_exit(at91_nand_exit);
  
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Rick Bronson");
 -MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91RM9200");
 +MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91RM9200 / AT91SAM9 / AT91CAP9");
  
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Rick Bronson");
 -MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91RM9200");
 +MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91RM9200 / AT91SAM9 / AT91CAP9");
-diff -urN -x CVS linux-2.6.25/drivers/net/arm/Kconfig linux-2.6/drivers/net/arm/Kconfig
---- linux-2.6.25/drivers/net/arm/Kconfig       2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/drivers/net/arm/Kconfig  2008-03-04 21:52:40.000000000 +0200
-@@ -47,3 +47,10 @@
+--- a/drivers/net/arm/Kconfig
++++ b/drivers/net/arm/Kconfig
+@@ -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.
        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.
@@ -8691,18 +8628,16 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/Kconfig linux-2.6/drivers/net/arm/
 +      help
 +        If you wish to compile a kernel for an KS8695-based board
 +        and enable Ethernet support, then select this option.
 +      help
 +        If you wish to compile a kernel for an KS8695-based board
 +        and enable Ethernet support, then select this option.
-diff -urN -x CVS linux-2.6.25/drivers/net/arm/Makefile linux-2.6/drivers/net/arm/Makefile
---- linux-2.6.25/drivers/net/arm/Makefile      2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/drivers/net/arm/Makefile 2008-03-04 21:51:41.000000000 +0200
-@@ -9,3 +9,4 @@
+--- a/drivers/net/arm/Makefile
++++ b/drivers/net/arm/Makefile
+@@ -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
  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
-diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net/arm/at91_ether.c
---- linux-2.6.25/drivers/net/arm/at91_ether.c  2008-05-03 00:15:48.000000000 +0200
-+++ linux-2.6/drivers/net/arm/at91_ether.c     2008-05-08 21:47:22.000000000 +0200
-@@ -220,7 +220,7 @@
+--- a/drivers/net/arm/at91_ether.c
++++ b/drivers/net/arm/at91_ether.c
+@@ -220,7 +220,7 @@ static irqreturn_t at91ether_phy_interru
                if (!(phy & (1 << 0)))
                        goto done;
        }
                if (!(phy & (1 << 0)))
                        goto done;
        }
@@ -8711,7 +8646,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
                read_phy(lp->phy_address, MII_TPISTATUS, &phy);         /* ack interrupt in Micrel PHY */
                if (!(phy & ((1 << 2) | 1)))
                        goto done;
                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);
        }
                dsintr = (1 << 15) | ( 1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
@@ -8720,7 +8655,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
                dsintr = (1 << 10) | ( 1 << 8);
                write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
        }
                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);
        }
                dsintr = ~(1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
@@ -8729,7 +8664,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
                read_phy(lp->phy_address, MII_TPISTATUS, &dsintr);
                dsintr = ~((1 << 10) | (1 << 8));
                write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
                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);
                lp->skb = skb;
                lp->skb_length = skb->len;
                lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE);
@@ -8738,7 +8673,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
  
                /* Set address of the data in the Transmit Address register */
                at91_emac_write(AT91_EMAC_TAR, lp->skb_physaddr);
  
                /* 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)
  {
   */
  static struct net_device_stats *at91ether_stats(struct net_device *dev)
  {
@@ -8788,7 +8723,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
  }
  
  /*
  }
  
  /*
-@@ -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;
  
                        skb->protocol = eth_type_trans(skb, dev);
                        dev->last_rx = jiffies;
@@ -8808,7 +8743,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
  
                dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE;    /* reset ownership bit */
                if (lp->rxBuffIndex == MAX_RX_DESCR-1)                          /* wrap after last buffer */
  
                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))
        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))
@@ -8817,7 +8752,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
  
                if (lp->skb) {
                        dev_kfree_skb_irq(lp->skb);
  
                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;
        struct net_device *dev;
        struct at91_private *lp;
        unsigned int val;
@@ -8843,7 +8778,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
  
        /* Install the interrupt handler */
        if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) {
  
        /* 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);
        } else if (machine_is_csb337()) {
                /* mix link activity status into LED2 link state */
                write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22);
@@ -8854,7 +8789,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
        disable_mdi();
        spin_unlock_irq(&lp->lock);
  
        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 */
        lp->phy_address = phy_address;  /* MDI address of PHY */
  
        /* Register the network interface */
@@ -8870,7 +8805,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
        }
  
        /* Determine current link speed */
        }
  
        /* 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);
                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);
@@ -8879,7 +8814,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
        else if (phy_type == MII_KS8721_ID)
                printk(KERN_INFO "%s: Micrel KS8721 PHY\n", dev->name);
        else if (phy_type == MII_T78Q21x3_ID)
        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 */
                        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 */
@@ -8887,14 +8822,13 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.c linux-2.6/drivers/net
                        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 */
                        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");
 +MODULE_ALIAS("platform:" DRV_NAME);
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver");
  MODULE_AUTHOR("Andrew Victor");
 +MODULE_ALIAS("platform:" DRV_NAME);
-diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.h linux-2.6/drivers/net/arm/at91_ether.h
---- linux-2.6.25/drivers/net/arm/at91_ether.h  2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/drivers/net/arm/at91_ether.h     2008-05-08 21:47:31.000000000 +0200
+--- a/drivers/net/arm/at91_ether.h
++++ b/drivers/net/arm/at91_ether.h
 @@ -48,6 +48,9 @@
  /* Altima AC101L PHY */
  #define MII_AC101L_ID         0x00225520
 @@ -48,6 +48,9 @@
  /* Altima AC101L PHY */
  #define MII_AC101L_ID         0x00225520
@@ -8905,7 +8839,7 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.h linux-2.6/drivers/net
  /* Micrel KS8721 PHY */
  #define MII_KS8721_ID         0x00221610
  
  /* Micrel KS8721 PHY */
  #define MII_KS8721_ID         0x00221610
  
-@@ -84,7 +87,6 @@
+@@ -84,7 +87,6 @@ struct recv_desc_bufs
  
  struct at91_private
  {
  
  struct at91_private
  {
@@ -8913,9 +8847,8 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/at91_ether.h linux-2.6/drivers/net
        struct mii_if_info mii;                 /* ethtool support */
        struct at91_eth_data board_data;        /* board-specific configuration */
        struct clk *ether_clk;                  /* clock */
        struct mii_if_info mii;                 /* ethtool support */
        struct at91_eth_data board_data;        /* board-specific configuration */
        struct clk *ether_clk;                  /* clock */
-diff -urN -x CVS linux-2.6.25/drivers/net/arm/ks8695_ether.c linux-2.6/drivers/net/arm/ks8695_ether.c
---- linux-2.6.25/drivers/net/arm/ks8695_ether.c        1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/net/arm/ks8695_ether.c   2008-05-08 21:52:35.000000000 +0200
+--- /dev/null
++++ b/drivers/net/arm/ks8695_ether.c
 @@ -0,0 +1,1009 @@
 +/*
 + * Ethernet driver for the Kendin/Micrel KS8695.
 @@ -0,0 +1,1009 @@
 +/*
 + * Ethernet driver for the Kendin/Micrel KS8695.
@@ -9926,9 +9859,8 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/ks8695_ether.c linux-2.6/drivers/n
 +MODULE_DESCRIPTION("KS8695 Ethernet driver");
 +MODULE_AUTHOR("Andrew Victor");
 +MODULE_ALIAS("platform:" DRV_NAME);
 +MODULE_DESCRIPTION("KS8695 Ethernet driver");
 +MODULE_AUTHOR("Andrew Victor");
 +MODULE_ALIAS("platform:" DRV_NAME);
-diff -urN -x CVS linux-2.6.25/drivers/net/arm/ks8695_ether.h linux-2.6/drivers/net/arm/ks8695_ether.h
---- linux-2.6.25/drivers/net/arm/ks8695_ether.h        1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/net/arm/ks8695_ether.h   2008-05-08 21:51:23.000000000 +0200
+--- /dev/null
++++ b/drivers/net/arm/ks8695_ether.h
 @@ -0,0 +1,92 @@
 +/*
 + * Ethernet driver for the Micrel/Kendin KS8695 (Centaur)
 @@ -0,0 +1,92 @@
 +/*
 + * Ethernet driver for the Micrel/Kendin KS8695 (Centaur)
@@ -10022,10 +9954,9 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/ks8695_ether.h linux-2.6/drivers/n
 +};
 +
 +#endif
 +};
 +
 +#endif
-diff -urN -x CVS linux-2.6.25/drivers/rtc/Kconfig linux-2.6/drivers/rtc/Kconfig
---- linux-2.6.25/drivers/rtc/Kconfig   2008-05-03 00:15:49.000000000 +0200
-+++ linux-2.6/drivers/rtc/Kconfig      2008-04-15 21:48:11.000000000 +0200
-@@ -487,12 +487,12 @@
+--- a/drivers/rtc/Kconfig
++++ b/drivers/rtc/Kconfig
+@@ -487,12 +487,12 @@ config RTC_DRV_AT91RM9200
          this is powered by the backup power supply.
  
  config RTC_DRV_AT91SAM9
          this is powered by the backup power supply.
  
  config RTC_DRV_AT91SAM9
@@ -10042,9 +9973,8 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/Kconfig linux-2.6/drivers/rtc/Kconfig
  
          (On AT91SAM9rl chips you probably want to use the dedicated RTC
          module and leave the RTT available for other uses.)
  
          (On AT91SAM9rl chips you probably want to use the dedicated RTC
          module and leave the RTT available for other uses.)
-diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91rm9200.c linux-2.6/drivers/rtc/rtc-at91rm9200.c
---- linux-2.6.25/drivers/rtc/rtc-at91rm9200.c  2008-05-03 00:15:49.000000000 +0200
-+++ linux-2.6/drivers/rtc/rtc-at91rm9200.c     2008-04-25 23:15:05.000000000 +0200
+--- a/drivers/rtc/rtc-at91rm9200.c
++++ b/drivers/rtc/rtc-at91rm9200.c
 @@ -29,9 +29,6 @@
  #include <linux/completion.h>
  
 @@ -29,9 +29,6 @@
  #include <linux/completion.h>
  
@@ -10055,7 +9985,7 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91rm9200.c linux-2.6/drivers/rtc
  
  #include <asm/arch/at91_rtc.h>
  
  
  #include <asm/arch/at91_rtc.h>
  
-@@ -307,12 +304,6 @@
+@@ -307,12 +304,6 @@ static int __init at91_rtc_probe(struct 
                return ret;
        }
  
                return ret;
        }
  
@@ -10068,9 +9998,8 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91rm9200.c linux-2.6/drivers/rtc
        rtc = rtc_device_register(pdev->name, &pdev->dev,
                                &at91_rtc_ops, THIS_MODULE);
        if (IS_ERR(rtc)) {
        rtc = rtc_device_register(pdev->name, &pdev->dev,
                                &at91_rtc_ops, THIS_MODULE);
        if (IS_ERR(rtc)) {
-diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91sam9.c linux-2.6/drivers/rtc/rtc-at91sam9.c
---- linux-2.6.25/drivers/rtc/rtc-at91sam9.c    2008-05-03 00:15:49.000000000 +0200
-+++ linux-2.6/drivers/rtc/rtc-at91sam9.c       2008-05-05 22:01:39.000000000 +0200
+--- a/drivers/rtc/rtc-at91sam9.c
++++ b/drivers/rtc/rtc-at91sam9.c
 @@ -21,6 +21,7 @@
  
  #include <asm/mach/time.h>
 @@ -21,6 +21,7 @@
  
  #include <asm/mach/time.h>
@@ -10079,7 +10008,7 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91sam9.c linux-2.6/drivers/rtc/r
  #include <asm/arch/at91_rtt.h>
  
  
  #include <asm/arch/at91_rtt.h>
  
  
-@@ -150,6 +151,9 @@
+@@ -150,6 +151,9 @@ static int at91_rtc_settime(struct devic
        return 0;
  }
  
        return 0;
  }
  
@@ -10089,7 +10018,7 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91sam9.c linux-2.6/drivers/rtc/r
  static int at91_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
        struct sam9_rtc *rtc = dev_get_drvdata(dev);
  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;
  }
  
        return 0;
  }
  
@@ -10099,7 +10028,7 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91sam9.c linux-2.6/drivers/rtc/r
  static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
        struct sam9_rtc *rtc = dev_get_drvdata(dev);
  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;
  
        if (!rtc)
                return -ENOMEM;
  
@@ -10110,12 +10039,11 @@ diff -urN -x CVS linux-2.6.25/drivers/rtc/rtc-at91sam9.c linux-2.6/drivers/rtc/r
        platform_set_drvdata(pdev, rtc);
        rtc->rtt = (void __force __iomem *) (AT91_VA_BASE_SYS - AT91_BASE_SYS);
        rtc->rtt += r->start;
        platform_set_drvdata(pdev, rtc);
        rtc->rtt = (void __force __iomem *) (AT91_VA_BASE_SYS - AT91_BASE_SYS);
        rtc->rtt += r->start;
-diff -urN -x CVS linux-2.6.25/drivers/spi/Kconfig linux-2.6/drivers/spi/Kconfig
---- linux-2.6.25/drivers/spi/Kconfig   2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/spi/Kconfig      2008-03-09 15:14:53.000000000 +0200
-@@ -105,6 +105,15 @@
-         inexpensive battery powered microcontroller evaluation board.
-         This same cable can be used to flash new firmware.
+--- a/drivers/spi/Kconfig
++++ b/drivers/spi/Kconfig
+@@ -113,6 +113,15 @@ config SPI_GPIO
+         If unsure, say N.
  
 +config SPI_AT91
 +      tristate "AT91RM9200 Bitbang SPI Master"
  
 +config SPI_AT91
 +      tristate "AT91RM9200 Bitbang SPI Master"
@@ -10129,10 +10057,9 @@ diff -urN -x CVS linux-2.6.25/drivers/spi/Kconfig linux-2.6/drivers/spi/Kconfig
  config SPI_IMX
        tristate "Freescale iMX SPI controller"
        depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
  config SPI_IMX
        tristate "Freescale iMX SPI controller"
        depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
-diff -urN -x CVS linux-2.6.25/drivers/spi/Makefile linux-2.6/drivers/spi/Makefile
---- linux-2.6.25/drivers/spi/Makefile  2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/spi/Makefile     2008-03-09 17:54:27.000000000 +0200
-@@ -29,6 +29,7 @@
+--- a/drivers/spi/Makefile
++++ b/drivers/spi/Makefile
+@@ -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
  obj-$(CONFIG_SPI_TXX9)                        += spi_txx9.o
  obj-$(CONFIG_SPI_XILINX)              += xilinx_spi.o
  obj-$(CONFIG_SPI_SH_SCI)              += spi_sh_sci.o
@@ -10140,9 +10067,8 @@ diff -urN -x CVS linux-2.6.25/drivers/spi/Makefile linux-2.6/drivers/spi/Makefil
  #     ... add above this line ...
  
  # SPI protocol drivers (device/link on bus)
  #     ... add above this line ...
  
  # SPI protocol drivers (device/link on bus)
-diff -urN -x CVS linux-2.6.25/drivers/spi/spi_at91_bitbang.c linux-2.6/drivers/spi/spi_at91_bitbang.c
---- linux-2.6.25/drivers/spi/spi_at91_bitbang.c        1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/spi/spi_at91_bitbang.c   2008-04-18 17:38:19.000000000 +0200
+--- /dev/null
++++ b/drivers/spi/spi_at91_bitbang.c
 @@ -0,0 +1,208 @@
 +/*
 + * at91_spi.c - at91 SPI driver (BOOTSTRAP/BITBANG VERSION)
 @@ -0,0 +1,208 @@
 +/*
 + * at91_spi.c - at91 SPI driver (BOOTSTRAP/BITBANG VERSION)
@@ -10352,10 +10278,9 @@ diff -urN -x CVS linux-2.6.25/drivers/spi/spi_at91_bitbang.c linux-2.6/drivers/s
 +MODULE_AUTHOR("David Brownell");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:at91_spi");
 +MODULE_AUTHOR("David Brownell");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:at91_spi");
-diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/Kconfig linux-2.6/drivers/usb/gadget/Kconfig
---- linux-2.6.25/drivers/usb/gadget/Kconfig    2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/usb/gadget/Kconfig       2008-04-18 19:23:34.000000000 +0200
-@@ -118,10 +118,10 @@
+--- a/drivers/usb/gadget/Kconfig
++++ b/drivers/usb/gadget/Kconfig
+@@ -118,10 +118,10 @@ config USB_AMD5536UDC
  config USB_GADGET_ATMEL_USBA
        boolean "Atmel USBA"
        select USB_GADGET_DUALSPEED
  config USB_GADGET_ATMEL_USBA
        boolean "Atmel USBA"
        select USB_GADGET_DUALSPEED
@@ -10368,10 +10293,9 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/Kconfig linux-2.6/drivers/usb/g
  
  config USB_ATMEL_USBA
        tristate
  
  config USB_ATMEL_USBA
        tristate
-diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/at91_udc.c linux-2.6/drivers/usb/gadget/at91_udc.c
---- linux-2.6.25/drivers/usb/gadget/at91_udc.c 2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/usb/gadget/at91_udc.c    2008-04-15 21:48:12.000000000 +0200
-@@ -1827,7 +1827,7 @@
+--- a/drivers/usb/gadget/at91_udc.c
++++ b/drivers/usb/gadget/at91_udc.c
+@@ -1827,7 +1827,7 @@ static int at91udc_suspend(struct platfo
         */
        if ((!udc->suspended && udc->addr)
                        || !wake
         */
        if ((!udc->suspended && udc->addr)
                        || !wake
@@ -10380,9 +10304,8 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/at91_udc.c linux-2.6/drivers/us
                pullup(udc, 0);
                wake = 0;
        } else
                pullup(udc, 0);
                wake = 0;
        } else
-diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/drivers/usb/gadget/atmel_usba_udc.c
---- linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c   2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/usb/gadget/atmel_usba_udc.c      2008-05-03 01:07:46.000000000 +0200
+--- a/drivers/usb/gadget/atmel_usba_udc.c
++++ b/drivers/usb/gadget/atmel_usba_udc.c
 @@ -18,6 +18,7 @@
  #include <linux/platform_device.h>
  #include <linux/usb/ch9.h>
 @@ -18,6 +18,7 @@
  #include <linux/platform_device.h>
  #include <linux/usb/ch9.h>
@@ -10399,7 +10322,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
  
  #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;
  }
  
        return 1;
  }
  
@@ -10453,7 +10376,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
        unsigned int transaction_len;
  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" : "");
  
                ep->ep.name, req, transaction_len,
                req->last_transaction ? ", done" : "");
  
@@ -10462,7 +10385,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
        req->req.actual += transaction_len;
  }
        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;
                }
  
                        bytecount = req->req.length - req->req.actual;
                }
  
@@ -10471,7 +10394,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                                ep->fifo, bytecount);
                req->req.actual += bytecount;
  
                                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,
  };
  
        .set_selfpowered        = usba_udc_set_selfpowered,
  };
  
@@ -10505,7 +10428,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
  static struct usb_endpoint_descriptor usba_ep0_desc = {
        .bLength = USB_DT_ENDPOINT_SIZE,
        .bDescriptorType = USB_DT_ENDPOINT,
  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,
  static struct usba_udc the_udc = {
        .gadget = {
                .ops            = &usba_udc_ops,
@@ -10513,7 +10436,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                .ep_list        = LIST_HEAD_INIT(the_udc.gadget.ep_list),
                .is_dualspeed   = 1,
                .name           = "atmel_usba_udc",
                .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);
                } else {
                        usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
                        usba_writel(udc, TST, USBA_TST_PKT_MODE);
@@ -10522,7 +10445,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                                        sizeof(test_packet_buffer));
                        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
                        dev_info(dev, "Entering Test_Packet mode...\n");
                                        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 "
                DBG(DBG_HW, "Packet length: %u\n", pkt_len);
                if (pkt_len != sizeof(crq)) {
                        pr_warning("udc: Invalid packet length %u "
@@ -10538,7 +10461,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
  
                /* Free up one bank in the FIFO so that we can
                 * generate or receive a reply right away. */
  
                /* 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);
  
        regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
        fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
@@ -10547,7 +10470,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                return -ENXIO;
  
        irq = platform_get_irq(pdev, 0);
                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);
  
        usba_writel(udc, CTRL, 0);
        clk_disable(pclk);
  
@@ -10593,7 +10516,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
  
                list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
        }
  
                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;
        }
  
                goto err_device_add;
        }
  
@@ -10602,7 +10525,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
                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);
        }
  
        usba_init_debugfs(udc);
@@ -10611,7 +10534,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                usba_ep_init_debugfs(udc, &usba_ep[i]);
  
        return 0;
                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:
  err_device_add:
        free_irq(irq, udc);
  err_request_irq:
@@ -10620,7 +10543,7 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
        iounmap(udc->fifo);
  err_map_fifo:
        iounmap(udc->regs);
        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;
  {
        struct usba_udc *udc;
        int i;
@@ -10633,10 +10556,9 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/gadget/atmel_usba_udc.c linux-2.6/driv
                usba_ep_cleanup_debugfs(&usba_ep[i]);
        usba_cleanup_debugfs(udc);
  
                usba_ep_cleanup_debugfs(&usba_ep[i]);
        usba_cleanup_debugfs(udc);
  
-diff -urN -x CVS linux-2.6.25/drivers/usb/host/ohci-at91.c linux-2.6/drivers/usb/host/ohci-at91.c
---- linux-2.6.25/drivers/usb/host/ohci-at91.c  2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/usb/host/ohci-at91.c     2008-04-15 21:48:12.000000000 +0200
-@@ -330,7 +330,7 @@
+--- a/drivers/usb/host/ohci-at91.c
++++ b/drivers/usb/host/ohci-at91.c
+@@ -330,7 +330,7 @@ ohci_hcd_at91_drv_suspend(struct platfor
         *
         * REVISIT: some boards will be able to turn VBUS off...
         */
         *
         * REVISIT: some boards will be able to turn VBUS off...
         */
@@ -10645,10 +10567,9 @@ diff -urN -x CVS linux-2.6.25/drivers/usb/host/ohci-at91.c linux-2.6/drivers/usb
                ohci_usb_reset (ohci);
                at91_stop_clock();
        }
                ohci_usb_reset (ohci);
                at91_stop_clock();
        }
-diff -urN -x CVS linux-2.6.25/drivers/video/Kconfig linux-2.6/drivers/video/Kconfig
---- linux-2.6.25/drivers/video/Kconfig 2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/video/Kconfig    2008-04-02 22:11:30.000000000 +0200
-@@ -889,6 +889,17 @@
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -889,6 +889,17 @@ config FB_EPSON1355
          framebuffer.  Product specs at
          <http://www.erd.epson.com/vdc/html/products.htm>.
  
          framebuffer.  Product specs at
          <http://www.erd.epson.com/vdc/html/products.htm>.
  
@@ -10666,10 +10587,9 @@ diff -urN -x CVS linux-2.6.25/drivers/video/Kconfig linux-2.6/drivers/video/Kcon
  config FB_S1D13XXX
        tristate "Epson S1D13XXX framebuffer support"
        depends on FB
  config FB_S1D13XXX
        tristate "Epson S1D13XXX framebuffer support"
        depends on FB
-diff -urN -x CVS linux-2.6.25/drivers/video/Makefile linux-2.6/drivers/video/Makefile
---- linux-2.6.25/drivers/video/Makefile        2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/video/Makefile   2008-04-02 22:11:30.000000000 +0200
-@@ -87,7 +87,8 @@
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -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
  obj-$(CONFIG_FB_SA1100)           += sa1100fb.o
  obj-$(CONFIG_FB_HIT)              += hitfb.o
  obj-$(CONFIG_FB_EPSON1355)      += epson1355fb.o
@@ -10679,9 +10599,8 @@ diff -urN -x CVS linux-2.6.25/drivers/video/Makefile linux-2.6/drivers/video/Mak
  obj-$(CONFIG_FB_PVR2)             += pvr2fb.o
  obj-$(CONFIG_FB_VOODOO1)          += sstfb.o
  obj-$(CONFIG_FB_ARMCLCD)        += amba-clcd.o
  obj-$(CONFIG_FB_PVR2)             += pvr2fb.o
  obj-$(CONFIG_FB_VOODOO1)          += sstfb.o
  obj-$(CONFIG_FB_ARMCLCD)        += amba-clcd.o
-diff -urN -x CVS linux-2.6.25/drivers/video/atmel_lcdfb.c linux-2.6/drivers/video/atmel_lcdfb.c
---- linux-2.6.25/drivers/video/atmel_lcdfb.c   2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/video/atmel_lcdfb.c      2008-04-03 00:27:47.000000000 +0200
+--- a/drivers/video/atmel_lcdfb.c
++++ b/drivers/video/atmel_lcdfb.c
 @@ -31,7 +31,7 @@
  #define ATMEL_LCDC_CVAL_DEFAULT               0xc8
  #define ATMEL_LCDC_DMA_BURST_LEN      8
 @@ -31,7 +31,7 @@
  #define ATMEL_LCDC_CVAL_DEFAULT               0xc8
  #define ATMEL_LCDC_DMA_BURST_LEN      8
@@ -10691,7 +10610,7 @@ diff -urN -x CVS linux-2.6.25/drivers/video/atmel_lcdfb.c linux-2.6/drivers/vide
  #define ATMEL_LCDC_FIFO_SIZE          2048
  #else
  #define ATMEL_LCDC_FIFO_SIZE          512
  #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;
  }
  
        return 0;
  }
  
@@ -10740,10 +10659,9 @@ diff -urN -x CVS linux-2.6.25/drivers/video/atmel_lcdfb.c linux-2.6/drivers/vide
        .driver         = {
                .name   = "atmel_lcdfb",
                .owner  = THIS_MODULE,
        .driver         = {
                .name   = "atmel_lcdfb",
                .owner  = THIS_MODULE,
-diff -urN -x CVS linux-2.6.25/drivers/video/backlight/Kconfig linux-2.6/drivers/video/backlight/Kconfig
---- linux-2.6.25/drivers/video/backlight/Kconfig       2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/video/backlight/Kconfig  2008-03-09 18:51:50.000000000 +0200
-@@ -112,3 +112,11 @@
+--- a/drivers/video/backlight/Kconfig
++++ b/drivers/video/backlight/Kconfig
+@@ -112,3 +112,11 @@ config BACKLIGHT_CARILLO_RANCH
        help
          If you have a Intel LE80578 (Carillo Ranch) say Y to enable the
          backlight driver.
        help
          If you have a Intel LE80578 (Carillo Ranch) say Y to enable the
          backlight driver.
@@ -10755,17 +10673,15 @@ diff -urN -x CVS linux-2.6.25/drivers/video/backlight/Kconfig linux-2.6/drivers/
 +      help
 +        If you have a KwikByte KB9202 board, say Y to enable the
 +        backlight driver.
 +      help
 +        If you have a KwikByte KB9202 board, say Y to enable the
 +        backlight driver.
-diff -urN -x CVS linux-2.6.25/drivers/video/backlight/Makefile linux-2.6/drivers/video/backlight/Makefile
---- linux-2.6.25/drivers/video/backlight/Makefile      2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/video/backlight/Makefile 2008-03-09 15:14:55.000000000 +0200
-@@ -10,3 +10,4 @@
+--- a/drivers/video/backlight/Makefile
++++ b/drivers/video/backlight/Makefile
+@@ -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
 +obj-$(CONFIG_BACKLIGHT_KB920x)        += kb920x_bl.o
  obj-$(CONFIG_BACKLIGHT_OMAP1) += omap1_bl.o
  obj-$(CONFIG_BACKLIGHT_PROGEAR) += progear_bl.o
  obj-$(CONFIG_BACKLIGHT_CARILLO_RANCH) += cr_bllcd.o
 +obj-$(CONFIG_BACKLIGHT_KB920x)        += kb920x_bl.o
-diff -urN -x CVS linux-2.6.25/drivers/video/backlight/kb920x_bl.c linux-2.6/drivers/video/backlight/kb920x_bl.c
---- linux-2.6.25/drivers/video/backlight/kb920x_bl.c   1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/video/backlight/kb920x_bl.c      2008-03-09 21:41:20.000000000 +0200
+--- /dev/null
++++ b/drivers/video/backlight/kb920x_bl.c
 @@ -0,0 +1,164 @@
 +/*
 + * Backlight Driver for KB9202
 @@ -0,0 +1,164 @@
 +/*
 + * Backlight Driver for KB9202
@@ -10931,9 +10847,8 @@ diff -urN -x CVS linux-2.6.25/drivers/video/backlight/kb920x_bl.c linux-2.6/driv
 +MODULE_AUTHOR("KwikByte <kb9200_dev@kwikbyte.com>");
 +MODULE_DESCRIPTION("KB9202 Backlight Driver");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("KwikByte <kb9200_dev@kwikbyte.com>");
 +MODULE_DESCRIPTION("KB9202 Backlight Driver");
 +MODULE_LICENSE("GPL");
-diff -urN -x CVS linux-2.6.25/drivers/video/s1d15605fb.c linux-2.6/drivers/video/s1d15605fb.c
---- linux-2.6.25/drivers/video/s1d15605fb.c    1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/video/s1d15605fb.c       2008-05-03 00:36:04.000000000 +0200
+--- /dev/null
++++ b/drivers/video/s1d15605fb.c
 @@ -0,0 +1,655 @@
 +/*
 + *  drivers/video/s1d15605.c
 @@ -0,0 +1,655 @@
 +/*
 + *  drivers/video/s1d15605.c
@@ -11590,10 +11505,9 @@ diff -urN -x CVS linux-2.6.25/drivers/video/s1d15605fb.c linux-2.6/drivers/video
 +MODULE_AUTHOR("KwikByte");
 +MODULE_DESCRIPTION("Epson S1D15605 LCD Controller framebuffer driver");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("KwikByte");
 +MODULE_DESCRIPTION("Epson S1D15605 LCD Controller framebuffer driver");
 +MODULE_LICENSE("GPL");
-diff -urN -x CVS linux-2.6.25/drivers/watchdog/Kconfig linux-2.6/drivers/watchdog/Kconfig
---- linux-2.6.25/drivers/watchdog/Kconfig      2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/watchdog/Kconfig 2008-03-09 15:14:55.000000000 +0200
-@@ -66,6 +66,14 @@
+--- a/drivers/watchdog/Kconfig
++++ b/drivers/watchdog/Kconfig
+@@ -66,6 +66,14 @@ config AT91RM9200_WATCHDOG
          Watchdog timer embedded into AT91RM9200 chips. This will reboot your
          system when the timeout is reached.
  
          Watchdog timer embedded into AT91RM9200 chips. This will reboot your
          system when the timeout is reached.
  
@@ -11608,10 +11522,9 @@ diff -urN -x CVS linux-2.6.25/drivers/watchdog/Kconfig linux-2.6/drivers/watchdo
  config 21285_WATCHDOG
        tristate "DC21285 watchdog"
        depends on FOOTBRIDGE
  config 21285_WATCHDOG
        tristate "DC21285 watchdog"
        depends on FOOTBRIDGE
-diff -urN -x CVS linux-2.6.25/drivers/watchdog/Makefile linux-2.6/drivers/watchdog/Makefile
---- linux-2.6.25/drivers/watchdog/Makefile     2008-05-03 00:15:50.000000000 +0200
-+++ linux-2.6/drivers/watchdog/Makefile        2008-03-09 15:14:55.000000000 +0200
-@@ -26,6 +26,7 @@
+--- a/drivers/watchdog/Makefile
++++ b/drivers/watchdog/Makefile
+@@ -26,6 +26,7 @@ obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb.
  
  # ARM Architecture
  obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o
  
  # ARM Architecture
  obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o
@@ -11619,9 +11532,8 @@ diff -urN -x CVS linux-2.6.25/drivers/watchdog/Makefile linux-2.6/drivers/watchd
  obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
  obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
  obj-$(CONFIG_977_WATCHDOG) += wdt977.o
  obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
  obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
  obj-$(CONFIG_977_WATCHDOG) += wdt977.o
-diff -urN -x CVS linux-2.6.25/drivers/watchdog/at91sam9_wdt.c linux-2.6/drivers/watchdog/at91sam9_wdt.c
---- linux-2.6.25/drivers/watchdog/at91sam9_wdt.c       1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/drivers/watchdog/at91sam9_wdt.c  2008-04-15 21:53:41.000000000 +0200
+--- /dev/null
++++ b/drivers/watchdog/at91sam9_wdt.c
 @@ -0,0 +1,259 @@
 +/*
 + * Watchdog driver for Atmel AT91SAM9x processors.
 @@ -0,0 +1,259 @@
 +/*
 + * Watchdog driver for Atmel AT91SAM9x processors.
@@ -11882,9 +11794,8 @@ diff -urN -x CVS linux-2.6.25/drivers/watchdog/at91sam9_wdt.c linux-2.6/drivers/
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
 +MODULE_ALIAS("platform:at91_wdt");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
 +MODULE_ALIAS("platform:at91_wdt");
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_ecc.h linux-2.6/include/asm-arm/arch-at91/at91_ecc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_ecc.h  2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_ecc.h     2008-05-07 23:49:32.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_ecc.h
++++ b/include/asm-arm/arch-at91/at91_ecc.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_ecc.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_ecc.h
@@ -11927,9 +11838,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_ecc.h linux-2.6/inc
  #define               AT91_ECC_NPARITY        (0xffff << 0)           /* NParity */
  
  #endif
  #define               AT91_ECC_NPARITY        (0xffff << 0)           /* NParity */
  
  #endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_pit.h linux-2.6/include/asm-arm/arch-at91/at91_pit.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_pit.h  2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_pit.h     2008-05-07 23:49:57.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_pit.h
++++ b/include/asm-arm/arch-at91/at91_pit.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_pit.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_pit.h
@@ -11940,9 +11850,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_pit.h linux-2.6/inc
   * Periodic Interval Timer (PIT) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
   * Periodic Interval Timer (PIT) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_pmc.h linux-2.6/include/asm-arm/arch-at91/at91_pmc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_pmc.h  2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_pmc.h     2008-05-05 22:01:39.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_pmc.h
++++ b/include/asm-arm/arch-at91/at91_pmc.h
 @@ -23,6 +23,7 @@
  #define               AT91_PMC_PCK            (1 <<  0)               /* Processor Clock */
  #define               AT91RM9200_PMC_UDP      (1 <<  1)               /* USB Devcice Port Clock [AT91RM9200 only] */
 @@ -23,6 +23,7 @@
  #define               AT91_PMC_PCK            (1 <<  0)               /* Processor Clock */
  #define               AT91RM9200_PMC_UDP      (1 <<  1)               /* USB Devcice Port Clock [AT91RM9200 only] */
@@ -12011,9 +11920,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_pmc.h linux-2.6/inc
 +#define AT91_PMC_VER          (AT91_PMC + 0xfc)       /* PMC Module Version [AT91CAP9 only] */
 +
  #endif
 +#define AT91_PMC_VER          (AT91_PMC + 0xfc)       /* PMC Module Version [AT91CAP9 only] */
 +
  #endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_rstc.h linux-2.6/include/asm-arm/arch-at91/at91_rstc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_rstc.h 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_rstc.h    2008-05-07 23:50:10.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_rstc.h
++++ b/include/asm-arm/arch-at91/at91_rstc.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_rstc.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_rstc.h
@@ -12024,9 +11932,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_rstc.h linux-2.6/in
   * Reset Controller (RSTC) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
   * Reset Controller (RSTC) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_rtt.h linux-2.6/include/asm-arm/arch-at91/at91_rtt.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_rtt.h  2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_rtt.h     2008-05-07 23:51:11.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_rtt.h
++++ b/include/asm-arm/arch-at91/at91_rtt.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_rtt.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_rtt.h
@@ -12037,9 +11944,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_rtt.h linux-2.6/inc
   * Real-time Timer (RTT) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
   * Real-time Timer (RTT) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_shdwc.h linux-2.6/include/asm-arm/arch-at91/at91_shdwc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_shdwc.h        2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_shdwc.h   2008-05-07 23:50:23.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_shdwc.h
++++ b/include/asm-arm/arch-at91/at91_shdwc.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_shdwc.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_shdwc.h
@@ -12063,9 +11969,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_shdwc.h linux-2.6/i
 +#define               AT91_SHDW_RTCWK         (1 << 17)               /* Real-time Clock Wake-up [SAM9RL] */
  
  #endif
 +#define               AT91_SHDW_RTCWK         (1 << 17)               /* Real-time Clock Wake-up [SAM9RL] */
  
  #endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_tsc.h linux-2.6/include/asm-arm/arch-at91/at91_tsc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_tsc.h  1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_tsc.h     2008-05-07 23:51:32.000000000 +0200
+--- /dev/null
++++ b/include/asm-arm/arch-at91/at91_tsc.h
 @@ -0,0 +1,76 @@
 +/*
 + * include/asm-arm/arch-at91/at91_tsc.h
 @@ -0,0 +1,76 @@
 +/*
 + * include/asm-arm/arch-at91/at91_tsc.h
@@ -12143,9 +12048,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_tsc.h linux-2.6/inc
 +
 +#endif
 +
 +
 +#endif
 +
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_wdt.h linux-2.6/include/asm-arm/arch-at91/at91_wdt.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91_wdt.h  2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91_wdt.h     2008-05-07 23:51:43.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91_wdt.h
++++ b/include/asm-arm/arch-at91/at91_wdt.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_wdt.h
 @@ -1,6 +1,9 @@
  /*
   * include/asm-arm/arch-at91/at91_wdt.h
@@ -12156,9 +12060,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91_wdt.h linux-2.6/inc
   * Watchdog Timer (WDT) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
   * Watchdog Timer (WDT) - System peripherals regsters.
   * Based on AT91SAM9261 datasheet revision D.
   *
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9.h linux-2.6/include/asm-arm/arch-at91/at91cap9.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91cap9.h  2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91cap9.h     2008-05-05 22:01:39.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91cap9.h
++++ b/include/asm-arm/arch-at91/at91cap9.h
 @@ -101,7 +101,10 @@
  #define AT91_RTT      (0xfffffd20 - AT91_BASE_SYS)
  #define AT91_PIT      (0xfffffd30 - AT91_BASE_SYS)
 @@ -101,7 +101,10 @@
  #define AT91_RTT      (0xfffffd20 - AT91_BASE_SYS)
  #define AT91_PIT      (0xfffffd30 - AT91_BASE_SYS)
@@ -12180,9 +12083,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9.h linux-2.6/inc
  #define AT91CAP9_UHP_BASE     0x00700000      /* USB Host controller */
  
  #define CONFIG_DRAM_BASE      AT91_CHIPSELECT_6
  #define AT91CAP9_UHP_BASE     0x00700000      /* USB Host controller */
  
  #define CONFIG_DRAM_BASE      AT91_CHIPSELECT_6
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9_ddrsdr.h linux-2.6/include/asm-arm/arch-at91/at91cap9_ddrsdr.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91cap9_ddrsdr.h   1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91cap9_ddrsdr.h      2008-05-07 21:33:47.000000000 +0200
+--- /dev/null
++++ b/include/asm-arm/arch-at91/at91cap9_ddrsdr.h
 @@ -0,0 +1,102 @@
 +/*
 + * include/asm-arm/arch-at91/at91cap9_ddrsdr.h
 @@ -0,0 +1,102 @@
 +/*
 + * include/asm-arm/arch-at91/at91cap9_ddrsdr.h
@@ -12286,9 +12188,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9_ddrsdr.h linux-
 +
 +
 +#endif
 +
 +
 +#endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9_matrix.h linux-2.6/include/asm-arm/arch-at91/at91cap9_matrix.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91cap9_matrix.h   2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91cap9_matrix.h      2008-04-18 19:20:34.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91cap9_matrix.h
++++ b/include/asm-arm/arch-at91/at91cap9_matrix.h
 @@ -106,6 +106,11 @@
  #define AT91_MPBS0_SFR                (AT91_MATRIX + 0x114)   /* MPBlock Slave 0 Special Function Register */
  #define AT91_MPBS1_SFR                (AT91_MATRIX + 0x11C)   /* MPBlock Slave 1 Special Function Register */
 @@ -106,6 +106,11 @@
  #define AT91_MPBS0_SFR                (AT91_MATRIX + 0x114)   /* MPBlock Slave 0 Special Function Register */
  #define AT91_MPBS1_SFR                (AT91_MATRIX + 0x11C)   /* MPBlock Slave 1 Special Function Register */
@@ -12301,9 +12202,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9_matrix.h linux-
  #define AT91_MATRIX_EBICSA    (AT91_MATRIX + 0x120)   /* EBI Chip Select Assignment Register */
  #define               AT91_MATRIX_EBI_CS1A            (1 << 1)        /* Chip Select 1 Assignment */
  #define                       AT91_MATRIX_EBI_CS1A_SMC                (0 << 1)
  #define AT91_MATRIX_EBICSA    (AT91_MATRIX + 0x120)   /* EBI Chip Select Assignment Register */
  #define               AT91_MATRIX_EBI_CS1A            (1 << 1)        /* Chip Select 1 Assignment */
  #define                       AT91_MATRIX_EBI_CS1A_SMC                (0 << 1)
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9260_matrix.h linux-2.6/include/asm-arm/arch-at91/at91sam9260_matrix.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91sam9260_matrix.h        2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91sam9260_matrix.h   2008-05-07 12:07:13.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91sam9260_matrix.h
++++ b/include/asm-arm/arch-at91/at91sam9260_matrix.h
 @@ -1,6 +1,8 @@
  /*
   * include/asm-arm/arch-at91/at91sam9260_matrix.h
 @@ -1,6 +1,8 @@
  /*
   * include/asm-arm/arch-at91/at91sam9260_matrix.h
@@ -12313,9 +12213,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9260_matrix.h lin
   * Memory Controllers (MATRIX, EBI) - System peripherals registers.
   * Based on AT91SAM9260 datasheet revision B.
   *
   * Memory Controllers (MATRIX, EBI) - System peripherals registers.
   * Based on AT91SAM9260 datasheet revision B.
   *
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9261_matrix.h linux-2.6/include/asm-arm/arch-at91/at91sam9261_matrix.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91sam9261_matrix.h        2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91sam9261_matrix.h   2008-05-07 12:07:24.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91sam9261_matrix.h
++++ b/include/asm-arm/arch-at91/at91sam9261_matrix.h
 @@ -1,6 +1,8 @@
  /*
   * include/asm-arm/arch-at91/at91sam9261_matrix.h
 @@ -1,6 +1,8 @@
  /*
   * include/asm-arm/arch-at91/at91sam9261_matrix.h
@@ -12325,9 +12224,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9261_matrix.h lin
   * Memory Controllers (MATRIX, EBI) - System peripherals registers.
   * Based on AT91SAM9261 datasheet revision D.
   *
   * Memory Controllers (MATRIX, EBI) - System peripherals registers.
   * Based on AT91SAM9261 datasheet revision D.
   *
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam926x_mc.h linux-2.6/include/asm-arm/arch-at91/at91sam926x_mc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91sam926x_mc.h    2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91sam926x_mc.h       1970-01-01 02:00:00.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91sam926x_mc.h
++++ /dev/null
 @@ -1,141 +0,0 @@
 -/*
 - * include/asm-arm/arch-at91/at91sam926x_mc.h
 @@ -1,141 +0,0 @@
 -/*
 - * include/asm-arm/arch-at91/at91sam926x_mc.h
@@ -12470,9 +12368,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam926x_mc.h linux-2
 -#endif
 -
 -#endif
 -#endif
 -
 -#endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9_sdramc.h linux-2.6/include/asm-arm/arch-at91/at91sam9_sdramc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91sam9_sdramc.h   1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91sam9_sdramc.h      2008-05-07 23:51:59.000000000 +0200
+--- /dev/null
++++ b/include/asm-arm/arch-at91/at91sam9_sdramc.h
 @@ -0,0 +1,86 @@
 +/*
 + * include/asm-arm/arch-at91/at91sam9_sdramc.h
 @@ -0,0 +1,86 @@
 +/*
 + * include/asm-arm/arch-at91/at91sam9_sdramc.h
@@ -12560,9 +12457,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9_sdramc.h linux-
 +
 +
 +#endif
 +
 +
 +#endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9_smc.h linux-2.6/include/asm-arm/arch-at91/at91sam9_smc.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91sam9_smc.h      1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91sam9_smc.h 2008-05-07 23:52:15.000000000 +0200
+--- /dev/null
++++ b/include/asm-arm/arch-at91/at91sam9_smc.h
 @@ -0,0 +1,76 @@
 +/*
 + * include/asm-arm/arch-at91/at91sam9_smc.h
 @@ -0,0 +1,76 @@
 +/*
 + * include/asm-arm/arch-at91/at91sam9_smc.h
@@ -12640,9 +12536,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9_smc.h linux-2.6
 +#endif
 +
 +#endif
 +#endif
 +
 +#endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9rl.h linux-2.6/include/asm-arm/arch-at91/at91sam9rl.h
---- linux-2.6.25/include/asm-arm/arch-at91/at91sam9rl.h        2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/at91sam9rl.h   2008-04-18 19:22:02.000000000 +0200
+--- a/include/asm-arm/arch-at91/at91sam9rl.h
++++ b/include/asm-arm/arch-at91/at91sam9rl.h
 @@ -110,6 +110,6 @@
  #define AT91SAM9RL_ROM_SIZE   (2 * SZ_16K)    /* Internal ROM size (32Kb) */
  
 @@ -110,6 +110,6 @@
  #define AT91SAM9RL_ROM_SIZE   (2 * SZ_16K)    /* Internal ROM size (32Kb) */
  
@@ -12651,9 +12546,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9rl.h linux-2.6/i
 +#define AT91SAM9RL_UDPHS_FIFO 0x00600000      /* USB Device HS controller */
  
  #endif
 +#define AT91SAM9RL_UDPHS_FIFO 0x00600000      /* USB Device HS controller */
  
  #endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/board.h linux-2.6/include/asm-arm/arch-at91/board.h
---- linux-2.6.25/include/asm-arm/arch-at91/board.h     2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/board.h        2008-05-02 00:40:32.000000000 +0200
+--- a/include/asm-arm/arch-at91/board.h
++++ b/include/asm-arm/arch-at91/board.h
 @@ -36,6 +36,7 @@
  #include <linux/i2c.h>
  #include <linux/leds.h>
 @@ -36,6 +36,7 @@
  #include <linux/i2c.h>
  #include <linux/leds.h>
@@ -12662,7 +12556,7 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/board.h linux-2.6/includ
  
   /* USB Device */
  struct at91_udc_data {
  
   /* 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);
  
  };
  extern void __init at91_add_device_udc(struct at91_udc_data *data);
  
@@ -12672,7 +12566,7 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/board.h linux-2.6/includ
   /* Compact Flash */
  struct at91_cf_data {
        u8      irq_pin;                /* I/O IRQ */
   /* 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);
  
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
@@ -12682,10 +12576,9 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/board.h linux-2.6/includ
   /* LEDs */
  extern void __init at91_init_leds(u8 cpu_led, u8 timer_led);
  extern void __init at91_gpio_leds(struct gpio_led *leds, int nr);
   /* LEDs */
  extern void __init at91_init_leds(u8 cpu_led, u8 timer_led);
  extern void __init at91_gpio_leds(struct gpio_led *leds, int nr);
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/cpu.h linux-2.6/include/asm-arm/arch-at91/cpu.h
---- linux-2.6.25/include/asm-arm/arch-at91/cpu.h       2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/cpu.h  2008-05-05 22:10:58.000000000 +0200
-@@ -48,6 +48,17 @@
+--- a/include/asm-arm/arch-at91/cpu.h
++++ b/include/asm-arm/arch-at91/cpu.h
+@@ -48,6 +48,17 @@ static inline unsigned long at91_arch_id
        return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH);
  }
  
        return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH);
  }
  
@@ -12703,7 +12596,7 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/cpu.h linux-2.6/include/
  
  #ifdef CONFIG_ARCH_AT91RM9200
  #define cpu_is_at91rm9200()   (at91_cpu_identify() == ARCH_ID_AT91RM9200)
  
  #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)
  
  #ifdef CONFIG_ARCH_AT91CAP9
  #define cpu_is_at91cap9()     (at91_cpu_identify() == ARCH_ID_AT91CAP9)
@@ -12716,9 +12609,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/cpu.h linux-2.6/include/
  #endif
  
  /*
  #endif
  
  /*
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/ics1523.h linux-2.6/include/asm-arm/arch-at91/ics1523.h
---- linux-2.6.25/include/asm-arm/arch-at91/ics1523.h   1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/ics1523.h      2008-01-16 21:24:29.000000000 +0200
+--- /dev/null
++++ b/include/asm-arm/arch-at91/ics1523.h
 @@ -0,0 +1,154 @@
 +//*----------------------------------------------------------------------------
 +//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
 @@ -0,0 +1,154 @@
 +//*----------------------------------------------------------------------------
 +//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
@@ -12874,9 +12766,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/ics1523.h linux-2.6/incl
 +int at91_ics1523_init(void);
 +
 +#endif /* ics1523_h */
 +int at91_ics1523_init(void);
 +
 +#endif /* ics1523_h */
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/spi.h linux-2.6/include/asm-arm/arch-at91/spi.h
---- linux-2.6.25/include/asm-arm/arch-at91/spi.h       1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/spi.h  2008-01-16 21:24:29.000000000 +0200
+--- /dev/null
++++ b/include/asm-arm/arch-at91/spi.h
 @@ -0,0 +1,54 @@
 +/*
 + * Serial Peripheral Interface (SPI) driver for the Atmel AT91RM9200
 @@ -0,0 +1,54 @@
 +/*
 + * Serial Peripheral Interface (SPI) driver for the Atmel AT91RM9200
@@ -12932,9 +12823,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/spi.h linux-2.6/include/
 +extern int spi_transfer(struct spi_transfer_list* list);
 +
 +#endif
 +extern int spi_transfer(struct spi_transfer_list* list);
 +
 +#endif
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/timex.h linux-2.6/include/asm-arm/arch-at91/timex.h
---- linux-2.6.25/include/asm-arm/arch-at91/timex.h     2008-05-03 00:15:51.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-at91/timex.h        2008-04-18 18:30:40.000000000 +0200
+--- a/include/asm-arm/arch-at91/timex.h
++++ b/include/asm-arm/arch-at91/timex.h
 @@ -27,14 +27,29 @@
  
  #define CLOCK_TICK_RATE               (AT91_SLOW_CLOCK)
 @@ -27,14 +27,29 @@
  
  #define CLOCK_TICK_RATE               (AT91_SLOW_CLOCK)
@@ -12966,10 +12856,9 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/timex.h linux-2.6/includ
  #define CLOCK_TICK_RATE               (AT91SAM9_MASTER_CLOCK/16)
  
  #elif defined(CONFIG_ARCH_AT91SAM9RL)
  #define CLOCK_TICK_RATE               (AT91SAM9_MASTER_CLOCK/16)
  
  #elif defined(CONFIG_ARCH_AT91SAM9RL)
-diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-ks8695/devices.h linux-2.6/include/asm-arm/arch-ks8695/devices.h
---- linux-2.6.25/include/asm-arm/arch-ks8695/devices.h 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/asm-arm/arch-ks8695/devices.h    2007-12-31 10:44:34.000000000 +0200
-@@ -18,6 +18,11 @@
+--- a/include/asm-arm/arch-ks8695/devices.h
++++ b/include/asm-arm/arch-ks8695/devices.h
+@@ -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);
  
  extern void __init ks8695_add_device_lan(void);
  extern void __init ks8695_add_device_hpna(void);
  
@@ -12981,10 +12870,9 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-ks8695/devices.h linux-2.6/in
   /* PCI */
  #define KS8695_MODE_PCI               0
  #define KS8695_MODE_MINIPCI   1
   /* PCI */
  #define KS8695_MODE_PCI               0
  #define KS8695_MODE_MINIPCI   1
-diff -urN -x CVS linux-2.6.25/include/linux/clk.h linux-2.6/include/linux/clk.h
---- linux-2.6.25/include/linux/clk.h   2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/include/linux/clk.h      2007-12-31 10:44:34.000000000 +0200
-@@ -121,4 +121,24 @@
+--- a/include/linux/clk.h
++++ b/include/linux/clk.h
+@@ -121,4 +121,24 @@ int clk_set_parent(struct clk *clk, stru
   */
  struct clk *clk_get_parent(struct clk *clk);
  
   */
  struct clk *clk_get_parent(struct clk *clk);
  
@@ -13009,9 +12897,8 @@ diff -urN -x CVS linux-2.6.25/include/linux/clk.h linux-2.6/include/linux/clk.h
 +int clk_must_disable(struct clk *clk);
 +
  #endif
 +int clk_must_disable(struct clk *clk);
 +
  #endif
-diff -urN -x CVS linux-2.6.25/include/linux/i2c-id.h linux-2.6/include/linux/i2c-id.h
---- linux-2.6.25/include/linux/i2c-id.h        2008-05-03 00:15:52.000000000 +0200
-+++ linux-2.6/include/linux/i2c-id.h   2008-03-09 15:43:48.000000000 +0200
+--- a/include/linux/i2c-id.h
++++ b/include/linux/i2c-id.h
 @@ -131,6 +131,7 @@
  
  /* --- PCA 9564 based algorithms */
 @@ -131,6 +131,7 @@
  
  /* --- PCA 9564 based algorithms */
@@ -13020,9 +12907,8 @@ diff -urN -x CVS linux-2.6.25/include/linux/i2c-id.h linux-2.6/include/linux/i2c
  
  /* --- PowerPC on-chip adapters                                               */
  #define I2C_HW_OCP            0x120000 /* IBM on-chip I2C adapter */
  
  /* --- PowerPC on-chip adapters                                               */
  #define I2C_HW_OCP            0x120000 /* IBM on-chip I2C adapter */
-diff -urN -x CVS linux-2.6.25/include/linux/usb/atmel_usba_udc.h linux-2.6/include/linux/usb/atmel_usba_udc.h
---- linux-2.6.25/include/linux/usb/atmel_usba_udc.h    1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/include/linux/usb/atmel_usba_udc.h       2008-05-03 00:31:09.000000000 +0200
+--- /dev/null
++++ b/include/linux/usb/atmel_usba_udc.h
 @@ -0,0 +1,23 @@
 +/*
 +* Platform data definitions for Atmel USBA gadget driver.
 @@ -0,0 +1,23 @@
 +/*
 +* Platform data definitions for Atmel USBA gadget driver.
@@ -13047,10 +12933,9 @@ diff -urN -x CVS linux-2.6.25/include/linux/usb/atmel_usba_udc.h linux-2.6/inclu
 +
 +#endif /* __LINUX_USB_USBA_H */
 +
 +
 +#endif /* __LINUX_USB_USBA_H */
 +
-diff -urN -x CVS linux-2.6.25/include/video/atmel_lcdc.h linux-2.6/include/video/atmel_lcdc.h
---- linux-2.6.25/include/video/atmel_lcdc.h    2008-05-03 00:15:53.000000000 +0200
-+++ linux-2.6/include/video/atmel_lcdc.h       2008-03-09 15:53:40.000000000 +0200
-@@ -39,6 +39,7 @@
+--- a/include/video/atmel_lcdc.h
++++ b/include/video/atmel_lcdc.h
+@@ -39,6 +39,7 @@ struct atmel_lcdfb_info {
        u8                      bl_power;
  #endif
        bool                    lcdcon_is_backlight;
        u8                      bl_power;
  #endif
        bool                    lcdcon_is_backlight;
@@ -13058,9 +12943,8 @@ diff -urN -x CVS linux-2.6.25/include/video/atmel_lcdc.h linux-2.6/include/video
  
        u8                      default_bpp;
        unsigned int            default_lcdcon2;
  
        u8                      default_bpp;
        unsigned int            default_lcdcon2;
-diff -urN -x CVS linux-2.6.25/sound/soc/at91/eti_b1_wm8731.c linux-2.6/sound/soc/at91/eti_b1_wm8731.c
---- linux-2.6.25/sound/soc/at91/eti_b1_wm8731.c        2008-05-03 00:15:56.000000000 +0200
-+++ linux-2.6/sound/soc/at91/eti_b1_wm8731.c   2008-03-09 15:15:07.000000000 +0200
+--- a/sound/soc/at91/eti_b1_wm8731.c
++++ b/sound/soc/at91/eti_b1_wm8731.c
 @@ -33,8 +33,7 @@
  #include <sound/soc.h>
  #include <sound/soc-dapm.h>
 @@ -33,8 +33,7 @@
  #include <sound/soc.h>
  #include <sound/soc-dapm.h>
@@ -13085,7 +12969,7 @@ diff -urN -x CVS linux-2.6.25/sound/soc/at91/eti_b1_wm8731.c linux-2.6/sound/soc
  static struct clk *pck1_clk;
  static struct clk *pllb_clk;
  
  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;
  static int __init eti_b1_init(void)
  {
        int ret;
@@ -13093,7 +12977,7 @@ diff -urN -x CVS linux-2.6.25/sound/soc/at91/eti_b1_wm8731.c linux-2.6/sound/soc
        struct at91_ssc_periph *ssc = eti_b1_dai.cpu_dai->private_data;
  
        if (!request_mem_region(AT91RM9200_BASE_SSC1, SZ_16K, "soc-audio")) {
        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;
        }
  
                goto fail_io_unmap;
        }
  
@@ -13119,10 +13003,9 @@ diff -urN -x CVS linux-2.6.25/sound/soc/at91/eti_b1_wm8731.c linux-2.6/sound/soc
  
        /*
         * Set PCK1 parent to PLLB and its rate to 12 Mhz.
  
        /*
         * Set PCK1 parent to PLLB and its rate to 12 Mhz.
-diff -urN -x CVS linux-2.6.25/sound/spi/at73c213.c linux-2.6/sound/spi/at73c213.c
---- linux-2.6.25/sound/spi/at73c213.c  2008-05-03 00:15:56.000000000 +0200
-+++ linux-2.6/sound/spi/at73c213.c     2008-03-09 15:15:07.000000000 +0200
-@@ -114,7 +114,11 @@
+--- a/sound/spi/at73c213.c
++++ b/sound/spi/at73c213.c
+@@ -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,
  static struct snd_pcm_hardware snd_at73c213_playback_hw = {
        .info           = SNDRV_PCM_INFO_INTERLEAVED |
                          SNDRV_PCM_INFO_BLOCK_TRANSFER,
This page took 0.123843 seconds and 4 git commands to generate.