[kernel] generic/2.6.29: update yaffs code
[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"
@@ -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"
-@@ -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.
@@ -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"
-@@ -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.
@@ -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"
-@@ -109,6 +119,38 @@
+@@ -109,6 +119,38 @@ config MACH_KAFA
        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
  
  # ----------------------------------------------------------
-@@ -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>
  
@@ -122,7 +121,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  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>
  
@@ -136,7 +135,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach
  endif
  
  # ----------------------------------------------------------
-@@ -216,7 +293,7 @@
+@@ -216,7 +293,7 @@ comment "AT91 Board Options"
  
  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.
  
-@@ -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.
  
@@ -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
-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
@@ -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
-@@ -50,9 +60,11 @@
+@@ -50,9 +60,11 @@ obj-$(CONFIG_MACH_AT91EB01) += board-eb0
  
  # 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
-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 @@
   */
  
@@ -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"
-@@ -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);
  }
  
@@ -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
   * -------------------------------------------------------------------- */
-@@ -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;
@@ -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 */
-@@ -308,6 +318,12 @@
+@@ -308,6 +318,12 @@ void __init at91cap9_initialize(unsigned
  
        /* 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>
@@ -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"
  
-@@ -69,6 +71,9 @@
+@@ -69,6 +71,9 @@ void __init at91_add_device_usbh(struct 
        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])
-@@ -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
   * -------------------------------------------------------------------- */
  
-@@ -246,7 +355,7 @@
+@@ -246,7 +355,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                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 */
-@@ -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[] = {
@@ -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
  
@@ -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)
   * -------------------------------------------------------------------- */
-@@ -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);
  }
  
-@@ -660,6 +822,9 @@
+@@ -660,6 +822,9 @@ void __init at91_add_device_lcdc(struct 
        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 */
-@@ -990,7 +1155,7 @@
+@@ -990,7 +1155,7 @@ static inline void configure_usart2_pins
                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)
-@@ -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];
@@ -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)
-@@ -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]);
        }
@@ -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) {}
-@@ -1060,6 +1226,7 @@
+@@ -1060,6 +1226,7 @@ static int __init at91_add_standard_devi
  {
        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;
  }
  
-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
   * -------------------------------------------------------------------- */
  
@@ -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[] = {
-@@ -530,7 +541,7 @@
+@@ -530,7 +541,7 @@ static struct resource spi_resources[] =
  };
  
  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,
-@@ -563,6 +574,12 @@
+@@ -563,6 +574,12 @@ void __init at91_add_device_spi(struct s
                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;
-@@ -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
   * -------------------------------------------------------------------- */
  
-@@ -589,6 +690,7 @@
+@@ -589,6 +690,7 @@ static struct platform_device at91rm9200
  
  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
-@@ -1019,7 +1121,7 @@
+@@ -1019,7 +1121,7 @@ static inline void configure_usart3_pins
                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)
-@@ -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];
@@ -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)
-@@ -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]);
        }
@@ -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) {}
-@@ -1141,6 +1244,7 @@
+@@ -1141,6 +1244,7 @@ static int __init at91_add_standard_devi
  {
        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;
  }
  
-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;
  
@@ -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);
  
-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 @@
   */
  
@@ -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"
-@@ -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);
  }
  
@@ -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
-@@ -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;
@@ -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);
  
-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>
@@ -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"
  
-@@ -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[] = {
@@ -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
   * -------------------------------------------------------------------- */
  
-@@ -553,13 +642,14 @@
+@@ -553,13 +642,14 @@ static struct resource rtt_resources[] =
  
  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);
  }
  
-@@ -962,7 +1052,7 @@
+@@ -962,7 +1052,7 @@ static inline void configure_usart5_pins
        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)
-@@ -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];
@@ -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)
-@@ -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]);
        }
@@ -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) {}
-@@ -1103,6 +1194,7 @@
+@@ -1103,6 +1194,7 @@ static int __init at91_add_standard_devi
  {
        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;
  }
  
-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 @@
   */
  
@@ -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"
-@@ -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);
  }
  
@@ -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
-@@ -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;
@@ -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);
  
-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>
@@ -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"
  
-@@ -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
   * -------------------------------------------------------------------- */
  
-@@ -561,13 +610,14 @@
+@@ -561,13 +610,14 @@ static struct resource rtt_resources[] =
  
  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);
  }
  
-@@ -938,7 +988,7 @@
+@@ -938,7 +988,7 @@ static inline void configure_usart2_pins
                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)
-@@ -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];
@@ -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)
-@@ -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]);
        }
@@ -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) {}
-@@ -1050,6 +1101,7 @@
+@@ -1050,6 +1101,7 @@ static int __init at91_add_standard_devi
  {
        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;
  }
  
-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 @@
   */
  
@@ -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"
-@@ -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);
  }
  
@@ -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
-@@ -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;
@@ -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 */
-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>
@@ -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"
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                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 */
-@@ -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[] = {
@@ -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
   * -------------------------------------------------------------------- */
  
-@@ -818,7 +860,9 @@
+@@ -818,7 +860,9 @@ static struct platform_device at91sam926
  
  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);
  }
  
-@@ -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
-@@ -1146,7 +1187,7 @@
+@@ -1146,7 +1187,7 @@ static inline void configure_usart2_pins
                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)
-@@ -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];
@@ -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)
-@@ -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]);
        }
@@ -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) {}
-@@ -1257,6 +1299,7 @@
+@@ -1257,6 +1299,7 @@ static int __init at91_add_standard_devi
  {
        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;
  }
  
-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
@@ -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,
  };
 -
-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 @@
   */
  
@@ -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"
-@@ -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);
  }
  
@@ -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
-@@ -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;
@@ -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 */
-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>
@@ -1685,7 +1670,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
   *  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[] = {
@@ -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
   * -------------------------------------------------------------------- */
  
-@@ -397,6 +591,7 @@
+@@ -397,6 +591,7 @@ static struct platform_device at91sam9rl
  
  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
-@@ -418,13 +613,14 @@
+@@ -418,13 +613,14 @@ static struct resource rtt_resources[] =
  
  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);
  }
  
-@@ -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
-@@ -802,7 +995,7 @@
+@@ -802,7 +995,7 @@ static inline void configure_usart3_pins
                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)
-@@ -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];
@@ -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)
-@@ -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]);
        }
@@ -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) {}
-@@ -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();
@@ -1873,9 +1858,8 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/
        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)
@@ -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
-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>
@@ -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"
  
-@@ -78,6 +76,12 @@
+@@ -78,6 +76,12 @@ static struct at91_usbh_data __initdata 
        .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
-@@ -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 */
@@ -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,
-@@ -324,8 +328,9 @@
+@@ -324,8 +328,9 @@ static void __init cap9adk_board_init(vo
        /* 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 */
-@@ -341,7 +346,6 @@
+@@ -341,7 +346,6 @@ static void __init cap9adk_board_init(vo
        /* 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);
-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"
  
@@ -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)
-@@ -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 */
-@@ -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);
@@ -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")
-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
@@ -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
-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);
@@ -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);
-@@ -202,11 +203,11 @@
+@@ -202,11 +203,11 @@ static struct platform_device csb300_but
  
  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);
-@@ -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",
@@ -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"
  
@@ -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)
-@@ -118,8 +107,19 @@
+@@ -118,8 +107,19 @@ static struct platform_device csb_flash 
        .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 */
-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>
@@ -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 */
-@@ -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);
  
@@ -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)
-@@ -73,6 +71,185 @@
+@@ -73,6 +71,185 @@ static void __init dk_init_irq(void)
        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,
-@@ -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 = {
@@ -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 = {
-@@ -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));
@@ -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")
-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"
  
@@ -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)
-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
@@ -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
-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>
@@ -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 */
-@@ -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);
  
@@ -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)
-@@ -73,6 +71,187 @@
+@@ -73,6 +71,187 @@ static void __init ek_init_irq(void)
        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,
-@@ -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 = {
@@ -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 = {
-@@ -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 */
@@ -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")
-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
@@ -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
-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>
@@ -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)
  {
-@@ -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);
  
@@ -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)
-@@ -111,6 +114,48 @@
+@@ -111,6 +114,48 @@ static struct at91_nand_data __initdata 
        .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 */
-@@ -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);
@@ -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")
-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
@@ -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
-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
@@ -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
-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>
@@ -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)
-@@ -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[] = {
-@@ -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,
@@ -3995,7 +3965,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arc
        },
  #endif
  };
-@@ -172,6 +207,74 @@
+@@ -172,6 +207,74 @@ static struct at91_mmc_data __initdata e
  //    .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 */
-@@ -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);
@@ -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")
-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>
@@ -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 */
-@@ -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);
  
@@ -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)
-@@ -239,6 +234,35 @@
+@@ -239,6 +234,35 @@ static void __init ek_add_device_ts(void
  #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[] = {
-@@ -252,10 +276,11 @@
+@@ -252,10 +276,11 @@ static struct spi_board_info ek_spi_devi
        {
                .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)
-@@ -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,
@@ -4197,7 +4166,7 @@ diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arc
        },
  #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,
@@ -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)
  {
@@ -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);
-@@ -460,6 +492,29 @@
+@@ -460,6 +492,29 @@ static void __init ek_add_device_buttons
  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 */
-@@ -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();
@@ -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);
-@@ -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();
@@ -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")
-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>
@@ -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)
-@@ -141,7 +136,7 @@
+@@ -141,7 +136,7 @@ static struct spi_board_info ek_spi_devi
        {
                .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,
-@@ -301,9 +296,9 @@
+@@ -301,9 +296,9 @@ static struct platform_device ek_button_
  
  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);
-@@ -341,7 +336,7 @@
+@@ -341,7 +336,7 @@ static struct gpio_led ek_leds[] = {
                .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));
@@ -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")
-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>
@@ -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)
-@@ -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 = {
-@@ -180,6 +183,8 @@
+@@ -180,6 +183,8 @@ static void __init ek_board_init(void)
  {
        /* 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 */
-@@ -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);
@@ -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")
-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
@@ -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
-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
@@ -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
-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
@@ -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
-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
@@ -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
-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>
  
@@ -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);
  }
  
@@ -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,
-@@ -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
  
  /*
-@@ -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)
  {
@@ -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));
-@@ -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));
@@ -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));
  
-@@ -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";
@@ -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)
-@@ -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);
  
        /*
@@ -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.
         */
-@@ -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);
  
@@ -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);
  
-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);
@@ -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 */
-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;
-@@ -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 */
@@ -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;
        }
-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
@@ -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;
 +}
-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>
  
@@ -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)
  {
-@@ -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.
   */
@@ -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;
-@@ -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)
  {
-@@ -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) {
@@ -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 */
                        }
  
-@@ -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
@@ -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 */
-@@ -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:
@@ -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();
-@@ -220,21 +359,20 @@
+@@ -220,21 +359,20 @@ static struct platform_suspend_ops at91_
  
  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);
-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
@@ -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
-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
  
@@ -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
-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
  
  
@@ -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)
@@ -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 */
-@@ -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)
@@ -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);
-@@ -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);
@@ -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);
  
-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.
@@ -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);
-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,
  };
  
@@ -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);
  }
-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"
  
@@ -6441,10 +6392,9 @@ diff -urN -x CVS linux-2.6.25/drivers/char/Kconfig linux-2.6/drivers/char/Kconfi
 +
  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
@@ -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/
-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)
@@ -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");
-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
@@ -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")
-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.
  
@@ -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
-@@ -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.
  
@@ -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
-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
@@ -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
-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>
@@ -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;
-@@ -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 */
@@ -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) {
-@@ -61,11 +64,12 @@
+@@ -61,11 +64,12 @@ static void __devinit at91_twi_hwinit(vo
                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);
-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.
@@ -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");
-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) {
@@ -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.
  
@@ -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
-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
-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)
@@ -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");
-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
@@ -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
-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)
@@ -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)
-@@ -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;
  
@@ -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;
  
-@@ -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.
   */
-@@ -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;
@@ -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
-@@ -108,8 +408,13 @@
+@@ -108,8 +408,13 @@ static int __init at91_nand_probe(struct
                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);
-@@ -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;
@@ -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;
-@@ -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;
  
@@ -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);
-@@ -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;
        }
-@@ -179,8 +566,11 @@
+@@ -179,8 +566,11 @@ static int __init at91_nand_probe(struct
        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);
-@@ -192,7 +582,7 @@
+@@ -192,7 +582,7 @@ out:
  /*
   * 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;
-@@ -208,8 +598,7 @@
+@@ -208,8 +598,7 @@ static int __devexit at91_nand_remove(st
  }
  
  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,
-@@ -218,7 +607,7 @@
+@@ -218,7 +607,7 @@ static struct platform_driver at91_nand_
  
  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");
-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.
@@ -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.
-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
-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;
        }
@@ -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;
-@@ -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);
        }
@@ -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);
        }
-@@ -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);
        }
@@ -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);
-@@ -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);
@@ -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);
-@@ -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)
  {
@@ -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;
@@ -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 */
-@@ -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))
@@ -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);
-@@ -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;
@@ -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)) {
-@@ -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);
@@ -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);
  
-@@ -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 */
@@ -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 */
-@@ -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);
@@ -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)
-@@ -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 */
@@ -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 */
-@@ -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);
-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
@@ -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
  
-@@ -84,7 +87,6 @@
+@@ -84,7 +87,6 @@ struct recv_desc_bufs
  
  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 */
-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.
@@ -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);
-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)
@@ -10022,10 +9954,9 @@ diff -urN -x CVS linux-2.6.25/drivers/net/arm/ks8695_ether.h linux-2.6/drivers/n
 +};
 +
 +#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
@@ -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.)
-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>
  
@@ -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>
  
-@@ -307,12 +304,6 @@
+@@ -307,12 +304,6 @@ static int __init at91_rtc_probe(struct 
                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)) {
-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>
@@ -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>
  
  
-@@ -150,6 +151,9 @@
+@@ -150,6 +151,9 @@ static int at91_rtc_settime(struct devic
        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);
-@@ -176,6 +180,9 @@
+@@ -176,6 +180,9 @@ static int at91_rtc_readalarm(struct dev
        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);
-@@ -321,10 +328,6 @@
+@@ -321,10 +328,6 @@ static int __init at91_rtc_probe(struct 
        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;
-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"
@@ -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
-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
@@ -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)
-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)
@@ -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");
-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
@@ -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
-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
@@ -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
-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>
@@ -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>
-@@ -324,53 +326,6 @@
+@@ -324,53 +326,6 @@ static int vbus_is_present(struct usba_u
        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;
-@@ -387,7 +342,7 @@
+@@ -387,7 +342,7 @@ static void next_fifo_transaction(struct
                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;
  }
-@@ -476,7 +431,7 @@
+@@ -476,7 +431,7 @@ static void receive_data(struct usba_ep 
                        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;
  
-@@ -1029,33 +984,6 @@
+@@ -1029,33 +984,6 @@ static const struct usb_gadget_ops usba_
        .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,
-@@ -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,
@@ -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",
-@@ -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);
@@ -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");
-@@ -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 "
@@ -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. */
-@@ -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);
@@ -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);
-@@ -1956,16 +1883,44 @@
+@@ -1956,16 +1883,44 @@ static int __init usba_udc_probe(struct 
        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);
        }
-@@ -1984,7 +1939,7 @@
+@@ -1984,7 +1939,7 @@ static int __init usba_udc_probe(struct 
                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;
  
-@@ -2004,7 +1959,7 @@
+@@ -2004,7 +1959,7 @@ static int __init usba_udc_probe(struct 
        }
  
        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;
-@@ -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:
@@ -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);
-@@ -2029,10 +1986,11 @@
+@@ -2029,10 +1986,11 @@ static int __exit usba_udc_remove(struct
  {
        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);
  
-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...
         */
@@ -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();
        }
-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>.
  
@@ -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
-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
@@ -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
-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
@@ -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
-@@ -903,11 +903,45 @@
+@@ -903,11 +903,45 @@ static int __exit atmel_lcdfb_remove(str
        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,
-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.
@@ -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.
-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
-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
@@ -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");
-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
@@ -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");
-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.
  
@@ -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
-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
@@ -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
-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.
@@ -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");
-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
@@ -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
-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
@@ -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.
   *
-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] */
@@ -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
-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
@@ -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.
   *
-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
@@ -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.
   *
-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
@@ -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
-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
@@ -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
 +
-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
@@ -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.
   *
-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)
@@ -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
-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
@@ -12286,9 +12188,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91cap9_ddrsdr.h linux-
 +
 +
 +#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 */
@@ -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)
-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
@@ -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.
   *
-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
@@ -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.
   *
-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
@@ -12470,9 +12368,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam926x_mc.h linux-2
 -#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
@@ -12560,9 +12457,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/at91sam9_sdramc.h linux-
 +
 +
 +#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
@@ -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
-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) */
  
@@ -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
-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>
@@ -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 {
-@@ -45,6 +46,9 @@
+@@ -45,6 +46,9 @@ struct at91_udc_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 */
-@@ -158,6 +162,9 @@
+@@ -158,6 +162,9 @@ extern void __init at91_add_device_ac97(
   /* 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);
-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);
  }
  
@@ -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)
-@@ -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)
@@ -12716,9 +12609,8 @@ diff -urN -x CVS linux-2.6.25/include/asm-arm/arch-at91/cpu.h linux-2.6/include/
  #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  -
@@ -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 */
-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
@@ -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
-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)
@@ -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)
-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);
  
@@ -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
-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);
  
@@ -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
-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 */
@@ -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 */
-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.
@@ -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 */
 +
-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;
@@ -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;
-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>
@@ -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;
  
-@@ -276,7 +268,6 @@
+@@ -276,7 +268,6 @@ static struct platform_device *eti_b1_sn
  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")) {
-@@ -310,19 +301,12 @@
+@@ -310,19 +301,12 @@ static int __init eti_b1_init(void)
                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.
-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,
This page took 0.10734 seconds and 4 git commands to generate.