[kernel] update to 2.6.25.19, and refresh patches
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 7 Nov 2008 08:44:56 +0000 (08:44 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 7 Nov 2008 08:44:56 +0000 (08:44 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13137 3c298f89-4303-0410-b956-a3cf2f4a3e73

119 files changed:
include/kernel-version.mk
target/linux/at91/Makefile
target/linux/at91/patches-2.6.25/000-at91patches.patch
target/linux/at91/patches-2.6.25/001-vlink-machine.patch
target/linux/at91/patches-2.6.25/002-led-driver.patch
target/linux/at91/patches-2.6.25/003-gpio-driver.patch
target/linux/at91/patches-2.6.25/007-mtd-partition.patch
target/linux/at91/patches-2.6.25/008-fdl-serial.patch
target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch
target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch
target/linux/at91/patches-2.6.25/014-initpartition.patch
target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch
target/linux/au1000/Makefile
target/linux/au1000/patches/001-au1000_gpio_kconfig.patch
target/linux/au1000/patches/002-sys_btn_gpio.patch
target/linux/au1000/patches/005-au1000_eth_link_beat.patch
target/linux/au1000/patches/012-mtx1_cmdline.patch
target/linux/au1000/patches/013-openwrt_rootfs.patch
target/linux/au1000/patches/014-au1000_eth_ioctl.patch
target/linux/au1000/patches/016-net-irq.patch
target/linux/au1000/patches/017-gpio-dir.patch
target/linux/avr32/Makefile
target/linux/avr32/patches/100-git_sync.patch
target/linux/avr32/patches/110-openwrt_flashmap.patch
target/linux/brcm47xx/Makefile
target/linux/brcm47xx/patches-2.6.25/100-board_support.patch
target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch
target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch
target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch
target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch
target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch
target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch
target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch
target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch
target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch
target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch
target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch
target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch
target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch
target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch
target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch
target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch
target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch
target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch
target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch
target/linux/etrax/Makefile
target/linux/etrax/patches/100-compile_fixes.patch
target/linux/etrax/patches/101-cris-eth-driver.patch
target/linux/etrax/patches/200-samsung_flash.patch
target/linux/etrax/patches/201-flashsize.patch
target/linux/etrax/patches/300-sysfs.patch
target/linux/etrax/patches/301-usb_support.patch
target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch
target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch
target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch
target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch
target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch
target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch
target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch
target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch
target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch
target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch
target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch
target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch
target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch
target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch
target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch
target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch
target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch
target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch
target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch
target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch
target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch
target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch
target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch
target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch
target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch
target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch
target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch
target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch
target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch
target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch
target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch
target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch
target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch
target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch
target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch
target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch
target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch
target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch
target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch
target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch
target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch
target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch
target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch
target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch
target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch
target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch
target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch
target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch
target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch
target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch
target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch
target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch
target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch
target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch
target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch
target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch
target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch
target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch
target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch
target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch
target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch
target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch
target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch
target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch
target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch
target/linux/ps3/Makefile
target/linux/x86/Makefile

index a9b9286..6bdc5c1 100644 (file)
@@ -22,8 +22,8 @@ endif
 ifeq ($(LINUX_VERSION),2.6.24.7)
   LINUX_KERNEL_MD5SUM:=40a73780d51525d28d36dec852c680c4
 endif
-ifeq ($(LINUX_VERSION),2.6.25.17)
-  LINUX_KERNEL_MD5SUM:=30618bff93fd4fd048e20a9a6aab8e5d
+ifeq ($(LINUX_VERSION),2.6.25.19)
+  LINUX_KERNEL_MD5SUM:=1b20d2d2a5a0f119372a166eaf816e13
 endif
 ifeq ($(LINUX_VERSION),2.6.26.7)
   LINUX_KERNEL_MD5SUM:=ada8af1e3ec15bd6e9bdbcadf23a9cc2
index e616467..d90d105 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=at91
 BOARDNAME:=Atmel AT91
 FEATURES:=squashfs usb
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
index 74962b2..06c2935 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/Kconfig
 +++ b/arch/arm/mach-at91/Kconfig
-@@ -12,18 +12,28 @@
+@@ -12,18 +12,28 @@ config ARCH_AT91RM9200
  
  config ARCH_AT91SAM9260
        bool "AT91SAM9260 or AT91SAM9XE"
@@ -29,7 +29,7 @@
  
  config ARCH_AT91X40
        bool "AT91x40"
-@@ -45,7 +55,7 @@
+@@ -45,7 +55,7 @@ config MACH_ONEARM
        depends on ARCH_AT91RM9200
        help
          Select this if you are using Ajeco's 1ARM Single Board Computer.
@@ -38,7 +38,7 @@
  
  config ARCH_AT91RM9200DK
        bool "Atmel AT91RM9200-DK Development board"
-@@ -94,7 +104,7 @@
+@@ -94,7 +104,7 @@ config MACH_KB9200
        depends on ARCH_AT91RM9200
        help
          Select this if you are using KwikByte's KB920x board.
@@ -47,7 +47,7 @@
  
  config MACH_PICOTUX2XX
        bool "picotux 200"
-@@ -109,6 +119,38 @@
+@@ -109,6 +119,38 @@ config MACH_KAFA
        help
          Select this if you are using Sperry-Sun's KAFA board.
  
@@ -86,7 +86,7 @@
  endif
  
  # ----------------------------------------------------------
-@@ -133,6 +175,34 @@
+@@ -133,6 +175,34 @@ config MACH_AT91SAM9260EK
          Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
          <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
  
  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>
  
  endif
  
  # ----------------------------------------------------------
-@@ -216,7 +293,7 @@
+@@ -216,7 +293,7 @@ comment "AT91 Board Options"
  
  config MTD_AT91_DATAFLASH_CARD
        bool "Enable DataFlash Card support"
        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.
  
         range 32 1024
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
-@@ -28,16 +28,26 @@
+@@ -28,16 +28,26 @@ obj-$(CONFIG_MACH_CARMEVA) += board-carm
  obj-$(CONFIG_MACH_KB9200)     += board-kb9202.o
  obj-$(CONFIG_MACH_ATEB9200)   += board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)               += board-kafa.o
  
  # 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
  
  #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);
  }
  
  /* --------------------------------------------------------------------
   *  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;
        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);
  
  #include "generic.h"
  
-@@ -69,6 +71,9 @@
+@@ -69,6 +71,9 @@ void __init at91_add_device_usbh(struct 
        if (!data)
                return;
  
        /* 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 
  
  
  /* --------------------------------------------------------------------
   *  Ethernet
   * -------------------------------------------------------------------- */
  
-@@ -246,7 +355,7 @@
+@@ -246,7 +355,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                mmc0_data = *data;
                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[] = {
        }
  };
  
-@@ -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
  
  /* --------------------------------------------------------------------
   *  TWI (i2c)
   * -------------------------------------------------------------------- */
-@@ -532,17 +647,64 @@
+@@ -532,17 +647,64 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
        platform_device_register(&at91cap9_rtt_device);
  }
  
-@@ -660,6 +822,9 @@
+@@ -660,6 +822,9 @@ void __init at91_add_device_lcdc(struct 
        if (!data)
                return;
  
        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 */
  }
  
  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];
  }
  
  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]);
        }
  }
  #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();
  
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
-@@ -513,7 +513,18 @@
+@@ -513,7 +513,18 @@ void __init at91_add_device_i2c(struct i
   *  SPI
   * -------------------------------------------------------------------- */
  
  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 = {
        .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);
  
  
                /* 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
  
  
  /* --------------------------------------------------------------------
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -589,6 +690,7 @@
+@@ -589,6 +690,7 @@ static struct platform_device at91rm9200
  
  static void __init at91_add_device_rtc(void)
  {
        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 */
  }
  
  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];
  }
  
  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]);
        }
  }
  #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();
  
 --- a/arch/arm/mach-at91/at91rm9200_time.c
 +++ b/arch/arm/mach-at91/at91rm9200_time.c
-@@ -136,8 +136,6 @@
+@@ -136,8 +136,6 @@ clkevt32k_next_event(unsigned long delta
        u32             alm;
        int             status = 0;
  
  
  #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);
  }
  
  
  /* --------------------------------------------------------------------
   *  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;
  
  #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[] = {
        }
  };
  
-@@ -540,6 +545,90 @@
+@@ -540,6 +545,90 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -553,13 +642,14 @@
+@@ -553,13 +642,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9260_rtt_device = {
        .name           = "at91_rtt",
        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 */
  }
  
  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];
  }
  
  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]);
        }
  }
  #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();
  
  #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);
  }
  
  
  /* --------------------------------------------------------------------
   *  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;
  
  #include "generic.h"
  
-@@ -548,6 +548,55 @@
+@@ -548,6 +548,55 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -561,13 +610,14 @@
+@@ -561,13 +610,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9261_rtt_device = {
        .name           = "at91_rtt",
        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 */
  }
  
  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];
  }
  
  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]);
        }
  }
  #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();
  
  #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);
  }
  
  
  /* --------------------------------------------------------------------
   *  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;
  
  #include "generic.h"
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                mmc0_data = *data;
                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[] = {
        }
  };
  
-@@ -783,6 +788,43 @@
+@@ -783,6 +788,43 @@ void __init at91_add_device_isi(void) {}
  
  
  /* --------------------------------------------------------------------
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -818,7 +860,9 @@
+@@ -818,7 +860,9 @@ static struct platform_device at91sam926
  
  static void __init at91_add_device_rtt(void)
  {
        platform_device_register(&at91sam9263_rtt1_device);
  }
  
-@@ -933,9 +977,6 @@
+@@ -933,9 +977,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
   * 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 */
  }
  
  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];
  }
  
  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]);
        }
  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();
  
  #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);
  }
  
  
  /* --------------------------------------------------------------------
   *  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;
   *  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[] = {
        }
  };
  
-@@ -385,6 +485,100 @@
+@@ -385,6 +485,100 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -397,6 +591,7 @@
+@@ -397,6 +591,7 @@ static struct platform_device at91sam9rl
  
  static void __init at91_add_device_rtc(void)
  {
        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",
        platform_device_register(&at91sam9rl_rtt_device);
  }
  
-@@ -539,9 +735,6 @@
+@@ -539,9 +735,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
   * 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 */
  }
  
  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];
  }
  
  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]);
        }
  }
  #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();
  
  #include "generic.h"
  
-@@ -78,6 +76,12 @@
+@@ -78,6 +76,12 @@ static struct at91_usbh_data __initdata 
        .ports          = 2,
  };
  
  
  /*
   * 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 */
                .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 */
        /* 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 */
  }
  
  static void __init carmeva_init_irq(void)
-@@ -117,6 +114,30 @@
+@@ -117,6 +114,30 @@ static struct spi_board_info carmeva_spi
        },
  };
  
  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);
 +MACHINE_END
 --- a/arch/arm/mach-at91/board-csb337.c
 +++ b/arch/arm/mach-at91/board-csb337.c
-@@ -61,6 +61,7 @@
+@@ -61,6 +61,7 @@ static void __init csb337_map_io(void)
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1);
  
        /* 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)
  {
        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",
  }
  
  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),
  };
  
  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);
  
  }
  
  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);
  }
  
  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 = {
  };
  
  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));
  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);
  
  }
  
  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);
  }
  
  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 = {
  };
  
  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 */
  
  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);
  
  }
  
  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,
  };
  
  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);
  }
  
  static void __init ek_init_irq(void)
-@@ -85,6 +89,35 @@
+@@ -85,6 +89,35 @@ static struct at91_udc_data __initdata e
  
  
  /*
   * 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,
        },
  #endif
  };
-@@ -172,6 +207,74 @@
+@@ -172,6 +207,74 @@ static struct at91_mmc_data __initdata e
  //    .vcc_pin        = ... not connected
  };
  
  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);
  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);
  
  }
  
  static void __init ek_init_irq(void)
-@@ -239,6 +234,35 @@
+@@ -239,6 +234,35 @@ static void __init ek_add_device_ts(void
  #endif
  
  /*
   * 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,
        },
  #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,
        },
  #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,
        }
  };
  
-@@ -445,13 +477,13 @@
+@@ -445,13 +477,13 @@ static struct platform_device ek_button_
  
  static void __init ek_add_device_buttons(void)
  {
        at91_set_deglitch(AT91_PIN_PA24, 1);
  
        platform_device_register(&ek_button_device);
-@@ -460,6 +492,29 @@
+@@ -460,6 +492,29 @@ static void __init ek_add_device_buttons
  static void __init ek_add_device_buttons(void) {}
  #endif
  
  static void __init ek_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();
  #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();
  }
  
  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,
                .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)
  {
        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",
  };
  
  
-@@ -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));
  }
  
  static void __init ek_init_irq(void)
-@@ -61,6 +56,14 @@
+@@ -61,6 +56,14 @@ static void __init ek_init_irq(void)
  
  
  /*
   * 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();
        /* 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);
  
  
  /*
-@@ -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);
  }
  
  static struct clk uhpck = {
        .name           = "uhpck",
        .parent         = &pllb,
-@@ -254,6 +277,23 @@
+@@ -254,6 +277,23 @@ EXPORT_SYMBOL(clk_get_rate);
  
  /*------------------------------------------------------------------------*/
  
  #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)
  {
        struct clk      *clk;
  
        seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR));
-@@ -370,7 +410,10 @@
+@@ -370,7 +410,10 @@ static int at91_clk_show(struct seq_file
        seq_printf(s, "MOR  = %8x\n", at91_sys_read(AT91_CKGR_MOR));
        seq_printf(s, "MCFR = %8x\n", at91_sys_read(AT91_CKGR_MCFR));
        seq_printf(s, "PLLA = %8x\n", at91_sys_read(AT91_CKGR_PLLAR));
        seq_printf(s, "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";
                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);
  
        /*
         * 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);
  
  
 --- a/arch/arm/mach-at91/generic.h
 +++ b/arch/arm/mach-at91/generic.h
-@@ -41,6 +41,7 @@
+@@ -41,6 +41,7 @@ extern void __init at91_clock_associate(
   /* Power Management */
  extern void at91_irq_suspend(void);
  extern void at91_irq_resume(void);
  #define AT91RM9200_PQFP               3       /* AT91RM9200 PQFP package has 3 banks */
 --- a/arch/arm/mach-at91/gpio.c
 +++ b/arch/arm/mach-at91/gpio.c
-@@ -490,7 +490,8 @@
+@@ -490,7 +490,8 @@ postcore_initcall(at91_gpio_debugfs_init
  
  /*--------------------------------------------------------------------------*/
  
   * 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 */
  
  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.
   */
  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)
  }
  
  /*
  
  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) {
                                /* FALLTHROUGH leaving master clock alone */
                        }
  
-@@ -175,13 +311,15 @@
+@@ -175,13 +311,15 @@ static int at91_pm_enter(suspend_state_t
                case PM_SUSPEND_STANDBY:
                        /*
                         * NOTE: the Wait-for-Interrupt instruction needs to be
  
                case PM_SUSPEND_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:
        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)
  {
 +      .word .-at91_slow_clock
 --- a/arch/arm/mach-ks8695/Makefile
 +++ b/arch/arm/mach-ks8695/Makefile
-@@ -11,5 +11,8 @@
+@@ -11,5 +11,8 @@ obj-                         :=
  # PCI support is optional
  obj-$(CONFIG_PCI)             += pci.o
  
  obj-$(CONFIG_MACH_KS8695)     += board-micrel.o
 --- a/arch/arm/mach-ks8695/devices.c
 +++ b/arch/arm/mach-ks8695/devices.c
-@@ -176,6 +176,27 @@
+@@ -176,6 +176,27 @@ static void __init ks8695_add_device_wat
  #endif
  
  
  /*
 --- a/arch/arm/mach-ks8695/gpio.c
 +++ b/arch/arm/mach-ks8695/gpio.c
-@@ -136,9 +136,9 @@
+@@ -136,9 +136,9 @@ int __init_or_module gpio_direction_outp
        /* set line state */
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
        if (state)
        __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)
        __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);
 +__initcall(leds_init);
 --- a/arch/arm/mach-ks8695/pci.c
 +++ b/arch/arm/mach-ks8695/pci.c
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ static struct pci_ops ks8695_pci_ops = {
        .write  = ks8695_pci_writeconfig,
  };
  
  }
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -1056,5 +1056,21 @@
+@@ -1056,5 +1056,21 @@ config DEVPORT
  
  source "drivers/s390/char/Kconfig"
  
  
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -98,6 +98,8 @@
+@@ -98,6 +98,8 @@ obj-$(CONFIG_GPIO_DEVICE)    += gpio_dev.o
  obj-$(CONFIG_GPIO_VR41XX)     += vr41xx_giu.o
  obj-$(CONFIG_GPIO_TB0219)     += tb0219.o
  obj-$(CONFIG_TELCLOCK)                += tlclk.o
 +MODULE_DESCRIPTION("SPI /dev interface for Atmel AT91RM9200")
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -88,6 +88,14 @@
+@@ -88,6 +88,14 @@ config I2C_AT91
          to support combined I2C messages.  Use the i2c-gpio driver
          unless your system can cope with those limitations.
  
  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.
  
        depends on ISA
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_I2C_OMAP)               += i2c-omap.o
  obj-$(CONFIG_I2C_PARPORT)     += i2c-parport.o
  obj-$(CONFIG_I2C_PARPORT_LIGHT)       += i2c-parport-light.o
  obj-$(CONFIG_I2C_PASEMI)      += i2c-pasemi.o
  
  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 */
        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;
        }
  
 +MODULE_LICENSE("GPL");
 --- a/drivers/mmc/host/at91_mci.c
 +++ b/drivers/mmc/host/at91_mci.c
-@@ -659,13 +659,14 @@
+@@ -659,13 +659,14 @@ static void at91_mci_set_ios(struct mmc_
        /* maybe switch power to the card */
        if (host->board->vcc_pin) {
                switch (ios->power_mode) {
  }
 --- a/drivers/mtd/devices/Kconfig
 +++ b/drivers/mtd/devices/Kconfig
-@@ -270,5 +270,17 @@
+@@ -270,5 +270,17 @@ config MTD_DOCPROBE_55AA
          LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
          you have managed to wipe the first block.
  
 +endmenu
 --- a/drivers/mtd/devices/Makefile
 +++ b/drivers/mtd/devices/Makefile
-@@ -17,3 +17,4 @@
+@@ -17,3 +17,4 @@ obj-$(CONFIG_MTD_LART)               += lart.o
  obj-$(CONFIG_MTD_BLOCK2MTD)   += block2mtd.o
  obj-$(CONFIG_MTD_DATAFLASH)   += mtd_dataflash.o
  obj-$(CONFIG_MTD_M25P80)      += m25p80.o
 +MODULE_DESCRIPTION("DataFlash driver for Atmel AT91RM9200");
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
-@@ -273,12 +273,53 @@
+@@ -273,12 +273,53 @@ config MTD_NAND_CS553X
          If you say "m", the module will be called "cs553x_nand.ko".
  
  config MTD_NAND_AT91
   * 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;
  
        if (cmd == NAND_CMD_NONE)
                return;
  
-@@ -65,27 +141,249 @@
+@@ -65,27 +141,249 @@ static int at91_nand_device_ready(struct
  }
  
  /*
  /*
   * 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;
        int res;
  
  #ifdef CONFIG_MTD_PARTITIONS
-@@ -108,8 +408,13 @@
+@@ -108,8 +408,13 @@ static int __init at91_nand_probe(struct
                return -ENOMEM;
        }
  
        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;
  
        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;
  
  
        platform_set_drvdata(pdev, host);
        at91_nand_enable(host);
-@@ -149,8 +484,60 @@
+@@ -149,8 +484,60 @@ static int __init at91_nand_probe(struct
                }
        }
  
                res = -ENXIO;
                goto out;
        }
-@@ -179,8 +566,11 @@
+@@ -179,8 +566,11 @@ static int __init at91_nand_probe(struct
        if (!res)
                return res;
  
  out:
        at91_nand_disable(host);
        platform_set_drvdata(pdev, NULL);
-@@ -192,7 +582,7 @@
+@@ -192,7 +582,7 @@ out:
  /*
   * Remove a NAND device.
   */
  {
        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 = {
        .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)
  {
  }
  
  
-@@ -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 / AT91SAM9 / AT91CAP9");
 --- a/drivers/net/arm/Kconfig
 +++ b/drivers/net/arm/Kconfig
-@@ -47,3 +47,10 @@
+@@ -47,3 +47,10 @@ config EP93XX_ETH
        help
          This is a driver for the ethernet hardware included in EP93xx CPUs.
          Say Y if you are building a kernel for EP93xx based devices.
 +        and enable Ethernet support, then select this option.
 --- a/drivers/net/arm/Makefile
 +++ b/drivers/net/arm/Makefile
-@@ -9,3 +9,4 @@
+@@ -9,3 +9,4 @@ obj-$(CONFIG_ARM_ETHER3)       += ether3.o
  obj-$(CONFIG_ARM_ETHER1)      += ether1.o
  obj-$(CONFIG_ARM_AT91_ETHER)  += at91_ether.o
  obj-$(CONFIG_EP93XX_ETH)      += ep93xx_eth.o
 +obj-$(CONFIG_ARM_KS8695_ETHER)        += ks8695_ether.o
 --- a/drivers/net/arm/at91_ether.c
 +++ b/drivers/net/arm/at91_ether.c
-@@ -220,7 +220,7 @@
+@@ -220,7 +220,7 @@ static irqreturn_t at91ether_phy_interru
                if (!(phy & (1 << 0)))
                        goto done;
        }
                read_phy(lp->phy_address, MII_TPISTATUS, &phy);         /* ack interrupt in Micrel PHY */
                if (!(phy & ((1 << 2) | 1)))
                        goto done;
-@@ -286,7 +286,7 @@
+@@ -286,7 +286,7 @@ static void enable_phyirq(struct net_dev
                dsintr = (1 << 15) | ( 1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
                dsintr = (1 << 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);
        }
                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);
  
                /* 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)
  {
  }
  
  /*
-@@ -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;
  
                dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE;    /* reset ownership bit */
                if (lp->rxBuffIndex == MAX_RX_DESCR-1)                          /* wrap after last buffer */
-@@ -934,7 +932,7 @@
+@@ -934,7 +932,7 @@ static irqreturn_t at91ether_interrupt(i
        if (intstatus & AT91_EMAC_TCOM) {       /* Transmit complete */
                /* The TCOM bit is set even if the transmission failed. */
                if (intstatus & (AT91_EMAC_TUND | AT91_EMAC_RTRY))
  
                if (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;
  
        /* 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);
        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 */
        }
  
        /* 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);
        else if (phy_type == MII_KS8721_ID)
                printk(KERN_INFO "%s: Micrel KS8721 PHY\n", dev->name);
        else if (phy_type == MII_T78Q21x3_ID)
-@@ -1146,6 +1155,7 @@
+@@ -1146,6 +1155,7 @@ static int __init at91ether_probe(struct
                        case MII_DP83847_ID:            /* National Semiconductor DP83847:  */
                        case MII_DP83848_ID:            /* National Semiconductor DP83848:  */
                        case MII_AC101L_ID:             /* Altima AC101L: PHY_ID1 = 0x22, PHY_ID2 = 0x5520 */
                        case MII_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");
  /* Micrel KS8721 PHY */
  #define MII_KS8721_ID         0x00221610
  
-@@ -84,7 +87,6 @@
+@@ -84,7 +87,6 @@ struct recv_desc_bufs
  
  struct at91_private
  {
 +#endif
 --- a/drivers/rtc/Kconfig
 +++ b/drivers/rtc/Kconfig
-@@ -487,12 +487,12 @@
+@@ -487,12 +487,12 @@ config RTC_DRV_AT91RM9200
          this is powered by the backup power supply.
  
  config RTC_DRV_AT91SAM9
  
  #include <asm/arch/at91_rtc.h>
  
-@@ -307,12 +304,6 @@
+@@ -307,12 +304,6 @@ static int __init at91_rtc_probe(struct 
                return ret;
        }
  
  #include <asm/arch/at91_rtt.h>
  
  
-@@ -150,6 +151,9 @@
+@@ -150,6 +151,9 @@ static int at91_rtc_settime(struct devic
        return 0;
  }
  
  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;
  }
  
  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;
  
        rtc->rtt += r->start;
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
-@@ -113,6 +113,15 @@
+@@ -113,6 +113,15 @@ config SPI_GPIO
  
          If unsure, say N.
  
        depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_SPI_S3C24XX)            += spi_s3c24x
  obj-$(CONFIG_SPI_TXX9)                        += spi_txx9.o
  obj-$(CONFIG_SPI_XILINX)              += xilinx_spi.o
  obj-$(CONFIG_SPI_SH_SCI)              += spi_sh_sci.o
 +MODULE_ALIAS("platform:at91_spi");
 --- a/drivers/usb/gadget/Kconfig
 +++ b/drivers/usb/gadget/Kconfig
-@@ -118,10 +118,10 @@
+@@ -118,10 +118,10 @@ config USB_AMD5536UDC
  config USB_GADGET_ATMEL_USBA
        boolean "Atmel USBA"
        select USB_GADGET_DUALSPEED
        tristate
 --- a/drivers/usb/gadget/at91_udc.c
 +++ b/drivers/usb/gadget/at91_udc.c
-@@ -1827,7 +1827,7 @@
+@@ -1827,7 +1827,7 @@ static int at91udc_suspend(struct platfo
         */
        if ((!udc->suspended && udc->addr)
                        || !wake
  
  #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;
  }
  
  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" : "");
  
        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;
                }
  
                                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,
  };
  
  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,
                .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);
                                        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 "
  
                /* 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);
                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);
  
  
                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;
        }
  
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
-@@ -2004,7 +1959,7 @@
+@@ -2004,7 +1959,7 @@ static int __init usba_udc_probe(struct 
        }
  
        usba_init_debugfs(udc);
                usba_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:
        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;
  
 --- a/drivers/usb/host/ohci-at91.c
 +++ b/drivers/usb/host/ohci-at91.c
-@@ -330,7 +330,7 @@
+@@ -330,7 +330,7 @@ ohci_hcd_at91_drv_suspend(struct platfor
         *
         * REVISIT: some boards will be able to turn VBUS off...
         */
        }
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
-@@ -889,6 +889,17 @@
+@@ -889,6 +889,17 @@ config FB_EPSON1355
          framebuffer.  Product specs at
          <http://www.erd.epson.com/vdc/html/products.htm>.
  
        depends on FB
 --- a/drivers/video/Makefile
 +++ b/drivers/video/Makefile
-@@ -87,7 +87,8 @@
+@@ -87,7 +87,8 @@ obj-$(CONFIG_FB_G364)             += g36
  obj-$(CONFIG_FB_SA1100)           += sa1100fb.o
  obj-$(CONFIG_FB_HIT)              += hitfb.o
  obj-$(CONFIG_FB_EPSON1355)      += epson1355fb.o
  #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;
  }
  
                .owner  = THIS_MODULE,
 --- a/drivers/video/backlight/Kconfig
 +++ b/drivers/video/backlight/Kconfig
-@@ -112,3 +112,11 @@
+@@ -112,3 +112,11 @@ config BACKLIGHT_CARILLO_RANCH
        help
          If you have a Intel LE80578 (Carillo Ranch) say Y to enable the
          backlight driver.
 +        backlight driver.
 --- a/drivers/video/backlight/Makefile
 +++ b/drivers/video/backlight/Makefile
-@@ -10,3 +10,4 @@
+@@ -10,3 +10,4 @@ obj-$(CONFIG_BACKLIGHT_LOCOMO)       += locomo
  obj-$(CONFIG_BACKLIGHT_OMAP1) += omap1_bl.o
  obj-$(CONFIG_BACKLIGHT_PROGEAR) += progear_bl.o
  obj-$(CONFIG_BACKLIGHT_CARILLO_RANCH) += cr_bllcd.o
 +MODULE_LICENSE("GPL");
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -66,6 +66,14 @@
+@@ -66,6 +66,14 @@ config AT91RM9200_WATCHDOG
          Watchdog timer embedded into AT91RM9200 chips. This will reboot your
          system when the timeout is reached.
  
        depends on FOOTBRIDGE
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -26,6 +26,7 @@
+@@ -26,6 +26,7 @@ obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb.
  
  # ARM Architecture
  obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o
  
   /* 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);
  
   /* 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);
  
  extern void __init at91_gpio_leds(struct gpio_led *leds, int nr);
 --- a/include/asm-arm/arch-at91/cpu.h
 +++ b/include/asm-arm/arch-at91/cpu.h
-@@ -48,6 +48,17 @@
+@@ -48,6 +48,17 @@ static inline unsigned long at91_arch_id
        return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH);
  }
  
  
  #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)
  #elif defined(CONFIG_ARCH_AT91SAM9RL)
 --- a/include/asm-arm/arch-ks8695/devices.h
 +++ b/include/asm-arm/arch-ks8695/devices.h
-@@ -18,6 +18,11 @@
+@@ -18,6 +18,11 @@ extern void __init ks8695_add_device_wan
  extern void __init ks8695_add_device_lan(void);
  extern void __init ks8695_add_device_hpna(void);
  
  #define KS8695_MODE_MINIPCI   1
 --- a/include/linux/clk.h
 +++ b/include/linux/clk.h
-@@ -121,4 +121,24 @@
+@@ -121,4 +121,24 @@ int clk_set_parent(struct clk *clk, stru
   */
  struct clk *clk_get_parent(struct clk *clk);
  
 +
 --- a/include/video/atmel_lcdc.h
 +++ b/include/video/atmel_lcdc.h
-@@ -39,6 +39,7 @@
+@@ -39,6 +39,7 @@ struct atmel_lcdfb_info {
        u8                      bl_power;
  #endif
        bool                    lcdcon_is_backlight;
  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;
        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;
        }
  
         * Set PCK1 parent to PLLB and its rate to 12 Mhz.
 --- a/sound/spi/at73c213.c
 +++ b/sound/spi/at73c213.c
-@@ -114,7 +114,11 @@
+@@ -114,7 +114,11 @@ snd_at73c213_write_reg(struct snd_at73c2
  static struct snd_pcm_hardware snd_at73c213_playback_hw = {
        .info           = SNDRV_PCM_INFO_INTERLEAVED |
                          SNDRV_PCM_INFO_BLOCK_TRANSFER,
index ee23cc8..76e3698 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/Kconfig
 +++ b/arch/arm/mach-at91/Kconfig
-@@ -151,6 +151,12 @@
+@@ -151,6 +151,12 @@ config MACH_TT9200
        help
          Select this if you are using Toptech's TT9200 board.
  
@@ -15,7 +15,7 @@
  # ----------------------------------------------------------
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_MACH_KB9200)    += board-kb920
  obj-$(CONFIG_MACH_ATEB9200)   += board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)               += board-kafa.o
  obj-$(CONFIG_MACH_CHUB)               += board-chub.o
index 20e1fe7..595720d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
-@@ -717,6 +717,26 @@
+@@ -717,6 +717,26 @@ static void __init at91_add_device_watch
  static void __init at91_add_device_watchdog(void) {}
  #endif
  
@@ -29,7 +29,7 @@
   *  SSC -- Synchronous Serial Controller
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
-@@ -60,7 +60,12 @@
+@@ -60,7 +60,12 @@ obj-$(CONFIG_MACH_AT91CAP9ADK)      += board-
  obj-$(CONFIG_MACH_AT91EB01)   += board-eb01.o
  
  # Drivers
 +__initcall(leds_init);
 --- a/include/asm-arm/arch-at91/board.h
 +++ b/include/asm-arm/arch-at91/board.h
-@@ -162,6 +162,11 @@
+@@ -162,6 +162,11 @@ extern void __init at91_add_device_ac97(
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
index f27b361..3968c6b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/board-vlink.c
 +++ b/arch/arm/mach-at91/board-vlink.c
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ static struct at91_udc_data __initdata v
  */
  
  static struct at91_mmc_data __initdata vlink_mmc_data = {
@@ -9,7 +9,7 @@
        .slot_b         = 0,
        .wire4          = 1,
  //    .wp_pin         = AT91_PIN_PA17,
-@@ -136,6 +136,7 @@
+@@ -136,6 +136,7 @@ static struct spi_board_info vlink_spi_d
  
  static void __init vlink_board_init(void)
  {
@@ -17,7 +17,7 @@
        /* Serial */
        at91_add_device_serial();
        /* Ethernet */
-@@ -157,36 +158,66 @@
+@@ -157,36 +158,66 @@ static void __init vlink_board_init(void
  //    at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */
        at91_add_device_mmc(0, &vlink_mmc_data);
  #endif
  
  
  static inline void __iomem *pin_to_controller(unsigned pin)
-@@ -71,9 +72,13 @@
+@@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip
  {
        void __iomem    *pio = pin_to_controller(pin);
        unsigned        mask = pin_to_mask(pin);
        __raw_writel(mask, pio + PIO_IDR);
        __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
        __raw_writel(mask, pio + PIO_PER);
-@@ -130,10 +135,13 @@
+@@ -130,10 +135,13 @@ int __init_or_module at91_set_gpio_input
  {
        void __iomem    *pio = pin_to_controller(pin);
        unsigned        mask = pin_to_mask(pin);
        __raw_writel(mask, pio + PIO_IDR);
        __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
        __raw_writel(mask, pio + PIO_ODR);
-@@ -151,10 +159,13 @@
+@@ -151,10 +159,13 @@ int __init_or_module at91_set_gpio_outpu
  {
        void __iomem    *pio = pin_to_controller(pin);
        unsigned        mask = pin_to_mask(pin);
        __raw_writel(mask, pio + PIO_IDR);
        __raw_writel(mask, pio + PIO_PUDR);
        __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR));
-@@ -262,6 +273,18 @@
+@@ -262,6 +273,18 @@ int at91_get_gpio_value(unsigned pin)
  }
  EXPORT_SYMBOL(at91_get_gpio_value);
  
  #ifdef CONFIG_PM
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -1072,5 +1072,12 @@
+@@ -1072,5 +1072,12 @@ config AT91_SPIDEV
          The SPI driver gives user mode access to this serial
          bus on the AT91RM9200 processor.
  
  
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -100,6 +100,7 @@
+@@ -100,6 +100,7 @@ obj-$(CONFIG_GPIO_TB0219)  += tb0219.o
  obj-$(CONFIG_TELCLOCK)                += tlclk.o
  obj-$(CONFIG_AT91_SPI)                += at91_spi.o
  obj-$(CONFIG_AT91_SPIDEV)     += at91_spidev.o
 +MODULE_DESCRIPTION("FDL Versalink GPIO Driver");
 --- a/include/asm-arm/arch-at91/gpio.h
 +++ b/include/asm-arm/arch-at91/gpio.h
-@@ -199,6 +199,7 @@
+@@ -199,6 +199,7 @@ extern int __init_or_module at91_set_mul
  /* callable at any time */
  extern int at91_set_gpio_value(unsigned pin, int value);
  extern int at91_get_gpio_value(unsigned pin);
index 8060259..503c892 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/at91_dataflash.c
 +++ b/drivers/mtd/devices/at91_dataflash.c
-@@ -175,7 +175,7 @@
+@@ -175,7 +175,7 @@ static struct mtd_partition static_parti
  };
  #endif
  
@@ -11,7 +11,7 @@
  
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -168,6 +168,12 @@
+@@ -168,6 +168,12 @@ config MTD_OF_PARTS
          the partition map from the children of the flash node,
          as described in Documentation/powerpc/booting-without-of.txt.
  
@@ -26,7 +26,7 @@
  config MTD_CHAR
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redbo
  obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
  obj-$(CONFIG_MTD_AFS_PARTS)   += afs.o
  obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o
index 3319901..cf11ac0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/serial/atmel_serial.c
 +++ b/drivers/serial/atmel_serial.c
-@@ -214,6 +214,34 @@
+@@ -214,6 +214,34 @@ static void atmel_set_mctrl(struct uart_
                                at91_set_gpio_value(AT91_PIN_PA21, 0);
                        else
                                at91_set_gpio_value(AT91_PIN_PA21, 1);
@@ -35,7 +35,7 @@
                }
        }
  #endif
-@@ -251,8 +279,10 @@
+@@ -251,8 +279,10 @@ static u_int atmel_get_mctrl(struct uart
        /*
         * The control signals are active low.
         */
@@ -48,7 +48,7 @@
        if (!(status & ATMEL_US_CTS))
                ret |= TIOCM_CTS;
        if (!(status & ATMEL_US_DSR))
-@@ -260,6 +290,16 @@
+@@ -260,6 +290,16 @@ static u_int atmel_get_mctrl(struct uart
        if (!(status & ATMEL_US_RI))
                ret |= TIOCM_RI;
  
@@ -65,7 +65,7 @@
        return ret;
  }
  
-@@ -453,6 +493,34 @@
+@@ -453,6 +493,34 @@ static void atmel_tx_chars(struct uart_p
  }
  
  /*
   * receive interrupt handler.
   */
  static void
-@@ -815,6 +883,23 @@
+@@ -815,6 +883,23 @@ static int atmel_startup(struct uart_por
                return retval;
        }
  
        /*
         * Initialize DMA (if necessary)
         */
-@@ -834,6 +919,10 @@
+@@ -834,6 +919,10 @@ static int atmel_startup(struct uart_por
                                        kfree(atmel_port->pdc_rx[0].buf);
                                }
                                free_irq(port->irq, port);
                                return -ENOMEM;
                        }
                        pdc->dma_addr = dma_map_single(port->dev,
-@@ -873,7 +962,11 @@
+@@ -873,7 +962,11 @@ static int atmel_startup(struct uart_por
                retval = atmel_open_hook(port);
                if (retval) {
                        free_irq(port->irq, port);
                }
        }
  
-@@ -947,6 +1040,10 @@
+@@ -947,6 +1040,10 @@ static void atmel_shutdown(struct uart_p
         * Free the interrupt
         */
        free_irq(port->irq, port);
index 45d6783..d300231 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
-@@ -1001,7 +1001,15 @@
+@@ -1001,7 +1001,15 @@ static inline void configure_usart0_pins
                 *  We need to drive the pin manually.  Default is off (RTS is active low).
                 */
                at91_set_gpio_output(AT91_PIN_PA21, 1);
@@ -17,7 +17,7 @@
  }
  
  static struct resource uart1_resources[] = {
-@@ -1139,6 +1147,14 @@
+@@ -1139,6 +1147,14 @@ static inline void configure_usart3_pins
                at91_set_B_periph(AT91_PIN_PB1, 0);     /* CTS3 */
        if (pins & ATMEL_UART_RTS)
                at91_set_B_periph(AT91_PIN_PB0, 0);     /* RTS3 */
index a848512..756e014 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/arm/at91_ether.c
 +++ b/drivers/net/arm/at91_ether.c
-@@ -146,6 +146,7 @@
+@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_
        struct at91_private *lp = netdev_priv(dev);
        unsigned int bmsr, bmcr, lpa, mac_cfg;
        unsigned int speed, duplex;
@@ -8,7 +8,7 @@
  
        if (!mii_link_ok(&lp->mii)) {           /* no link */
                netif_carrier_off(dev);
-@@ -158,8 +159,15 @@
+@@ -158,8 +159,15 @@ static void update_linkspeed(struct net_
        read_phy(lp->phy_address, MII_BMSR, &bmsr);
        read_phy(lp->phy_address, MII_BMCR, &bmcr);
        if (bmcr & BMCR_ANENABLE) {                             /* AutoNegotiation is enabled */
index 4912074..554c149 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/at91_dataflash.c
 +++ b/drivers/mtd/devices/at91_dataflash.c
-@@ -163,12 +163,12 @@
+@@ -163,12 +163,12 @@ static struct mtd_partition static_parti
                .mask_flags     = MTD_WRITEABLE,        /* read-only */
        },
        {
index d698763..7bd38b4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
-@@ -904,7 +904,7 @@
+@@ -904,7 +904,7 @@ int usb_serial_probe(struct usb_interfac
                        dev_err(&interface->dev, "No free urbs available\n");
                        goto probe_error;
                }
index 4db3a39..a022d5f 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=au1000
 BOARDNAME:=RMI/AMD AU1x00
 FEATURES:=jffs2 usb pci
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += yamonenv
index bac9463..b3aa063 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
 
 --- a/arch/mips/au1000/Kconfig
 +++ b/arch/mips/au1000/Kconfig
-@@ -135,3 +135,4 @@
+@@ -135,3 +135,4 @@ config SOC_AU1X00
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_APM_EMULATION
        select SYS_SUPPORTS_KGDB
index a3aa7ad..e38b83f 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
  static struct resource mtx1_wdt_res[] = {
        [0] = {
                .start = 15,
-@@ -62,11 +85,13 @@
+@@ -62,11 +85,13 @@ static struct platform_device mtx1_gpio_
  
  static struct platform_device *mtx1_devs[] = {
        &mtx1_gpio_leds,
index 8ba5f00..e3771d7 100644 (file)
@@ -10,7 +10,7 @@
   * ########################################################################
   *
   *  This program is free software; you can distribute it and/or modify it
-@@ -835,6 +838,10 @@
+@@ -835,6 +838,10 @@ static int au1000_init(struct net_device
  
        control = MAC_RX_ENABLE | MAC_TX_ENABLE;
  #ifndef CONFIG_CPU_LITTLE_ENDIAN
index ee8b541..a41ee6f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/au1000/mtx-1/init.c
 +++ b/arch/mips/au1000/mtx-1/init.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ void __init prom_init(void)
        prom_argv = (char **) fw_arg1;
        prom_envp = (char **) fw_arg2;
  
index 414aa39..e7bcba6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/mtx-1_flash.c
 +++ b/drivers/mtd/maps/mtx-1_flash.c
-@@ -28,7 +28,7 @@
+@@ -28,7 +28,7 @@ static struct map_info mtx1_map = {
  
  static struct mtd_partition mtx1_partitions[] = {
          {
index ed308f8..9358981 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/au1000_eth.c
 +++ b/drivers/net/au1000_eth.c
-@@ -1306,9 +1306,12 @@
+@@ -1306,9 +1306,12 @@ static void set_rx_mode(struct net_devic
        }
  }
  
index 4ad718b..a5b00a8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/mach-au1x00/au1000.h
 +++ b/include/asm-mips/mach-au1x00/au1000.h
-@@ -623,6 +623,7 @@
+@@ -623,6 +623,7 @@ enum soc_au1500_ints {
        AU1000_RTC_MATCH1_INT,
        AU1000_RTC_MATCH2_INT,
        AU1500_PCI_ERR_INT,
index 982d10a..5ae819e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/au1000/common/gpio.c
 +++ b/arch/mips/au1000/common/gpio.c
-@@ -66,7 +66,8 @@
+@@ -66,7 +66,8 @@ static int au1xxx_gpio2_direction_input(
  static int au1xxx_gpio2_direction_output(unsigned gpio, int value)
  {
        gpio -= AU1XXX_GPIO_BASE;
@@ -10,7 +10,7 @@
        return 0;
  }
  
-@@ -95,6 +96,7 @@
+@@ -95,6 +96,7 @@ static int au1xxx_gpio1_direction_input(
  static int au1xxx_gpio1_direction_output(unsigned gpio, int value)
  {
        gpio1->trioutclr = (0x01 & gpio);
index 6d24ecf..7d1b841 100644 (file)
@@ -10,7 +10,7 @@ ARCH:=avr32
 BOARD:=avr32
 BOARDNAME:=Atmel AVR32
 FEATURES:=squashfs
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
index 2f6291a..6c9fe1e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Documentation/serial/driver
 +++ b/Documentation/serial/driver
-@@ -186,6 +186,17 @@
+@@ -186,6 +186,17 @@ hardware.
        Locking: port_sem taken.
        Interrupts: caller dependent.
  
@@ -20,7 +20,7 @@
        bits.  Update read_status_mask and ignore_status_mask to indicate
 --- a/arch/avr32/Kconfig
 +++ b/arch/avr32/Kconfig
-@@ -47,6 +47,9 @@
+@@ -47,6 +47,9 @@ config RWSEM_GENERIC_SPINLOCK
  config GENERIC_TIME
        def_bool y
  
@@ -30,7 +30,7 @@
  config RWSEM_XCHGADD_ALGORITHM
        def_bool n
  
-@@ -70,6 +73,8 @@
+@@ -70,6 +73,8 @@ source "init/Kconfig"
  
  menu "System Type and features"
  
@@ -39,7 +39,7 @@
  config SUBARCH_AVR32B
        bool
  config MMU
-@@ -83,6 +88,7 @@
+@@ -83,6 +88,7 @@ config PLATFORM_AT32AP
        select MMU
        select PERFORMANCE_COUNTERS
        select HAVE_GPIO_LIB
@@ -47,7 +47,7 @@
  
  #
  # CPU types
-@@ -117,6 +123,9 @@
+@@ -117,6 +123,9 @@ endchoice
  if BOARD_ATSTK1000
  source "arch/avr32/boards/atstk1000/Kconfig"
  endif
@@ -57,7 +57,7 @@
  
  choice
        prompt "Boot loader type"
-@@ -142,6 +151,9 @@
+@@ -142,6 +151,9 @@ config PHYS_OFFSET
  
  source "kernel/Kconfig.preempt"
  
@@ -67,7 +67,7 @@
  config HAVE_ARCH_BOOTMEM_NODE
        def_bool n
  
-@@ -180,6 +192,10 @@
+@@ -180,6 +192,10 @@ config NMI_DEBUGGING
          be dumped to the console when a Non-Maskable Interrupt
          happens.
  
@@ -78,7 +78,7 @@
  # FPU emulation goes here
  
  source "kernel/Kconfig.hz"
-@@ -196,6 +212,11 @@
+@@ -196,6 +212,11 @@ endmenu
  
  menu "Power management options"
  
@@ -92,7 +92,7 @@
  source "drivers/cpufreq/Kconfig"
 --- a/arch/avr32/Makefile
 +++ b/arch/avr32/Makefile
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,7 @@ core-$(CONFIG_LOADER_U_BOOT)         += arch/av
  core-y                                        += arch/avr32/kernel/
  core-y                                        += arch/avr32/mm/
  drivers-$(CONFIG_OPROFILE)            += arch/avr32/oprofile/
  /* Initialized by bootloader-specific startup code. */
  struct tag *bootloader_tags __initdata;
  
-@@ -37,11 +44,16 @@
+@@ -37,11 +44,16 @@ static struct eth_platform_data __initda
  static struct spi_board_info spi0_board_info[] __initdata = {
        {
                .modalias       = "mtd_dataflash",
  /*
   * The next two functions should go away as the boot loader is
   * supposed to initialize the macb address registers with a valid
-@@ -124,6 +136,7 @@
+@@ -124,6 +136,7 @@ static struct platform_device ngw_gpio_l
        }
  };
  
  static struct i2c_gpio_platform_data i2c_gpio_data = {
        .sda_pin                = GPIO_PIN_PA(6),
        .scl_pin                = GPIO_PIN_PA(7),
-@@ -139,6 +152,7 @@
+@@ -139,6 +152,7 @@ static struct platform_device i2c_gpio_d
                .platform_data  = &i2c_gpio_data,
        },
  };
  
  static int __init atngw100_init(void)
  {
-@@ -157,6 +171,7 @@
+@@ -157,6 +171,7 @@ static int __init atngw100_init(void)
        set_hw_addr(at32_add_device_eth(1, &eth_data[1]));
  
        at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info));
        at32_add_device_usba(0, NULL);
  
        for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) {
-@@ -165,11 +180,15 @@
+@@ -165,11 +180,15 @@ static int __init atngw100_init(void)
        }
        platform_device_register(&ngw_gpio_leds);
  
  }
 --- a/arch/avr32/boards/atstk1000/Kconfig
 +++ b/arch/avr32/boards/atstk1000/Kconfig
-@@ -18,6 +18,10 @@
+@@ -18,6 +18,10 @@ config BOARD_ATSTK1004
        bool "ATSTK1004"
        select CPU_AT32AP7002
  
  endchoice
  
  
-@@ -102,4 +106,60 @@
+@@ -102,4 +106,60 @@ config BOARD_ATSTK1000_EXTDAC
        depends on !BOARD_ATSTK100X_SW1_CUSTOM && !BOARD_ATSTK100X_SW3_CUSTOM
        default y
  
  endif # stk 1000
 --- a/arch/avr32/boards/atstk1000/Makefile
 +++ b/arch/avr32/boards/atstk1000/Makefile
-@@ -2,3 +2,4 @@
+@@ -2,3 +2,4 @@ obj-y                          += setup.o flash.o
  obj-$(CONFIG_BOARD_ATSTK1002) += atstk1002.o
  obj-$(CONFIG_BOARD_ATSTK1003) += atstk1003.o
  obj-$(CONFIG_BOARD_ATSTK1004) += atstk1004.o
  
  struct eth_addr {
        u8 addr[6];
-@@ -83,6 +157,19 @@
+@@ -83,6 +157,19 @@ static struct spi_board_info spi1_board_
  } };
  #endif
  
  /*
   * The next two functions should go away as the boot loader is
   * supposed to initialize the macb address registers with a valid
-@@ -212,6 +299,12 @@
+@@ -212,6 +299,12 @@ static int __init atstk1002_init(void)
  
        at32_add_system_devices();
  
  #ifdef        CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
        at32_add_device_usart(1);
  #else
-@@ -228,16 +321,30 @@
+@@ -228,16 +321,30 @@ static int __init atstk1002_init(void)
  #ifdef CONFIG_BOARD_ATSTK100X_SPI1
        at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
  #endif
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static struct at73c213_board_info at73c213_data = {
        .ssc_id         = 0,
-@@ -59,6 +66,19 @@
+@@ -59,6 +66,19 @@ static struct spi_board_info spi1_board_
  } };
  #endif
  
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static void __init atstk1003_setup_extdac(void)
  {
-@@ -147,12 +167,22 @@
+@@ -147,12 +167,22 @@ static int __init atstk1003_init(void)
        at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
  #endif
  #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static struct at73c213_board_info at73c213_data = {
        .ssc_id         = 0,
-@@ -130,14 +137,23 @@
+@@ -130,14 +137,23 @@ static int __init atstk1004_init(void)
        at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
  #endif
  #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -37,17 +37,15 @@
+@@ -37,17 +37,15 @@ CONFIG_POSIX_MQUEUE=y
  CONFIG_BSD_PROCESS_ACCT=y
  CONFIG_BSD_PROCESS_ACCT_V3=y
  # CONFIG_TASKSTATS is not set
  CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=""
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -61,11 +59,13 @@
+@@ -61,11 +59,13 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=y
-@@ -73,6 +73,14 @@
+@@ -73,6 +73,14 @@ CONFIG_SLUB_DEBUG=y
  # CONFIG_SLAB is not set
  CONFIG_SLUB=y
  # CONFIG_SLOB is not set
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
-@@ -101,10 +109,15 @@
+@@ -101,10 +109,15 @@ CONFIG_IOSCHED_CFQ=y
  CONFIG_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -113,6 +126,7 @@
+@@ -113,6 +126,7 @@ CONFIG_CPU_AT32AP700X=y
  CONFIG_CPU_AT32AP7000=y
  # CONFIG_BOARD_ATSTK1000 is not set
  CONFIG_BOARD_ATNGW100=y
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -121,6 +135,7 @@
+@@ -121,6 +135,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -146,16 +161,26 @@
+@@ -146,16 +161,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # CPU Frequency scaling
-@@ -164,9 +189,9 @@
+@@ -164,9 +189,9 @@ CONFIG_CPU_FREQ=y
  CONFIG_CPU_FREQ_TABLE=y
  # CONFIG_CPU_FREQ_DEBUG is not set
  # CONFIG_CPU_FREQ_STAT is not set
  # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -202,6 +227,7 @@
+@@ -202,6 +227,7 @@ CONFIG_XFRM=y
  CONFIG_XFRM_USER=y
  # CONFIG_XFRM_SUB_POLICY is not set
  # CONFIG_XFRM_MIGRATE is not set
  CONFIG_NET_KEY=y
  # CONFIG_NET_KEY_MIGRATE is not set
  CONFIG_INET=y
-@@ -260,82 +286,33 @@
+@@ -260,82 +286,33 @@ CONFIG_IPV6_SIT=y
  # CONFIG_NETWORK_SECMARK is not set
  CONFIG_NETFILTER=y
  # CONFIG_NETFILTER_DEBUG is not set
  CONFIG_IP_NF_FILTER=m
  CONFIG_IP_NF_TARGET_REJECT=m
  CONFIG_IP_NF_TARGET_LOG=m
-@@ -343,54 +320,25 @@
+@@ -343,54 +320,25 @@ CONFIG_IP_NF_TARGET_LOG=m
  CONFIG_NF_NAT=m
  CONFIG_NF_NAT_NEEDED=y
  CONFIG_IP_NF_TARGET_MASQUERADE=m
  # CONFIG_IP_DCCP is not set
  # CONFIG_IP_SCTP is not set
  # CONFIG_TIPC is not set
-@@ -407,7 +355,6 @@
+@@ -407,7 +355,6 @@ CONFIG_LLC=m
  # CONFIG_ECONET is not set
  # CONFIG_WAN_ROUTER is not set
  # CONFIG_NET_SCHED is not set
  
  #
  # Network testing
-@@ -415,6 +362,7 @@
+@@ -415,6 +362,7 @@ CONFIG_NET_CLS_ROUTE=y
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_NET_TCPPROBE is not set
  # CONFIG_HAMRADIO is not set
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -531,11 +479,18 @@
+@@ -531,11 +479,18 @@ CONFIG_BLK_DEV_NBD=m
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
  
  #
  # SCSI device support
-@@ -568,11 +523,13 @@
+@@ -568,11 +523,13 @@ CONFIG_PHYLIB=y
  # CONFIG_SMSC_PHY is not set
  # CONFIG_BROADCOM_PHY is not set
  # CONFIG_ICPLUS_PHY is not set
  # CONFIG_IBM_NEW_EMAC_ZMII is not set
  # CONFIG_IBM_NEW_EMAC_RGMII is not set
  # CONFIG_IBM_NEW_EMAC_TAH is not set
-@@ -599,7 +556,6 @@
+@@ -599,7 +556,6 @@ CONFIG_PPPOE=m
  # CONFIG_PPPOL2TP is not set
  # CONFIG_SLIP is not set
  CONFIG_SLHC=m
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
  # CONFIG_NET_POLL_CONTROLLER is not set
-@@ -633,6 +589,7 @@
+@@ -633,6 +589,7 @@ CONFIG_SLHC=m
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -640,8 +597,6 @@
+@@ -640,8 +597,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
  # CONFIG_R3964 is not set
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
-@@ -659,6 +614,7 @@
+@@ -659,6 +614,7 @@ CONFIG_I2C_ALGOBIT=m
  #
  # I2C Hardware Bus support
  #
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -669,13 +625,12 @@
+@@ -669,13 +625,12 @@ CONFIG_I2C_GPIO=m
  #
  # Miscellaneous I2C Chip support
  #
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
-@@ -702,9 +657,27 @@
+@@ -702,9 +657,27 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -757,10 +730,6 @@
+@@ -757,10 +730,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG is not set
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -787,21 +756,24 @@
+@@ -787,21 +756,24 @@ CONFIG_USB_FILE_STORAGE=m
  # CONFIG_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
  CONFIG_NEW_LEDS=y
  CONFIG_LEDS_CLASS=y
  
-@@ -844,19 +816,22 @@
+@@ -844,19 +816,22 @@ CONFIG_RTC_INTF_DEV=y
  # CONFIG_RTC_DRV_PCF8563 is not set
  # CONFIG_RTC_DRV_PCF8583 is not set
  # CONFIG_RTC_DRV_M41T80 is not set
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -874,25 +849,23 @@
+@@ -874,25 +849,23 @@ CONFIG_RTC_DRV_AT32AP700X=y
  #
  # File systems
  #
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
-@@ -923,7 +896,7 @@
+@@ -923,7 +896,7 @@ CONFIG_SYSFS=y
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
  
  #
  # Miscellaneous filesystems
-@@ -948,8 +921,10 @@
+@@ -948,8 +921,10 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_JFFS2_RUBIN is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
  # CONFIG_SYSV_FS is not set
  # CONFIG_UFS_FS is not set
  CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1030,11 +1005,6 @@
+@@ -1030,11 +1005,6 @@ CONFIG_NLS_ISO8859_1=m
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
-@@ -1053,6 +1023,7 @@
+@@ -1053,6 +1023,7 @@ CONFIG_SCHED_DEBUG=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_TIMER_STATS is not set
  # CONFIG_SLUB_DEBUG_ON is not set
  # CONFIG_DEBUG_RT_MUTEXES is not set
  # CONFIG_RT_MUTEX_TESTER is not set
  # CONFIG_DEBUG_SPINLOCK is not set
-@@ -1069,9 +1040,10 @@
+@@ -1069,9 +1040,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
  # CONFIG_DEBUG_LIST is not set
  # CONFIG_DEBUG_SG is not set
  CONFIG_FRAME_POINTER=y
  # CONFIG_LKDTM is not set
  # CONFIG_FAULT_INJECTION is not set
  # CONFIG_SAMPLES is not set
-@@ -1084,7 +1056,9 @@
+@@ -1084,7 +1056,9 @@ CONFIG_FRAME_POINTER=y
  # CONFIG_SECURITY_FILE_CAPABILITIES is not set
  CONFIG_CRYPTO=y
  CONFIG_CRYPTO_ALGAPI=y
  CONFIG_CRYPTO_HASH=y
  CONFIG_CRYPTO_MANAGER=y
  CONFIG_CRYPTO_HMAC=y
-@@ -1103,6 +1077,9 @@
+@@ -1103,6 +1077,9 @@ CONFIG_CRYPTO_CBC=y
  CONFIG_CRYPTO_PCBC=m
  # CONFIG_CRYPTO_LRW is not set
  # CONFIG_CRYPTO_XTS is not set
  # CONFIG_CRYPTO_CRYPTD is not set
  CONFIG_CRYPTO_DES=y
  # CONFIG_CRYPTO_FCRYPT is not set
-@@ -1117,12 +1094,14 @@
+@@ -1117,12 +1094,14 @@ CONFIG_CRYPTO_ARC4=m
  # CONFIG_CRYPTO_KHAZAD is not set
  # CONFIG_CRYPTO_ANUBIS is not set
  # CONFIG_CRYPTO_SEED is not set
  CONFIG_CRYPTO_HW=y
  
  #
-@@ -1137,10 +1116,7 @@
+@@ -1137,10 +1116,7 @@ CONFIG_CRC7=m
  # CONFIG_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -36,15 +36,15 @@
+@@ -36,15 +36,15 @@ CONFIG_SYSVIPC_SYSCTL=y
  CONFIG_POSIX_MQUEUE=y
  # CONFIG_BSD_PROCESS_ACCT is not set
  # CONFIG_TASKSTATS is not set
  CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=""
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -58,11 +58,13 @@
+@@ -58,11 +58,13 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=y
-@@ -70,6 +72,14 @@
+@@ -70,6 +72,14 @@ CONFIG_SLUB_DEBUG=y
  # CONFIG_SLAB is not set
  CONFIG_SLUB=y
  # CONFIG_SLOB is not set
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
-@@ -98,10 +108,15 @@
+@@ -98,10 +108,15 @@ CONFIG_IOSCHED_CFQ=y
  CONFIG_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -113,12 +128,16 @@
+@@ -113,12 +128,16 @@ CONFIG_BOARD_ATSTK1000=y
  CONFIG_BOARD_ATSTK1002=y
  # CONFIG_BOARD_ATSTK1003 is not set
  # CONFIG_BOARD_ATSTK1004 is not set
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -127,6 +146,7 @@
+@@ -127,6 +146,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -152,16 +172,26 @@
+@@ -152,16 +172,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # CPU Frequency scaling
-@@ -170,9 +200,9 @@
+@@ -170,9 +200,9 @@ CONFIG_CPU_FREQ=y
  CONFIG_CPU_FREQ_TABLE=y
  # CONFIG_CPU_FREQ_DEBUG is not set
  # CONFIG_CPU_FREQ_STAT is not set
  # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -208,6 +238,7 @@
+@@ -208,6 +238,7 @@ CONFIG_XFRM=y
  CONFIG_XFRM_USER=m
  # CONFIG_XFRM_SUB_POLICY is not set
  # CONFIG_XFRM_MIGRATE is not set
  CONFIG_NET_KEY=m
  # CONFIG_NET_KEY_MIGRATE is not set
  CONFIG_INET=y
-@@ -279,6 +310,7 @@
+@@ -279,6 +310,7 @@ CONFIG_LLC=m
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_NET_TCPPROBE is not set
  # CONFIG_HAMRADIO is not set
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -395,13 +427,18 @@
+@@ -395,13 +427,18 @@ CONFIG_BLK_DEV_NBD=m
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
  
  #
  # SCSI device support
-@@ -444,6 +481,7 @@
+@@ -444,6 +481,7 @@ CONFIG_SCSI_WAIT_SCAN=m
  # CONFIG_SCSI_LOWLEVEL is not set
  CONFIG_ATA=m
  # CONFIG_ATA_NONSTANDARD is not set
  CONFIG_PATA_AT32=m
  # CONFIG_PATA_PLATFORM is not set
  # CONFIG_MD is not set
-@@ -469,11 +507,13 @@
+@@ -469,11 +507,13 @@ CONFIG_PHYLIB=y
  # CONFIG_SMSC_PHY is not set
  # CONFIG_BROADCOM_PHY is not set
  # CONFIG_ICPLUS_PHY is not set
  # CONFIG_IBM_NEW_EMAC_ZMII is not set
  # CONFIG_IBM_NEW_EMAC_RGMII is not set
  # CONFIG_IBM_NEW_EMAC_TAH is not set
-@@ -500,7 +540,6 @@
+@@ -500,7 +540,6 @@ CONFIG_PPP_BSDCOMP=m
  # CONFIG_PPPOL2TP is not set
  # CONFIG_SLIP is not set
  CONFIG_SLHC=m
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
  # CONFIG_NET_POLL_CONTROLLER is not set
-@@ -568,6 +607,7 @@
+@@ -568,6 +607,7 @@ CONFIG_MOUSE_GPIO=m
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -575,8 +615,6 @@
+@@ -575,8 +615,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
  # CONFIG_R3964 is not set
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
-@@ -594,6 +632,7 @@
+@@ -594,6 +632,7 @@ CONFIG_I2C_ALGOBIT=m
  #
  # I2C Hardware Bus support
  #
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -604,13 +643,12 @@
+@@ -604,13 +643,12 @@ CONFIG_I2C_GPIO=m
  #
  # Miscellaneous I2C Chip support
  #
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
-@@ -637,9 +675,27 @@
+@@ -637,9 +675,27 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -732,12 +788,18 @@
+@@ -732,12 +788,18 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
  #
  # Generic devices
  #
  # SPI devices
  #
  CONFIG_SND_AT73C213=m
-@@ -753,9 +815,14 @@
+@@ -753,9 +815,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000
  #
  
  #
  # CONFIG_HID_SUPPORT is not set
  CONFIG_USB_SUPPORT=y
  # CONFIG_USB_ARCH_HAS_HCD is not set
-@@ -765,10 +832,6 @@
+@@ -765,10 +832,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG is not set
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -796,27 +859,31 @@
+@@ -796,27 +859,31 @@ CONFIG_USB_FILE_STORAGE=m
  # CONFIG_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
  CONFIG_LEDS_GPIO=m
  
  #
-@@ -853,19 +920,22 @@
+@@ -853,19 +920,22 @@ CONFIG_RTC_INTF_DEV=y
  # CONFIG_RTC_DRV_PCF8563 is not set
  # CONFIG_RTC_DRV_PCF8583 is not set
  # CONFIG_RTC_DRV_M41T80 is not set
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -883,13 +953,13 @@
+@@ -883,13 +953,13 @@ CONFIG_RTC_DRV_AT32AP700X=y
  #
  # File systems
  #
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
-@@ -897,12 +967,10 @@
+@@ -897,12 +967,10 @@ CONFIG_JBD=m
  # CONFIG_XFS_FS is not set
  # CONFIG_GFS2_FS is not set
  # CONFIG_OCFS2_FS is not set
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
-@@ -933,7 +1001,7 @@
+@@ -933,7 +1001,7 @@ CONFIG_SYSFS=y
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
  
  #
  # Miscellaneous filesystems
-@@ -957,8 +1025,10 @@
+@@ -957,8 +1025,10 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_JFFS2_RUBIN is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
  # CONFIG_SYSV_FS is not set
  # CONFIG_UFS_FS is not set
  CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1028,11 +1098,6 @@
+@@ -1028,11 +1098,6 @@ CONFIG_NLS_ISO8859_1=m
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
-@@ -1051,6 +1116,7 @@
+@@ -1051,6 +1116,7 @@ CONFIG_SCHED_DEBUG=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_TIMER_STATS is not set
  # CONFIG_SLUB_DEBUG_ON is not set
  # CONFIG_DEBUG_RT_MUTEXES is not set
  # CONFIG_RT_MUTEX_TESTER is not set
  # CONFIG_DEBUG_SPINLOCK is not set
-@@ -1067,9 +1133,10 @@
+@@ -1067,9 +1133,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
  # CONFIG_DEBUG_LIST is not set
  # CONFIG_DEBUG_SG is not set
  CONFIG_FRAME_POINTER=y
  # CONFIG_LKDTM is not set
  # CONFIG_FAULT_INJECTION is not set
  # CONFIG_SAMPLES is not set
-@@ -1082,7 +1149,9 @@
+@@ -1082,7 +1149,9 @@ CONFIG_FORCED_INLINING=y
  # CONFIG_SECURITY_FILE_CAPABILITIES is not set
  CONFIG_CRYPTO=y
  CONFIG_CRYPTO_ALGAPI=m
  CONFIG_CRYPTO_HASH=m
  CONFIG_CRYPTO_MANAGER=m
  CONFIG_CRYPTO_HMAC=m
-@@ -1101,6 +1170,9 @@
+@@ -1101,6 +1170,9 @@ CONFIG_CRYPTO_CBC=m
  # CONFIG_CRYPTO_PCBC is not set
  # CONFIG_CRYPTO_LRW is not set
  # CONFIG_CRYPTO_XTS is not set
  # CONFIG_CRYPTO_CRYPTD is not set
  CONFIG_CRYPTO_DES=m
  # CONFIG_CRYPTO_FCRYPT is not set
-@@ -1115,12 +1187,14 @@
+@@ -1115,12 +1187,14 @@ CONFIG_CRYPTO_DES=m
  # CONFIG_CRYPTO_KHAZAD is not set
  # CONFIG_CRYPTO_ANUBIS is not set
  # CONFIG_CRYPTO_SEED is not set
  # CONFIG_CRYPTO_HW is not set
  
  #
-@@ -1135,6 +1209,7 @@
+@@ -1135,6 +1209,7 @@ CONFIG_CRC7=m
  # CONFIG_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -39,17 +39,15 @@
+@@ -39,17 +39,15 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
  CONFIG_TASKSTATS=y
  CONFIG_TASK_DELAY_ACCT=y
  # CONFIG_TASK_XACCT is not set
  CONFIG_BLK_DEV_INITRD=y
  CONFIG_INITRAMFS_SOURCE=""
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -63,11 +61,13 @@
+@@ -63,11 +61,13 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=y
-@@ -75,6 +75,14 @@
+@@ -75,6 +75,14 @@ CONFIG_VM_EVENT_COUNTERS=y
  # CONFIG_SLAB is not set
  CONFIG_SLUB=y
  # CONFIG_SLOB is not set
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
-@@ -103,10 +111,15 @@
+@@ -103,10 +111,15 @@ CONFIG_IOSCHED_CFQ=y
  CONFIG_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -118,12 +131,16 @@
+@@ -118,12 +131,16 @@ CONFIG_BOARD_ATSTK1000=y
  # CONFIG_BOARD_ATSTK1002 is not set
  CONFIG_BOARD_ATSTK1003=y
  # CONFIG_BOARD_ATSTK1004 is not set
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -132,6 +149,7 @@
+@@ -132,6 +149,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -157,16 +175,26 @@
+@@ -157,16 +175,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # CPU Frequency scaling
-@@ -175,9 +203,9 @@
+@@ -175,9 +203,9 @@ CONFIG_CPU_FREQ=y
  CONFIG_CPU_FREQ_TABLE=y
  # CONFIG_CPU_FREQ_DEBUG is not set
  # CONFIG_CPU_FREQ_STAT is not set
  # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
  CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -260,6 +288,7 @@
+@@ -260,6 +288,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_NET_TCPPROBE is not set
  # CONFIG_HAMRADIO is not set
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -376,13 +405,18 @@
+@@ -376,13 +405,18 @@ CONFIG_BLK_DEV_NBD=m
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
  
  #
  # SCSI device support
-@@ -427,6 +461,7 @@
+@@ -427,6 +461,7 @@ CONFIG_SCSI_LOWLEVEL=y
  # CONFIG_SCSI_DEBUG is not set
  CONFIG_ATA=m
  # CONFIG_ATA_NONSTANDARD is not set
  CONFIG_PATA_AT32=m
  # CONFIG_PATA_PLATFORM is not set
  # CONFIG_MD is not set
-@@ -460,7 +495,6 @@
+@@ -460,7 +495,6 @@ CONFIG_PPP_BSDCOMP=m
  # CONFIG_PPPOL2TP is not set
  # CONFIG_SLIP is not set
  CONFIG_SLHC=m
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
  # CONFIG_NET_POLL_CONTROLLER is not set
-@@ -528,6 +562,7 @@
+@@ -528,6 +562,7 @@ CONFIG_MOUSE_GPIO=m
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -535,8 +570,6 @@
+@@ -535,8 +570,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
  # CONFIG_R3964 is not set
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
-@@ -554,6 +587,7 @@
+@@ -554,6 +587,7 @@ CONFIG_I2C_ALGOBIT=m
  #
  # I2C Hardware Bus support
  #
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -564,13 +598,12 @@
+@@ -564,13 +598,12 @@ CONFIG_I2C_GPIO=m
  #
  # Miscellaneous I2C Chip support
  #
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
-@@ -597,9 +630,27 @@
+@@ -597,9 +630,27 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -665,12 +716,18 @@
+@@ -665,12 +716,18 @@ CONFIG_SND_VERBOSE_PROCFS=y
  #
  # Generic devices
  #
  # SPI devices
  #
  CONFIG_SND_AT73C213=m
-@@ -686,9 +743,14 @@
+@@ -686,9 +743,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000
  #
  
  #
  # CONFIG_HID_SUPPORT is not set
  CONFIG_USB_SUPPORT=y
  # CONFIG_USB_ARCH_HAS_HCD is not set
-@@ -698,10 +760,6 @@
+@@ -698,10 +760,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG is not set
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -729,27 +787,31 @@
+@@ -729,27 +787,31 @@ CONFIG_USB_FILE_STORAGE=m
  # CONFIG_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
  CONFIG_LEDS_GPIO=y
  
  #
-@@ -786,19 +848,22 @@
+@@ -786,19 +848,22 @@ CONFIG_RTC_INTF_DEV=y
  # CONFIG_RTC_DRV_PCF8563 is not set
  # CONFIG_RTC_DRV_PCF8583 is not set
  # CONFIG_RTC_DRV_M41T80 is not set
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -816,13 +881,13 @@
+@@ -816,13 +881,13 @@ CONFIG_UIO=m
  #
  # File systems
  #
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
-@@ -830,12 +895,10 @@
+@@ -830,12 +895,10 @@ CONFIG_JBD=m
  # CONFIG_XFS_FS is not set
  # CONFIG_GFS2_FS is not set
  # CONFIG_OCFS2_FS is not set
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
-@@ -866,7 +929,7 @@
+@@ -866,7 +929,7 @@ CONFIG_SYSFS=y
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
  
  #
  # Miscellaneous filesystems
-@@ -891,8 +954,10 @@
+@@ -891,8 +954,10 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_JFFS2_RUBIN is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
  # CONFIG_SYSV_FS is not set
  # CONFIG_UFS_FS is not set
  # CONFIG_NETWORK_FILESYSTEMS is not set
-@@ -943,11 +1008,6 @@
+@@ -943,11 +1008,6 @@ CONFIG_NLS_ISO8859_1=m
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
-@@ -965,6 +1025,7 @@
+@@ -965,6 +1025,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
  CONFIG_SCHED_DEBUG=y
  # CONFIG_SCHEDSTATS is not set
  # CONFIG_TIMER_STATS is not set
  # CONFIG_DEBUG_RT_MUTEXES is not set
  # CONFIG_RT_MUTEX_TESTER is not set
  # CONFIG_DEBUG_SPINLOCK is not set
-@@ -981,9 +1042,10 @@
+@@ -981,9 +1042,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
  # CONFIG_DEBUG_LIST is not set
  # CONFIG_DEBUG_SG is not set
  CONFIG_FRAME_POINTER=y
  # CONFIG_LKDTM is not set
  # CONFIG_FAULT_INJECTION is not set
  # CONFIG_SAMPLES is not set
-@@ -1009,6 +1071,7 @@
+@@ -1009,6 +1071,7 @@ CONFIG_CRC7=m
  CONFIG_AUDIT_GENERIC=y
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
  CONFIG_GENERIC_IRQ_PROBE=y
  CONFIG_RWSEM_GENERIC_SPINLOCK=y
  CONFIG_GENERIC_TIME=y
  CONFIG_GENERIC_HWEIGHT=y
  CONFIG_GENERIC_CALIBRATE_DELAY=y
  CONFIG_GENERIC_BUG=y
-@@ -34,15 +34,15 @@
+@@ -34,15 +34,15 @@ CONFIG_LOCALVERSION=""
  # CONFIG_POSIX_MQUEUE is not set
  # CONFIG_BSD_PROCESS_ACCT is not set
  # CONFIG_TASKSTATS is not set
  # CONFIG_BLK_DEV_INITRD is not set
  CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  CONFIG_SYSCTL=y
-@@ -54,24 +54,37 @@
+@@ -54,24 +54,37 @@ CONFIG_HOTPLUG=y
  CONFIG_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
-@@ -83,10 +96,14 @@
+@@ -83,10 +96,14 @@ CONFIG_BOARD_ATSTK1000=y
  # CONFIG_BOARD_ATSTK1002 is not set
  # CONFIG_BOARD_ATSTK1003 is not set
  CONFIG_BOARD_ATSTK1004=y
  CONFIG_LOADER_U_BOOT=y
  
  #
-@@ -95,6 +112,7 @@
+@@ -95,6 +112,7 @@ CONFIG_LOADER_U_BOOT=y
  # CONFIG_AP700X_32_BIT_SMC is not set
  CONFIG_AP700X_16_BIT_SMC=y
  # CONFIG_AP700X_8_BIT_SMC is not set
  CONFIG_LOAD_ADDRESS=0x10000000
  CONFIG_ENTRY_ADDRESS=0x90000000
  CONFIG_PHYS_OFFSET=0x10000000
-@@ -120,34 +138,26 @@
+@@ -120,34 +138,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # Bus options
-@@ -222,6 +232,7 @@
+@@ -222,6 +232,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
  #
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_HAMRADIO is not set
  # CONFIG_IRDA is not set
  # CONFIG_BT is not set
  # CONFIG_AF_RXRPC is not set
-@@ -321,6 +332,7 @@
+@@ -321,6 +332,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
  # CONFIG_MTD_UBI is not set
  # CONFIG_PARPORT is not set
  # CONFIG_MISC_DEVICES is not set
  
  #
  # SCSI device support
-@@ -358,6 +370,7 @@
+@@ -358,6 +370,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
  #
  CONFIG_SERIAL_ATMEL=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -365,8 +378,6 @@
+@@ -365,8 +378,6 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
  # CONFIG_R3964 is not set
  # CONFIG_TCG_TPM is not set
  # CONFIG_I2C is not set
-@@ -389,9 +400,24 @@
+@@ -389,9 +400,24 @@ CONFIG_SPI_ATMEL=y
  # CONFIG_SPI_AT25 is not set
  # CONFIG_SPI_SPIDEV is not set
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT is not set
  
-@@ -471,10 +497,6 @@
+@@ -471,10 +497,6 @@ CONFIG_USB_SUPPORT=y
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
  #
  CONFIG_USB_GADGET=y
  # CONFIG_USB_GADGET_DEBUG_FILES is not set
  CONFIG_USB_GADGET_SELECTED=y
-@@ -499,7 +521,9 @@
+@@ -499,7 +521,9 @@ CONFIG_USB_ETH=y
  # CONFIG_USB_FILE_STORAGE is not set
  # CONFIG_USB_G_SERIAL is not set
  # CONFIG_USB_MIDI_GADGET is not set
  # CONFIG_NEW_LEDS is not set
  CONFIG_RTC_LIB=y
  CONFIG_RTC_CLASS=y
-@@ -519,15 +543,17 @@
+@@ -519,15 +543,17 @@ CONFIG_RTC_INTF_DEV=y
  #
  # SPI RTC drivers
  #
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
-@@ -545,9 +571,9 @@
+@@ -545,9 +571,9 @@ CONFIG_RTC_DRV_AT32AP700X=y
  #
  # File systems
  #
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  # CONFIG_FUSE_FS is not set
-@@ -580,7 +606,6 @@
+@@ -580,7 +606,6 @@ CONFIG_JFFS2_RTIME=y
  # CONFIG_NETWORK_FILESYSTEMS is not set
  # CONFIG_NLS is not set
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
-@@ -616,6 +641,7 @@
+@@ -616,6 +641,7 @@ CONFIG_CRC32=y
  # CONFIG_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
 +#endif /* __AVR32_DW_DMAC_H__ */
 --- a/arch/avr32/kernel/Makefile
 +++ b/arch/avr32/kernel/Makefile
-@@ -9,6 +9,7 @@
+@@ -9,6 +9,7 @@ obj-y                          += syscall_table.o syscall-stub
  obj-y                         += setup.o traps.o semaphore.o ocd.o ptrace.o
  obj-y                         += signal.o sys_avr32.o process.o time.o
  obj-y                         += init_task.o switch_to.o cpu.o
  obj-$(CONFIG_STACKTRACE)      += stacktrace.o
 --- a/arch/avr32/kernel/avr32_ksyms.c
 +++ b/arch/avr32/kernel/avr32_ksyms.c
-@@ -29,7 +29,9 @@
+@@ -29,7 +29,9 @@ EXPORT_SYMBOL(__avr32_asr64);
   */
  EXPORT_SYMBOL(memset);
  EXPORT_SYMBOL(memcpy);
  
  /*
   * Userspace access stuff.
-@@ -41,6 +43,8 @@
+@@ -41,6 +43,8 @@ EXPORT_SYMBOL(strncpy_from_user);
  EXPORT_SYMBOL(__strncpy_from_user);
  EXPORT_SYMBOL(clear_user);
  EXPORT_SYMBOL(__clear_user);
 +EXPORT_SYMBOL(find_dma_controller);
 --- a/arch/avr32/kernel/entry-avr32b.S
 +++ b/arch/avr32/kernel/entry-avr32b.S
-@@ -74,50 +74,41 @@
+@@ -74,50 +74,41 @@ exception_vectors:
        .align  2
        bral    do_dtlb_modified
  
  
        /* Second level lookup */
        ld.w    r2, r3[r1 << 2]
-@@ -148,16 +139,55 @@
+@@ -148,16 +139,55 @@ pgtbl_lookup:
        tlbmiss_restore
        rete
  
  system_call:
  #ifdef CONFIG_PREEMPT
        mask_interrupts
-@@ -266,18 +296,6 @@
+@@ -266,18 +296,6 @@ syscall_exit_work:
        brcc    syscall_exit_cont
        rjmp    enter_monitor_mode
  
        /* This function expects to find offending PC in SYSREG_RAR_EX */
        .type   save_full_context_ex, @function
        .align  2
-@@ -741,26 +759,6 @@
+@@ -741,26 +759,6 @@ irq_level\level:
  
        .section .irq.text,"ax",@progbits
  
  /*
   * This file handles the architecture-dependent parts of process handling..
   */
-@@ -54,6 +54,8 @@
+@@ -54,6 +54,8 @@ void machine_halt(void)
  
  void machine_power_off(void)
  {
  void machine_restart(char *cmd)
 --- a/arch/avr32/kernel/setup.c
 +++ b/arch/avr32/kernel/setup.c
-@@ -274,6 +274,8 @@
+@@ -274,6 +274,8 @@ static int __init early_parse_fbmem(char
                        printk(KERN_WARNING
                               "Failed to allocate framebuffer memory\n");
                        fbmem_size = 0;
  
 --- a/arch/avr32/kernel/signal.c
 +++ b/arch/avr32/kernel/signal.c
-@@ -93,6 +93,9 @@
+@@ -93,6 +93,9 @@ asmlinkage int sys_rt_sigreturn(struct p
        if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
                goto badframe;
  
 -device_initcall(init_timer_sysfs);
 --- a/arch/avr32/kernel/vmlinux.lds.S
 +++ b/arch/avr32/kernel/vmlinux.lds.S
-@@ -68,14 +68,6 @@
+@@ -68,14 +68,6 @@ SECTIONS
                _evba = .;
                _text = .;
                *(.ex.text)
                *(.irq.text)
                KPROBES_TEXT
                TEXT_TEXT
-@@ -107,6 +99,10 @@
+@@ -107,6 +99,10 @@ SECTIONS
                 */
                *(.data.init_task)
  
                *(.data.cacheline_aligned)
 --- a/arch/avr32/lib/io-readsb.S
 +++ b/arch/avr32/lib/io-readsb.S
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ __raw_readsb:
  2:    sub     r10, -4
        reteq   r12
  
        brne    3b
 --- a/arch/avr32/mach-at32ap/Kconfig
 +++ b/arch/avr32/mach-at32ap/Kconfig
-@@ -26,6 +26,13 @@
+@@ -26,6 +26,13 @@ config AP700X_8_BIT_SMC
  
  endchoice
  
  
  #include <video/atmel_lcdc.h>
  
-@@ -91,25 +94,18 @@
+@@ -91,25 +94,18 @@ static struct clk devname##_##_name = {    
  
  static DEFINE_SPINLOCK(pm_lock);
  
        div = PM_BFEXT(PLLDIV, control) + 1;
        mul = PM_BFEXT(PLLMUL, control) + 1;
  
-@@ -120,6 +116,71 @@
+@@ -120,6 +116,71 @@ static unsigned long pll_get_rate(struct
        return rate;
  }
  
  static unsigned long pll0_get_rate(struct clk *clk)
  {
        u32 control;
-@@ -129,6 +190,41 @@
+@@ -129,6 +190,41 @@ static unsigned long pll0_get_rate(struc
        return pll_get_rate(clk, control);
  }
  
  static unsigned long pll1_get_rate(struct clk *clk)
  {
        u32 control;
-@@ -138,6 +234,49 @@
+@@ -138,6 +234,49 @@ static unsigned long pll1_get_rate(struc
        return pll_get_rate(clk, control);
  }
  
  /*
   * The AT32AP7000 has five primary clock sources: One 32kHz
   * oscillator, two crystal oscillators and two PLLs.
-@@ -166,7 +305,10 @@
+@@ -166,7 +305,10 @@ static struct clk pll0 = {
  };
  static struct clk pll1 = {
        .name           = "pll1",
        .parent         = &osc0,
  };
  
-@@ -534,6 +676,14 @@
+@@ -534,6 +676,14 @@ static struct clk hramc_clk = {
        .users          = 1,
        .index          = 3,
  };
  
  static struct resource smc0_resource[] = {
        PBMEM(0xfff03400),
-@@ -605,19 +755,32 @@
+@@ -605,19 +755,32 @@ static inline void set_ebi_sfr_bits(u32 
  }
  
  /* --------------------------------------------------------------------
  
  /* --------------------------------------------------------------------
   *  PIO
-@@ -669,7 +832,8 @@
+@@ -669,7 +832,8 @@ void __init at32_add_system_devices(void
        platform_device_register(&pdc_device);
        platform_device_register(&dmaca0_device);
  
  
        platform_device_register(&pio0_device);
        platform_device_register(&pio1_device);
-@@ -679,6 +843,81 @@
+@@ -679,6 +843,81 @@ void __init at32_add_system_devices(void
  }
  
  /* --------------------------------------------------------------------
   *  USART
   * -------------------------------------------------------------------- */
  
-@@ -951,7 +1190,8 @@
+@@ -951,7 +1190,8 @@ at32_add_device_spi(unsigned int id, str
        switch (id) {
        case 0:
                pdev = &atmel_spi0_device;
                select_peripheral(PA(1),  PERIPH_A, 0); /* MOSI  */
                select_peripheral(PA(2),  PERIPH_A, 0); /* SCK   */
                at32_spi_setup_slaves(0, b, n, spi0_pins);
-@@ -959,7 +1199,8 @@
+@@ -959,7 +1199,8 @@ at32_add_device_spi(unsigned int id, str
  
        case 1:
                pdev = &atmel_spi1_device;
                select_peripheral(PB(1),  PERIPH_B, 0); /* MOSI  */
                select_peripheral(PB(5),  PERIPH_B, 0); /* SCK   */
                at32_spi_setup_slaves(1, b, n, spi1_pins);
-@@ -989,7 +1230,9 @@
+@@ -989,7 +1230,9 @@ static struct clk atmel_twi0_pclk = {
        .index          = 2,
  };
  
  {
        struct platform_device *pdev;
  
-@@ -1009,6 +1252,9 @@
+@@ -1009,6 +1252,9 @@ struct platform_device *__init at32_add_
  
        atmel_twi0_pclk.dev = &pdev->dev;
  
        platform_device_add(pdev);
        return pdev;
  
-@@ -1032,7 +1278,8 @@
+@@ -1032,7 +1278,8 @@ static struct clk atmel_mci0_pclk = {
        .index          = 9,
  };
  
  {
        struct platform_device *pdev;
  
-@@ -1041,11 +1288,15 @@
+@@ -1041,11 +1288,15 @@ struct platform_device *__init at32_add_
  
        pdev = platform_device_alloc("atmel_mci", id);
        if (!pdev)
  
        select_peripheral(PA(10), PERIPH_A, 0); /* CLK   */
        select_peripheral(PA(11), PERIPH_A, 0); /* CMD   */
-@@ -1054,12 +1305,19 @@
+@@ -1054,12 +1305,19 @@ struct platform_device *__init at32_add_
        select_peripheral(PA(14), PERIPH_A, 0); /* DATA2 */
        select_peripheral(PA(15), PERIPH_A, 0); /* DATA3 */
  
        platform_device_put(pdev);
        return NULL;
  }
-@@ -1097,7 +1355,8 @@
+@@ -1097,7 +1355,8 @@ static struct clk atmel_lcdfb0_pixclk = 
  
  struct platform_device *__init
  at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
  {
        struct platform_device *pdev;
        struct atmel_lcdfb_info *info;
-@@ -1124,37 +1383,77 @@
+@@ -1124,37 +1383,77 @@ at32_add_device_lcdc(unsigned int id, st
        switch (id) {
        case 0:
                pdev = &atmel_lcdfb0_device;
  
                clk_set_parent(&atmel_lcdfb0_pixclk, &pll0);
                clk_set_rate(&atmel_lcdfb0_pixclk, clk_get_rate(&pll0));
-@@ -1351,9 +1650,39 @@
+@@ -1351,9 +1650,39 @@ static struct clk usba0_hclk = {
        .index          = 6,
  };
  
        struct platform_device *pdev;
  
        if (id != 0)
-@@ -1367,13 +1696,20 @@
+@@ -1367,13 +1696,20 @@ at32_add_device_usba(unsigned int id, st
                                          ARRAY_SIZE(usba0_resource)))
                goto out_free_pdev;
  
  
        usba0_pclk.dev = &pdev->dev;
        usba0_hclk.dev = &pdev->dev;
-@@ -1526,6 +1862,58 @@
+@@ -1526,6 +1862,58 @@ fail:
  #endif
  
  /* --------------------------------------------------------------------
   * AC97C
   * -------------------------------------------------------------------- */
  static struct resource atmel_ac97c0_resource[] __initdata = {
-@@ -1540,9 +1928,11 @@
+@@ -1540,9 +1928,11 @@ static struct clk atmel_ac97c0_pclk = {
        .index          = 10,
  };
  
  
        if (id != 0)
                return NULL;
-@@ -1553,19 +1943,37 @@
+@@ -1553,19 +1943,37 @@ struct platform_device *__init at32_add_
  
        if (platform_device_add_resources(pdev, atmel_ac97c0_resource,
                                ARRAY_SIZE(atmel_ac97c0_resource)))
        platform_device_put(pdev);
        return NULL;
  }
-@@ -1683,6 +2091,7 @@
+@@ -1683,6 +2091,7 @@ struct clk *at32_clock_list[] = {
        &hmatrix_clk,
        &ebi_clk,
        &hramc_clk,
        &smc0_pclk,
        &smc0_mck,
        &pdc_hclk,
-@@ -1694,7 +2103,10 @@
+@@ -1694,7 +2103,10 @@ struct clk *at32_clock_list[] = {
        &pio2_mck,
        &pio3_mck,
        &pio4_mck,
        &atmel_usart0_usart,
        &atmel_usart1_usart,
        &atmel_usart2_usart,
-@@ -1730,16 +2142,7 @@
+@@ -1730,16 +2142,7 @@ struct clk *at32_clock_list[] = {
  };
  unsigned int at32_nr_clocks = ARRAY_SIZE(at32_clock_list);
  
  {
        u32 cpu_mask = 0, hsb_mask = 0, pba_mask = 0, pbb_mask = 0;
        int i;
-@@ -1794,4 +2197,36 @@
+@@ -1794,4 +2197,36 @@ void __init at32_clock_init(void)
        pm_writel(HSB_MASK, hsb_mask);
        pm_writel(PBA_MASK, pba_mask);
        pm_writel(PBB_MASK, pbb_mask);
 +core_initcall(sram_init);
 --- a/arch/avr32/mach-at32ap/cpufreq.c
 +++ b/arch/avr32/mach-at32ap/cpufreq.c
-@@ -108,5 +108,4 @@
+@@ -108,5 +108,4 @@ static int __init at32_cpufreq_init(void
  {
        return cpufreq_register_driver(&at32_driver);
  }
 +late_initcall(gpio_dev_init);
 --- a/arch/avr32/mach-at32ap/hsmc.c
 +++ b/arch/avr32/mach-at32ap/hsmc.c
-@@ -278,4 +278,4 @@
+@@ -278,4 +278,4 @@ static int __init hsmc_init(void)
  {
        return platform_driver_register(&hsmc_driver);
  }
  };
  
  extern struct platform_device at32_intc0_device;
-@@ -137,6 +142,74 @@
+@@ -137,6 +142,74 @@ fail:
        panic("Interrupt controller initialization failed!\n");
  }
  
 +arch_initcall(pdc_init);
 --- a/arch/avr32/mach-at32ap/pio.c
 +++ b/arch/avr32/mach-at32ap/pio.c
-@@ -157,6 +157,82 @@
+@@ -157,6 +157,82 @@ fail:
        dump_stack();
  }
  
  /*--------------------------------------------------------------------------*/
  
  /* GPIO API */
-@@ -318,6 +394,8 @@
+@@ -318,6 +394,8 @@ static void pio_bank_show(struct seq_fil
                const char *label;
  
                label = gpiochip_is_requested(chip, i);
  void show_mem(void)
  {
        int total = 0, reserved = 0, cached = 0;
-@@ -109,19 +110,9 @@
+@@ -109,19 +110,9 @@ void __init paging_init(void)
        zero_page = alloc_bootmem_low_pages_node(NODE_DATA(0),
                                                 PAGE_SIZE);
  
        cpu_sync_pipeline();
  
        tlbehi = sysreg_read(TLBEHI);
-@@ -33,15 +33,17 @@
+@@ -33,15 +33,17 @@ void show_dtlb_entry(unsigned int index)
  
        printk("%2u: %c %c %02x   %05x %05x %o  %o  %c %c %c %c\n",
               index,
  
        sysreg_write(MMUCR, mmucr_save);
        sysreg_write(TLBEHI, tlbehi_save);
-@@ -54,29 +56,33 @@
+@@ -54,29 +56,33 @@ void dump_dtlb(void)
        unsigned int i;
  
        printk("ID  V G ASID VPN   PFN   AP SZ C B W D\n");
  
                rp = 32 - fls(tlbar);
                if (rp == 32) {
-@@ -84,30 +90,14 @@
+@@ -84,30 +90,14 @@ static inline void set_replacement_point
                        sysreg_write(TLBARLO, -1L);
                }
  
  }
  
  void update_mmu_cache(struct vm_area_struct *vma,
-@@ -120,39 +110,40 @@
+@@ -120,39 +110,40 @@ void update_mmu_cache(struct vm_area_str
                return;
  
        local_irq_save(flags);
        }
  }
  
-@@ -190,17 +181,22 @@
+@@ -190,17 +181,22 @@ void flush_tlb_range(struct vm_area_stru
  
                local_irq_save(flags);
                size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
                        if (mm != current->mm) {
                                saved_asid = get_asid();
                                set_asid(asid);
-@@ -218,33 +214,34 @@
+@@ -218,33 +214,34 @@ void flush_tlb_range(struct vm_area_stru
  }
  
  /*
  }
  
  void flush_tlb_mm(struct mm_struct *mm)
-@@ -280,7 +277,7 @@
+@@ -280,7 +277,7 @@ static void *tlb_start(struct seq_file *
  {
        static unsigned long tlb_index;
  
                return NULL;
  
        tlb_index = 0;
-@@ -291,7 +288,7 @@
+@@ -291,7 +288,7 @@ static void *tlb_next(struct seq_file *t
  {
        unsigned long *index = v;
  
                return NULL;
  
        ++*pos;
-@@ -313,16 +310,16 @@
+@@ -313,16 +310,16 @@ static int tlb_show(struct seq_file *tlb
        if (*index == 0)
                seq_puts(tlb, "ID  V G ASID VPN   PFN   AP SZ C B W D\n");
  
        cpu_sync_pipeline();
  
        tlbehi = sysreg_read(TLBEHI);
-@@ -334,16 +331,18 @@
+@@ -334,16 +331,18 @@ static int tlb_show(struct seq_file *tlb
        local_irq_restore(flags);
  
        seq_printf(tlb, "%2lu: %c %c %02x   %05x %05x %o  %o  %c %c %c %c\n",
  
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -706,7 +706,7 @@
+@@ -706,7 +706,7 @@ config NVRAM
  
  config RTC
        tristate "Enhanced Real Time Clock Support"
        ---help---
          If you say Y here and create a character special file /dev/rtc with
          major number 10 and minor number 135 using mknod ("man mknod"), you
-@@ -776,7 +776,7 @@
+@@ -776,7 +776,7 @@ config SGI_IP27_RTC
  
  config GEN_RTC
        tristate "Generic /dev/rtc emulation"
          major number 10 and minor number 135 using mknod ("man mknod"), you
 --- a/drivers/char/keyboard.c
 +++ b/drivers/char/keyboard.c
-@@ -1033,7 +1033,8 @@
+@@ -1033,7 +1033,8 @@ DECLARE_TASKLET_DISABLED(keyboard_taskle
  #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) ||\
      defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC) ||\
      defined(CONFIG_PARISC) || defined(CONFIG_SUPERH) ||\
 +arch_initcall(tcb_clksrc_init);
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -88,6 +88,14 @@
+@@ -88,6 +88,14 @@ config I2C_AT91
          to support combined I2C messages.  Use the i2c-gpio driver
          unless your system can cope with those limitations.
  
        depends on SOC_AU1550 || SOC_AU1200
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
-@@ -52,6 +52,7 @@
+@@ -52,6 +52,7 @@ obj-$(CONFIG_I2C_VIAPRO)     += i2c-viapro.o
  obj-$(CONFIG_I2C_VOODOO3)     += i2c-voodoo3.o
  obj-$(CONFIG_SCx200_ACB)      += scx200_acb.o
  obj-$(CONFIG_SCx200_I2C)      += scx200_i2c.o
 +#endif /* __ATMELTWI_H__ */
 --- a/drivers/input/serio/Kconfig
 +++ b/drivers/input/serio/Kconfig
-@@ -88,6 +88,17 @@
+@@ -88,6 +88,17 @@ config SERIO_RPCKBD
          To compile this driver as a module, choose M here: the
          module will be called rpckbd.
  
        depends on ARM_AMBA
 --- a/drivers/input/serio/Makefile
 +++ b/drivers/input/serio/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_SERIO_CT82C710) += ct82c710
  obj-$(CONFIG_SERIO_RPCKBD)    += rpckbd.o
  obj-$(CONFIG_SERIO_SA1111)    += sa1111ps2.o
  obj-$(CONFIG_SERIO_AMBAKMI)   += ambakmi.o
 +#endif /* _AT32PSIF_H */
 --- a/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
-@@ -22,6 +22,39 @@
+@@ -22,6 +22,39 @@ config ATMEL_PWM
          purposes including software controlled power-efficent backlights
          on LCD displays, motor control, and waveform generation.
  
        depends on X86 && PCI && INPUT && EXPERIMENTAL
 --- a/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
-@@ -10,6 +10,7 @@
+@@ -10,6 +10,7 @@ obj-$(CONFIG_ACER_WMI)     += acer-wmi.o
  obj-$(CONFIG_ASUS_LAPTOP)     += asus-laptop.o
  obj-$(CONFIG_ATMEL_PWM)               += atmel_pwm.o
  obj-$(CONFIG_ATMEL_SSC)               += atmel-ssc.o
 +arch_initcall(tc_init);
 --- a/drivers/mmc/host/Kconfig
 +++ b/drivers/mmc/host/Kconfig
-@@ -91,6 +91,16 @@
+@@ -91,6 +91,16 @@ config MMC_AT91
  
          If unsure, say N.
  
        depends on ARCH_IMX
 --- a/drivers/mmc/host/Makefile
 +++ b/drivers/mmc/host/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-$(CONFIG_MMC_WBSD)               += wbsd.o
  obj-$(CONFIG_MMC_AU1X)                += au1xmmc.o
  obj-$(CONFIG_MMC_OMAP)                += omap.o
  obj-$(CONFIG_MMC_AT91)                += at91_mci.o
 +#endif /* __DRIVERS_MMC_ATMEL_MCI_H__ */
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
-@@ -272,12 +272,54 @@
+@@ -272,12 +272,54 @@ config MTD_NAND_CS553X
  
          If you say "m", the module will be called "cs553x_nand.ko".
  
        tristate "Support for NAND Flash on CM-X270 modules"
 --- a/drivers/mtd/nand/Makefile
 +++ b/drivers/mtd/nand/Makefile
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ obj-$(CONFIG_MTD_NAND_TS7250)                += ts7250
  obj-$(CONFIG_MTD_NAND_NANDSIM)                += nandsim.o
  obj-$(CONFIG_MTD_NAND_CS553X)         += cs553x_nand.o
  obj-$(CONFIG_MTD_NAND_NDFC)           += ndfc.o
 +#endif
 --- a/drivers/mtd/nand/bf5xx_nand.c
 +++ b/drivers/mtd/nand/bf5xx_nand.c
-@@ -803,3 +803,4 @@
+@@ -803,3 +803,4 @@ module_exit(bf5xx_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR(DRV_AUTHOR);
  MODULE_DESCRIPTION(DRV_DESC);
 +MODULE_ALIAS("platform:" DRV_NAME);
 --- a/drivers/mtd/nand/ndfc.c
 +++ b/drivers/mtd/nand/ndfc.c
-@@ -317,3 +317,5 @@
+@@ -317,3 +317,5 @@ module_exit(ndfc_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Thomas Gleixner <tglx@linutronix.de>");
  MODULE_DESCRIPTION("Platform driver for NDFC");
 +MODULE_ALIAS("platform:ndfc-nand");
 --- a/drivers/mtd/nand/orion_nand.c
 +++ b/drivers/mtd/nand/orion_nand.c
-@@ -169,3 +169,4 @@
+@@ -169,3 +169,4 @@ module_exit(orion_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Tzachi Perelstein");
  MODULE_DESCRIPTION("NAND glue for Orion platforms");
 +MODULE_ALIAS("platform:orion_nand");
 --- a/drivers/mtd/nand/plat_nand.c
 +++ b/drivers/mtd/nand/plat_nand.c
-@@ -161,3 +161,4 @@
+@@ -161,3 +161,4 @@ module_exit(plat_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Vitaly Wool");
  MODULE_DESCRIPTION("Simple generic NAND driver");
 +MODULE_ALIAS("platform:gen_nand");
 --- a/drivers/mtd/nand/s3c2410.c
 +++ b/drivers/mtd/nand/s3c2410.c
-@@ -927,3 +927,6 @@
+@@ -927,3 +927,6 @@ module_exit(s3c2410_nand_exit);
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>");
  MODULE_DESCRIPTION("S3C24XX MTD NAND driver");
 +MODULE_ALIAS("platform:s3c2440-nand");
 --- a/drivers/net/macb.c
 +++ b/drivers/net/macb.c
-@@ -1277,8 +1277,45 @@
+@@ -1277,8 +1277,45 @@ static int __exit macb_remove(struct pla
        return 0;
  }
  
        },
 --- a/drivers/parport/Kconfig
 +++ b/drivers/parport/Kconfig
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ if PARPORT
  config PARPORT_PC
        tristate "PC-style hardware"
        depends on (!SPARC64 || PCI) && !SPARC32 && !M32R && !FRV && \
          IBM PC compatible computers and some Alphas have PC-style
 --- a/drivers/pcmcia/Kconfig
 +++ b/drivers/pcmcia/Kconfig
-@@ -277,6 +277,13 @@
+@@ -277,6 +277,13 @@ config ELECTRA_CF
          Say Y here to support the CompactFlash controller on the
          PA Semi Electra eval board.
  
  
 --- a/drivers/pcmcia/Makefile
 +++ b/drivers/pcmcia/Makefile
-@@ -38,6 +38,7 @@
+@@ -38,6 +38,7 @@ obj-$(CONFIG_PCMCIA_VRC4173)                 += vrc417
  obj-$(CONFIG_OMAP_CF)                         += omap_cf.o
  obj-$(CONFIG_AT91_CF)                         += at91_cf.o
  obj-$(CONFIG_ELECTRA_CF)                      += electra_cf.o
 +MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>");
 --- a/drivers/rtc/rtc-at32ap700x.c
 +++ b/drivers/rtc/rtc-at32ap700x.c
-@@ -262,6 +262,7 @@
+@@ -262,6 +262,7 @@ static int __init at32_rtc_probe(struct 
        }
  
        platform_set_drvdata(pdev, rtc);
  
        dev_info(&pdev->dev, "Atmel RTC for AT32AP700x at %08lx irq %ld\n",
                        (unsigned long)rtc->regs, rtc->irq);
-@@ -281,6 +282,8 @@
+@@ -281,6 +282,8 @@ static int __exit at32_rtc_remove(struct
  {
        struct rtc_at32ap700x *rtc = platform_get_drvdata(pdev);
  
        rtc_device_unregister(rtc->rtc);
 --- a/drivers/serial/atmel_serial.c
 +++ b/drivers/serial/atmel_serial.c
-@@ -957,6 +957,20 @@
+@@ -957,6 +957,20 @@ static void atmel_shutdown(struct uart_p
  }
  
  /*
   * Power / Clock management.
   */
  static void atmel_serial_pm(struct uart_port *port, unsigned int state,
-@@ -1190,6 +1204,7 @@
+@@ -1190,6 +1204,7 @@ static struct uart_ops atmel_pops = {
        .break_ctl      = atmel_break_ctl,
        .startup        = atmel_startup,
        .shutdown       = atmel_shutdown,
        .set_termios    = atmel_set_termios,
        .type           = atmel_type,
        .release_port   = atmel_release_port,
-@@ -1440,6 +1455,15 @@
+@@ -1440,6 +1455,15 @@ static struct uart_driver atmel_uart = {
  };
  
  #ifdef CONFIG_PM
  static int atmel_serial_suspend(struct platform_device *pdev,
                                pm_message_t state)
  {
-@@ -1447,7 +1471,7 @@
+@@ -1447,7 +1471,7 @@ static int atmel_serial_suspend(struct p
        struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
  
        if (device_may_wakeup(&pdev->dev)
                uart_suspend_port(&atmel_uart, port);
 --- a/drivers/serial/serial_core.c
 +++ b/drivers/serial/serial_core.c
-@@ -552,6 +552,8 @@
+@@ -552,6 +552,8 @@ static void uart_flush_buffer(struct tty
  
        spin_lock_irqsave(&port->lock, flags);
        uart_circ_clear(&state->info->xmit);
  }
 --- a/drivers/spi/atmel_spi.c
 +++ b/drivers/spi/atmel_spi.c
-@@ -51,9 +51,7 @@
+@@ -51,9 +51,7 @@ struct atmel_spi {
        u8                      stopping;
        struct list_head        queue;
        struct spi_transfer     *current_transfer;
  
        void                    *buffer;
        dma_addr_t              buffer_dma;
-@@ -133,48 +131,6 @@
+@@ -133,48 +131,6 @@ static void cs_deactivate(struct atmel_s
                gpio_set_value(gpio, !active);
  }
  
  /*
   * Submit next transfer for DMA.
   * lock is held, spi irq is blocked
-@@ -184,78 +140,53 @@
+@@ -184,78 +140,53 @@ static void atmel_spi_next_xfer(struct s
  {
        struct atmel_spi        *as = spi_master_get_devdata(master);
        struct spi_transfer     *xfer;
         * transfer because we need to handle some difficult timing
         * issues otherwise. If we wait for ENDTX in one transfer and
         * then starts waiting for ENDRX in the next, it's difficult
-@@ -265,7 +196,17 @@
+@@ -265,7 +196,17 @@ static void atmel_spi_next_xfer(struct s
         *
         * It should be doable, though. Just not now...
         */
        spi_writel(as, PTCR, SPI_BIT(TXTEN) | SPI_BIT(RXTEN));
  }
  
-@@ -363,7 +304,6 @@
+@@ -363,7 +304,6 @@ atmel_spi_msg_done(struct spi_master *ma
        spin_lock(&as->lock);
  
        as->current_transfer = NULL;
  
        /* continue if needed */
        if (list_empty(&as->queue) || as->stopping)
-@@ -447,7 +387,7 @@
+@@ -447,7 +387,7 @@ atmel_spi_interrupt(int irq, void *dev_i
  
                spi_writel(as, IDR, pending);
  
                        msg->actual_length += xfer->len;
  
                        if (!msg->is_dma_mapped)
-@@ -457,7 +397,7 @@
+@@ -457,7 +397,7 @@ atmel_spi_interrupt(int irq, void *dev_i
                        if (xfer->delay_usecs)
                                udelay(xfer->delay_usecs);
  
                                                xfer->cs_change);
 --- a/drivers/usb/gadget/Kconfig
 +++ b/drivers/usb/gadget/Kconfig
-@@ -118,10 +118,10 @@
+@@ -118,10 +118,10 @@ config USB_AMD5536UDC
  config USB_GADGET_ATMEL_USBA
        boolean "Atmel USBA"
        select USB_GADGET_DUALSPEED
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
-@@ -324,53 +326,28 @@
+@@ -324,53 +326,28 @@ static int vbus_is_present(struct usba_u
        return 1;
  }
  
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
        unsigned int transaction_len;
-@@ -387,7 +364,7 @@
+@@ -387,7 +364,7 @@ static void next_fifo_transaction(struct
                ep->ep.name, req, transaction_len,
                req->last_transaction ? ", done" : "");
  
        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
        req->req.actual += transaction_len;
  }
-@@ -476,7 +453,7 @@
+@@ -476,7 +453,7 @@ static void receive_data(struct usba_ep 
                        bytecount = req->req.length - req->req.actual;
                }
  
                                ep->fifo, bytecount);
                req->req.actual += bytecount;
  
-@@ -1029,33 +1006,6 @@
+@@ -1029,33 +1006,6 @@ static const struct usb_gadget_ops usba_
        .set_selfpowered        = usba_udc_set_selfpowered,
  };
  
  static struct usb_endpoint_descriptor usba_ep0_desc = {
        .bLength = USB_DT_ENDPOINT_SIZE,
        .bDescriptorType = USB_DT_ENDPOINT,
-@@ -1074,7 +1024,6 @@
+@@ -1074,7 +1024,6 @@ static void nop_release(struct device *d
  static struct usba_udc the_udc = {
        .gadget = {
                .ops            = &usba_udc_ops,
                .ep_list        = LIST_HEAD_INIT(the_udc.gadget.ep_list),
                .is_dualspeed   = 1,
                .name           = "atmel_usba_udc",
-@@ -1231,7 +1180,7 @@
+@@ -1231,7 +1180,7 @@ static int do_test_mode(struct usba_udc 
                } else {
                        usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
                        usba_writel(udc, TST, USBA_TST_PKT_MODE);
                                        sizeof(test_packet_buffer));
                        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
                        dev_info(dev, "Entering Test_Packet mode...\n");
-@@ -1530,13 +1479,13 @@
+@@ -1530,13 +1479,13 @@ restart:
                DBG(DBG_HW, "Packet length: %u\n", pkt_len);
                if (pkt_len != sizeof(crq)) {
                        pr_warning("udc: Invalid packet length %u "
  
                /* Free up one bank in the FIFO so that we can
                 * generate or receive a reply right away. */
-@@ -1688,6 +1637,7 @@
+@@ -1688,6 +1637,7 @@ static irqreturn_t usba_udc_irq(int irq,
        DBG(DBG_INT, "irq, status=%#08x\n", status);
  
        if (status & USBA_DET_SUSPEND) {
                usba_writel(udc, INT_CLR, USBA_DET_SUSPEND);
                DBG(DBG_BUS, "Suspend detected\n");
                if (udc->gadget.speed != USB_SPEED_UNKNOWN
-@@ -1699,6 +1649,7 @@
+@@ -1699,6 +1649,7 @@ static irqreturn_t usba_udc_irq(int irq,
        }
  
        if (status & USBA_WAKE_UP) {
                usba_writel(udc, INT_CLR, USBA_WAKE_UP);
                DBG(DBG_BUS, "Wake Up CPU detected\n");
        }
-@@ -1792,12 +1743,14 @@
+@@ -1792,12 +1743,14 @@ static irqreturn_t usba_vbus_irq(int irq
        vbus = gpio_get_value(udc->vbus_pin);
        if (vbus != udc->vbus_prev) {
                if (vbus) {
                        spin_unlock(&udc->lock);
                        udc->driver->disconnect(&udc->gadget);
                        spin_lock(&udc->lock);
-@@ -1850,7 +1803,8 @@
+@@ -1850,7 +1803,8 @@ int usb_gadget_register_driver(struct us
        /* If Vbus is present, enable the controller and wait for reset */
        spin_lock_irqsave(&udc->lock, flags);
        if (vbus_is_present(udc) && udc->vbus_prev == 0) {
                usba_writel(udc, INT_ENB, USBA_END_OF_RESET);
        }
        spin_unlock_irqrestore(&udc->lock, flags);
-@@ -1883,7 +1837,8 @@
+@@ -1883,7 +1837,8 @@ int usb_gadget_unregister_driver(struct 
        spin_unlock_irqrestore(&udc->lock, flags);
  
        /* This will also disable the DP pullup */
  
        driver->unbind(&udc->gadget);
        udc->gadget.dev.driver = NULL;
-@@ -1908,7 +1863,7 @@
+@@ -1908,7 +1863,7 @@ static int __init usba_udc_probe(struct 
  
        regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
        fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
                return -ENXIO;
  
        irq = platform_get_irq(pdev, 0);
-@@ -1953,19 +1908,48 @@
+@@ -1953,19 +1908,48 @@ static int __init usba_udc_probe(struct 
  
        /* Make sure we start from a clean slate */
        clk_enable(pclk);
  
                list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
        }
-@@ -1984,7 +1968,7 @@
+@@ -1984,7 +1968,7 @@ static int __init usba_udc_probe(struct 
                goto err_device_add;
        }
  
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
-@@ -2004,7 +1988,7 @@
+@@ -2004,7 +1988,7 @@ static int __init usba_udc_probe(struct 
        }
  
        usba_init_debugfs(udc);
                usba_ep_init_debugfs(udc, &usba_ep[i]);
  
        return 0;
-@@ -2012,6 +1996,8 @@
+@@ -2012,6 +1996,8 @@ static int __init usba_udc_probe(struct 
  err_device_add:
        free_irq(irq, udc);
  err_request_irq:
        iounmap(udc->fifo);
  err_map_fifo:
        iounmap(udc->regs);
-@@ -2029,10 +2015,11 @@
+@@ -2029,10 +2015,11 @@ static int __exit usba_udc_remove(struct
  {
        struct usba_udc *udc;
        int i;
                usba_ep_cleanup_debugfs(&usba_ep[i]);
        usba_cleanup_debugfs(udc);
  
-@@ -2040,6 +2027,7 @@
+@@ -2040,6 +2027,7 @@ static int __exit usba_udc_remove(struct
                gpio_free(udc->vbus_pin);
  
        free_irq(udc->irq, udc);
  
  static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo,
                                        struct fb_var_screeninfo *var)
-@@ -176,7 +178,7 @@
+@@ -176,7 +178,7 @@ static struct fb_fix_screeninfo atmel_lc
        .type           = FB_TYPE_PACKED_PIXELS,
        .visual         = FB_VISUAL_TRUECOLOR,
        .xpanstep       = 0,
        .ywrapstep      = 0,
        .accel          = FB_ACCEL_NONE,
  };
-@@ -250,6 +252,8 @@
+@@ -250,6 +252,8 @@ static int atmel_lcdfb_alloc_video_memor
                return -ENOMEM;
        }
  
        return 0;
  }
  
-@@ -634,7 +638,6 @@
+@@ -634,7 +638,6 @@ static int __init atmel_lcdfb_init_fbinf
        struct fb_info *info = sinfo->info;
        int ret = 0;
  
        info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW;
  
        dev_info(info->device,
-@@ -764,6 +767,11 @@
+@@ -764,6 +767,11 @@ static int __init atmel_lcdfb_probe(stru
                info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
                if (!info->screen_base)
                        goto release_intmem;
                ret = atmel_lcdfb_alloc_video_memory(sinfo);
 --- a/fs/fs-writeback.c
 +++ b/fs/fs-writeback.c
-@@ -385,8 +385,6 @@
+@@ -385,8 +385,6 @@ __writeback_single_inode(struct inode *i
   * WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
   * that it can be located for waiting on in __writeback_single_inode().
   *
   * If `bdi' is non-zero then we're being asked to writeback a specific queue.
   * This function assumes that the blockdev superblock's inodes are backed by
   * a variety of queues, so all inodes are searched.  For other superblocks,
-@@ -402,11 +400,12 @@
+@@ -402,11 +400,12 @@ __writeback_single_inode(struct inode *i
   * on the writer throttling path, and we get decent balancing between many
   * throttled threads: we don't want them all piling up on inode_sync_wait.
   */
        if (!wbc->for_kupdate || list_empty(&sb->s_io))
                queue_io(sb, wbc->older_than_this);
  
-@@ -485,8 +484,16 @@
+@@ -485,8 +484,16 @@ sync_sb_inodes(struct super_block *sb, s
                if (!list_empty(&sb->s_more_io))
                        wbc->more_io = 1;
        }
  
  /*
   * Start writeback of dirty pagecache data against all unlocked inodes.
-@@ -526,11 +533,8 @@
+@@ -526,11 +533,8 @@ restart:
                         * be unmounted by the time it is released.
                         */
                        if (down_read_trylock(&sb->s_umount)) {
                                up_read(&sb->s_umount);
                        }
                        spin_lock(&sb_lock);
-@@ -568,9 +572,7 @@
+@@ -568,9 +572,7 @@ void sync_inodes_sb(struct super_block *
                        (inodes_stat.nr_inodes - inodes_stat.nr_unused) +
                        nr_dirty + nr_unstable;
        wbc.nr_to_write += wbc.nr_to_write / 2;         /* Bit more for luck */
  /* Add basic devices: system manager, interrupt controller, portmuxes, etc. */
  void at32_add_system_devices(void);
  
-@@ -36,11 +42,10 @@
+@@ -36,11 +42,10 @@ at32_add_device_spi(unsigned int id, str
  struct atmel_lcdfb_info;
  struct platform_device *
  at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
  struct platform_device *
  at32_add_device_usba(unsigned int id, struct usba_platform_data *data);
  
-@@ -68,9 +73,27 @@
+@@ -68,9 +73,27 @@ struct platform_device *at32_add_device_
  struct platform_device *
  at32_add_device_ssc(unsigned int id, unsigned int flags);
  
  struct platform_device *at32_add_device_abdac(unsigned int id);
  
  struct cf_platform_data {
-@@ -84,4 +107,20 @@
+@@ -84,4 +107,20 @@ struct platform_device *
  at32_add_device_cf(unsigned int id, unsigned int extint,
                struct cf_platform_data *data);
  
 +#endif /* __ASM_AVR32_ARCH_PM_H */
 --- a/include/asm-avr32/arch-at32ap/portmux.h
 +++ b/include/asm-avr32/arch-at32ap/portmux.h
-@@ -26,4 +26,16 @@
+@@ -26,4 +26,16 @@ void at32_select_periph(unsigned int pin
  void at32_select_gpio(unsigned int pin, unsigned long flags);
  void at32_reserve_pin(unsigned int pin);
  
  }
  
  #define __pte_free_tlb(tlb,pte)                               \
-@@ -75,6 +89,10 @@
+@@ -75,6 +89,10 @@ do {                                                        \
        tlb_remove_page((tlb), pte);                    \
  } while (0)
  
  #endif /* __ASM_AVR32_PGALLOC_H */
 --- a/include/asm-avr32/pgtable.h
 +++ b/include/asm-avr32/pgtable.h
-@@ -129,13 +129,6 @@
+@@ -129,13 +129,6 @@ extern struct page *empty_zero_page;
  
  #define _PAGE_FLAGS_CACHE_MASK        (_PAGE_CACHABLE | _PAGE_BUFFER | _PAGE_WT)
  
  /* Flags that may be modified by software */
  #define _PAGE_CHG_MASK                (PTE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY \
                                 | _PAGE_FLAGS_CACHE_MASK)
-@@ -254,10 +247,14 @@
+@@ -254,10 +247,14 @@ static inline pte_t pte_mkyoung(pte_t pt
  }
  
  #define pmd_none(x)   (!pmd_val(x))
  
  /*
   * Permanent address of a page. We don't support highmem, so this is
-@@ -295,19 +292,16 @@
+@@ -295,19 +292,16 @@ static inline pte_t pte_modify(pte_t pte
  
  #define page_pte(page)        page_pte_prot(page, __pgprot(0))
  
 +#endif /* _ASM_SERIAL_H */
 --- a/include/asm-avr32/thread_info.h
 +++ b/include/asm-avr32/thread_info.h
-@@ -88,6 +88,7 @@
+@@ -88,6 +88,7 @@ static inline struct thread_info *curren
  #define TIF_MEMDIE            6
  #define TIF_RESTORE_SIGMASK   7       /* restore signal mask in do_signal */
  #define TIF_CPU_GOING_TO_SLEEP        8       /* CPU is entering sleep 0 mode */
  
 --- a/include/asm-avr32/tlbflush.h
 +++ b/include/asm-avr32/tlbflush.h
-@@ -26,7 +26,6 @@
+@@ -26,7 +26,6 @@ extern void flush_tlb_mm(struct mm_struc
  extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
                            unsigned long end);
  extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
 +#endif
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1692,6 +1692,8 @@
+@@ -1692,6 +1692,8 @@ static inline void invalidate_remote_ino
  extern int invalidate_inode_pages2(struct address_space *mapping);
  extern int invalidate_inode_pages2_range(struct address_space *mapping,
                                         pgoff_t start, pgoff_t end);
  extern int filemap_flush(struct address_space *);
 --- a/include/linux/serial_core.h
 +++ b/include/linux/serial_core.h
-@@ -188,6 +188,7 @@
+@@ -188,6 +188,7 @@ struct uart_ops {
        void            (*break_ctl)(struct uart_port *, int ctl);
        int             (*startup)(struct uart_port *);
        void            (*shutdown)(struct uart_port *);
 +#endif /* __LINUX_USB_USBA_H */
 --- a/mm/Kconfig
 +++ b/mm/Kconfig
-@@ -187,7 +187,7 @@
+@@ -187,7 +187,7 @@ config BOUNCE
  config NR_QUICK
        int
        depends on QUICKLIST
  config VIRT_TO_BUS
 --- a/sound/Kconfig
 +++ b/sound/Kconfig
-@@ -63,6 +63,8 @@
+@@ -63,6 +63,8 @@ source "sound/aoa/Kconfig"
  
  source "sound/arm/Kconfig"
  
  endif
 --- a/sound/Makefile
 +++ b/sound/Makefile
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ obj-$(CONFIG_SOUND_PRIME) += sound_firmw
  obj-$(CONFIG_SOUND_PRIME) += oss/
  obj-$(CONFIG_DMASOUND) += oss/
  obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \
 +#endif /* __SOUND_AVR32_AC97C_H */
 --- a/sound/oss/Kconfig
 +++ b/sound/oss/Kconfig
-@@ -654,3 +654,7 @@
+@@ -654,3 +654,7 @@ config SOUND_SH_DAC_AUDIO_CHANNEL
        int "DAC channel"
        default "1"
        depends on SOUND_SH_DAC_AUDIO
 +      depends on SOUND_PRIME && AVR32
 --- a/sound/oss/Makefile
 +++ b/sound/oss/Makefile
-@@ -9,6 +9,7 @@
+@@ -9,6 +9,7 @@ obj-$(CONFIG_SOUND_OSS)                += sound.o
  
  # Please leave it as is, cause the link order is significant !
  
 +#endif /* __SOUND_OSS_AT32_ABDAC_H__ */
 --- a/sound/spi/at73c213.c
 +++ b/sound/spi/at73c213.c
-@@ -737,7 +737,7 @@
+@@ -737,7 +737,7 @@ cleanup:
  /*
   * Device functions
   */
  {
        /*
         * Continuous clock output.
-@@ -767,7 +767,7 @@
+@@ -767,7 +767,7 @@ static int snd_at73c213_ssc_init(struct 
        return 0;
  }
  
  {
        int retval;
        unsigned char dac_ctrl = 0;
-@@ -933,7 +933,7 @@
+@@ -933,7 +933,7 @@ out:
        return retval;
  }
  
index 83c3d50..98669bc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/avr32/boards/atngw100/flash.c
 +++ b/arch/avr32/boards/atngw100/flash.c
-@@ -45,9 +45,14 @@
+@@ -45,9 +45,14 @@ static struct mtd_partition flash_parts[
                .mask_flags     = MTD_WRITEABLE,
        },
        {
index bad5ec1..daa867b 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=brcm47xx
 BOARDNAME:=Broadcom BCM947xx/953xx
 FEATURES:=squashfs usb
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += kmod-switch kmod-diag
index 783aa8c..b48215d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -50,8 +50,10 @@
+@@ -50,8 +50,10 @@ config BCM47XX
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SSB
@@ -11,7 +11,7 @@
        select SSB_PCICORE_HOSTMODE if PCI
        select GENERIC_GPIO
        select SYS_HAS_EARLY_PRINTK
-@@ -790,6 +792,7 @@
+@@ -790,6 +792,7 @@ config CSRC_SB1250
  
  config CFE
        bool
index 1471083..6d3161c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/Kconfig
 +++ b/drivers/mtd/maps/Kconfig
-@@ -337,6 +337,12 @@
+@@ -337,6 +337,12 @@ config MTD_CFI_FLAGADM
          Mapping for the Flaga digital module. If you don't have one, ignore
          this setting.
  
@@ -15,7 +15,7 @@
        depends on MTD_JEDECPROBE && WALNUT && !PPC_MERGE
 --- a/drivers/mtd/maps/Makefile
 +++ b/drivers/mtd/maps/Makefile
-@@ -31,6 +31,7 @@
+@@ -31,6 +31,7 @@ obj-$(CONFIG_MTD_PMC_MSP_RAMROOT)+= pmcm
  obj-$(CONFIG_MTD_PCMCIA)      += pcmciamtd.o
  obj-$(CONFIG_MTD_RPXLITE)     += rpxlite.o
  obj-$(CONFIG_MTD_TQM8XXL)     += tqm8xxl.o
index d36b4d8..941b649 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -228,7 +228,6 @@
+@@ -228,7 +228,6 @@ config MIPS_MALTA
        select I8259
        select MIPS_BOARDS_GEN
        select MIPS_BONITO64
@@ -8,7 +8,7 @@
        select PCI_GT64XXX_PCI0
        select MIPS_MSC
        select SWAP_IO_SPACE
-@@ -1421,13 +1420,6 @@
+@@ -1421,13 +1420,6 @@ config IP22_CPU_SCACHE
        bool
        select BOARD_SCACHE
  
@@ -24,7 +24,7 @@
        select BOARD_SCACHE
 --- a/arch/mips/kernel/cpu-probe.c
 +++ b/arch/mips/kernel/cpu-probe.c
-@@ -704,6 +704,8 @@
+@@ -704,6 +704,8 @@ static inline void cpu_probe_mips(struct
                break;
        case PRID_IMP_25KF:
                c->cputype = CPU_25KF;
@@ -35,7 +35,7 @@
                c->cputype = CPU_34K;
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -1103,7 +1103,6 @@
+@@ -1103,7 +1103,6 @@ static void __init loongson2_sc_init(voi
  
  extern int r5k_sc_init(void);
  extern int rm7k_sc_init(void);
@@ -43,7 +43,7 @@
  
  static void __cpuinit setup_scache(void)
  {
-@@ -1157,29 +1156,17 @@
+@@ -1157,29 +1156,17 @@ static void __cpuinit setup_scache(void)
  #endif
  
        default:
@@ -80,7 +80,7 @@
  
 --- a/arch/mips/mm/Makefile
 +++ b/arch/mips/mm/Makefile
-@@ -32,6 +32,5 @@
+@@ -32,6 +32,5 @@ obj-$(CONFIG_CPU_VR41XX)     += c-r4k.o cex-
  obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o
  obj-$(CONFIG_R5000_CPU_SCACHE)  += sc-r5k.o
  obj-$(CONFIG_RM7000_CPU_SCACHE)       += sc-rm7k.o
index e0d225b..58dafe5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/kernel/genex.S
 +++ b/arch/mips/kernel/genex.S
-@@ -51,6 +51,10 @@
+@@ -51,6 +51,10 @@ NESTED(except_vec1_generic, 0, sp)
  NESTED(except_vec3_generic, 0, sp)
        .set    push
        .set    noat
@@ -23,7 +23,7 @@
  /*
   * Special Variant of smp_call_function for use by cache functions:
   *
-@@ -97,6 +100,9 @@
+@@ -97,6 +100,9 @@ static void __cpuinit r4k_blast_dcache_p
  {
        unsigned long  dc_lsize = cpu_dcache_line_size();
  
@@ -33,7 +33,7 @@
        if (dc_lsize == 0)
                r4k_blast_dcache_page = (void *)cache_noop;
        else if (dc_lsize == 16)
-@@ -111,6 +117,9 @@
+@@ -111,6 +117,9 @@ static void __cpuinit r4k_blast_dcache_p
  {
        unsigned long dc_lsize = cpu_dcache_line_size();
  
@@ -43,7 +43,7 @@
        if (dc_lsize == 0)
                r4k_blast_dcache_page_indexed = (void *)cache_noop;
        else if (dc_lsize == 16)
-@@ -125,6 +134,9 @@
+@@ -125,6 +134,9 @@ static void __cpuinit r4k_blast_dcache_s
  {
        unsigned long dc_lsize = cpu_dcache_line_size();
  
@@ -53,7 +53,7 @@
        if (dc_lsize == 0)
                r4k_blast_dcache = (void *)cache_noop;
        else if (dc_lsize == 16)
-@@ -630,6 +642,8 @@
+@@ -630,6 +642,8 @@ static void local_r4k_flush_cache_sigtra
        unsigned long addr = (unsigned long) arg;
  
        R4600_HIT_CACHEOP_WAR_IMPL;
@@ -62,7 +62,7 @@
        if (dc_lsize)
                protected_writeback_dcache_line(addr & ~(dc_lsize - 1));
        if (!cpu_icache_snoops_remote_store && scache_size)
-@@ -1215,6 +1229,17 @@
+@@ -1215,6 +1229,17 @@ static void __cpuinit coherency_setup(vo
         * silly idea of putting something else there ...
         */
        switch (current_cpu_type()) {
@@ -80,7 +80,7 @@
        case CPU_R4000PC:
        case CPU_R4000SC:
        case CPU_R4000MC:
-@@ -1254,6 +1279,15 @@
+@@ -1254,6 +1279,15 @@ void __cpuinit r4k_cache_init(void)
                break;
        }
  
@@ -96,7 +96,7 @@
        probe_pcache();
        setup_scache();
  
-@@ -1303,5 +1337,13 @@
+@@ -1303,5 +1337,13 @@ void __cpuinit r4k_cache_init(void)
        build_clear_page();
        build_copy_page();
        local_r4k___flush_cache_all(NULL);
  }
 --- a/arch/mips/mm/tlbex.c
 +++ b/arch/mips/mm/tlbex.c
-@@ -677,6 +677,9 @@
+@@ -677,6 +677,9 @@ static void __cpuinit build_r4000_tlb_re
                /* No need for uasm_i_nop */
        }
  
  #ifdef CONFIG_64BIT
        build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
  #else
-@@ -1084,6 +1087,9 @@
+@@ -1084,6 +1087,9 @@ build_r4000_tlbchange_handler_head(u32 *
                                   struct uasm_reloc **r, unsigned int pte,
                                   unsigned int ptr)
  {
  /*
   * This macro return a properly sign-extended address suitable as base address
   * for indexed cache operations.  Two issues here:
-@@ -150,6 +164,7 @@
+@@ -150,6 +164,7 @@ static inline void flush_icache_line_ind
  static inline void flush_dcache_line_indexed(unsigned long addr)
  {
        __dflush_prologue
        cache_op(Index_Writeback_Inv_D, addr);
        __dflush_epilogue
  }
-@@ -169,6 +184,7 @@
+@@ -169,6 +184,7 @@ static inline void flush_icache_line(uns
  static inline void flush_dcache_line(unsigned long addr)
  {
        __dflush_prologue
        cache_op(Hit_Writeback_Inv_D, addr);
        __dflush_epilogue
  }
-@@ -176,6 +192,7 @@
+@@ -176,6 +192,7 @@ static inline void flush_dcache_line(uns
  static inline void invalidate_dcache_line(unsigned long addr)
  {
        __dflush_prologue
        cache_op(Hit_Invalidate_D, addr);
        __dflush_epilogue
  }
-@@ -208,6 +225,7 @@
+@@ -208,6 +225,7 @@ static inline void flush_scache_line(uns
   */
  static inline void protected_flush_icache_line(unsigned long addr)
  {
        protected_cache_op(Hit_Invalidate_I, addr);
  }
  
-@@ -219,6 +237,7 @@
+@@ -219,6 +237,7 @@ static inline void protected_flush_icach
   */
  static inline void protected_writeback_dcache_line(unsigned long addr)
  {
        protected_cache_op(Hit_Writeback_Inv_D, addr);
  }
  
-@@ -339,8 +358,52 @@
+@@ -339,8 +358,52 @@ static inline void invalidate_tcache_pag
                : "r" (base),                                           \
                  "i" (op));
  
  static inline void blast_##pfx##cache##lsize(void)                    \
  {                                                                     \
        unsigned long start = INDEX_BASE;                               \
-@@ -352,6 +415,7 @@
+@@ -352,6 +415,7 @@ static inline void blast_##pfx##cache##l
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        for (ws = 0; ws < ws_end; ws += ws_inc)                         \
                for (addr = start; addr < end; addr += lsize * 32)      \
                        cache##lsize##_unroll32(addr|ws, indexop);      \
-@@ -366,6 +430,7 @@
+@@ -366,6 +430,7 @@ static inline void blast_##pfx##cache##l
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        do {                                                            \
                cache##lsize##_unroll32(start, hitop);                  \
                start += lsize * 32;                                    \
-@@ -384,6 +449,8 @@
+@@ -384,6 +449,8 @@ static inline void blast_##pfx##cache##l
                               current_cpu_data.desc.waybit;            \
        unsigned long ws, addr;                                         \
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        for (ws = 0; ws < ws_end; ws += ws_inc)                         \
-@@ -393,35 +460,37 @@
+@@ -393,35 +460,37 @@ static inline void blast_##pfx##cache##l
        __##pfx##flush_epilogue                                         \
  }
  
                prot##cache_op(hitop, addr);                            \
                if (addr == aend)                                       \
                        break;                                          \
-@@ -431,13 +500,13 @@
+@@ -431,13 +500,13 @@ static inline void prot##blast_##pfx##ca
        __##pfx##flush_epilogue                                         \
  }
  
index 725fb3c..5fe38aa 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ void copy_user_highpage(struct page *to,
        void *vfrom, *vto;
  
        vto = kmap_atomic(to, KM_USER1);
@@ -9,7 +9,7 @@
            page_mapped(from) && !Page_dcache_dirty(from)) {
                vfrom = kmap_coherent(from, vaddr);
                copy_page(vto, vfrom);
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ void copy_to_user_page(struct vm_area_st
        struct page *page, unsigned long vaddr, void *dst, const void *src,
        unsigned long len)
  {
@@ -18,7 +18,7 @@
            page_mapped(page) && !Page_dcache_dirty(page)) {
                void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
                memcpy(vto, src, len);
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ void copy_from_user_page(struct vm_area_
        struct page *page, unsigned long vaddr, void *dst, const void *src,
        unsigned long len)
  {
@@ -57,7 +57,7 @@
   * I-Cache snoops remote store.  This only matters on SMP.  Some multiprocessors
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -484,7 +484,7 @@
+@@ -484,7 +484,7 @@ static inline void local_r4k_flush_cache
                 * Use kmap_coherent or kmap_atomic to do flushes for
                 * another ASID than the current one.
                 */
@@ -66,7 +66,7 @@
                        vaddr = kmap_coherent(page, addr);
                else
                        vaddr = kmap_atomic(page, KM_USER0);
-@@ -505,7 +505,7 @@
+@@ -505,7 +505,7 @@ static inline void local_r4k_flush_cache
        }
  
        if (vaddr) {
index 55c08fe..6669fba 100644 (file)
@@ -1,7 +1,5 @@
-Index: linux-2.6.25.17/drivers/net/b44.c
-===================================================================
---- linux-2.6.25.17.orig/drivers/net/b44.c     2008-10-16 23:13:19.000000000 +0200
-+++ linux-2.6.25.17/drivers/net/b44.c  2008-11-02 12:13:38.000000000 +0100
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
 @@ -339,7 +339,7 @@ static int b44_phy_reset(struct b44 *bp)
                }
        }
index 8658d6d..6a4341f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/driver_chipcommon.c
 +++ b/drivers/ssb/driver_chipcommon.c
-@@ -270,6 +270,8 @@
+@@ -270,6 +270,8 @@ void ssb_chipco_resume(struct ssb_chipco
  void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc,
                               u32 *plltype, u32 *n, u32 *m)
  {
@@ -9,7 +9,7 @@
        *n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
        switch (*plltype) {
-@@ -293,6 +295,8 @@
+@@ -293,6 +295,8 @@ void ssb_chipco_get_clockcpu(struct ssb_
  void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc,
                                 u32 *plltype, u32 *n, u32 *m)
  {
@@ -20,7 +20,7 @@
        switch (*plltype) {
 --- a/drivers/ssb/driver_mipscore.c
 +++ b/drivers/ssb/driver_mipscore.c
-@@ -161,6 +161,8 @@
+@@ -161,6 +161,8 @@ u32 ssb_cpu_clock(struct ssb_mipscore *m
  
        if ((pll_type == SSB_PLLTYPE_5) || (bus->chip_id == 0x5365)) {
                rate = 200000000;
@@ -31,7 +31,7 @@
        }
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -867,6 +867,8 @@
+@@ -867,6 +867,8 @@ u32 ssb_clockspeed(struct ssb_bus *bus)
  
        if (bus->chip_id == 0x5365) {
                rate = 100000000;
index f599ca7..856651b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/ohci-ssb.c
 +++ b/drivers/usb/host/ohci-ssb.c
-@@ -142,10 +142,59 @@
+@@ -142,10 +142,59 @@ static int ssb_ohci_attach(struct ssb_de
        int err = -ENOMEM;
        u32 tmp, flags = 0;
  
@@ -62,7 +62,7 @@
  
        hcd = usb_create_hcd(&ssb_ohci_hc_driver, dev->dev,
                        dev->dev->bus_id);
-@@ -236,6 +285,7 @@
+@@ -236,6 +285,7 @@ static int ssb_ohci_resume(struct ssb_de
  static const struct ssb_device_id ssb_ohci_table[] = {
        SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_USB11_HOSTDEV, SSB_ANY_REV),
        SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_USB11_HOST, SSB_ANY_REV),
index 21fac47..afeec9c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/ohci-ssb.c
 +++ b/drivers/usb/host/ohci-ssb.c
-@@ -195,6 +195,11 @@
+@@ -195,6 +195,11 @@ static int ssb_ohci_attach(struct ssb_de
        else
                ssb_device_enable(dev, 0);
  
index a2c27ab..505e8aa 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
-@@ -205,32 +205,6 @@
+@@ -205,32 +205,6 @@ void kunmap_coherent(void)
        preempt_check_resched();
  }
  
@@ -43,7 +43,7 @@
  #include <asm/io.h>
  
  /*
-@@ -64,13 +65,16 @@
+@@ -64,13 +65,16 @@ static inline void clear_user_page(void 
                flush_data_cache_page((unsigned long)addr);
  }
  
index fb69cc4..7153871 100644 (file)
@@ -27,7 +27,7 @@
  void plat_irq_dispatch(void)
  {
        u32 cause;
-@@ -53,3 +63,19 @@
+@@ -53,3 +63,19 @@ void __init arch_init_irq(void)
  {
        mips_cpu_irq_init();
  }
        while (1)
                cpu_relax();
  }
-@@ -50,12 +79,13 @@
+@@ -50,12 +79,13 @@ static void bcm47xx_machine_halt(void)
  {
        /* Disable interrupts and watchdog and spin forever */
        local_irq_disable();
  {
        int i = 0;
  
-@@ -72,52 +102,141 @@
+@@ -72,52 +102,141 @@ static void str2eaddr(char *str, char *d
        }
  }
  
  
  static char nvram_buf[NVRAM_SPACE];
  static int cfe_env;
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ extern char *cfe_env_get(char *nv_buf, c
  /* Probe for NVRAM header */
  static void __init early_nvram_init(void)
  {
 +obj-y := cfe_env.o gpio.o irq.o nvram.o prom.o serial.o setup.o time.o wgt634u.o
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -54,6 +54,7 @@
+@@ -54,6 +54,7 @@ config BCM47XX
        select SSB_DRIVER_MIPS
        select SSB_DRIVER_EXTIF
        select SSB_DRIVER_PCICORE
index a2e4c2b..59f4c1f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/scripts/gen_initramfs_list.sh
 +++ b/scripts/gen_initramfs_list.sh
-@@ -287,7 +287,7 @@
+@@ -287,7 +287,7 @@ if [ ! -z ${output_file} ]; then
        if [ "${is_cpio_compressed}" = "compressed" ]; then
                cat ${cpio_tfile} > ${output_file}
        else
@@ -11,7 +11,7 @@
  fi
 --- a/init/initramfs.c
 +++ b/init/initramfs.c
-@@ -441,6 +441,69 @@
+@@ -441,6 +441,69 @@ static void __init flush_window(void)
        outcnt = 0;
  }
  
@@ -81,7 +81,7 @@
  static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
  {
        int written;
-@@ -475,12 +538,28 @@
+@@ -475,12 +538,28 @@ static char * __init unpack_to_rootfs(ch
                inptr = 0;
                outcnt = 0;             /* bytes in output buffer */
                bytes_out = 0;
index 21e89cd..9071b7c 100644 (file)
@@ -4,7 +4,7 @@ Remove this sanity check for now until we find a better solution.
 --mb
 --- a/arch/mips/pci/pci.c
 +++ b/arch/mips/pci/pci.c
-@@ -182,12 +182,10 @@
+@@ -182,12 +182,10 @@ static int pcibios_enable_resources(stru
                if ((idx == PCI_ROM_RESOURCE) &&
                                (!(r->flags & IORESOURCE_ROM_ENABLE)))
                        continue;
index d2271dd..af251d5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -1173,7 +1173,9 @@
+@@ -1173,7 +1173,9 @@ static int __init ssb_modinit(void)
  /* ssb must be initialized after PCI but before the ssb drivers.
   * That means we must use some initcall between subsys_initcall
   * and device_initcall. */
index 5f5e480..72505d3 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Michael Buesch <mb@bu3sch.de>
 
 --- a/drivers/ssb/driver_pcicore.c
 +++ b/drivers/ssb/driver_pcicore.c
-@@ -519,6 +519,13 @@
+@@ -519,6 +519,13 @@ int ssb_pcicore_dev_irqvecs_enable(struc
        int err = 0;
        u32 tmp;
  
index c7b1b26..f96b4d2 100644 (file)
@@ -1,7 +1,7 @@
 Add support for 8bit reads/writes to SSB.
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -508,6 +508,14 @@
+@@ -508,6 +508,14 @@ error:
        return err;
  }
  
@@ -16,7 +16,7 @@ Add support for 8bit reads/writes to SSB.
  static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -524,6 +532,14 @@
+@@ -524,6 +532,14 @@ static u32 ssb_ssb_read32(struct ssb_dev
        return readl(bus->mmio + offset);
  }
  
@@ -31,7 +31,7 @@ Add support for 8bit reads/writes to SSB.
  static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -542,8 +558,10 @@
+@@ -542,8 +558,10 @@ static void ssb_ssb_write32(struct ssb_d
  
  /* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
  static const struct ssb_bus_ops ssb_ssb_ops = {
@@ -44,7 +44,7 @@ Add support for 8bit reads/writes to SSB.
  };
 --- a/drivers/ssb/pci.c
 +++ b/drivers/ssb/pci.c
-@@ -577,6 +577,19 @@
+@@ -577,6 +577,19 @@ static inline int ssb_pci_assert_buspowe
  }
  #endif /* DEBUG */
  
@@ -64,7 +64,7 @@ Add support for 8bit reads/writes to SSB.
  static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -603,6 +616,19 @@
+@@ -603,6 +616,19 @@ static u32 ssb_pci_read32(struct ssb_dev
        return ioread32(bus->mmio + offset);
  }
  
@@ -84,7 +84,7 @@ Add support for 8bit reads/writes to SSB.
  static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -631,8 +657,10 @@
+@@ -631,8 +657,10 @@ static void ssb_pci_write32(struct ssb_d
  
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pci_ops = {
@@ -97,7 +97,7 @@ Add support for 8bit reads/writes to SSB.
  };
 --- a/drivers/ssb/pcmcia.c
 +++ b/drivers/ssb/pcmcia.c
-@@ -172,6 +172,22 @@
+@@ -172,6 +172,22 @@ static int select_core_and_segment(struc
        return 0;
  }
  
@@ -120,7 +120,7 @@ Add support for 8bit reads/writes to SSB.
  static u16 ssb_pcmcia_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -206,6 +222,20 @@
+@@ -206,6 +222,20 @@ static u32 ssb_pcmcia_read32(struct ssb_
        return (lo | (hi << 16));
  }
  
@@ -141,7 +141,7 @@ Add support for 8bit reads/writes to SSB.
  static void ssb_pcmcia_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -238,8 +268,10 @@
+@@ -238,8 +268,10 @@ static void ssb_pcmcia_write32(struct ss
  
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pcmcia_ops = {
@@ -154,7 +154,7 @@ Add support for 8bit reads/writes to SSB.
  };
 --- a/include/linux/ssb/ssb.h
 +++ b/include/linux/ssb/ssb.h
-@@ -72,8 +72,10 @@
+@@ -72,8 +72,10 @@ struct ssb_device;
  /* Lowlevel read/write operations on the device MMIO.
   * Internal, don't use that outside of ssb. */
  struct ssb_bus_ops {
@@ -165,7 +165,7 @@ Add support for 8bit reads/writes to SSB.
        void (*write16)(struct ssb_device *dev, u16 offset, u16 value);
        void (*write32)(struct ssb_device *dev, u16 offset, u32 value);
  };
-@@ -348,6 +350,10 @@
+@@ -348,6 +350,10 @@ void ssb_device_disable(struct ssb_devic
  
  
  /* Device MMIO register read/write functions. */
@@ -176,7 +176,7 @@ Add support for 8bit reads/writes to SSB.
  static inline u16 ssb_read16(struct ssb_device *dev, u16 offset)
  {
        return dev->ops->read16(dev, offset);
-@@ -356,6 +362,10 @@
+@@ -356,6 +362,10 @@ static inline u32 ssb_read32(struct ssb_
  {
        return dev->ops->read32(dev, offset);
  }
index 1ba199f..8b0445f 100644 (file)
@@ -21,7 +21,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  #define PCI_ASSIGN_ALL_BUSSES 1
  
  unsigned int pci_probe = PCI_ASSIGN_ALL_BUSSES;
-@@ -75,8 +86,32 @@
+@@ -75,8 +86,32 @@ pcibios_align_resource(void *data, struc
        res->start = start;
  }
  
@@ -55,7 +55,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
        if (request_resource(&iomem_resource, hose->mem_resource) < 0)
                goto out;
        if (request_resource(&ioport_resource, hose->io_resource) < 0) {
-@@ -84,9 +119,6 @@
+@@ -84,9 +119,6 @@ void __devinit register_pci_controller(s
                goto out;
        }
  
@@ -65,7 +65,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
        /*
         * Do not panic here but later - this might hapen before console init.
         */
-@@ -94,41 +126,47 @@
+@@ -94,41 +126,47 @@ void __devinit register_pci_controller(s
                printk(KERN_WARNING
                       "registering PCI controller with io_map_base unset\n");
        }
@@ -136,7 +136,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  
        /* Scan all of the recorded PCI controllers.  */
        for (next_busno = 0, hose = hose_head; hose; hose = hose->next) {
-@@ -157,6 +195,7 @@
+@@ -157,6 +195,7 @@ static int __init pcibios_init(void)
        if (!pci_probe_only)
                pci_assign_unassigned_resources();
        pci_fixup_irqs(common_swizzle, pcibios_map_irq);
@@ -146,7 +146,7 @@ This is an ugly hack and needs to be rewritten before going upstream.
  }
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -1191,9 +1191,7 @@
+@@ -1191,9 +1191,7 @@ static int __init ssb_modinit(void)
  /* ssb must be initialized after PCI but before the ssb drivers.
   * That means we must use some initcall between subsys_initcall
   * and device_initcall. */
index ae97cf6..1ed53e5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/Kconfig
 +++ b/drivers/ssb/Kconfig
-@@ -125,4 +125,13 @@
+@@ -125,4 +125,13 @@ config SSB_DRIVER_EXTIF
  
          If unsure, say N
  
@@ -16,7 +16,7 @@
  endmenu
 --- a/drivers/ssb/Makefile
 +++ b/drivers/ssb/Makefile
-@@ -11,6 +11,7 @@
+@@ -11,6 +11,7 @@ ssb-y                                        += driver_chipcommon.o
  ssb-$(CONFIG_SSB_DRIVER_MIPS)         += driver_mipscore.o
  ssb-$(CONFIG_SSB_DRIVER_EXTIF)                += driver_extif.o
  ssb-$(CONFIG_SSB_DRIVER_PCICORE)      += driver_pcicore.o
 +#endif /* LINUX_SSB_DRIVER_GIGE_H_ */
 --- a/drivers/ssb/driver_pcicore.c
 +++ b/drivers/ssb/driver_pcicore.c
-@@ -60,78 +60,6 @@
+@@ -60,78 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
  /* Core to access the external PCI config space. Can only have one. */
  static struct ssb_pcicore *extpci_core;
  
  static u32 get_cfgspace_addr(struct ssb_pcicore *pc,
                             unsigned int bus, unsigned int dev,
                             unsigned int func, unsigned int off)
-@@ -320,6 +248,95 @@
+@@ -320,6 +248,95 @@ static struct pci_controller ssb_pcicore
        .mem_offset     = 0x24000000,
  };
  
  
  #include "ssb_private.h"
  
-@@ -130,3 +133,90 @@
+@@ -130,3 +133,90 @@ u32 ssb_gpio_polarity(struct ssb_bus *bu
        return res;
  }
  EXPORT_SYMBOL(ssb_gpio_polarity);
 +}
 --- a/include/linux/ssb/ssb.h
 +++ b/include/linux/ssb/ssb.h
-@@ -426,5 +426,12 @@
+@@ -426,5 +426,12 @@ extern int ssb_bus_powerup(struct ssb_bu
  extern u32 ssb_admatch_base(u32 adm);
  extern u32 ssb_admatch_size(u32 adm);
  
  #ifdef CONFIG_SSB_DRIVER_PCICORE
  
  /* PCI core registers. */
-@@ -88,6 +93,9 @@
+@@ -88,6 +93,9 @@ extern void ssb_pcicore_init(struct ssb_
  extern int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
                                          struct ssb_device *dev);
  
  
  #else /* CONFIG_SSB_DRIVER_PCICORE */
  
-@@ -107,5 +115,16 @@
+@@ -107,5 +115,16 @@ int ssb_pcicore_dev_irqvecs_enable(struc
        return 0;
  }
  
  #include <linux/dma-mapping.h>
  #include <linux/pci.h>
  
-@@ -68,6 +69,25 @@
+@@ -68,6 +69,25 @@ found:
  }
  #endif /* CONFIG_SSB_PCIHOST */
  
  static struct ssb_device *ssb_device_get(struct ssb_device *dev)
  {
        if (dev)
-@@ -1181,7 +1201,14 @@
+@@ -1181,7 +1201,14 @@ static int __init ssb_modinit(void)
        err = b43_pci_ssb_bridge_init();
        if (err) {
                ssb_printk(KERN_ERR "Broadcom 43xx PCI-SSB-bridge "
                /* don't fail SSB init because of this */
                err = 0;
        }
-@@ -1195,6 +1222,7 @@
+@@ -1195,6 +1222,7 @@ fs_initcall(ssb_modinit);
  
  static void __exit ssb_modexit(void)
  {
  }
 --- a/drivers/ssb/ssb_private.h
 +++ b/drivers/ssb/ssb_private.h
-@@ -118,6 +118,8 @@
+@@ -118,6 +118,8 @@ extern u32 ssb_calc_clock_rate(u32 pllty
  extern int ssb_devices_freeze(struct ssb_bus *bus);
  extern int ssb_devices_thaw(struct ssb_bus *bus);
  extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev);
  
  #include <net/checksum.h>
  #include <net/ip.h>
-@@ -425,8 +426,9 @@
+@@ -425,8 +426,9 @@ static void _tw32_flush(struct tg3 *tp, 
  static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val)
  {
        tp->write32_mbox(tp, off, val);
                tp->read32_mbox(tp, off);
  }
  
-@@ -706,7 +708,7 @@
+@@ -706,7 +708,7 @@ static void tg3_switch_clocks(struct tg3
  
  #define PHY_BUSY_LOOPS        5000
  
  {
        u32 frame_val;
        unsigned int loops;
-@@ -720,7 +722,7 @@
+@@ -720,7 +722,7 @@ static int tg3_readphy(struct tg3 *tp, i
  
        *val = 0x0;
  
                      MI_COM_PHY_ADDR_MASK);
        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
                      MI_COM_REG_ADDR_MASK);
-@@ -755,7 +757,12 @@
+@@ -755,7 +757,12 @@ static int tg3_readphy(struct tg3 *tp, i
        return ret;
  }
  
  {
        u32 frame_val;
        unsigned int loops;
-@@ -771,7 +778,7 @@
+@@ -771,7 +778,7 @@ static int tg3_writephy(struct tg3 *tp, 
                udelay(80);
        }
  
                      MI_COM_PHY_ADDR_MASK);
        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
                      MI_COM_REG_ADDR_MASK);
-@@ -804,6 +811,11 @@
+@@ -804,6 +811,11 @@ static int tg3_writephy(struct tg3 *tp, 
        return ret;
  }
  
  static void tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
  {
        tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
-@@ -2250,6 +2262,14 @@
+@@ -2250,6 +2262,14 @@ static int tg3_setup_copper_phy(struct t
                        }
                }
  
                if (current_link_up == 1 &&
                    tp->link_config.active_duplex == DUPLEX_FULL)
                        tg3_setup_flow_control(tp, lcl_adv, rmt_adv);
-@@ -5197,6 +5217,11 @@
+@@ -5197,6 +5217,11 @@ static int tg3_poll_fw(struct tg3 *tp)
        int i;
        u32 val;
  
        if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) {
                /* Wait up to 20ms for init done. */
                for (i = 0; i < 200; i++) {
-@@ -5435,6 +5460,14 @@
+@@ -5435,6 +5460,14 @@ static int tg3_chip_reset(struct tg3 *tp
                tw32(0x5000, 0x400);
        }
  
        tw32(GRC_MODE, tp->grc_mode);
  
        if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) {
-@@ -5704,9 +5737,12 @@
+@@ -5704,9 +5737,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
                return -ENODEV;
        }
  
        return 0;
  }
  
-@@ -5787,6 +5823,11 @@
+@@ -5787,6 +5823,11 @@ static int tg3_load_5701_a0_firmware_fix
        struct fw_info info;
        int err, i;
  
        info.text_base = TG3_FW_TEXT_ADDR;
        info.text_len = TG3_FW_TEXT_LEN;
        info.text_data = &tg3FwText[0];
-@@ -6345,6 +6386,11 @@
+@@ -6345,6 +6386,11 @@ static int tg3_load_tso_firmware(struct 
        unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size;
        int err, i;
  
        if (tp->tg3_flags2 & TG3_FLG2_HW_TSO)
                return 0;
  
-@@ -7306,6 +7352,11 @@
+@@ -7306,6 +7352,11 @@ static void tg3_timer(unsigned long __op
  
        spin_lock(&tp->lock);
  
        if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
                /* All of this garbage is because when using non-tagged
                 * IRQ status the mailbox/status_block protocol the chip
-@@ -8906,6 +8957,11 @@
+@@ -8906,6 +8957,11 @@ static int tg3_test_nvram(struct tg3 *tp
        __le32 *buf;
        int i, j, k, err = 0, size;
  
        if (tg3_nvram_read_swab(tp, 0, &magic) != 0)
                return -EIO;
  
-@@ -9689,7 +9745,7 @@
+@@ -9689,7 +9745,7 @@ static int tg3_ioctl(struct net_device *
                        return -EAGAIN;
  
                spin_lock_bh(&tp->lock);
                spin_unlock_bh(&tp->lock);
  
                data->val_out = mii_regval;
-@@ -9708,7 +9764,7 @@
+@@ -9708,7 +9764,7 @@ static int tg3_ioctl(struct net_device *
                        return -EAGAIN;
  
                spin_lock_bh(&tp->lock);
                spin_unlock_bh(&tp->lock);
  
                return err;
-@@ -10177,6 +10233,12 @@
+@@ -10177,6 +10233,12 @@ static void __devinit tg3_get_5906_nvram
  /* Chips other than 5700/5701 use the NVRAM for fetching info. */
  static void __devinit tg3_nvram_init(struct tg3 *tp)
  {
        tw32_f(GRC_EEPROM_ADDR,
             (EEPROM_ADDR_FSM_RESET |
              (EEPROM_DEFAULT_CLOCK_PERIOD <<
-@@ -10317,6 +10379,9 @@
+@@ -10317,6 +10379,9 @@ static int tg3_nvram_read(struct tg3 *tp
  {
        int ret;
  
        if (!(tp->tg3_flags & TG3_FLAG_NVRAM))
                return tg3_nvram_read_using_eeprom(tp, offset, val);
  
-@@ -10563,6 +10628,9 @@
+@@ -10563,6 +10628,9 @@ static int tg3_nvram_write_block(struct 
  {
        int ret;
  
        if (tp->tg3_flags & TG3_FLAG_EEPROM_WRITE_PROT) {
                tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl &
                       ~GRC_LCLCTRL_GPIO_OUTPUT1);
-@@ -11610,7 +11678,6 @@
+@@ -11610,7 +11678,6 @@ static int __devinit tg3_get_invariants(
                tp->write32 = tg3_write_flush_reg32;
        }
  
        if ((tp->tg3_flags & TG3_FLAG_TXD_MBOX_HWBUG) ||
            (tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER)) {
                tp->write32_tx_mbox = tg3_write32_tx_mbox;
-@@ -11646,6 +11713,11 @@
+@@ -11646,6 +11713,11 @@ static int __devinit tg3_get_invariants(
              GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)))
                tp->tg3_flags |= TG3_FLAG_SRAM_USE_CONFIG;
  
        /* Get eeprom hw config before calling tg3_set_power_state().
         * In particular, the TG3_FLG2_IS_NIC flag must be
         * determined before calling tg3_set_power_state() so that
-@@ -12017,6 +12089,10 @@
+@@ -12017,6 +12089,10 @@ static int __devinit tg3_get_device_addr
        }
  
        if (!is_valid_ether_addr(&dev->dev_addr[0])) {
  #ifdef CONFIG_SPARC
                if (!tg3_get_default_macaddr_sparc(tp))
                        return 0;
-@@ -12508,6 +12584,7 @@
+@@ -12508,6 +12584,7 @@ static char * __devinit tg3_phy_string(s
        case PHY_ID_BCM5704:    return "5704";
        case PHY_ID_BCM5705:    return "5705";
        case PHY_ID_BCM5750:    return "5750";
        case PHY_ID_BCM5752:    return "5752";
        case PHY_ID_BCM5714:    return "5714";
        case PHY_ID_BCM5780:    return "5780";
-@@ -12695,6 +12772,13 @@
+@@ -12695,6 +12772,13 @@ static int __devinit tg3_init_one(struct
                tp->msg_enable = tg3_debug;
        else
                tp->msg_enable = TG3_DEF_MSG_ENABLE;
         * swapping.  DMA data byte swapping is controlled in the GRC_MODE
 --- a/drivers/net/tg3.h
 +++ b/drivers/net/tg3.h
-@@ -2477,6 +2477,9 @@
+@@ -2477,6 +2477,9 @@ struct tg3 {
  #define TG3_FLG3_ENABLE_APE           0x00000002
  #define TG3_FLG3_5761_5784_AX_FIXES   0x00000004
  #define TG3_FLG3_5701_DMA_BUG         0x00000008
  
        struct timer_list               timer;
        u16                             timer_counter;
-@@ -2532,6 +2535,7 @@
+@@ -2532,6 +2535,7 @@ struct tg3 {
  #define PHY_ID_BCM5714                        0x60008340
  #define PHY_ID_BCM5780                        0x60008350
  #define PHY_ID_BCM5755                        0xbc050cc0
  #define PHY_ID_BCM5787                        0xbc050ce0
  #define PHY_ID_BCM5756                        0xbc050ed0
  #define PHY_ID_BCM5784                        0xbc050fa0
-@@ -2568,7 +2572,7 @@
+@@ -2568,7 +2572,7 @@ struct tg3 {
         (X) == PHY_ID_BCM5780 || (X) == PHY_ID_BCM5787 || \
         (X) == PHY_ID_BCM5755 || (X) == PHY_ID_BCM5756 || \
         (X) == PHY_ID_BCM5906 || (X) == PHY_ID_BCM5761 || \
        dma_addr_t                      stats_mapping;
 --- a/drivers/ssb/driver_mipscore.c
 +++ b/drivers/ssb/driver_mipscore.c
-@@ -212,6 +212,7 @@
+@@ -212,6 +212,7 @@ void ssb_mipscore_init(struct ssb_mipsco
                        /* fallthrough */
                case SSB_DEV_PCI:
                case SSB_DEV_ETHERNET:
index 59552ed..b06f08e 100644 (file)
@@ -1,7 +1,7 @@
 Add gpio_is_valid() for bcm47xx
 --- a/arch/mips/bcm47xx/gpio.c
 +++ b/arch/mips/bcm47xx/gpio.c
-@@ -77,3 +77,15 @@
+@@ -77,3 +77,15 @@ int bcm47xx_gpio_direction_output(unsign
  }
  EXPORT_SYMBOL_GPL(bcm47xx_gpio_direction_output);
  
@@ -19,7 +19,7 @@ Add gpio_is_valid() for bcm47xx
 +EXPORT_SYMBOL_GPL(bcm47xx_gpio_is_valid);
 --- a/include/asm-mips/mach-bcm47xx/gpio.h
 +++ b/include/asm-mips/mach-bcm47xx/gpio.h
-@@ -17,6 +17,7 @@
+@@ -17,6 +17,7 @@ extern int bcm47xx_gpio_get_value(unsign
  extern void bcm47xx_gpio_set_value(unsigned gpio, int value);
  extern int bcm47xx_gpio_direction_input(unsigned gpio);
  extern int bcm47xx_gpio_direction_output(unsigned gpio, int value);
@@ -27,7 +27,7 @@ Add gpio_is_valid() for bcm47xx
  
  static inline int gpio_request(unsigned gpio, const char *label)
  {
-@@ -52,6 +53,8 @@
+@@ -52,6 +53,8 @@ static inline int gpio_direction_output(
        return bcm47xx_gpio_direction_output(gpio, value);
  }
  
index e72f99e..63a71f0 100644 (file)
@@ -8,7 +8,7 @@
  
  const char *get_system_type(void)
  {
-@@ -40,65 +41,40 @@
+@@ -40,65 +41,40 @@ const char *get_system_type(void)
  
  void prom_putchar(char c)
  {
@@ -90,7 +90,7 @@
  {
        char buf[CL_SIZE];
  
-@@ -146,9 +122,12 @@
+@@ -146,9 +122,12 @@ static __init void prom_init_mem(void)
  
  void __init prom_init(void)
  {
index dcc0c37..0fe4f42 100644 (file)
@@ -10,7 +10,7 @@ ARCH:=cris
 BOARD:=etrax
 BOARDNAME:=Foxboard (ETRAX 100LX)
 FEATURES:=squashfs jffs2 broken
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
index ea6d08e..ecb9307 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/cris/Makefile
 +++ b/arch/cris/Makefile
-@@ -33,7 +33,7 @@
+@@ -33,7 +33,7 @@ endif
  
  LD = $(CROSS_COMPILE)ld -mcrislinux
  
@@ -21,7 +21,7 @@
  subdir- := compressed rescue
  targets := Image
  
-@@ -14,7 +11,6 @@
+@@ -14,7 +11,6 @@ $(obj)/Image: vmlinux FORCE
  
  $(obj)/compressed/vmlinux: $(obj)/Image FORCE
        $(Q)$(MAKE) $(build)=$(obj)/compressed $@
@@ -45,7 +45,7 @@
  
  quiet_cmd_image = BUILD   $@
  cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
-@@ -22,10 +18,10 @@
+@@ -22,10 +18,10 @@ $(obj)/decompress.bin: $(obj)/decompress
        $(call if_changed,objcopy)
  
  $(obj)/head.o: $(obj)/head.S .config
@@ -93,7 +93,7 @@
        beq     dram_init_finished
        nop
        
-@@ -36,91 +37,91 @@
+@@ -36,91 +37,91 @@ dram_init_finished:        
                
        ;; Initiate the PA and PB ports
  
   * adaptation for Linux/CRIS Axis Communications AB, 1999
   *
   */
-@@ -99,12 +99,12 @@
+@@ -99,12 +99,12 @@ static void error(char *m);
  static void gzip_mark(void **);
  static void gzip_release(void **);
   
   
  #include "../../../../../lib/inflate.c"
  
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ static void gzip_release(void **ptr)
  /* decompressor info and error messages to serial console */
  
  static void
  {
  #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
        while(*s) {
-@@ -209,9 +209,9 @@
+@@ -209,9 +209,9 @@ flush_window()
  static void
  error(char *x)
  {
  
        while(1);       /* Halt */
  }
-@@ -257,14 +257,7 @@
+@@ -257,14 +257,7 @@ decompress_kernel()
  
        makecrc();
  
  }
 --- a/arch/cris/arch-v10/mm/init.c
 +++ b/arch/cris/arch-v10/mm/init.c
-@@ -184,6 +184,9 @@
+@@ -184,6 +184,9 @@ paging_init(void)
  
        free_area_init_node(0, &contig_page_data, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0);
  }
index f73b379..8ffe073 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/cris/eth_v10.c
 +++ b/drivers/net/cris/eth_v10.c
-@@ -1707,7 +1707,7 @@
+@@ -1707,7 +1707,7 @@ e100_set_network_leds(int active)
  static void
  e100_netpoll(struct net_device* netdev)
  {
index ac4ac67..5353106 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -297,8 +297,8 @@
+@@ -297,8 +297,8 @@ struct mtd_info *cfi_cmdset_0002(struct 
                        return NULL;
                }
  
index 859bb46..4c4fa81 100644 (file)
@@ -8,7 +8,7 @@
 +      .dword 0xdeadc0de
 --- a/arch/cris/arch-v10/drivers/axisflashmap.c
 +++ b/arch/cris/arch-v10/drivers/axisflashmap.c
-@@ -113,7 +113,7 @@
+@@ -113,7 +113,7 @@ static struct map_info map_cse1 = {
  
  /* If no partition-table was found, we use this default-set. */
  #define MAX_PARTITIONS         7
@@ -17,7 +17,7 @@
  
  /*
   * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
-@@ -122,19 +122,14 @@
+@@ -122,19 +122,14 @@ static struct map_info map_cse1 = {
   */
  static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
        {
@@ -42,7 +42,7 @@
        }
  };
  
-@@ -281,6 +276,11 @@
+@@ -281,6 +276,11 @@ static int __init init_axis_flash(void)
        struct partitiontable_entry *ptable;
        int use_default_ptable = 1; /* Until proven otherwise. */
        const char pmsg[] = "  /dev/flash%d at 0x%08x, size 0x%08x\n";
@@ -54,7 +54,7 @@
  
        if (!(mymtd = flash_probe())) {
                /* There's no reason to use this module if no flash chip can
-@@ -292,6 +292,31 @@
+@@ -292,6 +292,31 @@ static int __init init_axis_flash(void)
                       mymtd->name, mymtd->size);
                axisflash_mtd = mymtd;
        }
index 3b03784..a7bebe5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/serial/crisv10.c
 +++ b/drivers/serial/crisv10.c
-@@ -27,6 +27,7 @@
+@@ -27,6 +27,7 @@ static char *serial_version = "$Revision
  #include <linux/kernel.h>
  #include <linux/mutex.h>
  #include <linux/bitops.h>
@@ -8,7 +8,7 @@
  
  #include <asm/io.h>
  #include <asm/irq.h>
-@@ -4384,6 +4385,7 @@
+@@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op
        .tiocmset = rs_tiocmset
  };
  
@@ -16,7 +16,7 @@
  static int __init
  rs_init(void)
  {
-@@ -4518,6 +4520,24 @@
+@@ -4518,6 +4520,24 @@ rs_init(void)
  #endif
  #endif /* CONFIG_SVINTO_SIM */
  
index 5b443d4..51de789 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/Makefile
 +++ b/drivers/usb/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_USB_UHCI_HCD)   += host/
  obj-$(CONFIG_USB_SL811_HCD)   += host/
  obj-$(CONFIG_USB_U132_HCD)    += host/
  obj-$(CONFIG_USB_R8A66597_HCD)        += host/
@@ -10,7 +10,7 @@
  obj-$(CONFIG_USB_PRINTER)     += class/
 --- a/drivers/usb/host/Makefile
 +++ b/drivers/usb/host/Makefile
-@@ -17,3 +17,5 @@
+@@ -17,3 +17,5 @@ obj-$(CONFIG_USB_SL811_CS)   += sl811_cs.o
  obj-$(CONFIG_USB_U132_HCD)    += u132-hcd.o
  obj-$(CONFIG_USB_R8A66597_HCD)        += r8a66597-hcd.o
  
index 4f55eb5..b2be831 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1367,6 +1367,71 @@
+@@ -1367,6 +1367,71 @@ config CRAMFS
  
          If unsure, say N.
  
@@ -74,7 +74,7 @@
        depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -73,6 +73,7 @@
+@@ -73,6 +73,7 @@ obj-$(CONFIG_JBD)            += jbd/
  obj-$(CONFIG_JBD2)            += jbd2/
  obj-$(CONFIG_EXT2_FS)         += ext2/
  obj-$(CONFIG_CRAMFS)          += cramfs/
  #include <linux/initrd.h>
  #include <linux/string.h>
  
-@@ -39,6 +40,7 @@
+@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
   * numbers could not be found.
   *
   * We currently check for the following magic numbers:
   *    minix
   *    ext2
   *    romfs
-@@ -53,6 +55,7 @@
+@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
        struct ext2_super_block *ext2sb;
        struct romfs_super_block *romfsb;
        struct cramfs_super *cramfsb;
        int nblocks = -1;
        unsigned char *buf;
  
-@@ -64,6 +67,7 @@
+@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
        ext2sb = (struct ext2_super_block *) buf;
        romfsb = (struct romfs_super_block *) buf;
        cramfsb = (struct cramfs_super *) buf;
        memset(buf, 0xe5, size);
  
        /*
-@@ -101,6 +105,15 @@
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
                goto done;
        }
  
index fdc3039..939e0a9 100644 (file)
 +}
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lib-$(CONFIG_SMP) += cpumask.o
  lib-y += kobject.o kref.o klist.o
  
  obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
index 16cc873..9050e37 100644 (file)
@@ -38,7 +38,7 @@
  static void squashfs_put_super(struct super_block *);
  static int squashfs_statfs(struct dentry *, struct kstatfs *);
  static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@
+@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
                        const char *, void *, struct vfsmount *);
  
  
@@ -50,7 +50,7 @@
  
  static struct file_system_type squashfs_fs_type = {
        .owner = THIS_MODULE,
-@@ -249,6 +270,15 @@
+@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
        if (compressed) {
                int zlib_err;
  
@@ -66,7 +66,7 @@
                stream.next_in = c_buffer;
                stream.avail_in = c_byte;
                stream.next_out = buffer;
-@@ -263,7 +293,7 @@
+@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
                        bytes = 0;
                } else
                        bytes = stream.total_out;
@@ -75,7 +75,7 @@
                up(&msblk->read_data_mutex);
        }
  
-@@ -2045,15 +2075,19 @@
+@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
        printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
                "Phillip Lougher\n");
  
@@ -95,7 +95,7 @@
                destroy_inodecache();
        }
  
-@@ -2064,7 +2098,9 @@
+@@ -2064,7 +2098,9 @@ out:
  
  static void __exit exit_squashfs_fs(void)
  {
index d3898f1..ba1b71c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -533,6 +533,9 @@
+@@ -533,6 +533,9 @@ endif
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
  
index 961829e..56b7fc2 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/squashfs_fs_sb.h>
  #include <linux/squashfs_fs_i.h>
  #include <linux/buffer_head.h>
-@@ -2125,7 +2126,7 @@
+@@ -2125,7 +2126,7 @@ static void squashfs_destroy_inode(struc
  }
  
  
index dbb7e7c..cd62e9c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/system.h
 +++ b/include/asm-mips/system.h
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ extern __u64 __xchg_u64_unsupported_on_3
     if something tries to do an invalid xchg().  */
  extern void __xchg_called_with_bad_pointer(void);
  
index f1279c2..557736f 100644 (file)
@@ -8,7 +8,7 @@
  
  static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
  static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -298,12 +299,19 @@
+@@ -298,12 +299,19 @@ struct mtd_info *cfi_cmdset_0002(struct 
  
                if (extp->MajorVersion != '1' ||
                    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
index d2c1dc5..0729007 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0001.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -1008,7 +1008,7 @@
+@@ -1008,7 +1008,7 @@ static void __xipram xip_enable(struct m
  
  static int __xipram xip_wait_for_operation(
                struct map_info *map, struct flchip *chip,
@@ -9,7 +9,7 @@
  {
        struct cfi_private *cfi = map->fldrv_priv;
        struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-@@ -1017,7 +1017,7 @@
+@@ -1017,7 +1017,7 @@ static int __xipram xip_wait_for_operati
        flstate_t oldstate, newstate;
  
                start = xip_currtime();
@@ -18,7 +18,7 @@
        if (usec == 0)
                usec = 500000;
        done = 0;
-@@ -1127,8 +1127,8 @@
+@@ -1127,8 +1127,8 @@ static int __xipram xip_wait_for_operati
  #define XIP_INVAL_CACHED_RANGE(map, from, size)  \
        INVALIDATE_CACHED_RANGE(map, from, size)
  
@@ -29,7 +29,7 @@
  
  #else
  
-@@ -1140,65 +1140,65 @@
+@@ -1140,65 +1140,65 @@ static int __xipram xip_wait_for_operati
  static int inval_cache_and_wait_for_operation(
                struct map_info *map, struct flchip *chip,
                unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
        /* Done and happy. */
        chip->state = FL_STATUS;
        return 0;
-@@ -1207,7 +1207,8 @@
+@@ -1207,7 +1207,8 @@ static int inval_cache_and_wait_for_oper
  #endif
  
  #define WAIT_TIMEOUT(map, chip, adr, udelay) \
  
  
  static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
-@@ -1438,7 +1439,7 @@
+@@ -1438,7 +1439,7 @@ static int __xipram do_write_oneword(str
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
                                   adr, map_bankwidth(map),
        if (ret) {
                xip_enable(map, chip, adr);
                printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
-@@ -1678,7 +1679,7 @@
+@@ -1678,7 +1679,7 @@ static int __xipram do_write_buffer(stru
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
                                   initial_adr, initial_len,
        if (ret) {
                map_write(map, CMD(0x70), cmd_adr);
                chip->state = FL_STATUS;
-@@ -1813,7 +1814,7 @@
+@@ -1813,7 +1814,7 @@ static int __xipram do_erase_oneblock(st
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
                                   adr, len,
index 4a1c958..f5d9b0c 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/buffer_head.h>
  #include <linux/mutex.h>
  #include <linux/mount.h>
-@@ -237,10 +238,11 @@
+@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
  
  
  /* FIXME: ensure that mtd->size % erase_size == 0 */
@@ -21,7 +21,7 @@
  
        if (!devname)
                return NULL;
-@@ -279,14 +281,18 @@
+@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
  
        /* Setup the MTD structure */
        /* make the name contain the block device in */
@@ -45,7 +45,7 @@
        dev->mtd.erasesize = erase_size;
        dev->mtd.writesize = 1;
        dev->mtd.type = MTD_RAM;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
        dev->mtd.read = block2mtd_read;
        dev->mtd.priv = dev;
        dev->mtd.owner = THIS_MODULE;
@@ -68,7 +68,7 @@
        return dev;
  
  devinit_err:
-@@ -379,9 +388,9 @@
+@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12]
  
  static int block2mtd_setup2(const char *val)
  {
@@ -80,7 +80,7 @@
        char *name;
        size_t erase_size = PAGE_SIZE;
        int i, ret;
-@@ -392,7 +401,7 @@
+@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
        strcpy(str, val);
        kill_final_newline(str);
  
@@ -89,7 +89,7 @@
                token[i] = strsep(&str, ",");
  
        if (str)
-@@ -411,8 +420,10 @@
+@@ -411,8 +420,10 @@ static int block2mtd_setup2(const char *
                        parse_err("illegal erase size");
                }
        }
  
        return 0;
  }
-@@ -446,7 +457,7 @@
+@@ -446,7 +457,7 @@ static int block2mtd_setup(const char *v
  
  
  module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
index 62a7e25..5b882c6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -47,6 +47,16 @@
+@@ -47,6 +47,16 @@ config MTD_PARTITIONS
          devices. Partitioning on NFTL 'devices' is a different - that's the
          'normal' form of partitioning used on a block device.
  
@@ -28,7 +28,7 @@
  
  /* Our partition linked list */
  static LIST_HEAD(mtd_partitions);
-@@ -39,7 +41,7 @@
+@@ -39,7 +41,7 @@ struct mtd_part {
   * the pointer to that structure with this macro.
   */
  #define PART(x)  ((struct mtd_part *)(x))
@@ -37,7 +37,7 @@
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -322,6 +324,316 @@
+@@ -322,6 +324,316 @@ int del_mtd_partitions(struct mtd_info *
        return 0;
  }
  
  /*
   * This function, given a master MTD object and a partition table, creates
   * and registers slave MTD objects which are bound to the master according to
-@@ -334,171 +646,31 @@
+@@ -334,171 +646,31 @@ int add_mtd_partitions(struct mtd_info *
                       int nbparts)
  {
        struct mtd_part *slave;
                }
        }
  
-@@ -574,6 +746,32 @@
+@@ -574,6 +746,32 @@ int parse_mtd_partitions(struct mtd_info
        return ret;
  }
  
  EXPORT_SYMBOL_GPL(deregister_mtd_parser);
 --- a/drivers/mtd/devices/block2mtd.c
 +++ b/drivers/mtd/devices/block2mtd.c
-@@ -34,6 +34,8 @@
+@@ -34,6 +34,8 @@ struct block2mtd_dev {
        struct block_device *blkdev;
        struct mtd_info mtd;
        struct mutex write_mutex;
  };
  
  
-@@ -86,6 +88,12 @@
+@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in
        size_t len = instr->len;
        int err;
  
        instr->state = MTD_ERASING;
        mutex_lock(&dev->write_mutex);
        err = _block2mtd_erase(dev, from, len);
-@@ -98,6 +106,10 @@
+@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
  
        instr->state = MTD_ERASE_DONE;
        mtd_erase_callback(instr);
        return err;
  }
  
-@@ -109,10 +121,14 @@
+@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf
        struct page *page;
        int index = from >> PAGE_SHIFT;
        int offset = from & (PAGE_SIZE-1);
        if (from + len > mtd->size)
                len = mtd->size - from;
  
-@@ -127,10 +143,14 @@
+@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf
                len = len - cpylen;
  
                page = page_read(dev->blkdev->bd_inode->i_mapping, index);
  
                memcpy(buf, page_address(page) + offset, cpylen);
                page_cache_release(page);
-@@ -141,7 +161,10 @@
+@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
                offset = 0;
                index++;
        }
  }
  
  
-@@ -193,12 +216,22 @@
+@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in
                size_t *retlen, const u_char *buf)
  {
        struct block2mtd_dev *dev = mtd->priv;
        if (to + len > mtd->size)
                len = mtd->size - to;
  
-@@ -207,6 +240,9 @@
+@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
        mutex_unlock(&dev->write_mutex);
        if (err > 0)
                err = 0;
        return err;
  }
  
-@@ -215,51 +251,29 @@
+@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
  static void block2mtd_sync(struct mtd_info *mtd)
  {
        struct block2mtd_dev *dev = mtd->priv;
                if (devt) {
                        bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
                }
-@@ -267,17 +281,96 @@
+@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
  #endif
  
        if (IS_ERR(bdev)) {
  
        /* Setup the MTD structure */
        /* make the name contain the block device in */
-@@ -304,6 +397,7 @@
+@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device(
        dev->mtd.read = block2mtd_read;
        dev->mtd.priv = dev;
        dev->mtd.owner = THIS_MODULE;
  
  #include <asm/uaccess.h>
  
-@@ -756,6 +757,13 @@
+@@ -756,6 +757,13 @@ static int mtd_ioctl(struct inode *inode
                file->f_pos = 0;
                break;
        }
                ret = -ENOTTY;
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -98,6 +98,7 @@
+@@ -98,6 +98,7 @@ struct mtd_oob_ops {
        uint8_t         *oobbuf;
  };
  
  struct mtd_info {
        u_char type;
        u_int32_t flags;
-@@ -211,6 +212,9 @@
+@@ -211,6 +212,9 @@ struct mtd_info {
        struct module *owner;
        int usecount;
  
  struct mtd_partition {
        char *name;                     /* identifier string */
        u_int32_t size;                 /* partition size */
-@@ -43,6 +44,7 @@
+@@ -43,6 +44,7 @@ struct mtd_partition {
        u_int32_t mask_flags;           /* master MTD flags to mask out for this partition */
        struct nand_ecclayout *ecclayout;       /* out of band layout for this partition (NAND only)*/
        struct mtd_info **mtdp;         /* pointer to store the MTD object */
  };
  
  #define MTDPART_OFS_NXTBLK    (-2)
-@@ -52,6 +54,7 @@
+@@ -52,6 +54,7 @@ struct mtd_partition {
  
  int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
  int del_mtd_partitions(struct mtd_info *);
   * Functions dealing with the various ways of partitioning the space
 --- a/include/mtd/mtd-abi.h
 +++ b/include/mtd/mtd-abi.h
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,7 @@ struct otp_info {
  #define ECCGETLAYOUT          _IOR('M', 17, struct nand_ecclayout)
  #define ECCGETSTATS           _IOR('M', 18, struct mtd_ecc_stats)
  #define MTDFILEMODE           _IO('M', 19)
index 0f15bab..784fba1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
-@@ -251,14 +251,21 @@
+@@ -251,14 +251,21 @@ static int parse_redboot_partitions(stru
  #endif
                names += strlen(names)+1;
  
index ef885ed..61f2806 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
-@@ -573,6 +573,7 @@
+@@ -573,6 +573,7 @@ struct platform_nand_chip {
        int                     chip_delay;
        unsigned int            options;
        const char              **part_probe_types;
@@ -10,7 +10,7 @@
  
 --- a/drivers/mtd/nand/plat_nand.c
 +++ b/drivers/mtd/nand/plat_nand.c
-@@ -70,7 +70,18 @@
+@@ -70,7 +70,18 @@ static int __init plat_nand_probe(struct
        platform_set_drvdata(pdev, data);
  
        /* Scan to find existance of the device */
index c530519..9bf65de 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -735,6 +735,27 @@
+@@ -735,6 +735,27 @@ config NETFILTER_XT_MATCH_STATE
  
          To compile it as a module, choose M here.  If unsure, say N.
  
@@ -30,7 +30,7 @@
        depends on NETFILTER_XTABLES
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -77,6 +77,7 @@
+@@ -77,6 +77,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RATEEST)
  obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
 +}
 --- a/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
-@@ -208,6 +208,14 @@
+@@ -208,6 +208,14 @@ destroy_conntrack(struct nf_conntrack *n
         * too. */
        nf_ct_remove_expectations(ct);
  
                BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
 --- a/net/netfilter/nf_conntrack_standalone.c
 +++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -181,7 +181,12 @@
+@@ -181,7 +181,12 @@ static int ct_seq_show(struct seq_file *
                return -ENOSPC;
  #endif
  
        return 0;
 --- a/include/net/netfilter/nf_conntrack.h
 +++ b/include/net/netfilter/nf_conntrack.h
-@@ -124,6 +124,22 @@
+@@ -124,6 +124,22 @@ struct nf_conn
        u_int32_t secmark;
  #endif
  
index 167d578..be2dff8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/netfilter/xt_layer7.h
 +++ b/include/linux/netfilter/xt_layer7.h
-@@ -8,6 +8,7 @@
+@@ -8,6 +8,7 @@ struct xt_layer7_info {
      char protocol[MAX_PROTOCOL_LEN];
      char pattern[MAX_PATTERN_LEN];
      u_int8_t invert;
@@ -10,7 +10,7 @@
  #endif /* _XT_LAYER7_H */
 --- a/net/netfilter/xt_layer7.c
 +++ b/net/netfilter/xt_layer7.c
-@@ -297,34 +297,36 @@
+@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
  }
  
  /* add the new app data to the conntrack.  Return number of bytes added. */
@@ -61,7 +61,7 @@
        return length;
  }
  
-@@ -411,7 +413,7 @@
+@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin,
        const struct xt_layer7_info * info = matchinfo;
        enum ip_conntrack_info master_ctinfo, ctinfo;
        struct nf_conn *master_conntrack, *conntrack;
@@ -70,7 +70,7 @@
        unsigned int pattern_result, appdatalen;
        regexp * comppattern;
  
-@@ -439,8 +441,8 @@
+@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin,
                master_conntrack = master_ct(master_conntrack);
  
        /* if we've classified it or seen too many packets */
@@ -81,7 +81,7 @@
  
                pattern_result = match_no_append(conntrack, master_conntrack, 
                                                 ctinfo, master_ctinfo, info);
-@@ -473,6 +475,25 @@
+@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin,
        /* the return value gets checked later, when we're ready to use it */
        comppattern = compile_and_cache(info->pattern, info->protocol);
  
index cd1abfa..72151b4 100644 (file)
 +
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -57,6 +57,12 @@
+@@ -57,6 +57,12 @@ config IP_NF_IPTABLES
          To compile it as a module, choose M here.  If unsure, say N.
  
  # The matches.
        depends on IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -47,6 +47,8 @@
+@@ -47,6 +47,8 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  
index 88e33d5..10cd1b9 100644 (file)
 +module_exit(ipt_SET_fini);
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -385,5 +385,122 @@
+@@ -385,5 +385,122 @@ config IP_NF_ARP_MANGLE
          Allows altering the ARP packet payload: source and destination
          hardware and network addresses.
  
  
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
  obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  
  obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
  
-@@ -59,6 +60,18 @@
+@@ -59,6 +60,18 @@ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += i
  obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
  obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
  obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
index ba6b5dc..fdaf5c8 100644 (file)
 +}
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -63,6 +63,22 @@
+@@ -63,6 +63,22 @@ config IP_NF_MATCH_IPP2P
        help
          Module for matching traffic of various Peer-to-Peer applications
  
        depends on IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
index 3e2423f..015afc9 100644 (file)
 +
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -117,6 +117,129 @@
+@@ -117,6 +117,129 @@ config EQUALIZER
          To compile this driver as a module, choose M here: the module
          will be called eql.  If unsure, say N.
  
        select CRC32
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -143,6 +143,7 @@
+@@ -143,6 +143,7 @@ obj-$(CONFIG_SLHC) += slhc.o
  obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
  
  obj-$(CONFIG_DUMMY) += dummy.o
 +#endif /* _IP6T_IMQ_H */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -296,6 +296,10 @@
+@@ -296,6 +296,10 @@ struct sk_buff {
        struct nf_conntrack     *nfct;
        struct sk_buff          *nfct_reasm;
  #endif
  #ifdef CONFIG_BRIDGE_NETFILTER
        struct nf_bridge_info   *nf_bridge;
  #endif
-@@ -1736,6 +1740,10 @@
+@@ -1736,6 +1740,10 @@ static inline void __nf_copy(struct sk_b
        dst->nfct_reasm = src->nfct_reasm;
        nf_conntrack_get_reasm(src->nfct_reasm);
  #endif
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
  #include <linux/stat.h>
-@@ -1537,7 +1540,11 @@
+@@ -1537,7 +1540,11 @@ static int dev_gso_segment(struct sk_buf
  int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
  {
        if (likely(!skb->next)) {
 +MODULE_LICENSE("GPL");
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -145,6 +145,17 @@
+@@ -145,6 +145,17 @@ config IP_NF_FILTER
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on IP_NF_FILTER
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -55,6 +55,7 @@
+@@ -55,6 +55,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
  obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
  obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
 +MODULE_LICENSE("GPL");
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -179,6 +179,15 @@
+@@ -179,6 +179,15 @@ config IP6_NF_MANGLE
  
          To compile it as a module, choose M here.  If unsure, say N.
  
  
 --- a/net/sched/sch_generic.c
 +++ b/net/sched/sch_generic.c
-@@ -203,6 +203,7 @@
+@@ -203,6 +203,7 @@ void __qdisc_run(struct net_device *dev)
  
        clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state);
  }
index d059973..361697c 100644 (file)
@@ -95,7 +95,7 @@
 +#define xt_request_find_match xt_request_find_match_lo
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -276,6 +276,14 @@
+@@ -276,6 +276,14 @@ config NETFILTER_XTABLES
  
  # alphabetically ordered list of targets
  
  config NETFILTER_XT_TARGET_CLASSIFY
        tristate '"CLASSIFY" target support'
        depends on NETFILTER_XTABLES
-@@ -305,6 +313,14 @@
+@@ -305,6 +313,14 @@ config NETFILTER_XT_TARGET_CONNMARK
          <file:Documentation/kbuild/modules.txt>.  The module will be called
          ipt_CONNMARK.ko.  If unsure, say `N'.
  
  config NETFILTER_XT_TARGET_DSCP
        tristate '"DSCP" and "TOS" target support'
        depends on NETFILTER_XTABLES
-@@ -640,6 +656,14 @@
+@@ -640,6 +656,14 @@ config NETFILTER_XT_MATCH_POLICY
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on NETFILTER_XTABLES
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -50,6 +50,8 @@
+@@ -50,6 +50,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP) += xt_TCPOPTSTRIP.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
  
  # matches
  obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -83,3 +85,4 @@
+@@ -83,3 +85,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) 
  obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_TIME) += xt_time.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
 +MODULE_ALIAS("ipt_portscan");
 --- a/drivers/char/random.c
 +++ b/drivers/char/random.c
-@@ -1563,6 +1563,8 @@
+@@ -1563,6 +1563,8 @@ __u32 secure_tcp_sequence_number(__be32 
        return seq;
  }
  
index 8575368..d99150f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -437,6 +437,23 @@
+@@ -437,6 +437,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
  
          To compile it as a module, choose M here.  If unsure, say N.
  
@@ -26,7 +26,7 @@
        depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE
  obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_RATEEST) += xt_RATEEST.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
index dbdcf39..29491e2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -145,7 +145,7 @@
+@@ -145,7 +145,7 @@ config NF_CONNTRACK_FTP
  
  config NF_CONNTRACK_H323
        tristate "H.323 protocol support"
@@ -9,7 +9,7 @@
        depends on NETFILTER_ADVANCED
        help
          H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -456,7 +456,7 @@
+@@ -456,7 +456,7 @@ config NETFILTER_XT_TARGET_TARPIT
  
  config NETFILTER_XT_TARGET_TCPMSS
        tristate '"TCPMSS" target support'
index 4e5adf9..8b98b89 100644 (file)
 +#endif /* _NETFILTER_MIME_H */
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
  obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
  obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
  obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
  obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -258,6 +258,16 @@
+@@ -258,6 +258,16 @@ config NF_CONNTRACK_TFTP
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on NF_CONNTRACK
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
  obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
  obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
  obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
  obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -288,6 +288,11 @@
+@@ -288,6 +288,11 @@ config NF_NAT_IRC
        depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
        default NF_NAT && NF_CONNTRACK_IRC
  
index 1dfd95e..a3c0262 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/pkt_sched.h
 +++ b/include/linux/pkt_sched.h
-@@ -162,8 +162,37 @@
+@@ -162,8 +162,37 @@ struct tc_sfq_xstats
   *
   *    The only reason for this is efficiency, it is possible
   *    to change these parameters in compile time.
@@ -40,7 +40,7 @@
  enum
 --- a/net/sched/Kconfig
 +++ b/net/sched/Kconfig
-@@ -139,6 +139,37 @@
+@@ -139,6 +139,37 @@ config NET_SCH_SFQ
          To compile this code as a module, choose M here: the
          module will be called sch_sfq.
  
@@ -80,7 +80,7 @@
        ---help---
 --- a/net/sched/Makefile
 +++ b/net/sched/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NET_SCH_GRED)   += sch_gred.o
  obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o 
  obj-$(CONFIG_NET_SCH_DSMARK)  += sch_dsmark.o
  obj-$(CONFIG_NET_SCH_SFQ)     += sch_sfq.o
index cd961e5..e4cdfdd 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -593,6 +593,9 @@
+@@ -593,6 +593,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
  cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
  load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
  
index 5053401..eccdbe2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/build.c
 +++ b/fs/jffs2/build.c
-@@ -105,6 +105,17 @@
+@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct
        dbg_fsbuild("scanned flash completely\n");
        jffs2_dbg_dump_block_lists_nolock(c);
  
@@ -20,7 +20,7 @@
        /* Now scan the directory tree, increasing nlink according to every dirent found. */
 --- a/fs/jffs2/scan.c
 +++ b/fs/jffs2/scan.c
-@@ -142,9 +142,12 @@
+@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in
  
                /* reset summary info for next eraseblock scan */
                jffs2_sum_reset_collected(s);
@@ -36,7 +36,7 @@
  
                if (ret < 0)
                        goto out;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
                        return err;
        }
  
index e812f9b..2196a49 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/r8169.c
 +++ b/drivers/net/r8169.c
-@@ -1539,7 +1539,7 @@
+@@ -1539,7 +1539,7 @@ static const struct rtl_cfg_info {
                .hw_start       = rtl_hw_start_8169,
                .region         = 1,
                .align          = 0,
@@ -9,7 +9,7 @@
                                  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
                .napi_event     = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
                .msi            = 0
-@@ -1548,7 +1548,7 @@
+@@ -1548,7 +1548,7 @@ static const struct rtl_cfg_info {
                .hw_start       = rtl_hw_start_8168,
                .region         = 2,
                .align          = 8,
@@ -18,7 +18,7 @@
                                  TxErr | TxOK | RxOK | RxErr,
                .napi_event     = TxErr | TxOK | RxOK | RxOverflow,
                .msi            = RTL_FEATURE_MSI
-@@ -1557,7 +1557,7 @@
+@@ -1557,7 +1557,7 @@ static const struct rtl_cfg_info {
                .hw_start       = rtl_hw_start_8101,
                .region         = 2,
                .align          = 8,
@@ -27,7 +27,7 @@
                                  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
                .napi_event     = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
                .msi            = RTL_FEATURE_MSI
-@@ -2905,10 +2905,12 @@
+@@ -2905,10 +2905,12 @@ static irqreturn_t rtl8169_interrupt(int
                        break;
                }
  
index 9b58546..9d76d01 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1449,6 +1449,9 @@
+@@ -1449,6 +1449,9 @@ config VXFS_FS
          To compile this as a module, choose M here: the module will be
          called freevxfs.  If unsure, say N.
  
@@ -12,7 +12,7 @@
        depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -77,6 +77,7 @@
+@@ -77,6 +77,7 @@ obj-$(CONFIG_SQUASHFS)               += squashfs/
  obj-y                         += ramfs/
  obj-$(CONFIG_HUGETLBFS)               += hugetlbfs/
  obj-$(CONFIG_CODA_FS)         += coda/
index 22ca390..d71e3b6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/main.c
 +++ b/fs/mini_fo/main.c
-@@ -79,6 +79,7 @@
+@@ -79,6 +79,7 @@ mini_fo_tri_interpose(dentry_t *hidden_d
         * of the new inode's fields
         */
  
@@ -8,7 +8,7 @@
        /*
         * original: inode = iget(sb, hidden_inode->i_ino);
         */
-@@ -87,6 +88,13 @@
+@@ -87,6 +88,13 @@ mini_fo_tri_interpose(dentry_t *hidden_d
                err = -EACCES;          /* should be impossible??? */
                goto out;
        }
@@ -22,7 +22,7 @@
  
        /*
         * interpose the inode if not already interposed
-@@ -184,9 +192,9 @@
+@@ -184,9 +192,9 @@ mini_fo_parse_options(super_block_t *sb,
                                hidden_root = ERR_PTR(err);
                                goto out;
                        }
@@ -35,7 +35,7 @@
  
                } else if(!strncmp("sto=", options, 4)) {
                        /* parse the storage dir */
-@@ -204,9 +212,9 @@
+@@ -204,9 +212,9 @@ mini_fo_parse_options(super_block_t *sb,
                                hidden_root2 = ERR_PTR(err);
                                goto out;
                        }
@@ -50,7 +50,7 @@
                        /* validate storage dir, this is done in
 --- a/fs/mini_fo/mini_fo.h
 +++ b/fs/mini_fo/mini_fo.h
-@@ -302,6 +302,10 @@
+@@ -302,6 +302,10 @@ extern int mini_fo_tri_interpose(dentry_
  extern int mini_fo_cp_cont(dentry_t *tgt_dentry, struct vfsmount *tgt_mnt,
                           dentry_t *src_dentry, struct vfsmount *src_mnt);
  
@@ -61,7 +61,7 @@
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
  extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd);
  
-@@ -501,6 +505,29 @@
+@@ -501,6 +505,29 @@ static inline void double_unlock(struct 
  #endif  /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */
  #endif /* __KERNEL__ */
  
@@ -93,7 +93,7 @@
   */
 --- a/fs/mini_fo/super.c
 +++ b/fs/mini_fo/super.c
-@@ -262,10 +262,31 @@
+@@ -262,10 +262,31 @@ mini_fo_umount_begin(super_block_t *sb)
  }
  #endif
  
  #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
 --- a/fs/mini_fo/aux.c
 +++ b/fs/mini_fo/aux.c
-@@ -164,11 +164,11 @@
+@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb, 
        err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd);
  
        /* validate */
index 14a9f37..48a1942 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/meta.c
 +++ b/fs/mini_fo/meta.c
-@@ -442,6 +442,11 @@
+@@ -442,6 +442,11 @@ int meta_write_d_entry(dentry_t *dentry,
                           S_IRUSR | S_IWUSR);
  #endif
        }
@@ -12,7 +12,7 @@
          /* open META-file for writing */
          meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
          if(!meta_file || IS_ERR(meta_file)) {
-@@ -535,6 +540,11 @@
+@@ -535,6 +540,11 @@ int meta_write_r_entry(dentry_t *dentry,
                           meta_dentry, S_IRUSR | S_IWUSR);
  #endif
        }
@@ -24,7 +24,7 @@
          /* open META-file for writing */
          meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
          if(!meta_file || IS_ERR(meta_file)) {
-@@ -671,14 +681,16 @@
+@@ -671,14 +681,16 @@ int meta_sync_d_list(dentry_t *dentry, i
                }
        }
  
@@ -44,7 +44,7 @@
                dput(meta_dentry);
                err = -1;
                  goto out;
-@@ -811,14 +823,16 @@
+@@ -811,14 +823,16 @@ int meta_sync_r_list(dentry_t *dentry, i
                }
        }
  
index 2711366..f91db03 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/kobject_uevent.c
 +++ b/lib/kobject_uevent.c
-@@ -27,7 +27,8 @@
+@@ -27,7 +27,8 @@ u64 uevent_seqnum;
  char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
  static DEFINE_SPINLOCK(sequence_lock);
  #if defined(CONFIG_NET)
@@ -10,7 +10,7 @@
  #endif
  
  /* the strings here must match the enum in include/linux/kobject.h */
-@@ -40,6 +41,18 @@
+@@ -40,6 +41,18 @@ static const char *kobject_actions[] = {
        [KOBJ_OFFLINE] =        "offline",
  };
  
@@ -29,7 +29,7 @@
  /**
   * kobject_action_type - translate action string to numeric type
   *
-@@ -192,9 +205,7 @@
+@@ -192,9 +205,7 @@ int kobject_uevent_env(struct kobject *k
                kobj->state_remove_uevent_sent = 1;
  
        /* we will send an event, so request a new sequence number */
index c052f2a..d215d12 100644 (file)
@@ -1,6 +1,6 @@
 --- a/sound/core/Kconfig
 +++ b/sound/core/Kconfig
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ config SND_PCM
        depends on SND
  
  config SND_HWDEP
index 2e1f8b8..7208dde 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -181,4 +181,8 @@
+@@ -181,4 +181,8 @@ config LEDS_TRIGGER_HEARTBEAT
          load average.
          If unsure, say Y.
  
@@ -11,7 +11,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -26,3 +26,4 @@
+@@ -26,3 +26,4 @@ obj-$(CONFIG_LEDS_HP6XX)             += leds-hp6xx.
  obj-$(CONFIG_LEDS_TRIGGER_TIMER)      += ledtrig-timer.o
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)   += ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)  += ledtrig-heartbeat.o
index 7216683..b65dce8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -79,6 +79,12 @@
+@@ -79,6 +79,12 @@ config LEDS_WRAP
        help
          This option enables support for the PCEngines WRAP programmable LEDs.
  
@@ -15,7 +15,7 @@
        depends on LEDS_CLASS && ARCH_H1940
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX)           += leds-s3c2
  obj-$(CONFIG_LEDS_AMS_DELTA)          += leds-ams-delta.o
  obj-$(CONFIG_LEDS_NET48XX)            += leds-net48xx.o
  obj-$(CONFIG_LEDS_WRAP)                       += leds-wrap.o
index b1f8c50..3697ff7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -191,4 +191,11 @@
+@@ -191,4 +191,11 @@ config LEDS_TRIGGER_MORSE
        tristate "LED Morse Trigger"
        depends on LEDS_TRIGGERS
  
@@ -14,7 +14,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -28,3 +28,4 @@
+@@ -28,3 +28,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER)     += ledt
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)   += ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)  += ledtrig-heartbeat.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)      += ledtrig-morse.o
index 6ae2cd7..46ca987 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/input/misc/Kconfig
 +++ b/drivers/input/misc/Kconfig
-@@ -197,4 +197,20 @@
+@@ -197,4 +197,20 @@ config HP_SDC_RTC
          Say Y here if you want to support the built-in real time clock
          of the HP SDC controller.
  
@@ -23,7 +23,7 @@
  endif
 --- a/drivers/input/misc/Makefile
 +++ b/drivers/input/misc/Makefile
-@@ -19,3 +19,4 @@
+@@ -19,3 +19,4 @@ obj-$(CONFIG_INPUT_YEALINK)          += yealink.
  obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
  obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
  obj-$(CONFIG_INPUT_APANEL)            += apanel.o
index 5eecc61..de8b57a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -955,6 +955,13 @@
+@@ -955,6 +955,13 @@ config CS5535_GPIO
  
          If compiled as a module, it will be called cs5535_gpio.
  
@@ -16,7 +16,7 @@
        depends on CPU_VR41XX
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -94,6 +94,7 @@
+@@ -94,6 +94,7 @@ obj-$(CONFIG_SCx200_GPIO)    += scx200_gpio
  obj-$(CONFIG_PC8736x_GPIO)    += pc8736x_gpio.o
  obj-$(CONFIG_NSC_GPIO)                += nsc_gpio.o
  obj-$(CONFIG_CS5535_GPIO)     += cs5535_gpio.o
index e0f1a9b..cef6ea5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -421,6 +421,7 @@
+@@ -421,6 +421,7 @@ config FS_POSIX_ACL
  
  source "fs/xfs/Kconfig"
  source "fs/gfs2/Kconfig"
@@ -10,7 +10,7 @@
        tristate "OCFS2 file system support"
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -121,3 +121,4 @@
+@@ -121,3 +121,4 @@ obj-$(CONFIG_HPPFS)                += hppfs/
  obj-$(CONFIG_DEBUG_FS)                += debugfs/
  obj-$(CONFIG_OCFS2_FS)                += ocfs2/
  obj-$(CONFIG_GFS2_FS)           += gfs2/
index ac89534..c127336 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/yaffs2/yaffs_fs.c
 +++ b/fs/yaffs2/yaffs_fs.c
-@@ -181,7 +181,13 @@
+@@ -181,7 +181,13 @@ static int yaffs_statfs(struct super_blo
  #else
  static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
  #endif
@@ -14,7 +14,7 @@
  
  static void yaffs_put_inode(struct inode *inode);
  static void yaffs_delete_inode(struct inode *);
-@@ -284,7 +290,9 @@
+@@ -284,7 +290,9 @@ static struct file_operations yaffs_dir_
  
  static struct super_operations yaffs_super_ops = {
        .statfs = yaffs_statfs,
@@ -24,7 +24,7 @@
        .put_inode = yaffs_put_inode,
        .put_super = yaffs_put_super,
        .delete_inode = yaffs_delete_inode,
-@@ -844,11 +852,17 @@
+@@ -844,11 +852,17 @@ struct inode *yaffs_get_inode(struct sup
        T(YAFFS_TRACE_OS,
          (KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
  
@@ -42,7 +42,7 @@
  
        return inode;
  }
-@@ -1427,6 +1441,39 @@
+@@ -1427,6 +1441,39 @@ static int yaffs_sync_fs(struct super_bl
  }
  
  
@@ -82,7 +82,7 @@
  static void yaffs_read_inode(struct inode *inode)
  {
        /* NB This is called as a side effect of other functions, but
-@@ -1448,6 +1495,7 @@
+@@ -1448,6 +1495,7 @@ static void yaffs_read_inode(struct inod
  
        yaffs_GrossUnlock(dev);
  }
index 6ac585e..c4ef465 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -348,6 +348,50 @@
+@@ -348,6 +348,50 @@ int phy_ethtool_gset(struct phy_device *
  }
  EXPORT_SYMBOL(phy_ethtool_gset);
  
@@ -53,7 +53,7 @@
   * @phydev: the phy_device struct
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -399,6 +399,7 @@
+@@ -399,6 +399,7 @@ void phy_start_machine(struct phy_device
  void phy_stop_machine(struct phy_device *phydev);
  int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
  int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);
index cda40d8..9fa7bb2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/mdio_bus.c
 +++ b/drivers/net/phy/mdio_bus.c
-@@ -132,6 +132,9 @@
+@@ -132,6 +132,9 @@ static int mdio_bus_match(struct device 
        struct phy_device *phydev = to_phy_device(dev);
        struct phy_driver *phydrv = to_phy_driver(drv);
  
@@ -12,7 +12,7 @@
  }
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -325,6 +325,11 @@
+@@ -325,6 +325,11 @@ struct phy_driver {
        u32 features;
        u32 flags;
  
index 46e6bf3..1b035cb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -65,6 +65,11 @@
+@@ -65,6 +65,11 @@ config REALTEK_PHY
        ---help---
          Supports the Realtek 821x PHY.
  
@@ -14,7 +14,7 @@
        depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_SMSC_PHY)               += smsc.o
  obj-$(CONFIG_VITESSE_PHY)     += vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)    += broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)      += icplus.o
index 22654db..6115487 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -53,6 +53,18 @@
+@@ -53,6 +53,18 @@ static void phy_device_release(struct de
        phy_device_free(to_phy_device(dev));
  }
  
@@ -19,7 +19,7 @@
  struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
  {
        struct phy_device *dev;
-@@ -78,6 +90,8 @@
+@@ -78,6 +90,8 @@ struct phy_device* phy_device_create(str
        dev->bus = bus;
  
        dev->state = PHY_DOWN;
@@ -30,7 +30,7 @@
  
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -295,6 +295,17 @@
+@@ -295,6 +295,17 @@ struct phy_device {
        void (*adjust_link)(struct net_device *dev);
  
        void (*adjust_state)(struct net_device *dev);
@@ -50,7 +50,7 @@
  
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -595,6 +595,7 @@
+@@ -595,6 +595,7 @@ struct net_device
        void                    *ax25_ptr;      /* AX.25 specific data */
        struct wireless_dev     *ieee80211_ptr; /* IEEE 802.11 specific data,
                                                   assign before registering */
index 85b8cb4..c2d7d1c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -70,6 +70,12 @@
+@@ -70,6 +70,12 @@ config ADM6996_PHY
        ---help---
          Currently supports the ADM6996F switch
  
@@ -15,7 +15,7 @@
        depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY)    += vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)    += broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)      += icplus.o
  obj-$(CONFIG_ADM6996_PHY)     += adm6996.o
@@ -38,7 +38,7 @@
  /**
   * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
   * @bus: target mii_bus
-@@ -85,6 +91,7 @@
+@@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus
  
                        phydev->dev.parent = bus->dev;
                        phydev->dev.bus = &mdio_bus_type;
index 8c2d74e..a471291 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
-@@ -930,6 +930,8 @@
+@@ -930,6 +930,8 @@ and is between 256 and 4096 characters. 
  
        l2cr=           [PPC]
  
@@ -11,7 +11,7 @@
  
 --- a/Documentation/powerpc/booting-without-of.txt
 +++ b/Documentation/powerpc/booting-without-of.txt
-@@ -59,12 +59,39 @@
+@@ -59,12 +59,39 @@ Table of Contents
        p) Freescale Synchronous Serial Interface
          q) USB EHCI controllers
  
@@ -52,7 +52,7 @@
    Appendix A - Sample SOC node for MPC8540
  
  
-@@ -1269,10 +1296,6 @@
+@@ -1269,10 +1296,6 @@ platforms are moved over to use the flat
  
    Recommended properties:
  
@@ -63,7 +63,7 @@
      - phy-connection-type : a string naming the controller/PHY interface type,
        i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii",
        "tbi", or "rtbi".  This property is only really needed if the connection
-@@ -1622,8 +1645,7 @@
+@@ -1622,8 +1645,7 @@ platforms are moved over to use the flat
     - device_type : should be "network", "hldc", "uart", "transparent"
       "bisync", "atm", or "serial".
     - compatible : could be "ucc_geth" or "fsl_atm" and so on.
@@ -73,7 +73,7 @@
     - reg : Offset and length of the register set for the device
     - interrupts : <a b> where a is the interrupt number and b is a
       field that represents an encoding of the sense and level
-@@ -1667,10 +1689,6 @@
+@@ -1667,10 +1689,6 @@ platforms are moved over to use the flat
     - phy-handle : The phandle for the PHY connected to this controller.
  
     Recommended properties:
@@ -84,7 +84,7 @@
     - phy-connection-type : a string naming the controller/PHY interface type,
       i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
       Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
-@@ -1680,8 +1698,7 @@
+@@ -1680,8 +1698,7 @@ platforms are moved over to use the flat
        ucc@2000 {
                device_type = "network";
                compatible = "ucc_geth";
@@ -94,7 +94,7 @@
                reg = <2000 200>;
                interrupts = <a0 0>;
                interrupt-parent = <700>;
-@@ -1995,7 +2012,6 @@
+@@ -1995,7 +2012,6 @@ platforms are moved over to use the flat
                interrupts = <20 8>;
                interrupt-parent = <&PIC>;
                phy-handle = <&PHY0>;
                fsl,cpm-command = <12000300>;
        };
  
-@@ -2217,12 +2233,6 @@
+@@ -2217,12 +2233,6 @@ platforms are moved over to use the flat
                          EMAC, that is the content of the current (bogus) "phy-port"
                          property.
  
      Optional properties:
      - phy-address       : 1 cell, optional, MDIO address of the PHY. If absent,
                          a search is performed.
-@@ -2246,7 +2256,6 @@
+@@ -2246,7 +2256,6 @@ platforms are moved over to use the flat
      Example:
  
        EMAC0: ethernet@40000800 {
                device_type = "network";
                compatible = "ibm,emac-440gp", "ibm,emac";
                interrupt-parent = <&UIC1>;
-@@ -2817,9 +2826,528 @@
+@@ -2817,9 +2826,528 @@ platforms are moved over to use the flat
           };
  
  
  ===================================================
  
  The device tree represents the busses and devices of a hardware
-@@ -2905,6 +3433,54 @@
+@@ -2905,6 +3433,54 @@ encodings listed below:
        2 =  high to low edge sensitive type enabled
        3 =  low to high edge sensitive type enabled
  
 +   Currently I am parsing it manually.
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -49,6 +49,19 @@
+@@ -49,6 +49,19 @@ config IRQ_PER_CPU
        bool
        default y
  
  config RWSEM_GENERIC_SPINLOCK
        bool
  
-@@ -81,6 +94,11 @@
+@@ -81,6 +94,11 @@ config GENERIC_FIND_NEXT_BIT
        bool
        default y
  
  config ARCH_NO_VIRT_TO_BUS
        def_bool PPC64
  
-@@ -91,6 +109,7 @@
+@@ -91,6 +109,7 @@ config PPC
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
  
  config EARLY_PRINTK
        bool
-@@ -210,15 +229,6 @@
+@@ -210,15 +229,6 @@ source kernel/Kconfig.hz
  source kernel/Kconfig.preempt
  source "fs/Kconfig.binfmt"
  
  config HUGETLB_PAGE_SIZE_VARIABLE
        bool
        depends on HUGETLB_PAGE
-@@ -307,6 +317,16 @@
+@@ -307,6 +317,16 @@ config CRASH_DUMP
  
          Don't change this unless you know what you are doing.
  
  config PPCBUG_NVRAM
        bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
        default y if PPC_PREP
-@@ -381,6 +401,26 @@
+@@ -381,6 +401,26 @@ config PPC_64K_PAGES
          while on hardware with such support, it will be used to map
          normal application pages.
  
  config PPC_SUBPAGE_PROT
        bool "Support setting protections for 4k subpages"
        depends on PPC_64K_PAGES
-@@ -490,6 +530,14 @@
+@@ -490,6 +530,14 @@ config FSL_PCI
        bool
        select PPC_INDIRECT_PCI
  
  # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
  config MCA
        bool
-@@ -663,22 +711,6 @@
+@@ -663,22 +711,6 @@ config CONSISTENT_SIZE
        hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
        default "0x00200000" if NOT_COHERENT_CACHE
  
        depends on ADVANCED_OPTIONS && 8xx
 --- a/arch/powerpc/Kconfig.debug
 +++ b/arch/powerpc/Kconfig.debug
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ config PPC_EARLY_DEBUG_CPM_ADDR
        hex "CPM UART early debug transmit descriptor address"
        depends on PPC_EARLY_DEBUG_CPM
        default "0xfa202008" if PPC_EP88XC
          This specifies the address of the transmit descriptor
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
-@@ -71,13 +71,11 @@
+@@ -71,13 +71,11 @@ endif
  
  LDFLAGS_vmlinux       := -Bstatic
  
  CPP           = $(CC) -E $(KBUILD_CFLAGS)
  
  CHECKFLAGS    += -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
-@@ -164,7 +162,7 @@
+@@ -164,7 +162,7 @@ boot := arch/$(ARCH)/boot
  $(BOOT_TARGETS): vmlinux
        $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
  define archhelp
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -40,6 +40,7 @@
+@@ -40,6 +40,7 @@ $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
  $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
  $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
  $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
  
  
  zlib       := inffast.c inflate.c inftrees.c
-@@ -64,7 +65,8 @@
+@@ -64,7 +65,8 @@ src-plat := of.c cuboot-52xx.c cuboot-82
                cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
                fixed-head.S ep88xc.c ep405.c \
                cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
  src-boot := $(src-wlib) $(src-plat) empty.c
  
  src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -192,7 +194,7 @@
+@@ -192,7 +194,7 @@ image-$(CONFIG_PPC_CHRP)           += zImage.chrp
  image-$(CONFIG_PPC_EFIKA)             += zImage.chrp
  image-$(CONFIG_PPC_PMAC)              += zImage.pmac
  image-$(CONFIG_PPC_HOLLY)             += zImage.holly
  image-$(CONFIG_PPC_ISERIES)           += zImage.iseries
  image-$(CONFIG_DEFAULT_UIMAGE)                += uImage
  
-@@ -216,6 +218,7 @@
+@@ -216,6 +218,7 @@ image-$(CONFIG_RAINIER)                    += cuImage.rai
  image-$(CONFIG_TAISHAN)                       += cuImage.taishan
  image-$(CONFIG_KATMAI)                        += cuImage.katmai
  image-$(CONFIG_WARP)                  += cuImage.warp
  
  # Board ports in arch/powerpc/platform/8xx/Kconfig
  image-$(CONFIG_PPC_MPC86XADS)         += cuImage.mpc866ads
-@@ -255,6 +258,7 @@
+@@ -255,6 +258,7 @@ image-$(CONFIG_TQM8555)                    += cuImage.tqm
  image-$(CONFIG_TQM8560)                       += cuImage.tqm8560
  image-$(CONFIG_SBC8548)                       += cuImage.sbc8548
  image-$(CONFIG_SBC8560)                       += cuImage.sbc8560
  
  # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
  image-$(CONFIG_STORCENTER)            += cuImage.storcenter
-@@ -285,11 +289,11 @@
+@@ -285,11 +289,11 @@ $(obj)/zImage.%: vmlinux $(wrapperbits)
        $(call if_changed,wrap,$*)
  
  # dtbImage% - a dtbImage is a zImage with an embedded device tree blob
  
  # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
  # prefix
-@@ -302,14 +306,24 @@
+@@ -302,14 +306,24 @@ $(obj)/zImage.iseries: vmlinux
  $(obj)/uImage: vmlinux $(wrapperbits)
        $(call if_changed,wrap,uboot)
  
  
  # If there isn't a platform selected then just strip the vmlinux.
  ifeq (,$(image-y))
-@@ -326,7 +340,7 @@
+@@ -326,7 +340,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
  
  # anything not in $(targets)
  clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \
  clean-kernel := vmlinux.strip vmlinux.bin
 --- a/arch/powerpc/boot/bamboo.c
 +++ b/arch/powerpc/boot/bamboo.c
-@@ -33,7 +33,8 @@
+@@ -33,7 +33,8 @@ static void bamboo_fixups(void)
        ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
        ibm4xx_sdram_fixup_memsize();
        ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
  
  struct cpm_scc {
        u32 gsmrl;
-@@ -42,6 +43,22 @@
+@@ -42,6 +43,22 @@ struct cpm_param {
        u16 tbase;
        u8 rfcr;
        u8 tfcr;
  };
  
  struct cpm_bd {
-@@ -54,10 +71,10 @@
+@@ -54,10 +71,10 @@ static void *cpcr;
  static struct cpm_param *param;
  static struct cpm_smc *smc;
  static struct cpm_scc *scc;
  
  static void (*do_cmd)(int op);
  static void (*enable_port)(void);
-@@ -119,20 +136,25 @@
+@@ -119,20 +136,25 @@ static int cpm_serial_open(void)
  
        out_8(&param->rfcr, 0x10);
        out_8(&param->tfcr, 0x10);
  
        do_cmd(CPM_CMD_INIT_RX_TX);
  
-@@ -175,10 +197,12 @@
+@@ -175,10 +197,12 @@ static unsigned char cpm_serial_getc(voi
  
  int cpm_console_init(void *devp, struct serial_console_data *scdp)
  {
  
        if (dt_is_compatible(devp, "fsl,cpm1-smc-uart")) {
                is_smc = 1;
-@@ -202,63 +226,64 @@
+@@ -202,63 +226,64 @@ int cpm_console_init(void *devp, struct 
        else
                do_cmd = cpm1_cmd;
  
        scdp->putc = cpm_serial_putc;
 --- a/arch/powerpc/boot/cuboot-pq2.c
 +++ b/arch/powerpc/boot/cuboot-pq2.c
-@@ -128,7 +128,7 @@
+@@ -128,7 +128,7 @@ static void fixup_pci(void)
        u8 *soc_regs;
        int i, len;
        void *node, *parent_node;
  
        node = finddevice("/pci");
        if (!node || !dt_is_compatible(node, "fsl,pq2-pci"))
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ static void fixup_pci(void)
  
        soc_regs = (u8 *)fsl_get_immr();
        if (!soc_regs)
  
        dt_get_reg_format(node, &naddr, &nsize);
        if (naddr != 3 || nsize != 2)
-@@ -153,7 +153,7 @@
+@@ -153,7 +153,7 @@ static void fixup_pci(void)
  
        dt_get_reg_format(parent_node, &naddr, &nsize);
        if (naddr != 1 || nsize != 1)
  
        len = getprop(node, "ranges", pci_ranges_buf,
                      sizeof(pci_ranges_buf));
-@@ -170,14 +170,20 @@
+@@ -170,14 +170,20 @@ static void fixup_pci(void)
        }
  
        if (!mem || !mmio || !io)
  
        out_be32(&pci_regs[1][0], mem_base->phys_addr | 1);
        out_be32(&pci_regs[2][0], ~(mem->size[1] + mmio->size[1] - 1));
-@@ -201,8 +207,9 @@
+@@ -201,8 +207,9 @@ static void fixup_pci(void)
        out_le32(&pci_regs[0][58], 0);
        out_le32(&pci_regs[0][60], 0);
  
  
        /* If PCI is disabled, drive RST high to enable. */
        if (!(in_le32(&pci_regs[0][32]) & 1)) {
-@@ -228,7 +235,11 @@
+@@ -228,7 +235,11 @@ static void fixup_pci(void)
        return;
  
  err:
  static void pq2_platform_fixups(void)
 --- a/arch/powerpc/boot/cuboot-rainier.c
 +++ b/arch/powerpc/boot/cuboot-rainier.c
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static void rainier_fixups(void)
        ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
        ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
        ibm4xx_denali_fixup_memsize();
  void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
 --- a/arch/powerpc/boot/cuboot-sequoia.c
 +++ b/arch/powerpc/boot/cuboot-sequoia.c
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static void sequoia_fixups(void)
        ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
        ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
        ibm4xx_denali_fixup_memsize();
  void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
 --- a/arch/powerpc/boot/cuboot-taishan.c
 +++ b/arch/powerpc/boot/cuboot-taishan.c
-@@ -40,7 +40,8 @@
+@@ -40,7 +40,8 @@ static void taishan_fixups(void)
  
        ibm4xx_sdram_fixup_memsize();
  
  }
 --- a/arch/powerpc/boot/cuboot-warp.c
 +++ b/arch/powerpc/boot/cuboot-warp.c
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ static void warp_fixups(void)
        ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
        ibm4xx_sdram_fixup_memsize();
        ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
 +}
 --- a/arch/powerpc/boot/devtree.c
 +++ b/arch/powerpc/boot/devtree.c
-@@ -350,3 +350,23 @@
+@@ -350,3 +350,23 @@ int dt_is_compatible(void *node, const c
  
        return 0;
  }
   *
   * This file is licensed under
   * the terms of the GNU General Public License version 2.  This program
-@@ -17,6 +18,8 @@
+@@ -17,6 +18,8 @@ XXXX add flash parts, rtc, ??
  
   */
  
  / {
        model = "KuroboxHD";
        compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
  
                PowerPC,603e { /* Really 8241 */
                        device_type = "cpu";
        };
  
        soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
-@@ -56,26 +59,26 @@
+@@ -56,26 +59,26 @@ XXXX add flash parts, rtc, ??
                device_type = "soc";
                compatible = "mpc10x";
                store-gathering = <0>; /* 0 == off, !0 == on */
                        };
                };
  
-@@ -83,9 +86,9 @@
+@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ??
                        cell-index = <0>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupts = <9 0>;
                        interrupt-parent = <&mpic>;
                };
-@@ -94,10 +97,10 @@
+@@ -94,10 +97,10 @@ XXXX add flash parts, rtc, ??
                        cell-index = <1>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupt-parent = <&mpic>;
                };
  
-@@ -107,7 +110,7 @@
+@@ -107,7 +110,7 @@ XXXX add flash parts, rtc, ??
                        device_type = "open-pic";
                        compatible = "chrp,open-pic";
                        interrupt-controller;
                };
  
                pci0: pci@fec00000 {
-@@ -116,29 +119,29 @@
+@@ -116,29 +119,29 @@ XXXX add flash parts, rtc, ??
                        #interrupt-cells = <1>;
                        device_type = "pci";
                        compatible = "mpc10x-pci";
   *
   * This file is licensed under
   * the terms of the GNU General Public License version 2.  This program
-@@ -17,6 +18,8 @@
+@@ -17,6 +18,8 @@ XXXX add flash parts, rtc, ??
  
   */
  
  / {
        model = "KuroboxHG";
        compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
  
                PowerPC,603e { /* Really 8241 */
                        device_type = "cpu";
        };
  
        soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
-@@ -56,26 +59,26 @@
+@@ -56,26 +59,26 @@ XXXX add flash parts, rtc, ??
                device_type = "soc";
                compatible = "mpc10x";
                store-gathering = <0>; /* 0 == off, !0 == on */
                        };
                };
  
-@@ -83,9 +86,9 @@
+@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ??
                        cell-index = <0>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupts = <9 0>;
                        interrupt-parent = <&mpic>;
                };
-@@ -94,10 +97,10 @@
+@@ -94,10 +97,10 @@ XXXX add flash parts, rtc, ??
                        cell-index = <1>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupt-parent = <&mpic>;
                };
  
-@@ -107,7 +110,7 @@
+@@ -107,7 +110,7 @@ XXXX add flash parts, rtc, ??
                        device_type = "open-pic";
                        compatible = "chrp,open-pic";
                        interrupt-controller;
                };
  
                pci0: pci@fec00000 {
-@@ -116,29 +119,29 @@
+@@ -116,29 +119,29 @@ XXXX add flash parts, rtc, ??
                        #interrupt-cells = <1>;
                        device_type = "pci";
                        compatible = "mpc10x-pci";
 +};
 --- a/arch/powerpc/boot/ebony.c
 +++ b/arch/powerpc/boot/ebony.c
-@@ -75,7 +75,8 @@
+@@ -75,7 +75,8 @@ static void ebony_fixups(void)
  
        ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
        ibm4xx_sdram_fixup_memsize();
                        exit(); \
 --- a/arch/powerpc/boot/mpc52xx-psc.c
 +++ b/arch/powerpc/boot/mpc52xx-psc.c
-@@ -51,14 +51,9 @@
+@@ -51,14 +51,9 @@ static unsigned char psc_getc(void)
  
  int mpc5200_psc_console_init(void *devp, struct serial_console_data *scdp)
  {
        scdp->putc = psc_putc;
 --- a/arch/powerpc/boot/mpsc.c
 +++ b/arch/powerpc/boot/mpsc.c
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ int mpsc_console_init(void *devp, struct
        if (mpscintr_base == NULL)
                goto err_out;
  
        reg_set = (int)v;
 --- a/arch/powerpc/boot/mv64x60.c
 +++ b/arch/powerpc/boot/mv64x60.c
-@@ -535,7 +535,7 @@
+@@ -535,7 +535,7 @@ u8 *mv64x60_get_bridge_pbase(void)
        u32 v[2];
        void *devp;
  
        if (devp == NULL)
                goto err_out;
        if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v))
-@@ -553,7 +553,7 @@
+@@ -553,7 +553,7 @@ u8 *mv64x60_get_bridge_base(void)
        u32 v;
        void *devp;
  
        if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
 --- a/arch/powerpc/boot/mv64x60_i2c.c
 +++ b/arch/powerpc/boot/mv64x60_i2c.c
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ int mv64x60_i2c_open(void)
        u32 v;
        void *devp;
  
        if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
 --- a/arch/powerpc/boot/ns16550.c
 +++ b/arch/powerpc/boot/ns16550.c
-@@ -55,15 +55,9 @@
+@@ -55,15 +55,9 @@ static u8 ns16550_tstc(void)
  int ns16550_console_init(void *devp, struct serial_console_data *scdp)
  {
        int n;
        if (n != sizeof(reg_shift))
 --- a/arch/powerpc/boot/ops.h
 +++ b/arch/powerpc/boot/ops.h
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,7 @@ int dt_xlate_reg(void *node, int res, un
  int dt_xlate_addr(void *node, u32 *buf, int buflen, unsigned long *xlated_addr);
  int dt_is_compatible(void *node, const char *compat);
  void dt_get_reg_format(void *node, u32 *naddr, u32 *nsize);
  {
 --- a/arch/powerpc/boot/prpmc2800.c
 +++ b/arch/powerpc/boot/prpmc2800.c
-@@ -344,20 +344,20 @@
+@@ -344,20 +344,20 @@ static void prpmc2800_bridge_setup(u32 m
                        acc_bits);
  
        /* Get the cpu -> pci i/o & mem mappings from the device tree */
  
        enables = in_le32((u32 *)(bridge_base + MV64x60_CPU_BAR_ENABLE));
        enables |= 0x0007fe00; /* Disable all cpu->pci windows */
-@@ -429,9 +429,9 @@
+@@ -429,9 +429,9 @@ static void prpmc2800_fixups(void)
        setprop(devp, "model", model, l);
  
        /* Set /cpus/PowerPC,7447/clock-frequency */
        v[0] = bip->core_speed;
        setprop(devp, "clock-frequency", &v[0], sizeof(v[0]));
  
-@@ -443,16 +443,17 @@
+@@ -443,16 +443,17 @@ static void prpmc2800_fixups(void)
        v[1] = bip->mem_size;
        setprop(devp, "reg", v, sizeof(v));
  
   *
   * The PS3 has a single processor with two threads.
   */
-@@ -47,8 +48,6 @@
+@@ -47,8 +48,6 @@ __system_reset_overlay:
  
        mfspr   r3, 0x88
        cntlzw. r3, r3
        beq     1f
  
        /* Secondary goes to __secondary_hold in kernel. */
-@@ -57,8 +56,14 @@
+@@ -57,8 +56,14 @@ __system_reset_overlay:
        mtctr   r4
        bctr
  
        or      31, 31, 31 /* db16cyc */
        or      31, 31, 31 /* db16cyc */
  
-@@ -67,16 +72,18 @@
+@@ -67,16 +72,18 @@ __system_reset_overlay:
        mtctr   r4
        bctr
  
        u64 in_4, u64 in_5, u64 *out_1, u64 *out_2);
  
  #ifdef DEBUG
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ BSS_STACK(4096);
   * edit the command line passed to vmlinux (by setting /chosen/bootargs).
   * The buffer is put in it's own section so that tools may locate it easier.
   */
  static char cmdline[COMMAND_LINE_SIZE]
        __attribute__((__section__("__builtin_cmdline")));
  
-@@ -75,7 +76,7 @@
+@@ -75,7 +76,7 @@ static void ps3_exit(void)
  
  static int ps3_repository_read_rm_size(u64 *rm_size)
  {
        u64 lpar_id;
        u64 ppe_id;
        u64 v2;
-@@ -114,16 +115,17 @@
+@@ -114,16 +115,17 @@ void ps3_copy_vectors(void)
  {
        extern char __system_reset_kernel[];
  
  
        console_ops.write = ps3_console_write;
        platform_ops.exit = ps3_exit;
-@@ -151,6 +153,11 @@
+@@ -151,6 +153,11 @@ void platform_init(void)
  
        printf(" flat tree at 0x%lx\n\r", ft_addr);
  
        ps3_exit();
 --- a/arch/powerpc/boot/serial.c
 +++ b/arch/powerpc/boot/serial.c
-@@ -119,7 +119,7 @@
+@@ -119,7 +119,7 @@ int serial_console_init(void)
  
        if (dt_is_compatible(devp, "ns16550"))
                rc = ns16550_console_init(devp, &serial_cd);
 +}
 --- a/arch/powerpc/boot/treeboot-walnut.c
 +++ b/arch/powerpc/boot/treeboot-walnut.c
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ static void walnut_fixups(void)
        ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
        ibm4xx_fixup_ebc_ranges("/plb/ebc");
        walnut_flashsel_fixup();
 +2:    b       _zimage_start_lib
 --- a/arch/powerpc/boot/wrapper
 +++ b/arch/powerpc/boot/wrapper
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ cuboot*)
      *-mpc83*)
          platformo=$object/cuboot-83xx.o
          ;;
          platformo=$object/cuboot-85xx-cpm2.o
          ;;
      *-mpc85*|*-tqm8540|*-sbc85*)
-@@ -199,6 +199,10 @@
+@@ -199,6 +199,10 @@ adder875-redboot)
      platformo="$object/fixed-head.o $object/redboot-8xx.o"
      binary=y
      ;;
  esac
  
  vmz="$tmpdir/`basename \"$kernel\"`.$ext"
-@@ -226,10 +230,13 @@
+@@ -226,10 +230,13 @@ if [ -n "$version" ]; then
      uboot_version="-n Linux-$version"
  fi
  
        $uboot_version -d "$vmz" "$ofile"
      if [ -z "$cacheit" ]; then
        rm -f "$vmz"
-@@ -298,15 +305,16 @@
+@@ -298,15 +305,16 @@ treeboot*)
      exit 0
      ;;
  ps3)
  
      system_reset_overlay=0x`${CROSS}nm "$ofile" \
          | grep ' __system_reset_overlay$'       \
-@@ -317,7 +325,7 @@
+@@ -317,7 +325,7 @@ ps3)
          | cut -d' ' -f1`
      system_reset_kernel=`printf "%d" $system_reset_kernel`
      overlay_dest="256"
  #
  # CONFIG_PPC64 is not set
  
-@@ -74,8 +74,6 @@
+@@ -74,8 +74,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=15
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -243,7 +241,7 @@
+@@ -243,7 +241,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  # CONFIG_PCI_MSI is not set
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  # CONFIG_HOTPLUG_PCI is not set
-@@ -1328,6 +1326,7 @@
+@@ -1328,6 +1326,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=y
  
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=17
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -276,7 +274,7 @@
+@@ -276,7 +274,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  # CONFIG_HOTPLUG_PCI is not set
-@@ -1596,6 +1594,7 @@
+@@ -1596,6 +1594,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=y
  
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=17
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -261,7 +259,7 @@
+@@ -261,7 +259,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  # CONFIG_PCI_MSI is not set
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  # CONFIG_HOTPLUG_PCI is not set
-@@ -1065,6 +1063,7 @@
+@@ -1065,6 +1063,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
 -# CONFIG_PPC_CLOCK is not set
 --- a/arch/powerpc/configs/maple_defconfig
 +++ b/arch/powerpc/configs/maple_defconfig
-@@ -333,7 +333,7 @@
+@@ -333,7 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
  CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
  CONFIG_STANDALONE=y
  CONFIG_PREVENT_FIRMWARE_BUILD=y
  # CONFIG_DEBUG_DRIVER is not set
  # CONFIG_DEBUG_DEVRES is not set
  # CONFIG_SYS_HYPERVISOR is not set
-@@ -374,6 +374,7 @@
+@@ -374,6 +374,7 @@ CONFIG_BLK_DEV_IDEDISK=y
  CONFIG_BLK_DEV_IDECD=y
  # CONFIG_BLK_DEV_IDETAPE is not set
  # CONFIG_BLK_DEV_IDEFLOPPY is not set
  CONFIG_IDE_TASK_IOCTL=y
  CONFIG_IDE_PROC_FS=y
  
-@@ -427,10 +428,129 @@
+@@ -427,10 +428,129 @@ CONFIG_IDE_ARCH_OBSOLETE_INIT=y
  # SCSI device support
  #
  # CONFIG_RAID_ATTRS is not set
  # CONFIG_MD is not set
  # CONFIG_FUSION is not set
  
-@@ -536,6 +656,7 @@
+@@ -536,6 +656,7 @@ CONFIG_USB_PEGASUS=y
  # CONFIG_HIPPI is not set
  # CONFIG_PPP is not set
  # CONFIG_SLIP is not set
  # CONFIG_SHAPER is not set
  # CONFIG_NETCONSOLE is not set
  # CONFIG_NETPOLL is not set
-@@ -783,12 +904,14 @@
+@@ -783,12 +904,14 @@ CONFIG_USB_UHCI_HCD=y
  #
  # may also be needed; see USB_STORAGE Help for more information
  #
  #
  # CONFIG_PPC64 is not set
  
-@@ -201,6 +201,7 @@
+@@ -201,6 +201,7 @@ CONFIG_PREEMPT_NONE=y
  # CONFIG_PREEMPT is not set
  CONFIG_BINFMT_ELF=y
  # CONFIG_BINFMT_MISC is not set
  CONFIG_MATH_EMULATION=y
  # CONFIG_IOMMU_HELPER is not set
  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-@@ -353,7 +354,90 @@
+@@ -353,7 +354,90 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
  # CONFIG_FW_LOADER is not set
  # CONFIG_SYS_HYPERVISOR is not set
  # CONFIG_CONNECTOR is not set
  CONFIG_OF_DEVICE=y
  # CONFIG_PARPORT is not set
  CONFIG_BLK_DEV=y
-@@ -362,6 +446,7 @@
+@@ -362,6 +446,7 @@ CONFIG_BLK_DEV=y
  CONFIG_BLK_DEV_LOOP=y
  # CONFIG_BLK_DEV_CRYPTOLOOP is not set
  # CONFIG_BLK_DEV_NBD is not set
  CONFIG_BLK_DEV_RAM=y
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=32768
-@@ -469,6 +554,15 @@
+@@ -469,6 +554,15 @@ CONFIG_NETDEV_10000=y
  #
  # CONFIG_WLAN_PRE80211 is not set
  # CONFIG_WLAN_80211 is not set
  # CONFIG_WAN is not set
  # CONFIG_PPP is not set
  # CONFIG_SLIP is not set
-@@ -563,6 +657,7 @@
+@@ -563,6 +657,7 @@ CONFIG_I2C_MPC=y
  # CONFIG_I2C_SIMTEC is not set
  # CONFIG_I2C_TAOS_EVM is not set
  # CONFIG_I2C_STUB is not set
  
  #
  # Miscellaneous I2C Chip support
-@@ -648,6 +743,11 @@
+@@ -648,6 +743,11 @@ CONFIG_WATCHDOG=y
  CONFIG_83xx_WDT=y
  
  #
  # Sonics Silicon Backplane
  #
  CONFIG_SSB_POSSIBLE=y
-@@ -664,6 +764,7 @@
+@@ -664,6 +764,7 @@ CONFIG_SSB_POSSIBLE=y
  # CONFIG_VIDEO_DEV is not set
  # CONFIG_DVB_CORE is not set
  CONFIG_DAB=y
  
  #
  # Graphics support
-@@ -686,6 +787,14 @@
+@@ -686,6 +787,14 @@ CONFIG_HID_SUPPORT=y
  CONFIG_HID=y
  # CONFIG_HID_DEBUG is not set
  # CONFIG_HIDRAW is not set
  CONFIG_USB_SUPPORT=y
  CONFIG_USB_ARCH_HAS_HCD=y
  # CONFIG_USB_ARCH_HAS_OHCI is not set
-@@ -715,8 +824,55 @@
+@@ -715,8 +824,55 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
  # CONFIG_USB_R8A66597_HCD is not set
  
  #
  # CONFIG_USB_GADGET is not set
  # CONFIG_MMC is not set
  # CONFIG_MEMSTICK is not set
-@@ -792,6 +948,7 @@
+@@ -792,6 +948,7 @@ CONFIG_TMPFS=y
  # CONFIG_BEFS_FS is not set
  # CONFIG_BFS_FS is not set
  # CONFIG_EFS_FS is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
  # CONFIG_MINIX_FS is not set
-@@ -862,6 +1019,7 @@
+@@ -862,6 +1019,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  # CONFIG_PPC64 is not set
  
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
  CONFIG_LOG_BUF_SHIFT=14
  # CONFIG_CGROUPS is not set
  # CONFIG_GROUP_SCHED is not set
  CONFIG_SYSFS_DEPRECATED=y
  CONFIG_SYSFS_DEPRECATED_V2=y
  # CONFIG_RELAY is not set
-@@ -272,7 +270,7 @@
+@@ -272,7 +270,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  # CONFIG_PCI_MSI is not set
  # CONFIG_PCI_DEBUG is not set
  CONFIG_PCCARD=m
  # CONFIG_PCMCIA_DEBUG is not set
-@@ -1895,6 +1893,7 @@
+@@ -1895,6 +1893,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  # CONFIG_PPC64 is not set
  
-@@ -79,6 +79,7 @@
+@@ -79,6 +79,7 @@ CONFIG_FAIR_GROUP_SCHED=y
  CONFIG_USER_SCHED=y
  # CONFIG_CGROUP_SCHED is not set
  CONFIG_SYSFS_DEPRECATED=y
  # CONFIG_RELAY is not set
  # CONFIG_NAMESPACES is not set
  CONFIG_BLK_DEV_INITRD=y
-@@ -113,6 +114,7 @@
+@@ -113,6 +114,7 @@ CONFIG_SLUB=y
  CONFIG_HAVE_OPROFILE=y
  # CONFIG_KPROBES is not set
  CONFIG_HAVE_KPROBES=y
  CONFIG_PROC_PAGE_MONITOR=y
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=y
-@@ -143,7 +145,6 @@
+@@ -143,7 +145,6 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  CONFIG_CLASSIC_RCU=y
  CONFIG_PPC4xx_PCI_EXPRESS=y
  
  #
-@@ -161,12 +162,15 @@
+@@ -161,12 +162,15 @@ CONFIG_TAISHAN=y
  CONFIG_KATMAI=y
  CONFIG_RAINIER=y
  CONFIG_WARP=y
  CONFIG_IBM440EP_ERR42=y
  # CONFIG_IPIC is not set
  # CONFIG_MPIC is not set
-@@ -199,7 +203,6 @@
+@@ -199,7 +203,6 @@ CONFIG_HZ=250
  CONFIG_PREEMPT_NONE=y
  # CONFIG_PREEMPT_VOLUNTARY is not set
  # CONFIG_PREEMPT is not set
  CONFIG_BINFMT_ELF=y
  # CONFIG_BINFMT_MISC is not set
  CONFIG_MATH_EMULATION=y
-@@ -232,6 +235,7 @@
+@@ -232,6 +235,7 @@ CONFIG_ISA_DMA_API=y
  #
  CONFIG_ZONE_DMA=y
  CONFIG_PPC_INDIRECT_PCI=y
  CONFIG_PCI=y
  CONFIG_PCI_DOMAINS=y
  CONFIG_PCI_SYSCALL=y
-@@ -678,6 +682,7 @@
+@@ -678,6 +682,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
  # CONFIG_INFINIBAND is not set
  # CONFIG_EDAC is not set
  # CONFIG_RTC_CLASS is not set
  
  #
  # Userspace I/O
-@@ -805,6 +810,7 @@
+@@ -805,6 +810,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=y
  
-@@ -84,8 +84,6 @@
+@@ -84,8 +84,6 @@ CONFIG_CGROUPS=y
  # CONFIG_CGROUP_NS is not set
  CONFIG_CPUSETS=y
  # CONFIG_GROUP_SCHED is not set
  # CONFIG_CGROUP_CPUACCT is not set
  # CONFIG_RESOURCE_COUNTERS is not set
  CONFIG_SYSFS_DEPRECATED=y
-@@ -289,6 +287,7 @@
+@@ -289,6 +287,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
  CONFIG_KEXEC=y
  # CONFIG_CRASH_DUMP is not set
  CONFIG_IRQ_ALL_CPUS=y
  # CONFIG_NUMA is not set
  CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-@@ -335,7 +334,7 @@
+@@ -335,7 +334,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
  # CONFIG_PCI_DEBUG is not set
  CONFIG_PCCARD=y
  # CONFIG_PCMCIA_DEBUG is not set
-@@ -1881,6 +1880,7 @@
+@@ -1881,6 +1880,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=y
  
-@@ -83,8 +83,6 @@
+@@ -83,8 +83,6 @@ CONFIG_CGROUPS=y
  CONFIG_CGROUP_NS=y
  CONFIG_CPUSETS=y
  # CONFIG_GROUP_SCHED is not set
  CONFIG_CGROUP_CPUACCT=y
  # CONFIG_RESOURCE_COUNTERS is not set
  CONFIG_SYSFS_DEPRECATED=y
-@@ -237,6 +235,7 @@
+@@ -237,6 +235,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
  CONFIG_KEXEC=y
  # CONFIG_CRASH_DUMP is not set
  CONFIG_IRQ_ALL_CPUS=y
  CONFIG_NUMA=y
  CONFIG_NODES_SHIFT=4
-@@ -283,7 +282,7 @@
+@@ -283,7 +282,7 @@ CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
  # CONFIG_PCI_DEBUG is not set
  # CONFIG_PCCARD is not set
  CONFIG_HOTPLUG_PCI=m
-@@ -1519,6 +1518,7 @@
+@@ -1519,6 +1518,7 @@ CONFIG_PLIST=y
  CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
 -# CONFIG_PPC_CLOCK is not set
 --- a/arch/powerpc/kernel/Makefile
 +++ b/arch/powerpc/kernel/Makefile
-@@ -67,6 +67,7 @@
+@@ -67,6 +67,7 @@ obj-$(CONFIG_BOOTX_TEXT)     += btext.o
  obj-$(CONFIG_SMP)             += smp.o
  obj-$(CONFIG_KPROBES)         += kprobes.o
  obj-$(CONFIG_PPC_UDBG_16550)  += legacy_serial.o udbg_16550.o
  
  #define DEFINE(sym, val) \
        asm volatile("\n->" #sym " %0 " #val : : "i" (val))
-@@ -60,7 +61,6 @@
+@@ -60,7 +61,6 @@ int main(void)
        DEFINE(AUDITCONTEXT, offsetof(struct task_struct, audit_context));
  #else
        DEFINE(THREAD_INFO, offsetof(struct task_struct, stack));
  #endif /* CONFIG_PPC64 */
  
        DEFINE(KSP, offsetof(struct thread_struct, ksp));
-@@ -80,7 +80,6 @@
+@@ -80,7 +80,6 @@ int main(void)
        DEFINE(PGDIR, offsetof(struct thread_struct, pgdir));
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
        DEFINE(THREAD_DBCR0, offsetof(struct thread_struct, dbcr0));
  #endif
  #ifdef CONFIG_SPE
        DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0]));
-@@ -325,6 +324,9 @@
+@@ -325,6 +324,9 @@ int main(void)
        DEFINE(PAGE_OFFSET_VSID, KERNEL_VSID(PAGE_OFFSET));
        DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
        DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
   * Benjamin Herrenschmidt <benh@kernel.crashing.org>
   *
   * This program is free software; you can redistribute it and/or
-@@ -32,6 +32,9 @@
+@@ -32,6 +32,9 @@ _GLOBAL(__setup_cpu_440grx)
        bl      __fixup_440A_mcheck
        mtlr    r4
        blr
        b       __fixup_440A_mcheck
 --- a/arch/powerpc/kernel/cputable.c
 +++ b/arch/powerpc/kernel/cputable.c
-@@ -36,6 +36,8 @@
+@@ -36,6 +36,8 @@ extern void __setup_cpu_440epx(unsigned 
  extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
-@@ -1397,6 +1399,30 @@
+@@ -1397,6 +1399,30 @@ static struct cpu_spec __initdata cpu_sp
                .machine_check          = machine_check_440A,
                .platform               = "ppc440",
        },
  #endif /* CONFIG_44x */
  #ifdef CONFIG_FSL_BOOKE
  #ifdef CONFIG_E200
-@@ -1512,7 +1538,7 @@
+@@ -1512,7 +1538,7 @@ struct cpu_spec * __init identify_cpu(un
                                *t = *s;
                        *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec;
  #if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE)
  
 --- a/arch/powerpc/kernel/entry_32.S
 +++ b/arch/powerpc/kernel/entry_32.S
-@@ -110,9 +110,9 @@
+@@ -110,9 +110,9 @@ transfer_to_handler:
        stw     r11,PT_REGS(r12)
  #if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
        /* Check to see if the dbcr0 register is set up to debug.  Use the
        beq+    3f
        /* From user and task is ptraced - load up global dbcr0 */
        li      r12,-1                  /* clear all pending debug events */
-@@ -120,6 +120,12 @@
+@@ -120,6 +120,12 @@ transfer_to_handler:
        lis     r11,global_dbcr0@ha
        tophys(r11,r11)
        addi    r11,r11,global_dbcr0@l
        lwz     r12,0(r11)
        mtspr   SPRN_DBCR0,r12
        lwz     r12,4(r11)
-@@ -238,10 +244,10 @@
+@@ -238,10 +244,10 @@ ret_from_syscall:
        stw     r11,_CCR(r1)
  syscall_exit_cont:
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
        bnel-   load_dbcr0
  #endif
  #ifdef CONFIG_44x
-@@ -666,10 +672,10 @@
+@@ -666,10 +672,10 @@ user_exc_return:         /* r10 contains MSR_KE
  
  restore_user:
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
        bnel-   load_dbcr0
  #endif
  
-@@ -879,6 +885,12 @@
+@@ -879,6 +885,12 @@ load_dbcr0:
        mfspr   r10,SPRN_DBCR0
        lis     r11,global_dbcr0@ha
        addi    r11,r11,global_dbcr0@l
        stw     r10,0(r11)
        mtspr   SPRN_DBCR0,r0
        lwz     r10,4(r11)
-@@ -891,7 +903,7 @@
+@@ -891,7 +903,7 @@ load_dbcr0:
        .section .bss
        .align  4
  global_dbcr0:
  
        .section        ".text"
        .align 7
-@@ -88,6 +90,14 @@
+@@ -88,6 +90,14 @@ system_call_common:
        addi    r9,r1,STACK_FRAME_OVERHEAD
        ld      r11,exception_marker@toc(r2)
        std     r11,-16(r9)             /* "regshere" marker */
        li      r10,1
        stb     r10,PACASOFTIRQEN(r13)
        stb     r10,PACAHARDIRQEN(r13)
-@@ -102,7 +112,7 @@
+@@ -102,7 +112,7 @@ BEGIN_FW_FTR_SECTION
        b       hardware_interrupt_entry
  2:
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
        mfmsr   r11
        ori     r11,r11,MSR_EE
        mtmsrd  r11,1
-@@ -504,6 +514,10 @@
+@@ -504,6 +514,10 @@ BEGIN_FW_FTR_SECTION
  
        li      r3,0
        stb     r3,PACASOFTIRQEN(r13)   /* ensure we are soft-disabled */
        ori     r10,r10,MSR_EE
        mtmsrd  r10                     /* hard-enable again */
        addi    r3,r1,STACK_FRAME_OVERHEAD
-@@ -512,7 +526,7 @@
+@@ -512,7 +526,7 @@ BEGIN_FW_FTR_SECTION
  4:
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
  #endif
  
        /* extract EE bit and use it to restore paca->hard_enabled */
        ld      r3,_MSR(r1)
-@@ -580,6 +594,16 @@
+@@ -580,6 +594,16 @@ do_work:
        bne     restore
        /* here we are preempting the current task */
  1:
  
  /* 601 only have IBAT; cr0.eq is set on 601 when using this macro */
  #define LOAD_BAT(n, reg, RA, RB)      \
-@@ -268,8 +269,8 @@
+@@ -268,8 +269,8 @@ __secondary_hold_acknowledge:
        li      r10,MSR_KERNEL & ~(MSR_IR|MSR_DR); /* can take exceptions */ \
        MTMSRD(r10);                    /* (except for mach check in rtas) */ \
        stw     r0,GPR0(r11);   \
        stw     r10,8(r11);     \
        SAVE_4GPRS(3, r11);     \
        SAVE_2GPRS(7, r11)
-@@ -763,23 +764,6 @@
+@@ -763,23 +764,6 @@ load_up_altivec:
        b       fast_exception_return
  
  /*
   * and save the AltiVec registers in its thread_struct.
 --- a/arch/powerpc/kernel/head_44x.S
 +++ b/arch/powerpc/kernel/head_44x.S
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ skpinv:    addi    r4,r4,1                         /* Increment */
        SET_IVOR(12, WatchdogTimer);
        SET_IVOR(13, DataTLBError);
        SET_IVOR(14, InstructionTLBError);
  
        /* Establish the interrupt vector base */
        lis     r4,interrupt_base@h     /* IVPR only uses the high 16-bits */
-@@ -578,7 +578,7 @@
+@@ -578,7 +578,7 @@ interrupt_base:
        b       InstructionStorage
  
        /* Debug Interrupt */
  
  /*
   * We layout physical memory as follows:
-@@ -450,8 +449,8 @@
+@@ -450,8 +449,8 @@ bad_stack:
   */
  fast_exc_return_irq:                  /* restores irq state too */
        ld      r3,SOFTE(r1)
        rldicl  r4,r12,49,63            /* get MSR_EE to LSB */
        stb     r4,PACAHARDIRQEN(r13)   /* restore paca->hard_enabled */
        b       1f
-@@ -621,7 +620,7 @@
+@@ -621,7 +620,7 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
        mtlr    r10
  
        andi.   r10,r12,MSR_RI  /* check for unrecoverable exception */
  
  .machine      push
  .machine      "power4"
-@@ -643,6 +642,22 @@
+@@ -643,6 +642,22 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
        rfid
        b       .       /* prevent speculative execution */
  
  unrecov_slb:
        EXCEPTION_PROLOG_COMMON(0x4100, PACA_EXSLB)
        DISABLE_INTS
-@@ -808,7 +823,7 @@
+@@ -808,7 +823,7 @@ _STATIC(load_up_altivec)
   * Hash table stuff
   */
        .align  7
        std     r3,_DAR(r1)
        std     r4,_DSISR(r1)
  
-@@ -820,6 +835,27 @@
+@@ -820,6 +835,27 @@ BEGIN_FTR_SECTION
  END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
  
        /*
         * We need to set the _PAGE_USER bit if MSR_PR is set or if we are
         * accessing a userspace segment (even from the kernel). We assume
         * kernel addresses always have the high bit set.
-@@ -832,13 +868,6 @@
+@@ -832,13 +868,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
        rlwimi  r4,r5,22+2,31-2,31-2    /* Set _PAGE_EXEC if trap is 0x400 */
  
        /*
         * r3 contains the faulting address
         * r4 contains the required access permissions
         * r5 contains the trap number
-@@ -848,7 +877,6 @@
+@@ -848,7 +877,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
        bl      .hash_page              /* build HPTE if possible */
        cmpdi   r3,0                    /* see if hash_page succeeded */
  
  BEGIN_FW_FTR_SECTION
        /*
         * If we had interrupts soft-enabled at the point where the
-@@ -860,7 +888,7 @@
+@@ -860,7 +888,7 @@ BEGIN_FW_FTR_SECTION
         */
        beq     13f
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
  BEGIN_FW_FTR_SECTION
        /*
         * Here we have interrupts hard-disabled, so it is sufficient
-@@ -874,11 +902,12 @@
+@@ -874,11 +902,12 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISER
  
        /*
         * hash_page couldn't handle it, set soft interrupt enable back
        b       11f
  
  /* Here we have a page fault that hash_page can't handle. */
-@@ -1477,6 +1506,10 @@
+@@ -1477,6 +1506,10 @@ _INIT_STATIC(start_here_multiplatform)
        addi    r2,r2,0x4000
        add     r2,r2,r26
  
        /* Do very early kernel initializations, including initial hash table,
         * stab and slb setup before we turn on relocation.     */
  
-@@ -1505,10 +1538,6 @@
+@@ -1505,10 +1538,6 @@ _INIT_GLOBAL(start_here_common)
        li      r0,0
        stdu    r0,-STACK_FRAME_OVERHEAD(r1)
  
  #define DEBUG_SPRG            SPRN_SPRG6W
  
  #ifdef CONFIG_SMP
-@@ -212,9 +221,8 @@
+@@ -212,9 +221,8 @@ label:
   * save (and later restore) the MSR via SPRN_CSRR1, which will still have
   * the MSR_DE bit set.
   */
        DEBUG_EXCEPTION_PROLOG;                                               \
                                                                              \
        /*                                                                    \
-@@ -234,8 +242,8 @@
+@@ -234,8 +242,8 @@ label:
        cmplw   r12,r10;                                                      \
        blt+    2f;                     /* addr below exception vectors */    \
                                                                              \
        cmplw   r12,r10;                                                      \
        bgt+    2f;                     /* addr above exception vectors */    \
                                                                              \
-@@ -265,9 +273,9 @@
+@@ -265,9 +273,9 @@ label:
  2:    mfspr   r4,SPRN_DBSR;                                                 \
        addi    r3,r1,STACK_FRAME_OVERHEAD;                                   \
        EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, debug_transfer_to_handler, ret_from_debug_exc)
        CRITICAL_EXCEPTION_PROLOG;                                            \
                                                                              \
        /*                                                                    \
-@@ -287,8 +295,8 @@
+@@ -287,8 +295,8 @@ label:
        cmplw   r12,r10;                                                      \
        blt+    2f;                     /* addr below exception vectors */    \
                                                                              \
        cmplw   r12,r10;                                                      \
        bgt+    2f;                     /* addr above exception vectors */    \
                                                                              \
-@@ -318,7 +326,6 @@
+@@ -318,7 +326,6 @@ label:
  2:    mfspr   r4,SPRN_DBSR;                                                 \
        addi    r3,r1,STACK_FRAME_OVERHEAD;                                   \
        EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, crit_transfer_to_handler, ret_from_crit_exc)
        START_EXCEPTION(InstructionStorage)                                   \
 --- a/arch/powerpc/kernel/head_fsl_booke.S
 +++ b/arch/powerpc/kernel/head_fsl_booke.S
-@@ -68,7 +68,9 @@
+@@ -68,7 +68,9 @@ _ENTRY(_start);
        mr      r29,r5
        mr      r28,r6
        mr      r27,r7
  
  /* We try to not make any assumptions about how the boot loader
   * setup or used the TLBs.  We invalidate all mappings from the
-@@ -167,7 +169,28 @@
+@@ -167,7 +169,28 @@ skpinv:   addi    r6,r6,1                         /* Increment */
        mtspr   SPRN_MAS0,r7
        tlbre
  
        lis     r7,0x1000       /* Set MAS0(TLBSEL) = 1 */
        rlwimi  r7,r5,16,4,15   /* Setup MAS0 = TLBSEL | ESEL(r5) */
        mtspr   SPRN_MAS0,r7
-@@ -177,12 +200,10 @@
+@@ -177,12 +200,10 @@ skpinv:  addi    r6,r6,1                         /* Increment */
        ori     r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
        mtspr   SPRN_MAS1,r6
        mfspr   r6,SPRN_MAS2
        tlbwe
  
        xori    r6,r4,1
-@@ -232,8 +253,7 @@
+@@ -232,8 +253,7 @@ skpinv:    addi    r6,r6,1                         /* Increment */
        ori     r6,r6,PAGE_OFFSET@l
        rlwimi  r6,r7,0,20,31
        mtspr   SPRN_MAS2,r6
        tlbwe
  
  /* 7. Jump to KERNELBASE mapping */
-@@ -283,7 +303,10 @@
+@@ -283,7 +303,10 @@ skpinv:   addi    r6,r6,1                         /* Increment */
        SET_IVOR(12, WatchdogTimer);
        SET_IVOR(13, DataTLBError);
        SET_IVOR(14, InstructionTLBError);
        SET_IVOR(32, SPEUnavailable);
        SET_IVOR(33, SPEFloatingPointData);
        SET_IVOR(34, SPEFloatingPointRound);
-@@ -718,7 +741,10 @@
+@@ -718,7 +741,10 @@ interrupt_base:
  
  
        /* Debug Interrupt */
   * Local functions
 --- a/arch/powerpc/kernel/ibmebus.c
 +++ b/arch/powerpc/kernel/ibmebus.c
-@@ -183,7 +183,7 @@
+@@ -183,7 +183,7 @@ static int ibmebus_create_devices(const 
                ret = ibmebus_create_device(child);
                if (ret) {
                        printk(KERN_ERR "%s: failed to create device (%i)",
                        of_node_put(child);
                        break;
                }
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ static ssize_t ibmebus_store_probe(struc
        if (bus_find_device(&ibmebus_bus_type, NULL, path,
                            ibmebus_match_path)) {
                printk(KERN_WARNING "%s: %s has already been probed\n",
                rc = -EEXIST;
                goto out;
        }
-@@ -279,7 +279,7 @@
+@@ -279,7 +279,7 @@ static ssize_t ibmebus_store_probe(struc
                of_node_put(dn);
        } else {
                printk(KERN_WARNING "%s: no such device node: %s\n",
                rc = -ENODEV;
        }
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ static ssize_t ibmebus_store_remove(stru
                return count;
        } else {
                printk(KERN_WARNING "%s: %s not on the bus\n",
  
                kfree(path);
                return -ENODEV;
-@@ -337,14 +337,14 @@
+@@ -337,14 +337,14 @@ static int __init ibmebus_bus_init(void)
        err = of_bus_type_init(&ibmebus_bus_type, "ibmebus");
        if (err) {
                printk(KERN_ERR "%s: failed to register IBM eBus.\n",
                return err;
 --- a/arch/powerpc/kernel/iommu.c
 +++ b/arch/powerpc/kernel/iommu.c
-@@ -520,7 +520,7 @@
+@@ -520,7 +520,7 @@ void iommu_free_table(struct iommu_table
        unsigned int order;
  
        if (!tbl || !tbl->it_map) {
                                node_name);
                return;
        }
-@@ -530,7 +530,7 @@
+@@ -530,7 +530,7 @@ void iommu_free_table(struct iommu_table
        for (i = 0; i < (tbl->it_size/64); i++) {
                if (tbl->it_map[i] != 0) {
                        printk(KERN_WARNING "%s: Unexpected TCEs for %s\n",
        }
 --- a/arch/powerpc/kernel/irq.c
 +++ b/arch/powerpc/kernel/irq.c
-@@ -114,7 +114,7 @@
+@@ -114,7 +114,7 @@ static inline void set_soft_enabled(unsi
        : : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled)));
  }
  
  {
        /*
         * get_paca()->soft_enabled = en;
-@@ -174,6 +174,7 @@
+@@ -174,6 +174,7 @@ void local_irq_restore(unsigned long en)
  
        __hard_irq_enable();
  }
  #endif /* CONFIG_PPC64 */
  
  int show_interrupts(struct seq_file *p, void *v)
-@@ -310,8 +311,21 @@
+@@ -310,8 +311,21 @@ void do_IRQ(struct pt_regs *regs)
                                handler = &__do_IRQ;
                        irqtp->task = curtp->task;
                        irqtp->flags = 0;
                        if (irqtp->flags)
                                set_bits(irqtp->flags, &curtp->flags);
                } else
-@@ -357,7 +371,7 @@
+@@ -357,7 +371,7 @@ void irq_ctx_init(void)
                memset((void *)softirq_ctx[i], 0, THREAD_SIZE);
                tp = softirq_ctx[i];
                tp->cpu = i;
                tp = hardirq_ctx[i];
 --- a/arch/powerpc/kernel/isa-bridge.c
 +++ b/arch/powerpc/kernel/isa-bridge.c
-@@ -80,13 +80,13 @@
+@@ -80,13 +80,13 @@ static void __devinit pci_process_ISA_OF
         *                      (size depending on dev->n_addr_cells)
         *   cell 5:            the size of the range
         */
                goto inval_range;
  
        isa_addr = range->isa_addr.a_lo;
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ static void __devinit pci_process_ISA_OF
         */
        if ((pci_addr != 0) || (isa_addr != 0)) {
                printk(KERN_ERR "unexpected isa to pci mapping: %s\n",
  
 --- a/arch/powerpc/kernel/lparcfg.c
 +++ b/arch/powerpc/kernel/lparcfg.c
-@@ -226,7 +226,7 @@
+@@ -226,7 +226,7 @@ static void parse_system_parameter_strin
        unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
        if (!local_buffer) {
                printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
                return;
        }
  
-@@ -243,14 +243,14 @@
+@@ -243,14 +243,14 @@ static void parse_system_parameter_strin
        if (call_status != 0) {
                printk(KERN_INFO
                       "%s %s Error calling get-system-parameter (0x%x)\n",
                        kfree(local_buffer);
                        return;
                }
-@@ -484,10 +484,10 @@
+@@ -484,10 +484,10 @@ static ssize_t lparcfg_write(struct file
        current_weight = (resource >> 5 * 8) & 0xFF;
  
        pr_debug("%s: current_entitled = %lu, current_weight = %u\n",
  
        retval = plpar_hcall_norets(H_SET_PPP, *new_entitled_ptr,
                                    *new_weight_ptr);
-@@ -502,7 +502,7 @@
+@@ -502,7 +502,7 @@ static ssize_t lparcfg_write(struct file
                retval = -EINVAL;
        } else {
                printk(KERN_WARNING "%s: received unknown hv return code %ld",
   */
  struct lppaca lppaca[] = {
        [0 ... (NR_CPUS-1)] = {
-@@ -66,32 +65,17 @@
+@@ -66,32 +65,17 @@ struct slb_shadow slb_shadow[] __cacheli
   * processors.  The processor VPD array needs one entry per physical
   * processor (not thread).
   */
  #ifdef CONFIG_PPC32
  extern void transfer_to_handler(void);
  extern void do_IRQ(struct pt_regs *regs);
-@@ -58,7 +54,6 @@
+@@ -58,7 +54,6 @@ extern void program_check_exception(stru
  extern void single_step_exception(struct pt_regs *regs);
  extern int sys_sigreturn(struct pt_regs *regs);
  
  EXPORT_SYMBOL(clear_pages);
  EXPORT_SYMBOL(copy_page);
  EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
-@@ -79,6 +74,7 @@
+@@ -79,6 +74,7 @@ EXPORT_SYMBOL(strncpy);
  EXPORT_SYMBOL(strcat);
  EXPORT_SYMBOL(strlen);
  EXPORT_SYMBOL(strcmp);
  
  EXPORT_SYMBOL(csum_partial);
  EXPORT_SYMBOL(csum_partial_copy_generic);
-@@ -192,3 +188,4 @@
+@@ -192,3 +188,4 @@ EXPORT_SYMBOL(intercept_table);
  EXPORT_SYMBOL(__mtdcr);
  EXPORT_SYMBOL(__mfdcr);
  #endif
 +EXPORT_SYMBOL(empty_zero_page);
 --- a/arch/powerpc/kernel/process.c
 +++ b/arch/powerpc/kernel/process.c
-@@ -868,11 +868,6 @@
+@@ -868,11 +868,6 @@ int sys_execve(unsigned long a0, unsigne
        flush_spe_to_thread(current);
        error = do_execve(filename, (char __user * __user *) a1,
                          (char __user * __user *) a2, regs);
        putname(filename);
  out:
        return error;
-@@ -919,20 +914,6 @@
+@@ -919,20 +914,6 @@ int validate_sp(unsigned long sp, struct
        return valid_irq_stack(sp, p, nbytes);
  }
  
  EXPORT_SYMBOL(validate_sp);
  
  unsigned long get_wchan(struct task_struct *p)
-@@ -944,15 +925,15 @@
+@@ -944,15 +925,15 @@ unsigned long get_wchan(struct task_stru
                return 0;
  
        sp = p->thread.ksp;
                        if (!in_sched_functions(ip))
                                return ip;
                }
-@@ -981,12 +962,12 @@
+@@ -981,12 +962,12 @@ void show_stack(struct task_struct *tsk,
        lr = 0;
        printk("Call Trace:\n");
        do {
                if (!firstframe || ip != lr) {
                        printk("["REG"] ["REG"] ", sp, ip);
                        print_symbol("%s", ip);
-@@ -1000,8 +981,8 @@
+@@ -1000,8 +981,8 @@ void show_stack(struct task_struct *tsk,
                 * See if this is an exception frame.
                 * We look for the "regshere" marker in the current frame.
                 */
  #include <asm/kexec.h>
  
  #ifdef DEBUG
-@@ -436,7 +437,7 @@
+@@ -436,7 +437,7 @@ early_param("mem", early_parse_mem);
   * The device tree may be allocated beyond our memory limit, or inside the
   * crash kernel region for kdump. If so, move it out of the way.
   */
  {
        unsigned long start, size;
        void *p;
-@@ -1040,6 +1041,87 @@
+@@ -1040,6 +1041,87 @@ static void __init early_reserve_mem(voi
  #endif
  }
  
  void __init early_init_devtree(void *params)
  {
        DBG(" -> early_init_devtree(%p)\n", params);
-@@ -1052,6 +1134,11 @@
+@@ -1052,6 +1134,11 @@ void __init early_init_devtree(void *par
        of_scan_flat_dt(early_init_dt_scan_rtas, NULL);
  #endif
  
        /* Retrieve various informations from the /chosen node of the
         * device-tree, including the platform type, initrd location and
         * size, TCE reserve, and more ...
-@@ -1072,6 +1159,7 @@
+@@ -1072,6 +1159,7 @@ void __init early_init_devtree(void *par
        reserve_kdump_trampoline();
        reserve_crashkernel();
        early_reserve_mem();
  
        lmb_enforce_memory_limit(memory_limit);
        lmb_analyze();
-@@ -1244,12 +1332,14 @@
+@@ -1244,12 +1332,14 @@ EXPORT_SYMBOL(of_node_put);
   */
  void of_attach_node(struct device_node *np)
  {
  }
  
  /*
-@@ -1260,8 +1350,9 @@
+@@ -1260,8 +1350,9 @@ void of_attach_node(struct device_node *
  void of_detach_node(struct device_node *np)
  {
        struct device_node *parent;
  
        parent = np->parent;
        if (!parent)
-@@ -1292,7 +1383,7 @@
+@@ -1292,7 +1383,7 @@ void of_detach_node(struct device_node *
        of_node_set_flag(np, OF_DETACHED);
  
  out_unlock:
  }
  
  #ifdef CONFIG_PPC_PSERIES
-@@ -1373,20 +1464,21 @@
+@@ -1373,20 +1464,21 @@ __initcall(prom_reconfig_setup);
  int prom_add_property(struct device_node* np, struct property* prop)
  {
        struct property **next;
  
  #ifdef CONFIG_PROC_DEVICETREE
        /* try to add to proc as well if it was initialized */
-@@ -1406,9 +1498,10 @@
+@@ -1406,9 +1498,10 @@ int prom_add_property(struct device_node
  int prom_remove_property(struct device_node *np, struct property *prop)
  {
        struct property **next;
        next = &np->properties;
        while (*next) {
                if (*next == prop) {
-@@ -1421,7 +1514,7 @@
+@@ -1421,7 +1514,7 @@ int prom_remove_property(struct device_n
                }
                next = &(*next)->next;
        }
  
        if (!found)
                return -ENODEV;
-@@ -1447,9 +1540,10 @@
+@@ -1447,9 +1540,10 @@ int prom_update_property(struct device_n
                         struct property *oldprop)
  {
        struct property **next;
        next = &np->properties;
        while (*next) {
                if (*next == oldprop) {
-@@ -1463,7 +1557,7 @@
+@@ -1463,7 +1557,7 @@ int prom_update_property(struct device_n
                }
                next = &(*next)->next;
        }
                return -ENODEV;
 --- a/arch/powerpc/kernel/prom_init.c
 +++ b/arch/powerpc/kernel/prom_init.c
-@@ -2240,6 +2240,14 @@
+@@ -2240,6 +2240,14 @@ static void __init fixup_device_tree_efi
        if (rv != PROM_ERROR && (strcmp(prop, "chrp") == 0))
                prom_setprop(node, "/", "device_type", "efika", sizeof("efika"));
  
  #include <asm/udbg.h>
  #include <asm/syscalls.h>
  #include <asm/smp.h>
-@@ -507,7 +507,7 @@
+@@ -507,7 +507,7 @@ int rtas_error_rc(int rtas_rc)
                        break;
                default:
                        printk(KERN_ERR "%s: unexpected RTAS error %d\n",
        }
 --- a/arch/powerpc/kernel/rtas_flash.c
 +++ b/arch/powerpc/kernel/rtas_flash.c
-@@ -807,7 +807,7 @@
+@@ -807,7 +807,7 @@ int __init rtas_flash_init(void)
                                rtas_block_ctor);
        if (!flash_block_cache) {
                printk(KERN_ERR "%s: failed to create block cache\n",
        }
 --- a/arch/powerpc/kernel/rtas_pci.c
 +++ b/arch/powerpc/kernel/rtas_pci.c
-@@ -56,21 +56,6 @@
+@@ -56,21 +56,6 @@ static inline int config_access_valid(st
        return 0;
  }
  
  int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
  {
        int returnval = -1;
-@@ -117,7 +102,7 @@
+@@ -117,7 +102,7 @@ static int rtas_pci_read_config(struct p
        for (dn = busdn->child; dn; dn = dn->sibling) {
                struct pci_dn *pdn = PCI_DN(dn);
                if (pdn && pdn->devfn == devfn
                        return rtas_read_config(pdn, where, size, val);
        }
  
-@@ -164,7 +149,7 @@
+@@ -164,7 +149,7 @@ static int rtas_pci_write_config(struct 
        for (dn = busdn->child; dn; dn = dn->sibling) {
                struct pci_dn *pdn = PCI_DN(dn);
                if (pdn && pdn->devfn == devfn
                        return rtas_write_config(pdn, where, size, val);
        }
        return PCIBIOS_DEVICE_NOT_FOUND;
-@@ -326,7 +311,7 @@
+@@ -326,7 +311,7 @@ int pcibios_remove_root_bus(struct pci_c
  
        res = b->resource[0];
        if (!res->flags) {
                                b->name);
                return 1;
        }
-@@ -334,13 +319,13 @@
+@@ -334,13 +319,13 @@ int pcibios_remove_root_bus(struct pci_c
        rc = pcibios_unmap_io_space(b);
        if (rc) {
                printk(KERN_ERR "%s: failed to unmap IO on bus %s\n",
                return 1;
        }
  
-@@ -348,13 +333,13 @@
+@@ -348,13 +333,13 @@ int pcibios_remove_root_bus(struct pci_c
                res = b->resource[i];
                if (!res->flags && i == 0) {
                        printk(KERN_ERR "%s: no MEM resource for PHB %s\n",
  #include <asm/xmon.h>
  #include <asm/cputhreads.h>
  
-@@ -167,6 +167,8 @@
+@@ -167,6 +167,8 @@ static int show_cpuinfo(struct seq_file 
        unsigned short min;
  
        if (cpu_id == NR_CPUS) {
  #if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
                unsigned long bogosum = 0;
                int i;
-@@ -178,6 +180,13 @@
+@@ -178,6 +180,13 @@ static int show_cpuinfo(struct seq_file 
                seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq);
                if (ppc_md.name)
                        seq_printf(m, "platform\t: %s\n", ppc_md.name);
  
 --- a/arch/powerpc/kernel/setup_32.c
 +++ b/arch/powerpc/kernel/setup_32.c
-@@ -172,6 +172,18 @@
+@@ -172,6 +172,18 @@ int __init ppc_setup_l2cr(char *str)
  }
  __setup("l2cr=", ppc_setup_l2cr);
  
  #ifdef CONFIG_GENERIC_NVRAM
  
  /* Generic nvram hooks used by drivers/char/gen_nvram.c */
-@@ -277,7 +289,7 @@
+@@ -277,7 +289,7 @@ void __init setup_arch(char **cmdline_p)
        if (ppc_md.panic)
                setup_panic();
  
  #include <asm/firmware.h>
  #include <asm/xmon.h>
  #include <asm/udbg.h>
-@@ -178,6 +179,9 @@
+@@ -178,6 +179,9 @@ void __init early_setup(unsigned long dt
        /* Enable early debugging if any specified (see udbg.h) */
        udbg_early_init();
  
        DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
  
        /*
-@@ -510,7 +514,7 @@
+@@ -510,7 +514,7 @@ void __init setup_arch(char **cmdline_p)
        if (ppc_md.panic)
                setup_panic();
  
 +}
 --- a/arch/powerpc/kernel/sys_ppc32.c
 +++ b/arch/powerpc/kernel/sys_ppc32.c
-@@ -368,11 +368,6 @@
+@@ -368,11 +368,6 @@ long compat_sys_execve(unsigned long a0,
  
        error = compat_do_execve(filename, compat_ptr(a1), compat_ptr(a2), regs);
  
  #include <asm/sections.h>
 --- a/arch/powerpc/kernel/vio.c
 +++ b/arch/powerpc/kernel/vio.c
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ static int vio_bus_remove(struct device 
   */
  int vio_register_driver(struct vio_driver *viodrv)
  {
                viodrv->driver.name);
  
        /* fill in 'struct driver' fields */
-@@ -184,7 +184,7 @@
+@@ -184,7 +184,7 @@ struct vio_dev *vio_register_device_node
        /* we need the 'device_type' property, in order to match with drivers */
        if (of_node->type == NULL) {
                printk(KERN_WARNING "%s: node %s missing 'device_type'\n",
                                of_node->name ? of_node->name : "<unknown>");
                return NULL;
        }
-@@ -192,7 +192,7 @@
+@@ -192,7 +192,7 @@ struct vio_dev *vio_register_device_node
        unit_address = of_get_property(of_node, "reg", NULL);
        if (unit_address == NULL) {
                printk(KERN_WARNING "%s: node %s missing 'reg'\n",
                                of_node->name ? of_node->name : "<unknown>");
                return NULL;
        }
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ struct vio_dev *vio_register_device_node
        /* register with generic device framework */
        if (device_register(&viodev->dev)) {
                printk(KERN_ERR "%s: failed to register device %s\n",
                /* XXX free TCE table */
                kfree(viodev);
                return NULL;
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ static int __init vio_bus_init(void)
        err = device_register(&vio_bus_device.dev);
        if (err) {
                printk(KERN_WARNING "%s: device_register returned %i\n",
  #include <asm-generic/vmlinux.lds.h>
  #include <asm/cache.h>
  
-@@ -33,7 +31,7 @@
+@@ -33,7 +31,7 @@ SECTIONS
   */
  
        /* Text and gots */
                ALIGN_FUNCTION();
                *(.text.head)
                _text = .;
-@@ -58,7 +56,7 @@
+@@ -58,7 +56,7 @@ SECTIONS
        RODATA
  
        /* Exception & bug tables */
                __start___ex_table = .;
                *(__ex_table)
                __stop___ex_table = .;
-@@ -74,7 +72,7 @@
+@@ -74,7 +72,7 @@ SECTIONS
        . = ALIGN(PAGE_SIZE);
        __init_begin = .;
  
                _sinittext = .;
                INIT_TEXT
                _einittext = .;
-@@ -83,11 +81,11 @@
+@@ -83,11 +81,11 @@ SECTIONS
        /* .exit.text is discarded at runtime, not link time,
         * to deal with references from __bug_table
         */
                INIT_DATA
                __vtop_table_begin = .;
                *(.vtop_fixup);
-@@ -103,19 +101,19 @@
+@@ -103,19 +101,19 @@ SECTIONS
        }
  
        . = ALIGN(16);
                __con_initcall_start = .;
                *(.con_initcall.init)
                __con_initcall_end = .;
-@@ -124,14 +122,14 @@
+@@ -124,14 +122,14 @@ SECTIONS
        SECURITY_INIT
  
        . = ALIGN(8);
                __start___fw_ftr_fixup = .;
                *(__fw_ftr_fixup)
                __stop___fw_ftr_fixup = .;
-@@ -139,14 +137,14 @@
+@@ -139,14 +137,14 @@ SECTIONS
  #endif
  #ifdef CONFIG_BLK_DEV_INITRD
        . = ALIGN(PAGE_SIZE);
                __per_cpu_start = .;
                *(.data.percpu)
                *(.data.percpu.shared_aligned)
-@@ -154,7 +152,7 @@
+@@ -154,7 +152,7 @@ SECTIONS
        }
  
        . = ALIGN(8);
                __machine_desc_start = . ;
                *(.machine.desc)
                __machine_desc_end = . ;
-@@ -172,25 +170,24 @@
+@@ -172,25 +170,24 @@ SECTIONS
        _sdata = .;
  
  #ifdef CONFIG_PPC32
                __toc_start = .;
                *(.got)
                *(.toc)
-@@ -207,26 +204,26 @@
+@@ -207,26 +204,26 @@ SECTIONS
  #else
        . = ALIGN(16384);
  #endif
                __nosave_begin = .;
                *(.data.nosave)
                . = ALIGN(PAGE_SIZE);
-@@ -237,7 +234,7 @@
+@@ -237,7 +234,7 @@ SECTIONS
   * And finally the bss
   */
  
                *(.dynbss)
 --- a/arch/powerpc/lib/rheap.c
 +++ b/arch/powerpc/lib/rheap.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ static int grow(rh_info_t * info, int ma
  
        new_blocks = max_blocks - info->max_blocks;
  
        if (block == NULL)
                return -ENOMEM;
  
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ rh_info_t *rh_create(unsigned int alignm
        if ((alignment & (alignment - 1)) != 0)
                return ERR_PTR(-EINVAL);
  
  
 --- a/arch/powerpc/lib/string.S
 +++ b/arch/powerpc/lib/string.S
-@@ -75,6 +75,20 @@
+@@ -75,6 +75,20 @@ _GLOBAL(strcmp)
        beq     1b
        blr
  
  1:    lbzu    r0,1(r4)
 --- a/arch/powerpc/math-emu/fabs.c
 +++ b/arch/powerpc/math-emu/fabs.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fabs(u32 *frD, u32 *frB)
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fadd.c
 +++ b/arch/powerpc/math-emu/fadd.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fadd(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fadds.c
 +++ b/arch/powerpc/math-emu/fadds.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fadds(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fcmpo.c
 +++ b/arch/powerpc/math-emu/fcmpo.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fcmpo(u32 *ccr, int crfD, void *frA, voi
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fcmpu.c
 +++ b/arch/powerpc/math-emu/fcmpu.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fcmpu(u32 *ccr, int crfD, void *frA, voi
        long cmp;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fctiw.c
 +++ b/arch/powerpc/math-emu/fctiw.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fctiw(u32 *frD, void *frB)
        frD[1] = r;
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fctiwz.c
 +++ b/arch/powerpc/math-emu/fctiwz.c
-@@ -23,7 +23,7 @@
+@@ -23,7 +23,7 @@ fctiwz(u32 *frD, void *frB)
        __FPU_FPSCR = fpscr;
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fdiv.c
 +++ b/arch/powerpc/math-emu/fdiv.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fdiv(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
  #endif
  
        __FP_UNPACK_D(A, frA);
-@@ -28,13 +28,13 @@
+@@ -28,13 +28,13 @@ fdiv(void *frD, void *frA, void *frB)
        if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
                ret |= EFLAG_VXZDZ;
  #ifdef DEBUG
  
 --- a/arch/powerpc/math-emu/fdivs.c
 +++ b/arch/powerpc/math-emu/fdivs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fdivs(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
  #endif
  
        __FP_UNPACK_D(A, frA);
-@@ -29,13 +29,13 @@
+@@ -29,13 +29,13 @@ fdivs(void *frD, void *frA, void *frB)
        if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
                ret |= EFLAG_VXZDZ;
  #ifdef DEBUG
  
 --- a/arch/powerpc/math-emu/fmadd.c
 +++ b/arch/powerpc/math-emu/fmadd.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fmadd(void *frD, void *frA, void *frB, v
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmadds.c
 +++ b/arch/powerpc/math-emu/fmadds.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fmadds(void *frD, void *frA, void *frB, 
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmr.c
 +++ b/arch/powerpc/math-emu/fmr.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fmr(u32 *frD, u32 *frB)
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fmsub.c
 +++ b/arch/powerpc/math-emu/fmsub.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fmsub(void *frD, void *frA, void *frB, v
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmsubs.c
 +++ b/arch/powerpc/math-emu/fmsubs.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fmsubs(void *frD, void *frA, void *frB, 
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmul.c
 +++ b/arch/powerpc/math-emu/fmul.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fmul(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmuls.c
 +++ b/arch/powerpc/math-emu/fmuls.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fmuls(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnabs.c
 +++ b/arch/powerpc/math-emu/fnabs.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fnabs(u32 *frD, u32 *frB)
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fneg.c
 +++ b/arch/powerpc/math-emu/fneg.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fneg(u32 *frD, u32 *frB)
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fnmadd.c
 +++ b/arch/powerpc/math-emu/fnmadd.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fnmadd(void *frD, void *frA, void *frB, 
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmadds.c
 +++ b/arch/powerpc/math-emu/fnmadds.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fnmadds(void *frD, void *frA, void *frB,
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmsub.c
 +++ b/arch/powerpc/math-emu/fnmsub.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fnmsub(void *frD, void *frA, void *frB, 
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmsubs.c
 +++ b/arch/powerpc/math-emu/fnmsubs.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fnmsubs(void *frD, void *frA, void *frB,
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fres.c
 +++ b/arch/powerpc/math-emu/fres.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
  fres(void *frD, void *frB)
  {
  #ifdef DEBUG
  }
 --- a/arch/powerpc/math-emu/frsp.c
 +++ b/arch/powerpc/math-emu/frsp.c
-@@ -12,7 +12,7 @@
+@@ -12,7 +12,7 @@ frsp(void *frD, void *frB)
        FP_DECL_D(B);
  
  #ifdef DEBUG
        __FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/frsqrte.c
 +++ b/arch/powerpc/math-emu/frsqrte.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
  frsqrte(void *frD, void *frB)
  {
  #ifdef DEBUG
  }
 --- a/arch/powerpc/math-emu/fsel.c
 +++ b/arch/powerpc/math-emu/fsel.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ fsel(u32 *frD, void *frA, u32 *frB, u32 
        FP_DECL_D(A);
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fsqrt.c
 +++ b/arch/powerpc/math-emu/fsqrt.c
-@@ -13,7 +13,7 @@
+@@ -13,7 +13,7 @@ fsqrt(void *frD, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/fsqrts.c
 +++ b/arch/powerpc/math-emu/fsqrts.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fsqrts(void *frD, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/fsub.c
 +++ b/arch/powerpc/math-emu/fsub.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fsub(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fsubs.c
 +++ b/arch/powerpc/math-emu/fsubs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fsubs(void *frD, void *frA, void *frB)
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/lfd.c
 +++ b/arch/powerpc/math-emu/lfd.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ lfd(void *frD, void *ea)
        if (copy_from_user(frD, ea, sizeof(double)))
                return -EFAULT;
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/lfs.c
 +++ b/arch/powerpc/math-emu/lfs.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lfs(void *frD, void *ea)
        float f;
  
  #ifdef DEBUG
        if (copy_from_user(&f, ea, sizeof(float)))
 --- a/arch/powerpc/math-emu/mcrfs.c
 +++ b/arch/powerpc/math-emu/mcrfs.c
-@@ -10,7 +10,7 @@
+@@ -10,7 +10,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
        u32 value, clear;
  
  #ifdef DEBUG
  #endif
  
        clear = 15 << ((7 - crfS) << 2);
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
        *ccr |= (value << ((7 - crfD) << 2));
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mffs.c
 +++ b/arch/powerpc/math-emu/mffs.c
-@@ -10,7 +10,7 @@
+@@ -10,7 +10,7 @@ mffs(u32 *frD)
        frD[1] = __FPU_FPSCR;
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsb0.c
 +++ b/arch/powerpc/math-emu/mtfsb0.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ mtfsb0(int crbD)
                __FPU_FPSCR &= ~(1 << (31 - crbD));
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsb1.c
 +++ b/arch/powerpc/math-emu/mtfsb1.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ mtfsb1(int crbD)
                __FPU_FPSCR |= (1 << (31 - crbD));
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsf.c
 +++ b/arch/powerpc/math-emu/mtfsf.c
-@@ -38,7 +38,7 @@
+@@ -38,7 +38,7 @@ mtfsf(unsigned int FM, u32 *frB)
        __FPU_FPSCR |= (frB[1] & mask);
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsfi.c
 +++ b/arch/powerpc/math-emu/mtfsfi.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ mtfsfi(unsigned int crfD, unsigned int I
        __FPU_FPSCR |= (IMM & 0xf) << ((7 - crfD) << 2);
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/stfd.c
 +++ b/arch/powerpc/math-emu/stfd.c
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,7 @@ stfd(void *frS, void *ea)
  {
  #if 0
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/stfiwx.c
 +++ b/arch/powerpc/math-emu/stfiwx.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
  stfiwx(u32 *frS, void *ea)
  {
  #ifdef DEBUG
        if (copy_to_user(ea, &frS[1], sizeof(frS[1])))
 --- a/arch/powerpc/math-emu/stfs.c
 +++ b/arch/powerpc/math-emu/stfs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ stfs(void *frS, void *ea)
        int err;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frS);
 --- a/arch/powerpc/mm/40x_mmu.c
 +++ b/arch/powerpc/mm/40x_mmu.c
-@@ -97,7 +97,7 @@
+@@ -97,7 +97,7 @@ unsigned long __init mmu_mapin_ram(void)
        phys_addr_t p;
  
        v = KERNELBASE;
        if (__map_without_ltlbs)
 --- a/arch/powerpc/mm/44x_mmu.c
 +++ b/arch/powerpc/mm/44x_mmu.c
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ unsigned long __init mmu_mapin_ram(void)
  
        /* Pin in enough TLBs to cover any lowmem not covered by the
         * initial 256M mapping established in head_44x.S */
  
 --- a/arch/powerpc/mm/Makefile
 +++ b/arch/powerpc/mm/Makefile
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ ifeq ($(CONFIG_PPC64),y)
  EXTRA_CFLAGS  += -mno-minimal-toc
  endif
  
  
  #define NUM_TLBCAMS   (16)
  
-@@ -165,15 +162,15 @@
+@@ -165,15 +162,15 @@ void invalidate_tlbcam_entry(int index)
  void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1,
                unsigned long cam2)
  {
        }
  }
  
-@@ -196,35 +193,32 @@
+@@ -196,35 +193,32 @@ unsigned long __init mmu_mapin_ram(void)
  void __init
  adjust_total_lowmem(void)
  {
                ram -= __cam2;
        }
  
-@@ -232,6 +226,6 @@
+@@ -232,6 +226,6 @@ adjust_total_lowmem(void)
                        " CAM2=%ldMb residual: %ldMb\n",
                        __cam0 >> 20, __cam1 >> 20, __cam2 >> 20,
                        (total_lowmem - __cam0 - __cam1 - __cam2) >> 20);
  #include <asm/abs_addr.h>
  #include <asm/tlbflush.h>
  #include <asm/io.h>
-@@ -191,6 +192,29 @@
+@@ -191,6 +192,29 @@ int htab_bolt_mapping(unsigned long vsta
        return ret < 0 ? ret : 0;
  }
  
  static int __init htab_dt_scan_seg_sizes(unsigned long node,
                                         const char *uname, int depth,
                                         void *data)
-@@ -434,6 +458,12 @@
+@@ -434,6 +458,12 @@ void create_section_mapping(unsigned lon
                        _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX,
                        mmu_linear_psize, mmu_kernel_ssize));
  }
  #include <asm/sections.h>
  
  #include "mmu_decl.h"
-@@ -59,8 +59,8 @@
+@@ -59,8 +59,8 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_ga
  unsigned long total_memory;
  unsigned long total_lowmem;
  
  
  int boot_mapsize;
  #ifdef CONFIG_PPC_PMAC
-@@ -95,10 +95,10 @@
+@@ -95,10 +95,10 @@ int __map_without_ltlbs;
  unsigned long __max_low_memory = MAX_LOW_MEM;
  
  /*
  
  /*
   * Check for command-line options that affect what MMU_init will do.
-@@ -131,10 +131,10 @@
+@@ -131,10 +131,10 @@ void __init MMU_init(void)
  
        /* 601 can only access 16MB at the moment */
        if (PVR_VER(mfspr(SPRN_PVR)) == 1)
  
        /* parse args from command line */
        MMU_setup();
-@@ -145,8 +145,8 @@
+@@ -145,8 +145,8 @@ void __init MMU_init(void)
                printk(KERN_WARNING "Only using first contiguous memory region");
        }
  
  
  #ifdef CONFIG_FSL_BOOKE
        /* Freescale Book-E parts expect lowmem to be mapped by fixed TLB
-@@ -157,9 +157,10 @@
+@@ -157,9 +157,10 @@ void __init MMU_init(void)
  
        if (total_lowmem > __max_low_memory) {
                total_lowmem = __max_low_memory;
                lmb_analyze();
  #endif /* CONFIG_HIGHMEM */
        }
-@@ -184,8 +185,6 @@
+@@ -184,8 +185,6 @@ void __init MMU_init(void)
        /* Map in I/O resources */
        if (ppc_md.progress)
                ppc_md.progress("MMU:setio", 0x302);
  
        /* Initialize the context management stuff */
        mmu_context_init();
-@@ -208,7 +207,7 @@
+@@ -208,7 +207,7 @@ void __init *early_get_page(void)
                p = alloc_bootmem_pages(PAGE_SIZE);
        } else {
                p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE,
        }
        return p;
  }
-@@ -276,7 +275,7 @@
+@@ -276,7 +275,7 @@ static int __init setup_kcore(void)
  
                kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
                if (!kcore_mem)
  
  void free_initmem(void)
  {
-@@ -122,7 +121,7 @@
+@@ -122,7 +121,7 @@ static int __init setup_kcore(void)
                /* GFP_ATOMIC to avoid might_sleep warnings during boot */
                kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
                if (!kcore_mem)
  #include <asm/sections.h>
  #include <asm/vdso.h>
  
-@@ -111,7 +111,7 @@
+@@ -111,7 +111,7 @@ int memory_add_physaddr_to_nid(u64 start
  }
  #endif
  
  {
        struct pglist_data *pgdata;
        struct zone *zone;
-@@ -175,7 +175,6 @@
+@@ -175,7 +175,6 @@ void show_mem(void)
  
        printk("Mem-info:\n");
        show_free_areas();
        for_each_online_pgdat(pgdat) {
                unsigned long flags;
                pgdat_resize_lock(pgdat, &flags);
-@@ -217,9 +216,11 @@
+@@ -217,9 +216,11 @@ void __init do_init_bootmem(void)
        unsigned long total_pages;
        int boot_mapsize;
  
  #endif
  
        /*
-@@ -245,18 +246,18 @@
+@@ -245,18 +246,18 @@ void __init do_init_bootmem(void)
         * present.
         */
  #ifdef CONFIG_HIGHMEM
                                      lmb.reserved.region[i].base;
                        reserve_bootmem(lmb.reserved.region[i].base,
                                        adjusted_size, BOOTMEM_DEFAULT);
-@@ -326,7 +327,7 @@
+@@ -326,7 +327,7 @@ void __init paging_init(void)
               (top_of_ram - total_ram) >> 20);
        memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
  #ifdef CONFIG_HIGHMEM
        max_zone_pfns[ZONE_HIGHMEM] = top_of_ram >> PAGE_SHIFT;
  #else
        max_zone_pfns[ZONE_DMA] = top_of_ram >> PAGE_SHIFT;
-@@ -381,7 +382,7 @@
+@@ -381,7 +382,7 @@ void __init mem_init(void)
        {
                unsigned long pfn, highmem_mapnr;
  
                        if (lmb_is_reserved(pfn << PAGE_SHIFT))
 --- a/arch/powerpc/mm/mmu_decl.h
 +++ b/arch/powerpc/mm/mmu_decl.h
-@@ -48,9 +48,11 @@
+@@ -48,9 +48,11 @@ extern unsigned int num_tlbcam_entries;
  
  extern unsigned long ioremap_bot;
  extern unsigned long __max_low_memory;
  
 --- a/arch/powerpc/mm/pgtable_32.c
 +++ b/arch/powerpc/mm/pgtable_32.c
-@@ -281,12 +281,13 @@
+@@ -281,12 +281,13 @@ int map_page(unsigned long va, phys_addr
   */
  void __init mapin_ram(void)
  {
  
  #include "mmu_decl.h"
  
-@@ -82,7 +82,6 @@
+@@ -82,7 +82,6 @@ unsigned long __init mmu_mapin_ram(void)
  #else
        unsigned long tot, bl, done;
        unsigned long max_size = (256<<20);
  
        if (__map_without_bats) {
                printk(KERN_DEBUG "RAM mapped without BATs\n");
-@@ -93,19 +92,13 @@
+@@ -93,19 +92,13 @@ unsigned long __init mmu_mapin_ram(void)
  
        /* Make sure we don't map a block larger than the
           smallest alignment of the physical address. */
        done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1;
        if ((done < tot) && !bat_addrs[3].limit) {
                /* use BAT3 to cover a bit more */
-@@ -113,7 +106,7 @@
+@@ -113,7 +106,7 @@ unsigned long __init mmu_mapin_ram(void)
                for (bl = 128<<10; bl < max_size; bl <<= 1)
                        if (bl * 2 > tot)
                                break;
                done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1;
        }
  
-@@ -240,7 +233,7 @@
+@@ -240,7 +233,7 @@ void __init MMU_init_hw(void)
         */
        if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
        Hash = __va(lmb_alloc_base(Hash_size, Hash_size,
  #include <asm/iseries/hv_call.h>
 --- a/arch/powerpc/oprofile/cell/spu_task_sync.c
 +++ b/arch/powerpc/oprofile/cell/spu_task_sync.c
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ static struct cached_info *get_cached_in
        if (spu_num >= num_spu_nodes) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: Invalid index %d into spu info cache\n",
                ret_info = NULL;
                goto out;
        }
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ prepare_cached_spu_info(struct spu *spu,
        if (!info) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: create vma_map failed\n",
                retval = -ENOMEM;
                goto err_alloc;
        }
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ prepare_cached_spu_info(struct spu *spu,
        if (!new_map) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: create vma_map failed\n",
                retval = -ENOMEM;
                goto err_alloc;
        }
-@@ -171,7 +171,7 @@
+@@ -171,7 +171,7 @@ static int release_cached_info(int spu_i
                        printk(KERN_ERR "SPU_PROF: "
                                "%s, line %d: "
                                "Invalid index %d into spu info cache\n",
                        goto out;
                }
                end = spu_index + 1;
-@@ -273,7 +273,7 @@
+@@ -273,7 +273,7 @@ fail_no_image_cookie:
  
        printk(KERN_ERR "SPU_PROF: "
                "%s, line %d: Cannot find dcookie for SPU binary\n",
        goto out;
  }
  
-@@ -467,7 +467,7 @@
+@@ -467,7 +467,7 @@ int spu_sync_stop(void)
        if (ret) {
                printk(KERN_ERR "SPU_PROF: "
                        "%s, line %d: spu_switch_event_unregister returned %d\n",
  
 --- a/arch/powerpc/oprofile/cell/vma_map.c
 +++ b/arch/powerpc/oprofile/cell/vma_map.c
-@@ -72,7 +72,7 @@
+@@ -72,7 +72,7 @@ vma_map_add(struct vma_to_fileoffset_map
                kzalloc(sizeof(struct vma_to_fileoffset_map), GFP_KERNEL);
        if (!new) {
                printk(KERN_ERR "SPU_PROF: %s, line %d: malloc failed\n",
                vma_map_free(map);
                return NULL;
        }
-@@ -134,19 +134,19 @@
+@@ -134,19 +134,19 @@ struct vma_to_fileoffset_map *create_vma
        if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: Unexpected e_ident parsing SPU ELF\n",
                goto fail;
        }
        phdr_start = spu_elf_start + ehdr.e_phoff;
-@@ -232,7 +232,7 @@
+@@ -232,7 +232,7 @@ struct vma_to_fileoffset_map *create_vma
        if (overlay_tbl_offset < 0) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: Error finding SPU overlay table\n",
        ovly_table = spu_elf_start + overlay_tbl_offset;
 --- a/arch/powerpc/oprofile/op_model_cell.c
 +++ b/arch/powerpc/oprofile/op_model_cell.c
-@@ -216,7 +216,7 @@
+@@ -216,7 +216,7 @@ static void pm_rtas_reset_signals(u32 no
                 * failure to stop OProfile.
                 */
                printk(KERN_WARNING "%s: rtas returned: %d\n",
  }
  
  static int pm_rtas_activate_signals(u32 node, u32 count)
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ static int pm_rtas_activate_signals(u32 
  
                if (unlikely(ret)) {
                        printk(KERN_WARNING "%s: rtas returned: %d\n",
                        return -EIO;
                }
        }
-@@ -560,7 +560,7 @@
+@@ -560,7 +560,7 @@ static int cell_reg_setup(struct op_coun
                if (unlikely(spu_rtas_token == RTAS_UNKNOWN_SERVICE)) {
                        printk(KERN_ERR
                               "%s: rtas token ibm,cbe-spu-perftools unknown\n",
                        return -EIO;
                }
        }
-@@ -576,7 +576,7 @@
+@@ -576,7 +576,7 @@ static int cell_reg_setup(struct op_coun
        if (unlikely(pm_rtas_token == RTAS_UNKNOWN_SERVICE)) {
                printk(KERN_ERR
                       "%s: rtas token ibm,cbe-perftools unknown\n",
                return -EIO;
        }
  
-@@ -853,7 +853,7 @@
+@@ -853,7 +853,7 @@ static int pm_rtas_activate_spu_profilin
  
        if (unlikely(ret)) {
                printk(KERN_WARNING "%s: rtas returned: %d\n",
                return -EIO;
        }
  
-@@ -949,7 +949,7 @@
+@@ -949,7 +949,7 @@ static int cell_global_start_spu(struct 
                if (unlikely(ret != 0)) {
                        printk(KERN_ERR
                               "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
                        rtas_error = -EIO;
                        goto out;
                }
-@@ -1061,7 +1061,7 @@
+@@ -1061,7 +1061,7 @@ static void cell_global_stop_spu(void)
                if (unlikely(rtn_value != 0)) {
                        printk(KERN_ERR
                               "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
  
  static struct device_node *bcsr_node;
  static void __iomem *bcsr_regs;
-@@ -119,5 +120,6 @@
+@@ -119,5 +120,6 @@ define_machine(ep405) {
        .progress               = udbg_progress,
        .init_IRQ               = uic_init_tree,
        .get_irq                = uic_get_irq,
  
  static __initdata struct of_device_id kilauea_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -54,5 +55,6 @@
+@@ -54,5 +55,6 @@ define_machine(kilauea) {
        .progress                       = udbg_progress,
        .init_IRQ                       = uic_init_tree,
        .get_irq                        = uic_get_irq,
  
  static __initdata struct of_device_id makalu_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -54,5 +55,6 @@
+@@ -54,5 +55,6 @@ define_machine(makalu) {
        .progress                       = udbg_progress,
        .init_IRQ                       = uic_init_tree,
        .get_irq                        = uic_get_irq,
  
  static struct of_device_id xilinx_of_bus_ids[] __initdata = {
        { .compatible = "xlnx,plb-v46-1.00.a", },
-@@ -48,5 +49,6 @@
+@@ -48,5 +49,6 @@ define_machine(virtex) {
        .probe                  = virtex_probe,
        .init_IRQ               = xilinx_intc_init_tree,
        .get_irq                = xilinx_intc_get_irq,
  
  static __initdata struct of_device_id walnut_of_bus[] = {
        { .compatible = "ibm,plb3", },
-@@ -61,5 +62,6 @@
+@@ -61,5 +62,6 @@ define_machine(walnut) {
        .progress               = udbg_progress,
        .init_IRQ               = uic_init_tree,
        .get_irq                = uic_get_irq,
  #endif /* __POWERPC_PLATFORMS_44X_44X_H */
 --- a/arch/powerpc/platforms/44x/Kconfig
 +++ b/arch/powerpc/platforms/44x/Kconfig
-@@ -67,6 +67,25 @@
+@@ -67,6 +67,25 @@ config WARP
          See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
          Telephony Developers" link for more information.
  
  #config LUAN
  #     bool "Luan"
  #     depends on 44x
-@@ -122,6 +141,14 @@
+@@ -122,6 +141,14 @@ config 440SPe
        bool
        select IBM_NEW_EMAC_EMAC4
  
  
  static __initdata struct of_device_id bamboo_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -53,11 +52,11 @@
+@@ -53,11 +52,11 @@ static int __init bamboo_probe(void)
  }
  
  define_machine(bamboo) {
  
  static __initdata struct of_device_id ebony_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -66,6 +65,6 @@
+@@ -66,6 +65,6 @@ define_machine(ebony) {
        .progress               = udbg_progress,
        .init_IRQ               = uic_init_tree,
        .get_irq                = uic_get_irq,
  
  static __initdata struct of_device_id katmai_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -58,6 +57,6 @@
+@@ -58,6 +57,6 @@ define_machine(katmai) {
        .progress                       = udbg_progress,
        .init_IRQ                       = uic_init_tree,
        .get_irq                        = uic_get_irq,
  };
 --- a/arch/powerpc/platforms/44x/misc_44x.S
 +++ b/arch/powerpc/platforms/44x/misc_44x.S
-@@ -44,14 +44,3 @@
+@@ -44,14 +44,3 @@ _GLOBAL(as1_writeb)
        sync
        isync
        blr
  
  static __initdata struct of_device_id rainier_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -57,6 +57,6 @@
+@@ -57,6 +57,6 @@ define_machine(rainier) {
        .progress                       = udbg_progress,
        .init_IRQ                       = uic_init_tree,
        .get_irq                        = uic_get_irq,
  
  static __initdata struct of_device_id sequoia_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -58,6 +58,6 @@
+@@ -58,6 +58,6 @@ define_machine(sequoia) {
        .progress                       = udbg_progress,
        .init_IRQ                       = uic_init_tree,
        .get_irq                        = uic_get_irq,
  
  static __initdata struct of_device_id taishan_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -68,6 +67,6 @@
+@@ -68,6 +67,6 @@ define_machine(taishan) {
        .progress               = udbg_progress,
        .init_IRQ               = uic_init_tree,
        .get_irq                = uic_get_irq,
  
  #ifdef CONFIG_MTD_NAND_NDFC
  
-@@ -100,6 +101,6 @@
+@@ -100,6 +101,6 @@ static int warp_setup_nand_flash(void)
  
        return 0;
  }
  
  static __initdata struct of_device_id warp_of_bus[] = {
        { .compatible = "ibm,plb4", },
-@@ -49,7 +47,7 @@
+@@ -49,7 +47,7 @@ define_machine(warp) {
        .progress       = udbg_progress,
        .init_IRQ       = uic_init_tree,
        .get_irq        = uic_get_irq,
  
 --- a/arch/powerpc/platforms/52xx/lite5200.c
 +++ b/arch/powerpc/platforms/52xx/lite5200.c
-@@ -63,7 +63,7 @@
+@@ -63,7 +63,7 @@ lite5200_fix_clock_config(void)
        of_node_put(np);
        if (!cdm) {
                printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
                return;
        }
  
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ lite5200_fix_port_config(void)
        of_node_put(np);
        if (!gpio) {
                printk(KERN_ERR "%s() failed. expect abnormal behavior\n",
  
 --- a/arch/powerpc/platforms/82xx/Kconfig
 +++ b/arch/powerpc/platforms/82xx/Kconfig
-@@ -11,7 +11,6 @@
+@@ -11,7 +11,6 @@ config MPC8272_ADS
        select 8260
        select FSL_SOC
        select PQ2_ADS_PCI_PIC if PCI
        help
          This option enables support for the MPC8272 ADS board
  
-@@ -22,7 +21,6 @@
+@@ -22,7 +21,6 @@ config PQ2FADS
        select 8260
        select FSL_SOC
        select PQ2_ADS_PCI_PIC if PCI
        help
          This option enables support for the PQ2FADS board
  
-@@ -31,7 +29,6 @@
+@@ -31,7 +29,6 @@ config EP8248E
        select 8272
        select 8260
        select FSL_SOC
          This enables support for the Embedded Planet EP8248E board.
 --- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c
 +++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ static void __init mpc837x_rdb_setup_arc
  static struct of_device_id mpc837x_ids[] = {
        { .type = "soc", },
        { .compatible = "soc", },
  #define CONTROL_OTG_PORT           0x00000020
 --- a/arch/powerpc/platforms/83xx/usb.c
 +++ b/arch/powerpc/platforms/83xx/usb.c
-@@ -129,7 +129,7 @@
+@@ -129,7 +129,7 @@ int mpc831x_usb_cfg(void)
        if (immr_node && of_device_is_compatible(immr_node, "fsl,mpc8315-immr"))
                clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
                                MPC8315_SCCR_USB_MASK,
        else
                clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
                                MPC83XX_SCCR_USB_MASK,
-@@ -164,9 +164,15 @@
+@@ -164,9 +164,15 @@ int mpc831x_usb_cfg(void)
        /* Using on-chip PHY */
        if (prop && (!strcmp(prop, "utmi_wide") ||
                     !strcmp(prop, "utmi"))) {
                /* Set PHY_CLK_SEL to ULPI */
 --- a/arch/powerpc/platforms/85xx/Kconfig
 +++ b/arch/powerpc/platforms/85xx/Kconfig
-@@ -19,7 +19,6 @@
+@@ -19,7 +19,6 @@ config MPC8540_ADS
  config MPC8560_ADS
        bool "Freescale MPC8560 ADS"
        select DEFAULT_UIMAGE
        select CPM2
        help
          This option enables support for the MPC 8560 ADS board
-@@ -46,6 +45,12 @@
+@@ -46,6 +45,12 @@ config MPC85xx_DS
        help
          This option enables support for the MPC85xx DS (MPC8544 DS) board
  
  config STX_GP3
        bool "Silicon Turnkey Express GP3"
        help
-@@ -53,14 +58,12 @@
+@@ -53,14 +58,12 @@ config STX_GP3
          board.
        select CPM2
        select DEFAULT_UIMAGE
        select TQM85xx
  
  config TQM8541
-@@ -68,7 +71,6 @@
+@@ -68,7 +71,6 @@ config TQM8541
        help
          This option enables support for the TQ Components TQM8541 board.
        select DEFAULT_UIMAGE
        select TQM85xx
        select CPM2
  
-@@ -77,7 +79,6 @@
+@@ -77,7 +79,6 @@ config TQM8555
        help
          This option enables support for the TQ Components TQM8555 board.
        select DEFAULT_UIMAGE
        select TQM85xx
        select CPM2
  
-@@ -86,7 +87,6 @@
+@@ -86,7 +87,6 @@ config TQM8560
        help
          This option enables support for the TQ Components TQM8560 board.
        select DEFAULT_UIMAGE
        select TQM85xx
        select CPM2
  
-@@ -99,7 +99,6 @@
+@@ -99,7 +99,6 @@ config SBC8548
  config SBC8560
        bool "Wind River SBC8560"
        select DEFAULT_UIMAGE
  
 --- a/arch/powerpc/platforms/85xx/Makefile
 +++ b/arch/powerpc/platforms/85xx/Makefile
-@@ -10,3 +10,4 @@
+@@ -10,3 +10,4 @@ obj-$(CONFIG_STX_GP3)          += stx_gp3.o
  obj-$(CONFIG_TQM85xx)   += tqm85xx.o
  obj-$(CONFIG_SBC8560)     += sbc8560.o
  obj-$(CONFIG_SBC8548)     += sbc8548.o
 +};
 --- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c
 +++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ static void __init init_ioports(void)
        int i;
  
        for (i = 0; i < ARRAY_SIZE(mpc8560_ads_pins); i++) {
  #else
  #define DBG(fmt, args...)
  #endif
-@@ -183,6 +184,18 @@
+@@ -183,6 +184,18 @@ static int __init mpc8544_ds_probe(void)
        }
  }
  
   */
 --- a/arch/powerpc/platforms/86xx/Kconfig
 +++ b/arch/powerpc/platforms/86xx/Kconfig
-@@ -11,6 +11,12 @@
+@@ -11,6 +11,12 @@ config MPC8641_HPCN
        help
          This option enables support for the MPC8641 HPCN board.
  
  config MPC8610_HPCD
        bool "Freescale MPC8610 HPCD"
        select DEFAULT_UIMAGE
-@@ -24,7 +30,7 @@
+@@ -24,7 +30,7 @@ config MPC8641
        select FSL_PCI if PCI
        select PPC_UDBG_16550
        select MPIC
  obj-$(CONFIG_MPC8610_HPCD)    += mpc8610_hpcd.o
 --- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
 +++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
-@@ -52,7 +52,7 @@
+@@ -52,7 +52,7 @@ static int __init mpc8610_declare_of_pla
  }
  machine_device_initcall(mpc86xx_hpcd, mpc8610_declare_of_platform_devices);
  
  mpc86xx_hpcd_init_irq(void)
  {
        struct mpic *mpic1;
-@@ -200,7 +200,7 @@
+@@ -200,7 +200,7 @@ static int __init mpc86xx_hpcd_probe(voi
        return 0;
  }
  
        unsigned int temp;
 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
 +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ static void mpc86xx_8259_cascade(unsigne
  }
  #endif        /* CONFIG_PCI */
  
  mpc86xx_hpcn_init_irq(void)
  {
        struct mpic *mpic1;
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ mpc86xx_hpcn_setup_arch(void)
  }
  
  
  mpc86xx_hpcn_show_cpuinfo(struct seq_file *m)
  {
        struct device_node *root;
-@@ -190,13 +190,19 @@
+@@ -190,13 +190,19 @@ static int __init mpc86xx_hpcn_probe(voi
  {
        unsigned long root = of_get_flat_dt_root();
  
 +};
 --- a/arch/powerpc/platforms/8xx/Kconfig
 +++ b/arch/powerpc/platforms/8xx/Kconfig
-@@ -18,7 +18,6 @@
+@@ -18,7 +18,6 @@ config MPC8XXFADS
  config MPC86XADS
        bool "MPC86XADS"
        select CPM1
        help
          MPC86x Application Development System by Freescale Semiconductor.
          The MPC86xADS is meant to serve as a platform for s/w and h/w
-@@ -27,7 +26,6 @@
+@@ -27,7 +26,6 @@ config MPC86XADS
  config MPC885ADS
        bool "MPC885ADS"
        select CPM1
        help
          Freescale Semiconductor MPC885 Application Development System (ADS).
          Also known as DUET.
-@@ -37,7 +35,6 @@
+@@ -37,7 +35,6 @@ config MPC885ADS
  config PPC_EP88XC
        bool "Embedded Planet EP88xC (a.k.a. CWH-PPC-885XN-VE)"
        select CPM1
        help
          This enables support for the Embedded Planet EP88xC board.
  
-@@ -47,7 +44,6 @@
+@@ -47,7 +44,6 @@ config PPC_EP88XC
  config PPC_ADDER875
        bool "Analogue & Micro Adder 875"
        select CPM1
          This enables support for the Analogue & Micro Adder 875
 --- a/arch/powerpc/platforms/8xx/m8xx_setup.c
 +++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
-@@ -111,17 +111,12 @@
+@@ -111,17 +111,12 @@ void __init mpc8xx_calibrate_decr(void)
  
        /* Processor frequency is MHz.
         */
        /* Perform some more timer/timebase initialization.  This used
 --- a/arch/powerpc/platforms/Kconfig
 +++ b/arch/powerpc/platforms/Kconfig
-@@ -290,13 +290,7 @@
+@@ -290,13 +290,7 @@ config CPM2
  config PPC_CPM_NEW_BINDING
        bool
        depends on CPM1 || CPM2
        tristate "Axon DDR2 memory device driver"
 --- a/arch/powerpc/platforms/Kconfig.cputype
 +++ b/arch/powerpc/platforms/Kconfig.cputype
-@@ -41,11 +41,13 @@
+@@ -41,11 +41,13 @@ config 40x
        bool "AMCC 40x"
        select PPC_DCR_NATIVE
        select PPC_UDBG_16550
  #include <asm/firmware.h>
  #include <asm/cell-regs.h>
  
-@@ -316,7 +316,7 @@
+@@ -316,7 +316,7 @@ static void cell_iommu_setup_stab(struct
        segments = max(dbase + dsize, fbase + fsize) >> IO_SEGMENT_SHIFT;
  
        pr_debug("%s: iommu[%d]: segments: %lu\n",
  
        /* set up the segment table */
        stab_size = segments * sizeof(unsigned long);
-@@ -343,7 +343,7 @@
+@@ -343,7 +343,7 @@ static unsigned long *cell_iommu_alloc_p
                                (1 << 12) / sizeof(unsigned long));
  
        ptab_size = segments * pages_per_segment * sizeof(unsigned long);
                        iommu->nid, ptab_size, get_order(ptab_size));
        page = alloc_pages_node(iommu->nid, GFP_KERNEL, get_order(ptab_size));
        BUG_ON(!page);
-@@ -355,7 +355,7 @@
+@@ -355,7 +355,7 @@ static unsigned long *cell_iommu_alloc_p
        n_pte_pages = (pages_per_segment * sizeof(unsigned long)) >> 12;
  
        pr_debug("%s: iommu[%d]: stab at %p, ptab at %p, n_pte_pages: %lu\n",
                        n_pte_pages);
  
        /* initialise the STEs */
-@@ -394,7 +394,7 @@
+@@ -394,7 +394,7 @@ static void cell_iommu_enable_hardware(s
  
        if (cell_iommu_find_ioc(iommu->nid, &xlate_base))
                panic("%s: missing IOC register mappings for node %d\n",
        iommu->cmd_regs = iommu->xlate_regs + IOC_IOCmd_Offset;
 --- a/arch/powerpc/platforms/cell/pervasive.c
 +++ b/arch/powerpc/platforms/cell/pervasive.c
-@@ -65,7 +65,7 @@
+@@ -65,7 +65,7 @@ static void cbe_power_save(void)
                break;
        default:
                printk(KERN_WARNING "%s: unknown configuration\n",
        mtspr(SPRN_TSC_CELL, thread_switch_control);
 --- a/arch/powerpc/platforms/cell/ras.c
 +++ b/arch/powerpc/platforms/cell/ras.c
-@@ -132,7 +132,7 @@
+@@ -132,7 +132,7 @@ static int __init cbe_ptcal_enable_on_no
                                (unsigned int)(addr >> 32),
                                (unsigned int)(addr & 0xffffffff))) {
                printk(KERN_ERR "%s: error enabling PTCAL on node %d!\n",
                goto out_free_pages;
        }
  
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ static int __init cbe_ptcal_enable(void)
        if (!size)
                return -ENODEV;
  
        order = get_order(*size);
        of_node_put(np);
  
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ static int __init cbe_ptcal_enable(void)
                const u32 *nid = of_get_property(np, "node-id", NULL);
                if (!nid) {
                        printk(KERN_ERR "%s: node %s is missing node-id?\n",
                        continue;
                }
                cbe_ptcal_enable_on_node(*nid, order);
-@@ -195,13 +195,13 @@
+@@ -195,13 +195,13 @@ static int cbe_ptcal_disable(void)
        struct ptcal_area *area, *tmp;
        int ret = 0;
  
                        continue;
 --- a/arch/powerpc/platforms/cell/spu_base.c
 +++ b/arch/powerpc/platforms/cell/spu_base.c
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ static int __spu_trap_data_seg(struct sp
        struct spu_slb slb;
        int psize;
  
  
        slb.esid = (ea & ESID_MASK) | SLB_ESID_V;
  
-@@ -215,7 +215,7 @@
+@@ -215,7 +215,7 @@ static int __spu_trap_data_seg(struct sp
  extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap); //XXX
  static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr)
  {
  
        /* Handle kernel space hash faults immediately.
           User hash faults need to be deferred to process context. */
-@@ -351,7 +351,7 @@
+@@ -351,7 +351,7 @@ spu_irq_class_1(int irq, void *data)
                __spu_trap_data_seg(spu, dar);
  
        spin_unlock(&spu->register_lock);
                        dar, dsisr);
  
        if (stat & CLASS1_STORAGE_FAULT_INTR)
-@@ -726,7 +726,7 @@
+@@ -726,7 +726,7 @@ static int __init init_spu_base(void)
  
        if (ret < 0) {
                printk(KERN_WARNING "%s: Error initializing spus\n",
  
 --- a/arch/powerpc/platforms/cell/spu_callbacks.c
 +++ b/arch/powerpc/platforms/cell/spu_callbacks.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ long spu_sys_callback(struct spu_syscall
        long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6);
  
        if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) {
  
 --- a/arch/powerpc/platforms/cell/spu_manage.c
 +++ b/arch/powerpc/platforms/cell/spu_manage.c
-@@ -92,7 +92,7 @@
+@@ -92,7 +92,7 @@ static int __init spu_map_interrupts_old
  
        tmp = of_get_property(np->parent->parent, "node-id", NULL);
        if (!tmp) {
                nid = spu->node;
        } else
                nid = tmp[0];
-@@ -296,7 +296,7 @@
+@@ -296,7 +296,7 @@ static int __init of_enumerate_spus(int 
                ret = fn(node);
                if (ret) {
                        printk(KERN_WARNING "%s: Error initializing %s\n",
                        break;
                }
                n++;
-@@ -327,7 +327,7 @@
+@@ -327,7 +327,7 @@ static int __init of_create_spu(struct s
                if (!legacy_map) {
                        legacy_map = 1;
                        printk(KERN_WARNING "%s: Legacy device tree found, "
                }
                ret = spu_map_device_old(spu);
                if (ret) {
-@@ -342,7 +342,7 @@
+@@ -342,7 +342,7 @@ static int __init of_create_spu(struct s
                if (!legacy_irq) {
                        legacy_irq = 1;
                        printk(KERN_WARNING "%s: Legacy device tree found, "
                if (ret) {
 --- a/arch/powerpc/platforms/cell/spufs/coredump.c
 +++ b/arch/powerpc/platforms/cell/spufs/coredump.c
-@@ -133,8 +133,6 @@
+@@ -133,8 +133,6 @@ static struct spu_context *coredump_next
                if (ctx->flags & SPU_CREATE_NOSCHED)
                        continue;
  
                break;
        }
  
-@@ -157,6 +155,9 @@
+@@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void
                        break;
  
                size += rc;
        }
  
        return size;
-@@ -239,6 +240,9 @@
+@@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(str
                }
  
                spu_release_saved(ctx);
        return 0;
 --- a/arch/powerpc/platforms/cell/spufs/file.c
 +++ b/arch/powerpc/platforms/cell/spufs/file.c
-@@ -1337,7 +1337,7 @@
+@@ -1337,7 +1337,7 @@ static u64 spufs_signal1_type_get(struct
        return ctx->ops->signal1_type_get(ctx);
  }
  DEFINE_SPUFS_ATTRIBUTE(spufs_signal1_type, spufs_signal1_type_get,
  
  
  static int spufs_signal2_type_set(void *data, u64 val)
-@@ -1359,7 +1359,7 @@
+@@ -1359,7 +1359,7 @@ static u64 spufs_signal2_type_get(struct
        return ctx->ops->signal2_type_get(ctx);
  }
  DEFINE_SPUFS_ATTRIBUTE(spufs_signal2_type, spufs_signal2_type_get,
  
  #if SPUFS_MMAP_4K
  static unsigned long spufs_mss_mmap_nopfn(struct vm_area_struct *vma,
-@@ -1556,7 +1556,7 @@
+@@ -1556,7 +1556,7 @@ void spufs_mfc_callback(struct spu *spu)
  
        wake_up_all(&ctx->mfc_wq);
  
        if (ctx->mfc_fasync) {
                u32 free_elements, tagstatus;
                unsigned int mask;
-@@ -1790,7 +1790,7 @@
+@@ -1790,7 +1790,7 @@ static unsigned int spufs_mfc_poll(struc
        if (tagstatus & ctx->tagwait)
                mask |= POLLIN | POLLRDNORM;
  
        return mask;
 --- a/arch/powerpc/platforms/cell/spufs/run.c
 +++ b/arch/powerpc/platforms/cell/spufs/run.c
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ static int spu_setup_isolated(struct spu
                        != MFC_CNTL_PURGE_DMA_COMPLETE) {
                if (time_after(jiffies, timeout)) {
                        printk(KERN_ERR "%s: timeout flushing MFC DMA queue\n",
                        ret = -EIO;
                        goto out;
                }
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ static int spu_setup_isolated(struct spu
                                status_loading) {
                if (time_after(jiffies, timeout)) {
                        printk(KERN_ERR "%s: timeout waiting for loader\n",
                        ret = -EIO;
                        goto out_drop_priv;
                }
-@@ -134,7 +134,7 @@
+@@ -134,7 +134,7 @@ static int spu_setup_isolated(struct spu
        if (!(status & SPU_STATUS_RUNNING)) {
                /* If isolated LOAD has failed: run SPU, we will get a stop-and
                 * signal later. */
                ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_RUNNABLE);
                ret = -EACCES;
                goto out_drop_priv;
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ static int spu_setup_isolated(struct spu
  
        if (!(status & SPU_STATUS_ISOLATED_STATE)) {
                /* This isn't allowed by the CBEA, but check anyway */
                ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_STOP);
                ret = -EINVAL;
                goto out_drop_priv;
-@@ -282,7 +282,7 @@
+@@ -282,7 +282,7 @@ static int spu_handle_restartsys(struct 
                break;
        default:
                printk(KERN_WARNING "%s: unexpected return code %ld\n",
                ret = 0;
        }
        return ret;
-@@ -323,6 +323,10 @@
+@@ -323,6 +323,10 @@ static int spu_process_callback(struct s
                        return -EINTR;
        }
  
        ctx->ops->npc_write(ctx, npc);
 --- a/arch/powerpc/platforms/cell/spufs/switch.c
 +++ b/arch/powerpc/platforms/cell/spufs/switch.c
-@@ -1815,6 +1815,7 @@
+@@ -1815,6 +1815,7 @@ static void save_csa(struct spu_state *p
        save_mfc_csr_ato(prev, spu);    /* Step 24. */
        save_mfc_tclass_id(prev, spu);  /* Step 25. */
        set_mfc_tclass_id(prev, spu);   /* Step 26. */
        purge_mfc_queue(prev, spu);     /* Step 27. */
        wait_purge_complete(prev, spu); /* Step 28. */
        setup_mfc_sr1(prev, spu);       /* Step 30. */
-@@ -1831,7 +1832,6 @@
+@@ -1831,7 +1832,6 @@ static void save_csa(struct spu_state *p
        save_ppuint_mb(prev, spu);      /* Step 41. */
        save_ch_part1(prev, spu);       /* Step 42. */
        save_spu_mb(prev, spu);         /* Step 43. */
  
 --- a/arch/powerpc/platforms/celleb/beat.c
 +++ b/arch/powerpc/platforms/celleb/beat.c
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ void beat_power_off(void)
  }
  
  u64 beat_halt_code = 0x1000000000000000UL;
  
  void beat_halt(void)
  {
-@@ -94,9 +95,8 @@
+@@ -94,9 +95,8 @@ ssize_t beat_nvram_read(char *buf, size_
                len = count;
                if (len > BEAT_NVRW_CNT)
                        len = BEAT_NVRW_CNT;
  
                p += len;
                i += len;
-@@ -121,9 +121,8 @@
+@@ -121,9 +121,8 @@ ssize_t beat_nvram_write(char *buf, size
                len = count;
                if (len > BEAT_NVRW_CNT)
                        len = BEAT_NVRW_CNT;
  
                p += len;
                i += len;
-@@ -149,13 +148,14 @@
+@@ -149,13 +148,14 @@ int64_t beat_get_term_char(u64 vterm, u6
        u64 db[2];
        s64 ret;
  
  
  int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2)
  {
-@@ -163,8 +163,9 @@
+@@ -163,8 +163,9 @@ int64_t beat_put_term_char(u64 vterm, u6
  
        db[0] = t1;
        db[1] = t2;
  
  void beat_power_save(void)
  {
-@@ -261,7 +262,3 @@
+@@ -261,7 +262,3 @@ static int __init beat_event_init(void)
  }
  
  device_initcall(beat_event_init);
  void beat_power_off(void);
 --- a/arch/powerpc/platforms/celleb/beat_wrapper.h
 +++ b/arch/powerpc/platforms/celleb/beat_wrapper.h
-@@ -197,7 +197,8 @@
+@@ -197,7 +197,8 @@ static inline s64 beat_put_characters_to
        u64 b[2];
  
        memcpy(b, buffer, len);
  #endif
  
  static DEFINE_SPINLOCK(beat_htab_lock);
-@@ -116,7 +116,8 @@
+@@ -116,7 +116,8 @@ static long beat_lpar_hpte_insert(unsign
                hpte_r &= ~_PAGE_COHERENT;
  
        spin_lock(&beat_htab_lock);
                spin_unlock(&beat_htab_lock);
 --- a/arch/powerpc/platforms/celleb/interrupt.c
 +++ b/arch/powerpc/platforms/celleb/interrupt.c
-@@ -34,7 +34,7 @@
+@@ -34,7 +34,7 @@ static DEFINE_SPINLOCK(beatic_irq_mask_l
  static uint64_t       beatic_irq_mask_enable[(MAX_IRQS+255)/64];
  static uint64_t       beatic_irq_mask_ack[(MAX_IRQS+255)/64];
  
  
  /*
   * In this implementation, "virq" == "IRQ plug number",
-@@ -49,13 +49,13 @@
+@@ -49,13 +49,13 @@ static inline void beatic_update_irq_mas
  
        off = (irq_plug / 256) * 4;
        masks[0] = beatic_irq_mask_enable[off + 0]
        if (beat_set_interrupt_mask(irq_plug&~255UL,
                masks[0], masks[1], masks[2], masks[3]) != 0)
                panic("Failed to set mask IRQ!");
-@@ -96,7 +96,8 @@
+@@ -96,7 +96,8 @@ static void beatic_end_irq(unsigned int 
        s64 err;
        unsigned long flags;
  
                if ((err & 0xFFFFFFFF) != 0xFFFFFFF5) /* -11: wrong state */
                        panic("Failed to downcount IRQ! Error = %16lx", err);
  
-@@ -138,7 +139,8 @@
+@@ -138,7 +139,8 @@ static int beatic_pic_host_map(struct ir
        struct irq_desc *desc = get_irq_desc(virq);
        int64_t err;
  
                return -EIO;
  
        desc->status |= IRQ_LEVEL;
-@@ -202,22 +204,22 @@
+@@ -202,22 +204,22 @@ static inline unsigned int beatic_get_ir
                beat_detect_pending_interrupts(i, pending);
                __asm__ ("cntlzd %0,%1":"=r"(ub):
                        "r"(pending[0] & beatic_irq_mask_enable[i/64+0]
                if (ub != 64)
                        return i + ub + 192;
        }
-@@ -250,7 +252,7 @@
+@@ -250,7 +252,7 @@ void __init beatic_init_IRQ(void)
  
        /* Allocate an irq host */
        beatic_host = irq_alloc_host(NULL, IRQ_HOST_MAP_NOMAP, 0,
        irq_set_default_host(beatic_host);
 --- a/arch/powerpc/platforms/celleb/scc_epci.c
 +++ b/arch/powerpc/platforms/celleb/scc_epci.c
-@@ -161,9 +161,9 @@
+@@ -161,9 +161,9 @@ static PCI_IO_ADDR celleb_epci_make_conf
        if (bus != hose->bus)
                addr = celleb_epci_get_epci_cfg(hose) +
                       (((bus->number & 0xff) << 16)
        else
                addr = celleb_epci_get_epci_cfg(hose) +
                       (((devfn & 0xff) << 8) | (where & 0xff));
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ static PCI_IO_ADDR celleb_epci_make_conf
  }
  
  static int celleb_epci_read_config(struct pci_bus *bus,
  
  static struct {
        uint32_t offset;
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init txx9_serial_config(cha
        int     i;
  
        for (;;) {
                case 2:
 --- a/arch/powerpc/platforms/celleb/spu_priv1.c
 +++ b/arch/powerpc/platforms/celleb/spu_priv1.c
-@@ -183,8 +183,7 @@
+@@ -183,8 +183,7 @@ static u64 resource_allocation_enable_ge
        return enable;
  }
  
        .int_mask_set = int_mask_set,
 --- a/arch/powerpc/platforms/celleb/udbg_beat.c
 +++ b/arch/powerpc/platforms/celleb/udbg_beat.c
-@@ -54,7 +54,8 @@
+@@ -54,7 +54,8 @@ static int udbg_getc_poll_beat(void)
        if (inbuflen == 0) {
                /* get some more chars. */
                inbuflen = 0;
                if (rc != 0)
                        inbuflen = 0;   /* otherwise inbuflen is garbage */
        }
-@@ -78,7 +79,7 @@
+@@ -78,7 +79,7 @@ static int udbg_getc_beat(void)
                if (ch == -1) {
                        /* This shouldn't be needed...but... */
                        volatile unsigned long delay;
                        return ch;
 --- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
 +++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
-@@ -117,11 +117,11 @@
+@@ -117,11 +117,11 @@ static void __init mpc7448_hpc2_init_IRQ
        }
  
        if (mpic_paddr == 0) {
            (u32) mpic_paddr);
  
        mpic = mpic_alloc(tsi_pic, mpic_paddr,
-@@ -140,17 +140,17 @@
+@@ -140,17 +140,17 @@ static void __init mpc7448_hpc2_init_IRQ
  #ifdef CONFIG_PCI
        tsi_pci = of_find_node_by_type(NULL, "pci");
        if (tsi_pci == NULL) {
        set_irq_data(cascade_pci_irq, mpic);
 --- a/arch/powerpc/platforms/embedded6xx/prpmc2800.c
 +++ b/arch/powerpc/platforms/embedded6xx/prpmc2800.c
-@@ -49,13 +49,13 @@
+@@ -49,13 +49,13 @@ static void __init prpmc2800_setup_arch(
         * ioremap mpp and gpp registers in case they are later
         * needed by prpmc2800_reset_board().
         */
        b       .__start_initialization_iSeries /* Start up the first processor */
 --- a/arch/powerpc/platforms/iseries/ipl_parms.h
 +++ b/arch/powerpc/platforms/iseries/ipl_parms.h
-@@ -65,6 +65,4 @@
+@@ -65,6 +65,4 @@ struct ItIplParmsReal {
        u64     xRsvd13;                // Reserved                     x38-x3F
  };
  
        .xDesc = 0xc8a5d9c4,    /* "HvRD" ebcdic */
        .xSize = sizeof(struct HvReleaseData),
        .xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
-@@ -61,6 +61,63 @@
+@@ -61,6 +61,63 @@ struct naca_struct naca = {
        .xRamDiskSize = 0,
  };
  
  extern void system_reset_iSeries(void);
  extern void machine_check_iSeries(void);
  extern void data_access_iSeries(void);
-@@ -129,7 +186,7 @@
+@@ -129,7 +186,7 @@ struct ItLpNaca itLpNaca = {
  };
  
  /* May be filled in by the hypervisor so cannot end up in the BSS */
  
  /* May be filled in by the hypervisor so cannot end up in the BSS */
  struct ItExtVpdPanel xItExtVpdPanel __attribute__((__section__(".data")));
-@@ -152,13 +209,54 @@
+@@ -152,13 +209,54 @@ u64    xMsVpd[3400] __attribute__((__sec
  
  /* Space for Recovery Log Buffer */
  /* May be filled in by the hypervisor so cannot end up in the BSS */
  /* The LparMap data is now located at offset 0x6000 in head.S
   * It was put there so that the HvReleaseData could address it
   * with a 32-bit offset as required by the iSeries hypervisor
-@@ -167,7 +265,7 @@
+@@ -167,7 +265,7 @@ struct SpCommArea xSpCommArea = {
   * the Naca via the HvReleaseData area.  The HvReleaseData has the
   * offset into the Naca of the pointer to the ItVpdAreas.
   */
        .xSlicDesc = 0xc9a3e5c1,                /* "ItVA" */
        .xSlicSize = sizeof(struct ItVpdAreas),
        .xSlicVpdEntries = ItVpdMaxEntries,     /* # VPD array entries */
-@@ -185,7 +283,7 @@
+@@ -185,7 +283,7 @@ struct ItVpdAreas itVpdAreas = {
        .xSlicVpdLens = {                       /* VPD lengths */
                0,0,0,                  /*  0 - 2 */
                sizeof(xItExtVpdPanel), /*       3 Extended VPD   */
                0,                      /*       5 */
                sizeof(struct ItIplParmsReal),/* 6 length of IPL parms */
                26992,                  /*       7 length of MS VPD */
-@@ -203,7 +301,7 @@
+@@ -203,7 +301,7 @@ struct ItVpdAreas itVpdAreas = {
        .xSlicVpdAdrs = {                       /* VPD addresses */
                0,0,0,                  /*       0 -  2 */
                &xItExtVpdPanel,        /*       3 Extended VPD */
                0,                      /*       5 */
                &xItIplParmsReal,       /*       6 IPL parms */
                &xMsVpd,                /*       7 MS Vpd */
-@@ -219,10 +317,3 @@
+@@ -219,10 +317,3 @@ struct ItVpdAreas itVpdAreas = {
                0,0
        }
  };
  #include <linux/kernel.h>
  #include <linux/list.h>
  #include <linux/string.h>
-@@ -586,7 +587,7 @@
+@@ -586,7 +587,7 @@ static inline struct device_node *xlate_
                static unsigned long last_jiffies;
                static int num_printed;
  
                }
 --- a/arch/powerpc/platforms/iseries/release_data.h
 +++ b/arch/powerpc/platforms/iseries/release_data.h
-@@ -58,6 +58,6 @@
+@@ -58,6 +58,6 @@ struct HvReleaseData {
        char    xRsvd3[20];     /* Reserved                     x2C-x3F */
  };
  
  #endif /* _ISERIES_RELEASE_DATA_H */
 --- a/arch/powerpc/platforms/iseries/spcomm_area.h
 +++ b/arch/powerpc/platforms/iseries/spcomm_area.h
-@@ -31,6 +31,4 @@
+@@ -31,6 +31,4 @@ struct SpCommArea {
        u8      xRsvd2[80];             // Reserved                             030-07F
  };
  
  #endif /* _ISERIES_SPCOMM_AREA_H */
 --- a/arch/powerpc/platforms/iseries/vpd_areas.h
 +++ b/arch/powerpc/platforms/iseries/vpd_areas.h
-@@ -80,9 +80,9 @@
+@@ -80,9 +80,9 @@ struct ItVpdAreas {
        u32     xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths   080-0A7
        u32     xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens    0A8-0CF
        u32     xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths   0D0-12F
  #endif /* _ISERIES_VPD_AREAS_H */
 --- a/arch/powerpc/platforms/maple/pci.c
 +++ b/arch/powerpc/platforms/maple/pci.c
-@@ -592,50 +592,3 @@
+@@ -592,50 +592,3 @@ int maple_pci_get_legacy_ide_irq(struct 
        }
        return irq;
  }
  #include <asm/mpic.h>
  #include <asm/rtas.h>
  #include <asm/udbg.h>
-@@ -319,7 +319,7 @@
+@@ -319,7 +319,7 @@ static int __init maple_probe(void)
        return 1;
  }
  
  
  static struct pasdma_status *dma_status;
  
-@@ -43,6 +46,8 @@
+@@ -43,6 +46,8 @@ static struct pci_dev *dma_pdev;
  
  static DECLARE_BITMAP(txch_free, MAX_TXCH);
  static DECLARE_BITMAP(rxch_free, MAX_RXCH);
  
  /* pasemi_read_iob_reg - read IOB register
   * @reg: Register to read (offset into PCI CFG space)
-@@ -373,6 +378,106 @@
+@@ -373,6 +378,106 @@ void pasemi_dma_free_buf(struct pasemi_d
  }
  EXPORT_SYMBOL(pasemi_dma_free_buf);
  
  static void *map_onedev(struct pci_dev *p, int index)
  {
        struct device_node *dn;
-@@ -410,6 +515,7 @@
+@@ -410,6 +515,7 @@ int pasemi_dma_init(void)
        struct resource res;
        struct device_node *dn;
        int i, intf, err = 0;
        u32 tmp;
  
        if (!machine_is(pasemi))
-@@ -478,6 +584,44 @@
+@@ -478,6 +584,44 @@ int pasemi_dma_init(void)
        for (i = 0; i < MAX_RXCH; i++)
                __set_bit(i, rxch_free);
  
  static u32 iob_l1_emptyval;
  static u32 iob_l2_emptyval;
  static u32 *iob_l2_base;
-@@ -219,7 +218,7 @@
+@@ -219,7 +218,7 @@ int __init iob_init(struct device_node *
        for (i = 0; i < 64; i++) {
                /* Each L1 covers 32MB, i.e. 8K entries = 32K of ram */
                regword = IOBMAP_L1E_V | (__pa(iob_l2_base + i*0x2000) >> 12);
  #include "pmac.h"
 --- a/arch/powerpc/platforms/ps3/device-init.c
 +++ b/arch/powerpc/platforms/ps3/device-init.c
-@@ -499,41 +499,14 @@
+@@ -499,41 +499,14 @@ static int __init ps3_register_graphics_
  }
  
  /**
        case PS3_DEV_TYPE_STOR_DISK:
                result = ps3_setup_storage_dev(repo, PS3_MATCH_ID_STOR_DISK);
  
-@@ -572,6 +545,48 @@
+@@ -572,6 +545,48 @@ static int ps3_register_repository_devic
        return result;
  }
  
  static void ps3_find_and_add_device(u64 bus_id, u64 dev_id)
  {
        struct ps3_repository_device repo;
-@@ -601,7 +616,7 @@
+@@ -601,7 +616,7 @@ found:
                pr_debug("%s:%u: device %lu:%lu found after %u retries\n",
                         __func__, __LINE__, bus_id, dev_id, retries);
  
        return;
  }
  
-@@ -905,8 +920,7 @@
+@@ -905,8 +920,7 @@ static int __init ps3_register_devices(v
  
        ps3_register_graphics_devices();
  
  #include <asm/ps3fb.h>
 --- a/arch/powerpc/platforms/ps3/interrupt.c
 +++ b/arch/powerpc/platforms/ps3/interrupt.c
-@@ -709,7 +709,7 @@
+@@ -709,7 +709,7 @@ static unsigned int ps3_get_irq(void)
        asm volatile("cntlzd %0,%1" : "=r" (plug) : "r" (x));
        plug &= 0x3f;
  
  
 --- a/arch/powerpc/platforms/ps3/setup.c
 +++ b/arch/powerpc/platforms/ps3/setup.c
-@@ -95,6 +95,14 @@
+@@ -95,6 +95,14 @@ static void ps3_power_off(void)
        ps3_sys_manager_power_off(); /* never returns */
  }
  
  static void ps3_panic(char *str)
  {
        DBG("%s:%d %s\n", __func__, __LINE__, str);
-@@ -105,7 +113,8 @@
+@@ -105,7 +113,8 @@ static void ps3_panic(char *str)
        printk("   Please press POWER button.\n");
        printk("\n");
  
  }
  
  #if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \
-@@ -117,7 +126,7 @@
+@@ -117,7 +126,7 @@ static void __init prealloc(struct ps3_p
  
        p->address = __alloc_bootmem(p->size, p->align, __pa(MAX_DMA_ADDRESS));
        if (!p->address) {
                       p->name);
                return;
        }
-@@ -266,6 +275,7 @@
+@@ -266,6 +275,7 @@ define_machine(ps3) {
        .progress                       = ps3_progress,
        .restart                        = ps3_restart,
        .power_off                      = ps3_power_off,
  
  #include "../cell/spufs/spufs.h"
  #include "platform.h"
-@@ -140,6 +141,12 @@
+@@ -140,6 +141,12 @@ static void _dump_areas(unsigned int spe
        pr_debug("%s:%d: shadow:  %lxh\n", func, line, shadow);
  }
  
        unsigned long id;
 --- a/arch/powerpc/platforms/pseries/Makefile
 +++ b/arch/powerpc/platforms/pseries/Makefile
-@@ -18,3 +18,4 @@
+@@ -18,3 +18,4 @@ obj-$(CONFIG_HOTPLUG_CPU)    += hotplug-cpu
  obj-$(CONFIG_HVC_CONSOLE)     += hvconsole.o
  obj-$(CONFIG_HVCS)            += hvcserver.o
  obj-$(CONFIG_HCALL_STATS)     += hvCall_inst.o
 +obj-$(CONFIG_PHYP_DUMP)       += phyp_dump.o
 --- a/arch/powerpc/platforms/pseries/eeh.c
 +++ b/arch/powerpc/platforms/pseries/eeh.c
-@@ -945,7 +945,6 @@
+@@ -945,7 +945,6 @@ static void *early_enable_eeh(struct dev
        unsigned int rets[3];
        struct eeh_early_enable_info *info = data;
        int ret;
        const u32 *class_code = of_get_property(dn, "class-code", NULL);
        const u32 *vendor_id = of_get_property(dn, "vendor-id", NULL);
        const u32 *device_id = of_get_property(dn, "device-id", NULL);
-@@ -959,8 +958,8 @@
+@@ -959,8 +958,8 @@ static void *early_enable_eeh(struct dev
        pdn->eeh_freeze_count = 0;
        pdn->eeh_false_positives = 0;
  
  
  #ifdef DEBUG_LOW
  #define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0)
-@@ -203,7 +204,6 @@
+@@ -203,7 +204,6 @@ void __init find_udbg_vterm(void)
        struct device_node *stdout_node;
        const u32 *termno;
        const char *name;
  
        /* find the boot console from /chosen/stdout */
        if (!of_chosen)
-@@ -219,8 +219,6 @@
+@@ -219,8 +219,6 @@ void __init find_udbg_vterm(void)
                printk(KERN_WARNING "stdout node missing 'name' property!\n");
                goto out;
        }
  
        /* Check if it's a virtual terminal */
        if (strncmp(name, "vty", 3) != 0)
-@@ -234,15 +232,13 @@
+@@ -234,15 +232,13 @@ void __init find_udbg_vterm(void)
                udbg_putc = udbg_putcLP;
                udbg_getc = udbg_getcLP;
                udbg_getc_poll = udbg_getc_pollLP;
        }
  out:
        of_node_put(stdout_node);
-@@ -520,6 +516,20 @@
+@@ -520,6 +516,20 @@ static void pSeries_lpar_hpte_invalidate
        BUG_ON(lpar_rc != H_SUCCESS);
  }
  
  /* Flag bits for H_BULK_REMOVE */
  #define HBR_REQUEST   0x4000000000000000UL
  #define HBR_RESPONSE  0x8000000000000000UL
-@@ -597,6 +607,7 @@
+@@ -597,6 +607,7 @@ void __init hpte_init_lpar(void)
        ppc_md.hpte_updateboltedpp = pSeries_lpar_hpte_updateboltedpp;
        ppc_md.hpte_insert      = pSeries_lpar_hpte_insert;
        ppc_md.hpte_remove      = pSeries_lpar_hpte_remove;
  }
 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c
 +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ pcibios_pci_config_bridge(struct pci_dev
        /* Add to children of PCI bridge dev->bus */
        child_bus = pci_add_new_bus(dev->bus, dev, sec_busno);
        if (!child_bus) {
 +early_param("phyp_dump_reserve_size", early_phyp_dump_reserve_size);
 --- a/arch/powerpc/platforms/pseries/pseries.h
 +++ b/arch/powerpc/platforms/pseries/pseries.h
-@@ -38,4 +38,6 @@
+@@ -38,4 +38,6 @@ extern void pSeries_final_fixup(void);
  /* Poweron flag used for enabling auto ups restart */
  extern unsigned long rtas_poweron_auto;
  
  #endif /* _PSERIES_PSERIES_H */
 --- a/arch/powerpc/platforms/pseries/reconfig.c
 +++ b/arch/powerpc/platforms/pseries/reconfig.c
-@@ -222,14 +222,14 @@
+@@ -222,14 +222,14 @@ static char * parse_next_property(char *
        tmp = strchr(buf, ' ');
        if (!tmp) {
                printk(KERN_ERR "property parse failed in %s at line %d\n",
                return NULL;
        }
  
-@@ -238,12 +238,12 @@
+@@ -238,12 +238,12 @@ static char * parse_next_property(char *
        *length = simple_strtoul(tmp, &tmp, 10);
        if (*length == -1) {
                printk(KERN_ERR "property parse failed in %s at line %d\n",
                return NULL;
        }
  
-@@ -252,12 +252,12 @@
+@@ -252,12 +252,12 @@ static char * parse_next_property(char *
        tmp += *length;
        if (tmp > end) {
                printk(KERN_ERR "property parse failed in %s at line %d\n",
        tmp++;
 --- a/arch/powerpc/platforms/pseries/scanlog.c
 +++ b/arch/powerpc/platforms/pseries/scanlog.c
-@@ -195,31 +195,30 @@
+@@ -195,31 +195,30 @@ const struct file_operations scanlog_fop
  static int __init scanlog_init(void)
  {
        struct proc_dir_entry *ent;
  int fwnmi_active;  /* TRUE if an FWNMI handler is present */
  
  static void pseries_shared_idle_sleep(void);
-@@ -127,14 +124,60 @@
+@@ -127,14 +124,60 @@ void pseries_8259_cascade(unsigned int i
        desc->chip->eoi(irq);
  }
  
        int naddr, n, i, opplen;
        struct mpic *mpic;
  
-@@ -167,43 +210,13 @@
+@@ -167,43 +210,13 @@ static void __init pseries_mpic_init_IRQ
        mpic_init(mpic);
  
        /* Look for cascade */
  }
  
  static void pseries_lpar_enable_pmcs(void)
-@@ -235,7 +248,7 @@
+@@ -235,7 +248,7 @@ static void __init pseries_discover_pic(
                        smp_init_pseries_mpic();
                        return;
                } else if (strstr(typep, "ppc-xicp")) {
                        setup_kexec_cpu_down_xics();
                        smp_init_pseries_xics();
                        return;
-@@ -393,6 +406,7 @@
+@@ -393,6 +406,7 @@ static void pseries_dedicated_idle_sleep
  { 
        unsigned int cpu = smp_processor_id();
        unsigned long start_snooze;
  
        /*
         * Indicate to the HV that we are idle. Now would be
-@@ -400,6 +414,7 @@
+@@ -400,6 +414,7 @@ static void pseries_dedicated_idle_sleep
         */
        get_lppaca()->idle = 1;
        get_lppaca()->donate_dedicated_cpu = 1;
  
        /*
         * We come in with interrupts disabled, and need_resched()
-@@ -432,6 +447,8 @@
+@@ -432,6 +447,8 @@ static void pseries_dedicated_idle_sleep
  
  out:
        HMT_medium();
  }
 --- a/arch/powerpc/platforms/pseries/xics.c
 +++ b/arch/powerpc/platforms/pseries/xics.c
-@@ -516,6 +516,8 @@
+@@ -516,6 +516,8 @@ static struct irq_chip xics_pic_lpar = {
        .set_affinity = xics_set_affinity
  };
  
  
  static int xics_host_match(struct irq_host *h, struct device_node *node)
  {
-@@ -526,23 +528,13 @@
+@@ -526,23 +528,13 @@ static int xics_host_match(struct irq_ho
        return !of_device_is_compatible(node, "chrp,iic");
  }
  
        return 0;
  }
  
-@@ -561,27 +553,20 @@
+@@ -561,27 +553,20 @@ static int xics_host_xlate(struct irq_ho
        return 0;
  }
  
                                   XICS_IRQ_SPURIOUS);
        BUG_ON(xics_host == NULL);
        irq_set_default_host(xics_host);
-@@ -655,52 +640,6 @@
+@@ -655,52 +640,6 @@ static void __init xics_init_one_node(st
        }
  }
  
  void __init xics_init_IRQ(void)
  {
        struct device_node *np;
-@@ -733,8 +672,6 @@
+@@ -733,8 +672,6 @@ void __init xics_init_IRQ(void)
  
        xics_setup_cpu();
  
  
 --- a/arch/powerpc/platforms/pseries/xics.h
 +++ b/arch/powerpc/platforms/pseries/xics.h
-@@ -28,7 +28,4 @@
+@@ -28,7 +28,4 @@ struct xics_ipi_struct {
  
  extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;
  
  #endif /* _POWERPC_KERNEL_XICS_H */
 --- a/arch/powerpc/sysdev/Makefile
 +++ b/arch/powerpc/sysdev/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_U3_DART)                += dart_iommu.o
  obj-$(CONFIG_MMIO_NVRAM)      += mmio_nvram.o
  obj-$(CONFIG_FSL_SOC)         += fsl_soc.o
  obj-$(CONFIG_FSL_PCI)         += fsl_pci.o
  obj-$(CONFIG_RAPIDIO)         += fsl_rio.o
  obj-$(CONFIG_TSI108_BRIDGE)   += tsi108_pci.o tsi108_dev.o
  obj-$(CONFIG_QUICC_ENGINE)    += qe_lib/
-@@ -27,6 +28,7 @@
+@@ -27,6 +28,7 @@ obj-$(CONFIG_PPC_INDIRECT_PCI)       += indire
  obj-$(CONFIG_PPC_I8259)               += i8259.o
  obj-$(CONFIG_IPIC)            += ipic.o
  obj-$(CONFIG_4xx)             += uic.o
  cpm8xx_t __iomem *cpmp;  /* Pointer to comm processor space */
  immap_t __iomem *mpc8xx_immr;
  static cpic8xx_t __iomem *cpic_reg;
-@@ -229,12 +226,7 @@
+@@ -229,12 +226,7 @@ void __init cpm_reset(void)
        out_be32(&siu_conf->sc_sdcr, 1);
        immr_unmap(siu_conf);
  
  }
  
  static DEFINE_SPINLOCK(cmd_lock);
-@@ -257,7 +249,7 @@
+@@ -257,7 +249,7 @@ int cpm_command(u32 command, u8 opcode)
                if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
                        goto out;
  
        ret = -EIO;
  out:
        spin_unlock_irqrestore(&cmd_lock, flags);
-@@ -293,110 +285,6 @@
+@@ -293,110 +285,6 @@ cpm_setbrg(uint brg, uint rate)
                              CPM_BRG_EN | CPM_BRG_DIV16);
  }
  
  cpm_cpm2_t __iomem *cpmp; /* Pointer to comm processor space */
  
  /* We allocate this here because it is used almost exclusively for
-@@ -71,15 +67,17 @@
+@@ -71,15 +67,17 @@ void __init cpm2_reset(void)
  
        /* Reclaim the DP memory for our use.
         */
  }
  
  static DEFINE_SPINLOCK(cmd_lock);
-@@ -99,7 +97,7 @@
+@@ -99,7 +97,7 @@ int cpm_command(u32 command, u8 opcode)
                if ((in_be32(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
                        goto out;
  
        ret = -EIO;
  out:
        spin_unlock_irqrestore(&cmd_lock, flags);
-@@ -347,95 +345,6 @@
+@@ -347,95 +345,6 @@ int cpm2_smc_clk_setup(enum cpm_clk_targ
        return ret;
  }
  
        u32 res[3];
 --- a/arch/powerpc/sysdev/cpm_common.c
 +++ b/arch/powerpc/sysdev/cpm_common.c
-@@ -58,7 +58,6 @@
+@@ -58,7 +58,6 @@ void __init udbg_init_cpm(void)
  }
  #endif
  
  static spinlock_t cpm_muram_lock;
  static rh_block_t cpm_boot_muram_rh_block[16];
  static rh_info_t cpm_muram_info;
-@@ -199,5 +198,3 @@
+@@ -199,5 +198,3 @@ dma_addr_t cpm_muram_dma(void __iomem *a
        return muram_pbase + ((u8 __iomem *)addr - muram_vbase);
  }
  EXPORT_SYMBOL(cpm_muram_dma);
 +EXPORT_SYMBOL(fsl_upm_find);
 --- a/arch/powerpc/sysdev/fsl_soc.c
 +++ b/arch/powerpc/sysdev/fsl_soc.c
-@@ -75,6 +75,33 @@
+@@ -75,6 +75,33 @@ phys_addr_t get_immrbase(void)
  
  EXPORT_SYMBOL(get_immrbase);
  
  #if defined(CONFIG_CPM2) || defined(CONFIG_QUICC_ENGINE) || defined(CONFIG_8xx)
  
  static u32 brgfreq = -1;
-@@ -516,9 +543,9 @@
+@@ -516,9 +543,9 @@ arch_initcall(fsl_i2c_of_init);
  static int __init mpc83xx_wdt_init(void)
  {
        struct resource r;
        int ret;
  
        np = of_find_compatible_node(NULL, "watchdog", "mpc83xx_wdt");
-@@ -528,19 +555,6 @@
+@@ -528,19 +555,6 @@ static int __init mpc83xx_wdt_init(void)
                goto nodev;
        }
  
        memset(&r, 0, sizeof(r));
  
        ret = of_address_to_resource(np, 0, &r);
-@@ -553,20 +567,16 @@
+@@ -553,20 +567,16 @@ static int __init mpc83xx_wdt_init(void)
                goto err;
        }
  
        of_node_put(np);
  nodev:
        return ret;
-@@ -735,547 +745,6 @@
+@@ -735,547 +745,6 @@ err:
  
  arch_initcall(fsl_usb_of_init);
  
  static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk,
                                   struct spi_board_info *board_infos,
                                   unsigned int num_board_infos,
-@@ -1371,25 +840,9 @@
+@@ -1371,25 +840,9 @@ int __init fsl_spi_init(struct spi_board
        sysclk = get_brgfreq();
  #endif
        if (sysclk == -1) {
  
 --- a/arch/powerpc/sysdev/mpic.c
 +++ b/arch/powerpc/sysdev/mpic.c
-@@ -175,13 +175,16 @@
+@@ -175,13 +175,16 @@ static inline void _mpic_write(enum mpic
        switch(type) {
  #ifdef CONFIG_PPC_DCR
        case mpic_access_dcr:
        }
  }
  
-@@ -1000,7 +1003,7 @@
+@@ -1000,7 +1003,7 @@ struct mpic * __init mpic_alloc(struct d
                                const char *name)
  {
        struct mpic     *mpic;
        const char      *vers;
        int             i;
        int             intvec_top;
-@@ -1064,7 +1067,8 @@
+@@ -1064,7 +1067,8 @@ struct mpic * __init mpic_alloc(struct d
  
        /* Look for protected sources */
        if (node) {
                const u32 *psrc =
                        of_get_property(node, "protected-sources", &psize);
                if (psrc) {
-@@ -1107,8 +1111,7 @@
+@@ -1107,8 +1111,7 @@ struct mpic * __init mpic_alloc(struct d
         * in, try to obtain one
         */
        if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) {
                BUG_ON(reg == NULL);
                paddr = of_translate_address(node, reg);
                BUG_ON(paddr == OF_BAD_ADDR);
-@@ -1137,12 +1140,13 @@
+@@ -1137,12 +1140,13 @@ struct mpic * __init mpic_alloc(struct d
         * MPICs, num sources as well. On ISU MPICs, sources are counted
         * as ISUs are added
         */
  
        /* Map the per-CPU registers */
        for (i = 0; i < mpic->num_cpus; i++) {
-@@ -1161,7 +1165,7 @@
+@@ -1161,7 +1165,7 @@ struct mpic * __init mpic_alloc(struct d
        mpic->isu_mask = (1 << mpic->isu_shift) - 1;
  
        /* Display version */
        case 1:
                vers = "1.0";
                break;
-@@ -1321,7 +1325,7 @@
+@@ -1321,7 +1325,7 @@ void __init mpic_set_serial_int(struct m
  
  void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
  {
        struct mpic *mpic = mpic_find(irq, &is_ipi);
        unsigned int src = mpic_irq_to_hw(irq);
        unsigned long flags;
-@@ -1344,7 +1348,7 @@
+@@ -1344,7 +1348,7 @@ void mpic_irq_set_priority(unsigned int 
  
  unsigned int mpic_irq_get_priority(unsigned int irq)
  {
        struct mpic *mpic = mpic_find(irq, &is_ipi);
        unsigned int src = mpic_irq_to_hw(irq);
        unsigned long flags;
-@@ -1406,11 +1410,6 @@
+@@ -1406,11 +1410,6 @@ void mpic_cpu_set_priority(int prio)
        mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), prio);
  }
  
  void mpic_teardown_this_cpu(int secondary)
  {
        struct mpic *mpic = mpic_primary;
-@@ -1430,6 +1429,10 @@
+@@ -1430,6 +1429,10 @@ void mpic_teardown_this_cpu(int secondar
  
        /* Set current processor priority to max */
        mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0xf);
  }
 --- a/arch/powerpc/sysdev/mv64x60_dev.c
 +++ b/arch/powerpc/sysdev/mv64x60_dev.c
-@@ -127,7 +127,7 @@
+@@ -127,7 +127,7 @@ static int __init mv64x60_mpsc_device_se
        if (err)
                return err;
  
        if (!prop)
                return -ENODEV;
        port_number = *(int *)prop;
-@@ -136,6 +136,7 @@
+@@ -136,6 +136,7 @@ static int __init mv64x60_mpsc_device_se
  
        pdata.cache_mgmt = 1; /* All current revs need this set */
  
        prop = of_get_property(np, "max_idle", NULL);
        if (prop)
                pdata.max_idle = *prop;
-@@ -205,30 +206,24 @@
+@@ -205,30 +206,24 @@ error:
  /*
   * Create mv64x60_eth platform devices
   */
  {
        struct resource r[1];
        struct mv643xx_eth_platform_data pdata;
-@@ -239,16 +234,12 @@
+@@ -239,16 +234,12 @@ static int __init mv64x60_eth_device_set
        const phandle *ph;
        int err;
  
        if (!prop)
                return -ENODEV;
        pdata.port_number = *prop;
-@@ -301,7 +292,7 @@
+@@ -301,7 +292,7 @@ static int __init mv64x60_eth_device_set
  
        of_node_put(phy);
  
        if (!pdev)
                return -ENOMEM;
  
-@@ -345,21 +336,19 @@
+@@ -345,21 +336,19 @@ static int __init mv64x60_i2c_device_set
  
        memset(&pdata, 0, sizeof(pdata));
  
  
        pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id);
        if (!pdev)
-@@ -401,10 +390,7 @@
+@@ -401,10 +390,7 @@ static int __init mv64x60_wdt_device_set
  
        memset(&pdata, 0, sizeof(pdata));
  
  
        np = of_get_parent(np);
        if (!np)
-@@ -441,27 +427,43 @@
+@@ -441,27 +427,43 @@ error:
  
  static int __init mv64x60_device_setup(void)
  {
        if (np) {
                if ((err = mv64x60_wdt_device_setup(np, id)))
                        goto error;
-@@ -489,10 +491,10 @@
+@@ -489,10 +491,10 @@ static int __init mv64x60_add_mpsc_conso
        if (!np)
                goto not_mpsc;
  
  
 --- a/arch/powerpc/sysdev/mv64x60_pci.c
 +++ b/arch/powerpc/sysdev/mv64x60_pci.c
-@@ -86,14 +86,14 @@
+@@ -86,14 +86,14 @@ static int __init mv64x60_sysfs_init(voi
        struct platform_device *pdev;
        const unsigned int *prop;
  
        if (IS_ERR(pdev))
                return PTR_ERR(pdev);
  
-@@ -166,6 +166,6 @@
+@@ -166,6 +166,6 @@ void __init mv64x60_pci_init(void)
  {
        struct device_node *np;
  
  }
 --- a/arch/powerpc/sysdev/mv64x60_pic.c
 +++ b/arch/powerpc/sysdev/mv64x60_pic.c
-@@ -238,13 +238,13 @@
+@@ -238,13 +238,13 @@ void __init mv64x60_init_irq(void)
        const unsigned int *reg;
        unsigned long flags;
  
        mv64x60_irq_reg_base = ioremap(paddr, reg[1]);
 --- a/arch/powerpc/sysdev/mv64x60_udbg.c
 +++ b/arch/powerpc/sysdev/mv64x60_udbg.c
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ static void mv64x60_udbg_init(void)
        if (!stdout)
                return;
  
        }
 --- a/arch/powerpc/sysdev/ppc4xx_pci.c
 +++ b/arch/powerpc/sysdev/ppc4xx_pci.c
-@@ -527,6 +527,7 @@
+@@ -527,6 +527,7 @@ static void __init ppc4xx_probe_pcix_bri
   *
   * ibm,plb-pciex-440spe
   * ibm,plb-pciex-405ex
   *
   * Anything else will be rejected for now as they are all subtly
   * different unfortunately.
-@@ -645,7 +646,7 @@
+@@ -645,7 +646,7 @@ static int __init ppc440spe_pciex_core_i
        int time_out = 20;
  
        /* Set PLL clock receiver to LVPECL */
  
        /* Shouldn't we do all the calibration stuff etc... here ? */
        if (ppc440spe_pciex_check_reset(np))
-@@ -659,8 +660,7 @@
+@@ -659,8 +660,7 @@ static int __init ppc440spe_pciex_core_i
        }
  
        /* De-assert reset of PCIe PLL, wait for lock */
        udelay(3);
  
        while (time_out) {
-@@ -712,9 +712,8 @@
+@@ -712,9 +712,8 @@ static int ppc440spe_pciex_init_port_hw(
                mtdcri(SDR0, port->sdr_base + PESDRn_440SPE_HSSL7SET1,
                       0x35000000);
        }
  
        return 0;
  }
-@@ -775,6 +774,115 @@
+@@ -775,6 +774,115 @@ static struct ppc4xx_pciex_hwops ppc440s
        .setup_utl      = ppc440speB_pciex_init_utl,
  };
  
  #endif /* CONFIG_44x */
  
  #ifdef CONFIG_40x
-@@ -830,17 +938,9 @@
+@@ -830,17 +938,9 @@ static int ppc405ex_pciex_init_port_hw(s
         * PCIe boards don't show this problem.
         * This has to be re-tested and fixed in a later release!
         */
  
        dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000);  /* guarded on */
  
-@@ -896,6 +996,8 @@
+@@ -896,6 +996,8 @@ static int __init ppc4xx_pciex_check_cor
                else
                        ppc4xx_pciex_hwops = &ppc440speB_pcie_hwops;
        }
  #endif /* CONFIG_44x    */
  #ifdef CONFIG_40x
        if (of_device_is_compatible(np, "ibm,plb-pciex-405ex"))
-@@ -1042,8 +1144,7 @@
+@@ -1042,8 +1144,7 @@ static int __init ppc4xx_pciex_port_init
                port->link = 0;
        }
  
 +}
 --- a/arch/powerpc/sysdev/qe_lib/qe.c
 +++ b/arch/powerpc/sysdev/qe_lib/qe.c
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ struct qe_snum {
  /* We allocate this here because it is used almost exclusively for
   * the communication processor devices.
   */
  EXPORT_SYMBOL(qe_immr);
  
  static struct qe_snum snums[QE_NUM_OF_SNUM];  /* Dynamically allocated SNUMs */
-@@ -156,7 +156,7 @@
+@@ -156,7 +156,7 @@ EXPORT_SYMBOL(qe_issue_cmd);
   */
  static unsigned int brg_clk = 0;
  
  {
        struct device_node *qe;
        unsigned int size;
-@@ -180,6 +180,7 @@
+@@ -180,6 +180,7 @@ unsigned int get_brg_clk(void)
  
        return brg_clk;
  }
  
  /* Program the BRG to the given sampling rate and multiplier
   *
-@@ -197,7 +198,7 @@
+@@ -197,7 +198,7 @@ int qe_setbrg(enum qe_clock brg, unsigne
        if ((brg < QE_BRG1) || (brg > QE_BRG16))
                return -EINVAL;
  
  
        if (divisor > QE_BRGC_DIVISOR_MAX + 1) {
                div16 = QE_BRGC_DIV16;
-@@ -415,12 +416,6 @@
+@@ -415,12 +416,6 @@ void qe_muram_dump(void)
  }
  EXPORT_SYMBOL(qe_muram_dump);
  
  #include <asm/prom.h>
  #include <sysdev/fsl_soc.h>
  
-@@ -41,7 +42,7 @@
+@@ -41,7 +42,7 @@ struct port_regs {
  #endif
  };
  
  static int num_par_io_ports = 0;
  
  int par_io_init(struct device_node *np)
-@@ -165,7 +166,7 @@
+@@ -165,7 +166,7 @@ int par_io_of_config(struct device_node 
        }
  
        ph = of_get_property(np, "pio-handle", NULL);
                printk(KERN_ERR "pio-handle not available \n");
                return -1;
        }
-@@ -200,7 +201,7 @@
+@@ -200,7 +201,7 @@ static void dump_par_io(void)
  {
        unsigned int i;
  
                        in_be32(&par_io[i].cpodr));
 --- a/arch/powerpc/sysdev/qe_lib/ucc_fast.c
 +++ b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
-@@ -148,57 +148,57 @@
+@@ -148,57 +148,57 @@ int ucc_fast_init(struct ucc_fast_info *
  
        /* check if the UCC port number is in range. */
        if ((uf_info->ucc_num < 0) || (uf_info->ucc_num > UCC_MAX_NUM - 1)) {
                return -ENOMEM;
        }
  
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ int ucc_fast_init(struct ucc_fast_info *
        /* Set the PHY base address */
        uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast));
        if (uccf->uf_regs == NULL) {
                return -ENOMEM;
        }
  
-@@ -230,7 +230,7 @@
+@@ -230,7 +230,7 @@ int ucc_fast_init(struct ucc_fast_info *
        /* Set UCC to fast type */
        ret = ucc_set_type(uf_info->ucc_num, UCC_SPEED_TYPE_FAST);
        if (ret) {
                ucc_fast_free(uccf);
                return ret;
        }
-@@ -270,7 +270,7 @@
+@@ -270,7 +270,7 @@ int ucc_fast_init(struct ucc_fast_info *
            qe_muram_alloc(uf_info->utfs, UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
        if (IS_ERR_VALUE(uccf->ucc_fast_tx_virtual_fifo_base_offset)) {
                printk(KERN_ERR "%s: cannot allocate MURAM for TX FIFO\n",
                uccf->ucc_fast_tx_virtual_fifo_base_offset = 0;
                ucc_fast_free(uccf);
                return -ENOMEM;
-@@ -283,7 +283,7 @@
+@@ -283,7 +283,7 @@ int ucc_fast_init(struct ucc_fast_info *
                           UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
        if (IS_ERR_VALUE(uccf->ucc_fast_rx_virtual_fifo_base_offset)) {
                printk(KERN_ERR "%s: cannot allocate MURAM for RX FIFO\n",
                uccf->ucc_fast_rx_virtual_fifo_base_offset = 0;
                ucc_fast_free(uccf);
                return -ENOMEM;
-@@ -314,7 +314,7 @@
+@@ -314,7 +314,7 @@ int ucc_fast_init(struct ucc_fast_info *
                    ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->rx_clock,
                                        COMM_DIR_RX)) {
                        printk(KERN_ERR "%s: illegal value for RX clock\n",
                        ucc_fast_free(uccf);
                        return -EINVAL;
                }
-@@ -323,7 +323,7 @@
+@@ -323,7 +323,7 @@ int ucc_fast_init(struct ucc_fast_info *
                    ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->tx_clock,
                                        COMM_DIR_TX)) {
                        printk(KERN_ERR "%s: illegal value for TX clock\n",
                }
 --- a/arch/powerpc/sysdev/qe_lib/ucc_slow.c
 +++ b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ int ucc_slow_init(struct ucc_slow_info *
  
        /* check if the UCC port number is in range. */
        if ((us_info->ucc_num < 0) || (us_info->ucc_num > UCC_MAX_NUM - 1)) {
                return -EINVAL;
        }
  
-@@ -161,7 +161,7 @@
+@@ -161,7 +161,7 @@ int ucc_slow_init(struct ucc_slow_info *
        uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL);
        if (!uccs) {
                printk(KERN_ERR "%s: Cannot allocate private data\n",
                return -ENOMEM;
        }
  
-@@ -170,7 +170,7 @@
+@@ -170,7 +170,7 @@ int ucc_slow_init(struct ucc_slow_info *
        /* Set the PHY base address */
        uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
        if (uccs->us_regs == NULL) {
                return -ENOMEM;
        }
  
-@@ -189,7 +189,7 @@
+@@ -189,7 +189,7 @@ int ucc_slow_init(struct ucc_slow_info *
        uccs->us_pram_offset =
                qe_muram_alloc(UCC_SLOW_PRAM_SIZE, ALIGNMENT_OF_UCC_SLOW_PRAM);
        if (IS_ERR_VALUE(uccs->us_pram_offset)) {
                ucc_slow_free(uccs);
                return -ENOMEM;
        }
-@@ -202,7 +202,7 @@
+@@ -202,7 +202,7 @@ int ucc_slow_init(struct ucc_slow_info *
        /* Set UCC to slow type */
        ret = ucc_set_type(us_info->ucc_num, UCC_SPEED_TYPE_SLOW);
        if (ret) {
                ucc_slow_free(uccs);
                return ret;
        }
-@@ -216,7 +216,7 @@
+@@ -216,7 +216,7 @@ int ucc_slow_init(struct ucc_slow_info *
                qe_muram_alloc(us_info->rx_bd_ring_len * sizeof(struct qe_bd),
                                QE_ALIGNMENT_OF_BD);
        if (IS_ERR_VALUE(uccs->rx_base_offset)) {
                        us_info->rx_bd_ring_len);
                uccs->rx_base_offset = 0;
                ucc_slow_free(uccs);
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ int ucc_slow_init(struct ucc_slow_info *
                qe_muram_alloc(us_info->tx_bd_ring_len * sizeof(struct qe_bd),
                        QE_ALIGNMENT_OF_BD);
        if (IS_ERR_VALUE(uccs->tx_base_offset)) {
                uccs->tx_base_offset = 0;
                ucc_slow_free(uccs);
                return -ENOMEM;
-@@ -317,7 +317,7 @@
+@@ -317,7 +317,7 @@ int ucc_slow_init(struct ucc_slow_info *
                if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->rx_clock,
                                        COMM_DIR_RX)) {
                        printk(KERN_ERR "%s: illegal value for RX clock\n",
                        ucc_slow_free(uccs);
                        return -EINVAL;
                }
-@@ -325,7 +325,7 @@
+@@ -325,7 +325,7 @@ int ucc_slow_init(struct ucc_slow_info *
                if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->tx_clock,
                                        COMM_DIR_TX)) {
                        printk(KERN_ERR "%s: illegal value for TX clock\n",
                }
 --- a/arch/powerpc/sysdev/rtc_cmos_setup.c
 +++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
-@@ -56,3 +56,5 @@
+@@ -56,3 +56,5 @@ static int  __init add_rtc(void)
        return 0;
  }
  fs_initcall(add_rtc);
 +MODULE_LICENSE("GPL");
 --- a/arch/powerpc/sysdev/tsi108_dev.c
 +++ b/arch/powerpc/sysdev/tsi108_dev.c
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init tsi108_eth_of_init(voi
  
                ret = of_address_to_resource(np, 0, &r[0]);
                DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
                if (ret)
                        goto err;
  
-@@ -93,7 +93,7 @@
+@@ -93,7 +93,7 @@ static int __init tsi108_eth_of_init(voi
                r[1].end = irq_of_parse_and_map(np, 0);
                r[1].flags = IORESOURCE_IRQ;
                DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
                    platform_device_register_simple("tsi-ethernet", i++, &r[0],
 --- a/arch/powerpc/sysdev/tsi108_pci.c
 +++ b/arch/powerpc/sysdev/tsi108_pci.c
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ int __init tsi108_setup_pci(struct devic
        /* PCI Config mapping */
        tsi108_pci_cfg_base = (u32)ioremap(cfg_phys, TSI108_PCI_CFG_SIZE);
        tsi108_pci_cfg_phys = cfg_phys;
            tsi108_pci_cfg_base);
  
        /* Fetch host bridge registers address */
-@@ -395,7 +395,7 @@
+@@ -395,7 +395,7 @@ static int pci_irq_host_xlate(struct irq
  static int pci_irq_host_map(struct irq_host *h, unsigned int virq,
                          irq_hw_number_t hw)
  {     unsigned int irq;
  #endif
  
  #include "nonstdio.h"
-@@ -1244,15 +1243,12 @@
+@@ -1244,15 +1243,12 @@ static void get_function_bounds(unsigned
  
  static int xmon_depth_to_print = 64;
  
  #define REGS_OFFSET           16
  #endif
  
-@@ -1318,7 +1314,7 @@
+@@ -1318,7 +1314,7 @@ static void xmon_show_stack(unsigned lon
                /* Look for "regshere" marker to see if this is
                   an exception frame. */
                if (mread(sp + MARKER_OFFSET, &marker, sizeof(unsigned long))
                        if (mread(sp + REGS_OFFSET, &regs, sizeof(regs))
                            != sizeof(regs)) {
                                printf("Couldn't read registers at %lx\n",
-@@ -1598,7 +1594,6 @@
+@@ -1598,7 +1594,6 @@ void super_regs(void)
                if (firmware_has_feature(FW_FEATURE_ISERIES)) {
                        struct paca_struct *ptrPaca;
                        struct lppaca *ptrLpPaca;
  
                        /* Dump out relevant Paca data areas. */
                        printf("Paca: \n");
-@@ -1611,15 +1606,6 @@
+@@ -1611,15 +1606,6 @@ void super_regs(void)
                        printf("    Saved Gpr3=%.16lx  Saved Gpr4=%.16lx \n",
                               ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4);
                        printf("    Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5);
  
 --- a/arch/ppc/8xx_io/fec.c
 +++ b/arch/ppc/8xx_io/fec.c
-@@ -520,7 +520,7 @@
+@@ -520,7 +520,7 @@ fec_enet_interrupt(int irq, void * dev_i
  #ifdef        CONFIG_USE_MDIO
                        fec_enet_mii(dev);
  #else
  #endif        /* CONFIG_USE_MDIO */
                }
  
-@@ -1441,7 +1441,7 @@
+@@ -1441,7 +1441,7 @@ irqreturn_t mii_link_interrupt(int irq, 
                fecp->fec_ecntrl = ecntrl;      /* restore old settings */
        }
  #else
  #ifndef CONFIG_RPXCLASSIC
 --- a/arch/ppc/kernel/head.S
 +++ b/arch/ppc/kernel/head.S
-@@ -701,23 +701,6 @@
+@@ -701,23 +701,6 @@ load_up_altivec:
        b       fast_exception_return
  
  /*
   * and save the AltiVec registers in its thread_struct.
 --- a/arch/ppc/mm/init.c
 +++ b/arch/ppc/mm/init.c
-@@ -109,7 +109,6 @@
+@@ -109,7 +109,6 @@ void show_mem(void)
  
        printk("Mem-info:\n");
        show_free_areas();
                total++;
 --- a/arch/ppc/platforms/radstone_ppc7d.c
 +++ b/arch/ppc/platforms/radstone_ppc7d.c
-@@ -512,7 +512,7 @@
+@@ -512,7 +512,7 @@ static void __init ppc7d_init_irq(void)
  {
        int irq;
  
        i8259_init(0, 0);
        mv64360_init_irq();
  
-@@ -569,7 +569,7 @@
+@@ -569,7 +569,7 @@ static int __init ppc7d_map_irq(struct p
        };
        const long min_idsel = 10, max_idsel = 14, irqs_per_slot = 4;
  
                 dev->vendor, dev->device, PCI_FUNC(dev->devfn), idsel, pin);
  
        return PCI_IRQ_TABLE_LOOKUP;
-@@ -1300,7 +1300,7 @@
+@@ -1300,7 +1300,7 @@ static void ppc7d_init2(void)
        u32 data;
        u8 data8;
  
  
        /* Wait for debugger? */
        if (ppc7d_wait_debugger) {
-@@ -1333,7 +1333,7 @@
+@@ -1333,7 +1333,7 @@ static void ppc7d_init2(void)
          ppc_md.set_rtc_time = ppc7d_set_rtc_time;
          ppc_md.get_rtc_time = ppc7d_get_rtc_time;
  
  /* Called from machine_init(), early, before any of the __init functions
 --- a/arch/ppc/syslib/mpc52xx_setup.c
 +++ b/arch/ppc/syslib/mpc52xx_setup.c
-@@ -279,7 +279,7 @@
+@@ -279,7 +279,7 @@ int mpc52xx_match_psc_function(int psc_i
  
  int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv)
  {
        u16 mclken_div;
 --- a/arch/sparc64/Kconfig
 +++ b/arch/sparc64/Kconfig
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ config SPARC64
        bool
        default y
        select HAVE_IDE
          Sun Microsystems, incorporated.  This port covers the newer 64-bit
 --- a/drivers/block/viodasd.c
 +++ b/drivers/block/viodasd.c
-@@ -69,7 +69,7 @@
+@@ -69,7 +69,7 @@ MODULE_LICENSE("GPL");
  enum {
        PARTITION_SHIFT = 3,
        MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS,
  static DEFINE_SPINLOCK(viodasd_spinlock);
 --- a/drivers/char/hvc_beat.c
 +++ b/drivers/char/hvc_beat.c
-@@ -78,8 +78,8 @@
+@@ -78,8 +78,8 @@ static int hvc_beat_put_chars(uint32_t v
        for (rest = cnt; rest > 0; rest -= nlen) {
                nlen = (rest > 16) ? 16 : rest;
                memcpy(kb, buf, nlen);
  }
  
  /**
-@@ -117,20 +117,8 @@
+@@ -117,20 +117,8 @@ static inline u32 buffer_icap_get_bram(v
   **/
  static inline bool buffer_icap_busy(void __iomem *base_address)
  {
  /* Loads a partial bitstream from system memory. */
  int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
                             u32 Size);
-@@ -54,4 +52,7 @@
+@@ -54,4 +52,7 @@ int buffer_icap_set_configuration(struct
  int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
                             u32 Size);
  
  
  #define XHI_WFO_MAX_VACANCY 1024 /* Max Write FIFO Vacancy, in words */
  #define XHI_RFO_MAX_OCCUPANCY 256 /* Max Read FIFO Occupancy, in words */
-@@ -152,13 +145,35 @@
+@@ -152,13 +145,35 @@ static inline void fifo_icap_start_readb
  }
  
  /**
  
 --- a/drivers/char/xilinx_hwicap/fifo_icap.h
 +++ b/drivers/char/xilinx_hwicap/fifo_icap.h
-@@ -56,6 +56,7 @@
+@@ -56,6 +56,7 @@ int fifo_icap_set_configuration(
                u32 *FrameBuffer,
                u32 NumWords);
  
  /* An array, which is set to true when the device is registered. */
  static bool probed_devices[HWICAP_DEVICES];
  static struct mutex icap_sem;
-@@ -250,8 +246,26 @@
+@@ -250,8 +246,26 @@ static int hwicap_get_configuration_regi
         * Create the data to be written to the ICAP.
         */
        buffer[index++] = XHI_DUMMY_PACKET;
        buffer[index++] = hwicap_type_1_read(reg) | 1;
        buffer[index++] = XHI_NOOP_PACKET;
        buffer[index++] = XHI_NOOP_PACKET;
-@@ -587,7 +601,7 @@
+@@ -587,7 +601,7 @@ static int __devinit hwicap_setup(struct
        probed_devices[id] = 1;
        mutex_unlock(&icap_sem);
  
  
        drvdata = kzalloc(sizeof(struct hwicap_drvdata), GFP_KERNEL);
        if (!drvdata) {
-@@ -664,12 +678,14 @@
+@@ -664,12 +678,14 @@ static int __devinit hwicap_setup(struct
  static struct hwicap_driver_config buffer_icap_config = {
        .get_configuration = buffer_icap_get_configuration,
        .set_configuration = buffer_icap_set_configuration,
        .reset = fifo_icap_reset,
  };
  
-@@ -690,7 +706,7 @@
+@@ -690,7 +706,7 @@ static int __devexit hwicap_remove(struc
        dev_set_drvdata(dev, NULL);
  
        mutex_lock(&icap_sem);
        mutex_unlock(&icap_sem);
        return 0;               /* success */
  }
-@@ -830,23 +846,12 @@
+@@ -830,23 +846,12 @@ static int __init hwicap_module_init(voi
        icap_class = class_create(THIS_MODULE, "xilinx_config");
        mutex_init(&icap_sem);
  
  
        retval = platform_driver_register(&hwicap_platform_driver);
  
-@@ -871,7 +876,7 @@
+@@ -871,7 +876,7 @@ static int __init hwicap_module_init(voi
  
  static void __exit hwicap_module_cleanup(void)
  {
  
 --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
 +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
-@@ -65,10 +65,27 @@
+@@ -65,10 +65,27 @@ struct hwicap_drvdata {
  };
  
  struct hwicap_driver_config {
        void (*reset)(struct hwicap_drvdata *drvdata);
  };
  
-@@ -163,6 +180,13 @@
+@@ -163,6 +180,13 @@ struct config_registers {
  /* Constant to use for CRC check when CRC has been disabled */
  #define XHI_DISABLED_AUTO_CRC       0x0000DEFCUL
  
  struct fsl_elbc_ctrl;
  
  /* mtd information per set */
-@@ -261,7 +66,7 @@
+@@ -261,7 +66,7 @@ struct fsl_elbc_ctrl {
  
        /* device info */
        struct device *dev;
        int irq;
        wait_queue_head_t irq_wait;
        unsigned int irq_status; /* status read from LTESR by irq handler */
-@@ -322,7 +127,7 @@
+@@ -322,7 +127,7 @@ static void set_addr(struct mtd_info *mt
        struct nand_chip *chip = mtd->priv;
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
        int buf_num;
  
        ctrl->page = page_addr;
-@@ -363,7 +168,7 @@
+@@ -363,7 +168,7 @@ static int fsl_elbc_run_command(struct m
        struct nand_chip *chip = mtd->priv;
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        /* Setup the FMR[OP] to execute without write protection */
        out_be32(&lbc->fmr, priv->fmr | 3);
-@@ -406,7 +211,7 @@
+@@ -406,7 +211,7 @@ static void fsl_elbc_do_read(struct nand
  {
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        if (priv->page_size) {
                out_be32(&lbc->fir,
-@@ -439,7 +244,7 @@
+@@ -439,7 +244,7 @@ static void fsl_elbc_cmdfunc(struct mtd_
        struct nand_chip *chip = mtd->priv;
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        ctrl->use_mdr = 0;
  
-@@ -775,7 +580,7 @@
+@@ -775,7 +580,7 @@ static int fsl_elbc_wait(struct mtd_info
  {
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        if (ctrl->status != LTESR_CC)
                return NAND_STATUS_FAIL;
-@@ -807,7 +612,7 @@
+@@ -807,7 +612,7 @@ static int fsl_elbc_chip_init_tail(struc
        struct nand_chip *chip = mtd->priv;
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
        unsigned int al;
  
        /* calculate FMR Address Length field */
-@@ -922,7 +727,7 @@
+@@ -922,7 +727,7 @@ static void fsl_elbc_write_page(struct m
  static int fsl_elbc_chip_init(struct fsl_elbc_mtd *priv)
  {
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
        struct nand_chip *chip = &priv->chip;
  
        dev_dbg(priv->dev, "eLBC Set Information for bank %d\n", priv->bank);
-@@ -986,7 +791,7 @@
+@@ -986,7 +791,7 @@ static int fsl_elbc_chip_remove(struct f
  static int fsl_elbc_chip_probe(struct fsl_elbc_ctrl *ctrl,
                                 struct device_node *node)
  {
        struct fsl_elbc_mtd *priv;
        struct resource res;
  #ifdef CONFIG_MTD_PARTITIONS
-@@ -1083,7 +888,7 @@
+@@ -1083,7 +888,7 @@ err:
  
  static int __devinit fsl_elbc_ctrl_init(struct fsl_elbc_ctrl *ctrl)
  {
  
        /* clear event registers */
        setbits32(&lbc->ltesr, LTESR_NAND_MASK);
-@@ -1128,7 +933,7 @@
+@@ -1128,7 +933,7 @@ static int __devexit fsl_elbc_ctrl_remov
  static irqreturn_t fsl_elbc_ctrl_irq(int irqno, void *data)
  {
        struct fsl_elbc_ctrl *ctrl = data;
        if (status) {
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -219,7 +219,8 @@
+@@ -219,7 +219,8 @@ obj-$(CONFIG_SMC911X) += smc911x.o
  obj-$(CONFIG_BFIN_MAC) += bfin_mac.o
  obj-$(CONFIG_DM9000) += dm9000.o
  obj-$(CONFIG_FEC_8XX) += fec_8xx/
  
 --- a/drivers/net/iseries_veth.c
 +++ b/drivers/net/iseries_veth.c
-@@ -308,7 +308,8 @@
+@@ -308,7 +308,8 @@ static void veth_complete_allocation(voi
  
  static int veth_allocate_events(HvLpIndex rlp, int number)
  {
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR ("Olof Johansson <olof@lixom.net>");
  MODULE_DESCRIPTION("PA Semi PWRficient Ethernet driver");
-@@ -94,6 +79,8 @@
+@@ -94,6 +79,8 @@ static int debug = -1;       /* -1 == use DEFA
  module_param(debug, int, 0);
  MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value");
  
  static int translation_enabled(void)
  {
  #if defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE)
-@@ -322,6 +309,104 @@
+@@ -322,6 +309,104 @@ static int pasemi_mac_unmap_tx_skb(struc
        return (nfrags + 3) & ~1;
  }
  
  static int pasemi_mac_setup_rx_resources(const struct net_device *dev)
  {
        struct pasemi_mac_rxring *ring;
-@@ -445,7 +530,7 @@
+@@ -445,7 +530,7 @@ pasemi_mac_setup_tx_resources(const stru
        cfg = PAS_DMA_TXCHAN_CFG_TY_IFACE |
              PAS_DMA_TXCHAN_CFG_TATTR(mac->dma_if) |
              PAS_DMA_TXCHAN_CFG_UP |
  
        if (translation_enabled())
                cfg |= PAS_DMA_TXCHAN_CFG_TRD | PAS_DMA_TXCHAN_CFG_TRR;
-@@ -810,13 +895,21 @@
+@@ -810,13 +895,21 @@ restart:
                u64 mactx = TX_DESC(txring, i);
                struct sk_buff *skb;
  
                if (unlikely(mactx & XCT_MACTX_O))
                        /* Not yet transmitted */
                        break;
-@@ -1041,13 +1134,7 @@
+@@ -1041,13 +1134,7 @@ static int pasemi_mac_open(struct net_de
  {
        struct pasemi_mac *mac = netdev_priv(dev);
        unsigned int flags;
  
        flags = PAS_MAC_CFG_TXP_FCE | PAS_MAC_CFG_TXP_FPC(3) |
                PAS_MAC_CFG_TXP_SL(3) | PAS_MAC_CFG_TXP_COB(0xf) |
-@@ -1064,6 +1151,19 @@
+@@ -1064,6 +1151,19 @@ static int pasemi_mac_open(struct net_de
        if (!mac->tx)
                goto out_tx_ring;
  
        /* 0x3ff with 33MHz clock is about 31us */
        write_iob_reg(PAS_IOB_DMA_COM_TIMEOUTCFG,
                      PAS_IOB_DMA_COM_TIMEOUTCFG_TCNT(0x3ff));
-@@ -1247,7 +1347,7 @@
+@@ -1247,7 +1347,7 @@ static int pasemi_mac_close(struct net_d
  {
        struct pasemi_mac *mac = netdev_priv(dev);
        unsigned int sta;
  
        rxch = rx_ring(mac)->chan.chno;
        txch = tx_ring(mac)->chan.chno;
-@@ -1292,6 +1392,13 @@
+@@ -1292,6 +1392,13 @@ static int pasemi_mac_close(struct net_d
        free_irq(mac->tx->chan.irq, mac->tx);
        free_irq(mac->rx->chan.irq, mac->rx);
  
        /* Free resources */
        pasemi_mac_free_rx_resources(mac);
        pasemi_mac_free_tx_resources(mac);
-@@ -1299,35 +1406,113 @@
+@@ -1299,35 +1406,113 @@ static int pasemi_mac_close(struct net_d
        return 0;
  }
  
  
        nfrags = skb_shinfo(skb)->nr_frags;
  
-@@ -1350,24 +1535,46 @@
+@@ -1350,24 +1535,46 @@ static int pasemi_mac_start_tx(struct sk
                }
        }
  
        TX_DESC(txring, fill) = mactx;
        TX_DESC_INFO(txring, fill).dma = nfrags;
        fill++;
-@@ -1441,12 +1648,33 @@
+@@ -1441,12 +1648,33 @@ static int pasemi_mac_poll(struct napi_s
        return pkts;
  }
  
  
        if (new_mtu < PE_MIN_MTU || new_mtu > PE_MAX_MTU)
                return -EINVAL;
-@@ -1468,6 +1696,16 @@
+@@ -1468,6 +1696,16 @@ static int pasemi_mac_change_mtu(struct 
                pasemi_mac_pause_rxint(mac);
                pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE);
                pasemi_mac_free_rx_buffers(mac);
        }
  
        /* Change maxf, i.e. what size frames are accepted.
-@@ -1482,6 +1720,7 @@
+@@ -1482,6 +1720,7 @@ static int pasemi_mac_change_mtu(struct 
        /* MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
        mac->bufsz = new_mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
  
        if (running) {
                write_dma_reg(PAS_DMA_RXINT_RCMDSTA(mac->dma_if),
                              rcmdsta | PAS_DMA_RXINT_RCMDSTA_EN);
-@@ -1494,7 +1733,7 @@
+@@ -1494,7 +1733,7 @@ static int pasemi_mac_change_mtu(struct 
                pasemi_mac_intf_enable(mac);
        }
  
  }
  
  static int __devinit
-@@ -1528,7 +1767,7 @@
+@@ -1528,7 +1767,7 @@ pasemi_mac_probe(struct pci_dev *pdev, c
        netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64);
  
        dev->features = NETIF_F_IP_CSUM | NETIF_F_LLTX | NETIF_F_SG |
  
        mac->lro_mgr.max_aggr = LRO_MAX_AGGR;
        mac->lro_mgr.max_desc = MAX_LRO_DESCRIPTORS;
-@@ -1588,8 +1827,12 @@
+@@ -1588,8 +1827,12 @@ pasemi_mac_probe(struct pci_dev *pdev, c
        dev->mtu = PE_DEF_MTU;
        /* 1500 MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
        mac->bufsz = dev->mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
  
  struct pasemi_mac_txring {
        struct pasemi_dmachan chan; /* Must be first */
-@@ -51,6 +58,15 @@
+@@ -51,6 +58,15 @@ struct pasemi_mac_rxring {
        struct pasemi_mac *mac; /* Needed in intr handler */
  };
  
  struct pasemi_mac {
        struct net_device *netdev;
        struct pci_dev *pdev;
-@@ -60,10 +76,12 @@
+@@ -60,10 +76,12 @@ struct pasemi_mac {
        struct napi_struct napi;
  
        int             bufsz; /* RX ring buffer size */
  
        u8              mac_addr[6];
  
-@@ -74,6 +92,7 @@
+@@ -74,6 +92,7 @@ struct pasemi_mac {
  
        struct pasemi_mac_txring *tx;
        struct pasemi_mac_rxring *rx;
        char            tx_irq_name[10];                /* "eth%d tx" */
        char            rx_irq_name[10];                /* "eth%d rx" */
        int     link;
-@@ -90,6 +109,16 @@
+@@ -90,6 +109,16 @@ struct pasemi_mac_buffer {
        dma_addr_t      dma;
  };
  
  
  /* PCI register offsets and formats */
  
-@@ -101,6 +130,7 @@
+@@ -101,6 +130,7 @@ enum {
        PAS_MAC_CFG_ADR0 = 0x8c,
        PAS_MAC_CFG_ADR1 = 0x90,
        PAS_MAC_CFG_TXP = 0x98,
        PAS_MAC_IPC_CHNL = 0x208,
  };
  
-@@ -172,6 +202,8 @@
+@@ -172,6 +202,8 @@ enum {
  #define PAS_MAC_CFG_TXP_TIFG(x)               (((x) << PAS_MAC_CFG_TXP_TIFG_S) & \
                                         PAS_MAC_CFG_TXP_TIFG_M)
  
  #define PAS_MAC_IPC_CHNL_DCHNO_M      0x003f0000
  #define PAS_MAC_IPC_CHNL_DCHNO_S      16
  #define PAS_MAC_IPC_CHNL_DCHNO(x)     (((x) << PAS_MAC_IPC_CHNL_DCHNO_S) & \
-@@ -181,4 +213,5 @@
+@@ -181,4 +213,5 @@ enum {
  #define PAS_MAC_IPC_CHNL_BCH(x)               (((x) << PAS_MAC_IPC_CHNL_BCH_S) & \
                                         PAS_MAC_IPC_CHNL_BCH_M)
  
 +
 --- a/drivers/net/ps3_gelic_net.c
 +++ b/drivers/net/ps3_gelic_net.c
-@@ -1266,6 +1266,85 @@
+@@ -1266,6 +1266,85 @@ int gelic_net_set_rx_csum(struct net_dev
        return 0;
  }
  
  static struct ethtool_ops gelic_ether_ethtool_ops = {
        .get_drvinfo    = gelic_net_get_drvinfo,
        .get_settings   = gelic_ether_get_settings,
-@@ -1274,6 +1353,8 @@
+@@ -1274,6 +1353,8 @@ static struct ethtool_ops gelic_ether_et
        .set_tx_csum    = ethtool_op_set_tx_csum,
        .get_rx_csum    = gelic_net_get_rx_csum,
        .set_rx_csum    = gelic_net_set_rx_csum,
  /**
 --- a/drivers/net/ps3_gelic_net.h
 +++ b/drivers/net/ps3_gelic_net.h
-@@ -182,12 +182,32 @@
+@@ -182,12 +182,32 @@ enum gelic_lv1_net_control_code {
        GELIC_LV1_GET_ETH_PORT_STATUS   = 2,
        GELIC_LV1_SET_NEGOTIATION_MODE  = 3,
        GELIC_LV1_GET_VLAN_ID           = 4,
        GELIC_LV1_ETHER_LINK_UP         = 0x0000000000000001L,
 --- a/drivers/net/ucc_geth.c
 +++ b/drivers/net/ucc_geth.c
-@@ -3853,7 +3853,13 @@
+@@ -3853,7 +3853,13 @@ static int ucc_geth_probe(struct of_devi
  
        ugeth_vdbg("%s: IN", __FUNCTION__);
  
                return -ENODEV;
 --- a/drivers/net/ucc_geth_mii.c
 +++ b/drivers/net/ucc_geth_mii.c
-@@ -203,9 +203,14 @@
+@@ -203,9 +203,14 @@ static int uec_mdio_probe(struct of_devi
                if ((res.start >= tempres.start) &&
                    (res.end <= tempres.end)) {
                        /* set this UCC to be the MII master */
 +obj-$(CONFIG_OF_I2C)  += i2c.o
 --- a/drivers/of/base.c
 +++ b/drivers/of/base.c
-@@ -117,6 +117,32 @@
+@@ -117,6 +117,32 @@ int of_device_is_compatible(const struct
  EXPORT_SYMBOL(of_device_is_compatible);
  
  /**
  #include <asm/ps3.h>
  
  #include "vuart.h"
-@@ -187,6 +188,7 @@
+@@ -187,6 +188,7 @@ enum ps3_sys_manager_next_op {
   * controller, and bluetooth controller.
   * @PS3_SM_WAKE_RTC:
   * @PS3_SM_WAKE_RTC_ERROR:
   * @PS3_SM_WAKE_P_O_R: Power on reset.
   *
   * Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN.
-@@ -200,10 +202,19 @@
+@@ -200,10 +202,19 @@ enum ps3_sys_manager_wake_source {
        PS3_SM_WAKE_DEFAULT   = 0,
        PS3_SM_WAKE_RTC       = 0x00000040,
        PS3_SM_WAKE_RTC_ERROR = 0x00000080,
   * enum ps3_sys_manager_cmd - Command from system manager to guest.
   *
   * The guest completes the actions needed, then acks or naks the command via
-@@ -581,6 +592,23 @@
+@@ -581,6 +592,23 @@ fail_id:
        return -EIO;
  }
  
  /**
   * ps3_sys_manager_final_power_off - The final platform machine_power_off routine.
   *
-@@ -601,13 +629,9 @@
+@@ -601,13 +629,9 @@ static void ps3_sys_manager_final_power_
        ps3_vuart_cancel_async(dev);
  
        ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_SHUTDOWN,
  }
  
  /**
-@@ -638,14 +662,42 @@
+@@ -638,14 +662,42 @@ static void ps3_sys_manager_final_restar
  
        ps3_sys_manager_send_attr(dev, 0);
        ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT,
  #include <asm/ps3.h>
  
  /**
-@@ -50,10 +51,7 @@
+@@ -50,10 +51,7 @@ void ps3_sys_manager_power_off(void)
        if (ps3_sys_manager_ops.power_off)
                ps3_sys_manager_ops.power_off(ps3_sys_manager_ops.dev);
  
  }
  
  void ps3_sys_manager_restart(void)
-@@ -61,8 +59,14 @@
+@@ -61,8 +59,14 @@ void ps3_sys_manager_restart(void)
        if (ps3_sys_manager_ops.restart)
                ps3_sys_manager_ops.restart(ps3_sys_manager_ops.dev);
  
 +
 --- a/drivers/serial/cpm_uart/cpm_uart.h
 +++ b/drivers/serial/cpm_uart/cpm_uart.h
-@@ -92,6 +92,9 @@
+@@ -92,6 +92,9 @@ extern struct uart_cpm_port cpm_uart_por
  
  /* these are located in their respective files */
  void cpm_line_cr_cmd(struct uart_cpm_port *port, int cmd);
  void cpm_uart_freebuf(struct uart_cpm_port *pinfo);
 --- a/drivers/serial/cpm_uart/cpm_uart_core.c
 +++ b/drivers/serial/cpm_uart/cpm_uart_core.c
-@@ -966,24 +966,23 @@
+@@ -966,24 +966,23 @@ static int cpm_uart_init_port(struct dev
        if (!mem)
                return -ENOMEM;
  
        }
  
        pinfo->tx_nrfifos = TX_NUM_FIFO;
-@@ -1007,7 +1006,7 @@
+@@ -1007,7 +1006,7 @@ static int cpm_uart_init_port(struct dev
        return cpm_uart_request_port(&pinfo->port);
  
  out_pram:
  #include "cpm_uart.h"
  
  /**************************************************************/
-@@ -54,6 +56,18 @@
+@@ -54,6 +56,18 @@ void cpm_line_cr_cmd(struct uart_cpm_por
  {
        cpm_command(port->command, cmd);
  }
  
  #include <linux/serial_core.h>
  #include <linux/kernel.h>
-@@ -54,6 +57,55 @@
+@@ -54,6 +57,55 @@ void cpm_line_cr_cmd(struct uart_cpm_por
  {
        cpm_command(port->command, cmd);
  }
  {
 --- a/drivers/serial/of_serial.c
 +++ b/drivers/serial/of_serial.c
-@@ -56,7 +56,9 @@
+@@ -56,7 +56,9 @@ static int __devinit of_platform_serial_
        port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
                | UPF_FIXED_PORT;
        port->dev = &ofdev->dev;
  }
 --- a/drivers/serial/ucc_uart.c
 +++ b/drivers/serial/ucc_uart.c
-@@ -1270,10 +1270,18 @@
+@@ -1270,10 +1270,18 @@ static int ucc_uart_probe(struct of_devi
  
        /* Get the UCC number (device ID) */
        /* UCCs are numbered 1-7 */
  header-y += auxvec.h
  header-y += ioctls.h
  header-y += mman.h
-@@ -23,7 +24,6 @@
+@@ -23,7 +24,6 @@ header-y += sigcontext.h
  header-y += statfs.h
  header-y += ps3fb.h
  
  struct mschunks_map {
 --- a/include/asm-powerpc/bitops.h
 +++ b/include/asm-powerpc/bitops.h
-@@ -312,24 +312,26 @@
+@@ -312,24 +312,26 @@ static __inline__ int fls(unsigned int x
        asm ("cntlzw %0,%1" : "=r" (lz) : "r" (x));
        return 32 - lz;
  }
        ((PG << 26) | (SBC << 21) | (MCN << 6) | OP)
 --- a/include/asm-powerpc/cputhreads.h
 +++ b/include/asm-powerpc/cputhreads.h
-@@ -35,7 +35,7 @@
+@@ -35,7 +35,7 @@ static inline cpumask_t cpu_thread_mask_
  
        res = CPU_MASK_NONE;
        for (i = 0; i < NR_CPUS; i += threads_per_core) {
        }
 --- a/include/asm-powerpc/dcr-native.h
 +++ b/include/asm-powerpc/dcr-native.h
-@@ -82,6 +82,19 @@
+@@ -82,6 +82,19 @@ static inline void __mtdcri(int base_add
        spin_unlock_irqrestore(&dcr_ind_lock, flags);
  }
  
  #define mfdcri(base, reg)     __mfdcri(DCRN_ ## base ## _CONFIG_ADDR, \
                                         DCRN_ ## base ## _CONFIG_DATA, \
                                         reg)
-@@ -90,6 +103,10 @@
+@@ -90,6 +103,10 @@ static inline void __mtdcri(int base_add
                                         DCRN_ ## base ## _CONFIG_DATA, \
                                         reg, data)
  
  #endif /* __DCR_REGS_H__ */
 --- a/include/asm-powerpc/exception.h
 +++ b/include/asm-powerpc/exception.h
-@@ -228,18 +228,18 @@
+@@ -228,18 +228,18 @@ label##_pSeries:                                                 \
  BEGIN_FW_FTR_SECTION;                         \
        stb     r11,PACAHARDIRQEN(r13);         \
  END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES); \
 +#endif /* __ASM_POWERPC_GPIO_H */
 --- a/include/asm-powerpc/hw_irq.h
 +++ b/include/asm-powerpc/hw_irq.h
-@@ -27,7 +27,7 @@
+@@ -27,7 +27,7 @@ static inline unsigned long local_get_fl
        return flags;
  }
  
  {
        unsigned long flags, zero;
  
-@@ -39,14 +39,15 @@
+@@ -39,14 +39,15 @@ static inline unsigned long local_irq_di
        return flags;
  }
  
  
  #define QE_IMMAP_SIZE (1024 * 1024)   /* 1MB from 1MB+IMMR */
  
-@@ -468,7 +469,7 @@
+@@ -468,7 +469,7 @@ struct qe_immap {
        u8                      res18[0xC0000]; /* 0x140000 - 0x200000 */
  } __attribute__ ((packed));
  
  #endif /* _ASM_POWERPC_LMB_H */
 --- a/include/asm-powerpc/machdep.h
 +++ b/include/asm-powerpc/machdep.h
-@@ -68,6 +68,8 @@
+@@ -68,6 +68,8 @@ struct machdep_calls {
                                       unsigned long vflags,
                                       int psize, int ssize);
        long            (*hpte_remove)(unsigned long hpte_group);
        void            (*flush_hash_range)(unsigned long number, int local);
  
        /* special for kexec, to be called in real mode, linar mapping is
-@@ -196,9 +198,6 @@
+@@ -196,9 +198,6 @@ struct machdep_calls {
           May be NULL. */
        void            (*init)(void);
  
        unsigned long vdso_base;
 --- a/include/asm-powerpc/mmu-hash32.h
 +++ b/include/asm-powerpc/mmu-hash32.h
-@@ -84,8 +84,6 @@
+@@ -84,8 +84,6 @@ typedef struct {
        unsigned long vdso_base;
  } mm_context_t;
  
  #endif /* _ASM_POWERPC_MMU_HASH32_H_ */
 --- a/include/asm-powerpc/mmu-hash64.h
 +++ b/include/asm-powerpc/mmu-hash64.h
-@@ -469,9 +469,6 @@
+@@ -469,9 +469,6 @@ static inline unsigned long get_vsid(uns
                                 VSID_MODULUS_256M)
  #define KERNEL_VSID(ea)               VSID_SCRAMBLE(GET_ESID(ea))
  
  #endif /* _ASM_POWERPC_MMU_HASH64_H_ */
 --- a/include/asm-powerpc/paca.h
 +++ b/include/asm-powerpc/paca.h
-@@ -42,10 +42,7 @@
+@@ -42,10 +42,7 @@ struct task_struct;
   * Defines the layout of the paca.
   *
   * This structure is not directly accessed by firmware or the service
   */
  struct paca_struct {
        /*
-@@ -55,14 +52,7 @@
+@@ -55,14 +52,7 @@ struct paca_struct {
         * avoid cacheline bouncing.
         */
  
   *
   * Hardware register layout and descriptor formats for the on-board
   * DMA engine on PA Semi PWRficient. Used by ethernet, function and security
-@@ -40,6 +40,11 @@
+@@ -40,6 +40,11 @@ enum {
        PAS_DMA_COM_TXSTA = 0x104,      /* Transmit Status Register   */
        PAS_DMA_COM_RXCMD = 0x108,      /* Receive Command Register   */
        PAS_DMA_COM_RXSTA = 0x10c,      /* Receive Status Register    */
  };
  
  
-@@ -123,11 +128,16 @@
+@@ -123,11 +128,16 @@ enum {
  #define    PAS_DMA_TXCHAN_TCMDSTA_DA  0x00000100
  #define PAS_DMA_TXCHAN_CFG(c)     (0x304+(c)*_PAS_DMA_TXCHAN_STRIDE)
  #define    PAS_DMA_TXCHAN_CFG_TY_IFACE        0x00000000      /* Type = interface */
  #define    PAS_DMA_TXCHAN_CFG_WT_S    6
  #define    PAS_DMA_TXCHAN_CFG_WT(x)   (((x) << PAS_DMA_TXCHAN_CFG_WT_S) & \
                                         PAS_DMA_TXCHAN_CFG_WT_M)
-@@ -394,11 +404,62 @@
+@@ -394,11 +404,62 @@ enum {
                                 XCT_COPY_LLEN_M)
  #define XCT_COPY_SE           0x0000000000000001ull
  
  #define CTRL_CMD_REG_S                0
  #define CTRL_CMD_REG(x)               ((((long)(x)) << CTRL_CMD_REG_S) & \
                                 CTRL_CMD_REG_M)
-@@ -461,6 +522,16 @@
+@@ -461,6 +522,16 @@ extern void *pasemi_dma_alloc_buf(struct
  extern void pasemi_dma_free_buf(struct pasemi_dmachan *chan, int size,
                                dma_addr_t *handle);
  
  
 --- a/include/asm-powerpc/pci-bridge.h
 +++ b/include/asm-powerpc/pci-bridge.h
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ struct pci_controller {
  
  #ifndef CONFIG_PPC64
  
  {
        return bus->sysdata;
  }
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ extern void pcibios_fixup_new_pci_device
  
  extern int pcibios_remove_root_bus(struct pci_controller *phb);
  
  
 --- a/include/asm-powerpc/pgtable-ppc32.h
 +++ b/include/asm-powerpc/pgtable-ppc32.h
-@@ -98,9 +98,6 @@
+@@ -98,9 +98,6 @@ extern int icache_44x_need_flush;
  #define USER_PTRS_PER_PGD     (TASK_SIZE / PGDIR_SIZE)
  #define FIRST_USER_ADDRESS    0
  
  #define pte_ERROR(e) \
        printk("%s:%d: bad pte %llx.\n", __FILE__, __LINE__, \
                (unsigned long long)pte_val(e))
-@@ -420,7 +417,8 @@
+@@ -420,7 +417,8 @@ extern int icache_44x_need_flush;
  #define _PAGE_IO      (_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED)
  #define _PAGE_RAM     (_PAGE_KERNEL | _PAGE_HWEXEC)
  
  /* We want the debuggers to be able to set breakpoints anywhere, so
   * don't write protect the kernel text */
  #define _PAGE_RAM_TEXT        _PAGE_RAM
-@@ -692,7 +690,7 @@
+@@ -692,7 +690,7 @@ extern pgprot_t phys_mem_access_prot(str
  #define pmd_page_vaddr(pmd)   \
        ((unsigned long) (pmd_val(pmd) & PAGE_MASK))
  #define pmd_page(pmd)         \
 +#endif /* __ASM_POWERPC_PPC4xx_H__ */
 --- a/include/asm-powerpc/ps3.h
 +++ b/include/asm-powerpc/ps3.h
-@@ -434,8 +434,11 @@
+@@ -434,8 +434,11 @@ struct ps3_sys_manager_ops {
  };
  
  void ps3_sys_manager_register_ops(const struct ps3_sys_manager_ops *ops);
      const char *name;
 --- a/include/asm-powerpc/ptrace.h
 +++ b/include/asm-powerpc/ptrace.h
-@@ -58,6 +58,11 @@
+@@ -58,6 +58,11 @@ struct pt_regs {
  #define __ARCH_WANT_COMPAT_SYS_PTRACE
  
  #define STACK_FRAME_OVERHEAD  112     /* size of minimum stack frame */
  
  /* Size of dummy stack frame allocated when calling signal handler. */
  #define __SIGNAL_FRAMESIZE    128
-@@ -66,6 +71,10 @@
+@@ -66,6 +71,10 @@ struct pt_regs {
  #else /* __powerpc64__ */
  
  #define STACK_FRAME_OVERHEAD  16      /* size of minimum stack frame */
  #define __SIGNAL_FRAMESIZE    64
 --- a/include/asm-powerpc/qe.h
 +++ b/include/asm-powerpc/qe.h
-@@ -85,6 +85,7 @@
+@@ -85,6 +85,7 @@ extern int par_io_data_set(u8 port, u8 p
  /* QE internal API */
  int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input);
  enum qe_clock qe_clock_source(const char *source);
  int qe_setbrg(enum qe_clock brg, unsigned int rate, unsigned int multiplier);
  int qe_get_snum(void);
  void qe_put_snum(u8 snum);
-@@ -92,7 +93,16 @@
+@@ -92,7 +93,16 @@ unsigned long qe_muram_alloc(int size, i
  int qe_muram_free(unsigned long offset);
  unsigned long qe_muram_alloc_fixed(unsigned long offset, int size);
  void qe_muram_dump(void);
   *
 --- a/include/asm-powerpc/rwsem.h
 +++ b/include/asm-powerpc/rwsem.h
-@@ -32,11 +32,20 @@
+@@ -32,11 +32,20 @@ struct rw_semaphore {
  #define RWSEM_ACTIVE_WRITE_BIAS               (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
        spinlock_t              wait_lock;
        struct list_head        wait_list;
  
  #define DECLARE_RWSEM(name)           \
        struct rw_semaphore name = __RWSEM_INITIALIZER(name)
-@@ -46,12 +55,15 @@
+@@ -46,12 +55,15 @@ extern struct rw_semaphore *rwsem_down_w
  extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
  extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
  
  
  /*
   * lock for reading
-@@ -78,7 +90,7 @@
+@@ -78,7 +90,7 @@ static inline int __down_read_trylock(st
  /*
   * lock for writing
   */
  {
        int tmp;
  
-@@ -88,6 +100,11 @@
+@@ -88,6 +100,11 @@ static inline void __down_write(struct r
                rwsem_down_write_failed(sem);
  }
  
  #define __HAVE_ARCH_STRCAT
  #define __HAVE_ARCH_MEMSET
  #define __HAVE_ARCH_MEMCPY
-@@ -18,6 +19,7 @@
+@@ -18,6 +19,7 @@ extern char * strcpy(char *,const char *
  extern char * strncpy(char *,const char *, __kernel_size_t);
  extern __kernel_size_t strlen(const char *);
  extern int strcmp(const char *,const char *);
  extern void * memcpy(void *,const void *,__kernel_size_t);
 --- a/include/asm-powerpc/types.h
 +++ b/include/asm-powerpc/types.h
-@@ -84,6 +84,13 @@
+@@ -84,6 +84,13 @@ typedef unsigned long long u64;
  
  typedef __vector128 vector128;
  
 +#endif /* _LINUX_LMB_H */
 --- a/include/linux/of.h
 +++ b/include/linux/of.h
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ extern struct property *of_find_property
                                         int *lenp);
  extern int of_device_is_compatible(const struct device_node *device,
                                   const char *);
 +#endif /* __LINUX_OF_I2C_H */
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -141,4 +141,7 @@
+@@ -141,4 +141,7 @@ config HAS_DMA
  config CHECK_SIGNATURE
        bool
  
  endmenu
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -70,6 +70,8 @@
+@@ -70,6 +70,8 @@ obj-$(CONFIG_FAULT_INJECTION) += fault-i
  
  lib-$(CONFIG_GENERIC_BUG) += bug.o
  
index e91ff5e..395495a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
-@@ -58,6 +58,7 @@
+@@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv
     drivers depend on it.
  */
  
@@ -8,7 +8,7 @@
  static int debug;
  static struct usb_serial *serial_table[SERIAL_TTY_MINORS];    /* initially all NULL */
  static DEFINE_MUTEX(table_lock);
-@@ -903,7 +904,7 @@
+@@ -903,7 +904,7 @@ int usb_serial_probe(struct usb_interfac
                        dev_err(&interface->dev, "No free urbs available\n");
                        goto probe_error;
                }
@@ -17,7 +17,7 @@
                port->bulk_in_size = buffer_size;
                port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
                port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
-@@ -1315,3 +1316,5 @@
+@@ -1315,3 +1316,5 @@ MODULE_LICENSE("GPL");
  
  module_param(debug, bool, S_IRUGO | S_IWUSR);
  MODULE_PARM_DESC(debug, "Debug enabled or not");
index 1289129..d1d162b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/init/main.c
 +++ b/init/main.c
-@@ -775,7 +775,7 @@
+@@ -775,7 +775,7 @@ static int noinline init_post(void)
        numa_default_policy();
  
        if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
index 2d4eafd..20bf1ef 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/erase.c
 +++ b/fs/jffs2/erase.c
-@@ -35,6 +35,8 @@
+@@ -35,6 +35,8 @@ static void jffs2_erase_block(struct jff
  {
        int ret;
        uint32_t bad_offset;
@@ -9,7 +9,7 @@
  #ifdef __ECOS
         ret = jffs2_flash_erase(c, jeb);
         if (!ret) {
-@@ -47,6 +49,11 @@
+@@ -47,6 +49,11 @@ static void jffs2_erase_block(struct jff
  
        D1(printk(KERN_DEBUG "jffs2_erase_block(): erase block %#08x (range %#08x-%#08x)\n",
                                jeb->offset, jeb->offset, jeb->offset + c->sector_size));
index b15fd56..cd5d686 100644 (file)
@@ -11,7 +11,7 @@
  #include <linux/types.h>
  
  #ifdef __KERNEL__
-@@ -232,4 +236,6 @@
+@@ -232,4 +236,6 @@ struct itimerval {
   */
  #define TIMER_ABSTIME                 0x01
  
@@ -35,7 +35,7 @@
  #ifdef        __KERNEL__
  
  #define DECLARE_BITMAP(name,bits) \
-@@ -161,6 +169,8 @@
+@@ -161,6 +169,8 @@ typedef unsigned long blkcnt_t;
  
  #endif /* __KERNEL_STRICT_NAMES */
  
index 36b4d25..45a3f27 100644 (file)
@@ -62,7 +62,7 @@
  
 --- a/scripts/kconfig/Makefile
 +++ b/scripts/kconfig/Makefile
-@@ -93,6 +93,9 @@
+@@ -93,6 +93,9 @@ check-lxdialog  := $(srctree)/$(src)/lxd
  # we really need to do so. (Do not call gcc as part of make mrproper)
  HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
  HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
index 81e1083..c0bbf2c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/hostap/hostap_ap.c
 +++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2397,13 +2397,13 @@
+@@ -2397,13 +2397,13 @@ int prism2_ap_get_sta_qual(local_info_t 
                addr[count].sa_family = ARPHRD_ETHER;
                memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
                if (sta->last_rx_silence == 0)
@@ -20,7 +20,7 @@
                qual[count].updated = sta->last_rx_updated;
  
                sta->last_rx_updated = IW_QUAL_DBM;
-@@ -2468,13 +2468,13 @@
+@@ -2468,13 +2468,13 @@ int prism2_ap_translate_scan(struct net_
                memset(&iwe, 0, sizeof(iwe));
                iwe.cmd = IWEVQUAL;
                if (sta->last_rx_silence == 0)
@@ -54,7 +54,7 @@
  #endif /* HOSTAP_CONFIG_H */
 --- a/drivers/net/wireless/hostap/hostap.h
 +++ b/drivers/net/wireless/hostap/hostap.h
-@@ -89,6 +89,7 @@
+@@ -89,6 +89,7 @@ extern const struct iw_handler_def hosta
  extern const struct ethtool_ops prism2_ethtool_ops;
  
  int hostap_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
@@ -64,7 +64,7 @@
  #endif /* HOSTAP_H */
 --- a/drivers/net/wireless/hostap/hostap_hw.c
 +++ b/drivers/net/wireless/hostap/hostap_hw.c
-@@ -933,6 +933,7 @@
+@@ -933,6 +933,7 @@ static int hfa384x_set_rid(struct net_de
                        prism2_hw_reset(dev);
        }
  
@@ -74,7 +74,7 @@
  
 --- a/drivers/net/wireless/hostap/hostap_info.c
 +++ b/drivers/net/wireless/hostap/hostap_info.c
-@@ -434,6 +434,11 @@
+@@ -434,6 +434,11 @@ static void handle_info_queue_linkstatus
        }
  
        /* Get BSSID if we have a valid AP address */
@@ -88,7 +88,7 @@
                netif_carrier_on(local->ddev);
 --- a/drivers/net/wireless/hostap/hostap_ioctl.c
 +++ b/drivers/net/wireless/hostap/hostap_ioctl.c
-@@ -1500,23 +1500,20 @@
+@@ -1500,23 +1500,20 @@ static int prism2_txpower_hfa386x_to_dBm
                val = 255;
  
        tmp = val;
  
        return (unsigned char) tmp;
  }
-@@ -4076,3 +4073,35 @@
+@@ -4076,3 +4073,35 @@ int hostap_ioctl(struct net_device *dev,
  
        return ret;
  }
index c0c01c0..7fe248d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/stddef.h
 +++ b/include/linux/stddef.h
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ enum {
        false   = 0,
        true    = 1
  };
@@ -8,7 +8,7 @@
  
  #undef offsetof
  #ifdef __compiler_offsetof
-@@ -23,6 +24,5 @@
+@@ -23,6 +24,5 @@ enum {
  #else
  #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
  #endif
index 401b151..8fc9381 100644 (file)
@@ -1,6 +1,6 @@
 --- a/scripts/gen_initramfs_list.sh
 +++ b/scripts/gen_initramfs_list.sh
-@@ -125,7 +125,7 @@
+@@ -125,7 +125,7 @@ parse() {
                        str="${ftype} ${name} ${location} ${str}"
                        ;;
                "nod")
@@ -9,7 +9,7 @@
                        local maj=`field 5 ${dev}`
                        local min=`field 6 ${dev}`
                        maj=${maj%,}
-@@ -135,7 +135,7 @@
+@@ -135,7 +135,7 @@ parse() {
                        str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
                        ;;
                "slink")
index 355cfb2..2972514 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -627,12 +627,10 @@
+@@ -627,12 +627,10 @@ static int __devinit m25p_probe(struct s
                struct mtd_partition    *parts = NULL;
                int                     nr_parts = 0;
  
index 760d27a..a804828 100644 (file)
@@ -1,7 +1,5 @@
-Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/include/linux/spi/spi_gpio.h       2008-10-18 23:32:31.000000000 +0200
+--- /dev/null
++++ b/include/linux/spi/spi_gpio.h
 @@ -0,0 +1,72 @@
 +/*
 + * spi_gpio interface to platform code
@@ -75,10 +73,8 @@ Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h
 +int spi_gpio_next_id(void);
 +
 +#endif /* _LINUX_SPI_SPI_GPIO */
-Index: linux-2.6.25.17/drivers/spi/spi_gpio.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/drivers/spi/spi_gpio.c     2008-10-18 23:31:27.000000000 +0200
+--- /dev/null
++++ b/drivers/spi/spi_gpio.c
 @@ -0,0 +1,249 @@
 +/*
 + * Bitbanging SPI bus driver using GPIO API
@@ -329,10 +325,8 @@ Index: linux-2.6.25.17/drivers/spi/spi_gpio.c
 +MODULE_AUTHOR("Piot Skamruk <piotr.skamruk at gmail.com>");
 +MODULE_DESCRIPTION("Platform independent GPIO bitbanging SPI driver");
 +MODULE_LICENSE("GPL v2");
-Index: linux-2.6.25.17/drivers/spi/Kconfig
-===================================================================
---- linux-2.6.25.17.orig/drivers/spi/Kconfig   2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/spi/Kconfig        2008-10-18 23:30:43.000000000 +0200
+--- a/drivers/spi/Kconfig
++++ b/drivers/spi/Kconfig
 @@ -100,6 +100,19 @@ config SPI_BUTTERFLY
          inexpensive battery powered microcontroller evaluation board.
          This same cable can be used to flash new firmware.
@@ -353,10 +347,8 @@ Index: linux-2.6.25.17/drivers/spi/Kconfig
  config SPI_IMX
        tristate "Freescale iMX SPI controller"
        depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
-Index: linux-2.6.25.17/drivers/spi/Makefile
-===================================================================
---- linux-2.6.25.17.orig/drivers/spi/Makefile  2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/spi/Makefile       2008-10-18 23:30:43.000000000 +0200
+--- a/drivers/spi/Makefile
++++ b/drivers/spi/Makefile
 @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN)                       += spi_bfin5xx.
  obj-$(CONFIG_SPI_BITBANG)             += spi_bitbang.o
  obj-$(CONFIG_SPI_AU1550)              += au1550_spi.o
index 58c2144..b775a0e 100644 (file)
@@ -1,7 +1,5 @@
-Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c 2008-10-18 23:33:54.000000000 +0200
+--- /dev/null
++++ b/drivers/mmc/host/gpiommc.c
 @@ -0,0 +1,605 @@
 +/*
 + * Driver an MMC/SD card on a bitbanging GPIO SPI bus.
@@ -608,10 +606,8 @@ Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c
 +      platform_driver_unregister(&gpiommc_plat_driver);
 +}
 +module_exit(gpiommc_modexit);
-Index: linux-2.6.25.17/drivers/mmc/host/Kconfig
-===================================================================
---- linux-2.6.25.17.orig/drivers/mmc/host/Kconfig      2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/mmc/host/Kconfig   2008-10-18 23:32:54.000000000 +0200
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
 @@ -130,3 +130,27 @@ config MMC_SPI
  
          If unsure, or if your system has no SPI master driver, say N.
@@ -640,20 +636,16 @@ Index: linux-2.6.25.17/drivers/mmc/host/Kconfig
 +      help
 +        This option automatically enables configfs support for gpiommc
 +        if configfs is available.
-Index: linux-2.6.25.17/drivers/mmc/host/Makefile
-===================================================================
---- linux-2.6.25.17.orig/drivers/mmc/host/Makefile     2008-10-18 23:30:41.000000000 +0200
-+++ linux-2.6.25.17/drivers/mmc/host/Makefile  2008-10-18 23:32:54.000000000 +0200
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
 @@ -17,4 +17,4 @@ obj-$(CONFIG_MMC_OMAP)               += omap.o
  obj-$(CONFIG_MMC_AT91)                += at91_mci.o
  obj-$(CONFIG_MMC_TIFM_SD)     += tifm_sd.o
  obj-$(CONFIG_MMC_SPI)         += mmc_spi.o
 -
 +obj-$(CONFIG_GPIOMMC)         += gpiommc.o
-Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/include/linux/mmc/gpiommc.h        2008-10-18 23:34:21.000000000 +0200
+--- /dev/null
++++ b/include/linux/mmc/gpiommc.h
 @@ -0,0 +1,69 @@
 +/*
 + * Device driver for MMC/SD cards driven over a GPIO bus.
@@ -724,10 +716,8 @@ Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h
 +int gpiommc_next_id(void);
 +
 +#endif /* LINUX_GPIOMMC_H_ */
-Index: linux-2.6.25.17/Documentation/gpiommc.txt
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.17/Documentation/gpiommc.txt  2008-10-18 23:32:54.000000000 +0200
+--- /dev/null
++++ b/Documentation/gpiommc.txt
 @@ -0,0 +1,97 @@
 +GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus
 +================================================================
index e68d4ab..c84f62b 100644 (file)
@@ -1,10 +1,8 @@
 The gpiommc configfs context structure needs locking, as configfs
 does not lock access between files.
 
-Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c
-===================================================================
---- linux-2.6.25.17.orig/drivers/mmc/host/gpiommc.c    2008-10-18 23:33:54.000000000 +0200
-+++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c 2008-10-18 23:34:33.000000000 +0200
+--- a/drivers/mmc/host/gpiommc.c
++++ b/drivers/mmc/host/gpiommc.c
 @@ -140,6 +140,8 @@ struct gpiommc_configfs_device {
        struct platform_device *pdev;
        /* The configuration */
index 5b3755e..25abf82 100644 (file)
@@ -32,7 +32,7 @@ and didn't make it with the ppc32 equivalent. Thanks.
 ---
 --- a/include/asm-ppc/io.h
 +++ b/include/asm-ppc/io.h
-@@ -413,11 +413,21 @@
+@@ -413,11 +413,21 @@ static inline unsigned int ioread16(void
        return readw(addr);
  }
  
@@ -54,7 +54,7 @@ and didn't make it with the ppc32 equivalent. Thanks.
  static inline void iowrite8(u8 val, void __iomem *addr)
  {
        writeb(val, addr);
-@@ -428,11 +438,21 @@
+@@ -428,11 +438,21 @@ static inline void iowrite16(u16 val, vo
        writew(val, addr);
  }
  
index c6c28a0..3fd9938 100644 (file)
@@ -9,7 +9,7 @@
  #
  # machine_is_xxx      CONFIG_xxxx             MACH_TYPE_xxx           number
  #
-@@ -381,13 +381,13 @@
+@@ -381,13 +381,13 @@ ks8695p                  ARCH_KS8695P            KS8695P                 363
  se4000                        ARCH_SE4000             SE4000                  364
  quadriceps            ARCH_QUADRICEPS         QUADRICEPS              365
  bronco                        ARCH_BRONCO             BRONCO                  366
@@ -25,7 +25,7 @@
  rcube                 ARCH_RCUBE              RCUBE                   374
  rea_olv                       ARCH_REA_OLV            REA_OLV                 375
  pxa_iphone            ARCH_PXA_IPHONE         PXA_IPHONE              376
-@@ -1463,7 +1463,7 @@
+@@ -1463,7 +1463,7 @@ artemis                  MACH_ARTEMIS            ARTEMIS                 1462
  htctitan              MACH_HTCTITAN           HTCTITAN                1463
  qranium                       MACH_QRANIUM            QRANIUM                 1464
  adx_wsc2              MACH_ADX_WSC2           ADX_WSC2                1465
@@ -34,7 +34,7 @@
  bboard                        MACH_BBOARD             BBOARD                  1467
  cambria                       MACH_CAMBRIA            CAMBRIA                 1468
  mt7xxx                        MACH_MT7XXX             MT7XXX                  1469
-@@ -1611,3 +1611,112 @@
+@@ -1611,3 +1611,112 @@ kb9263                 MACH_KB9263             KB9263                  1612
  mt7108                        MACH_MT7108             MT7108                  1613
  smtr2440              MACH_SMTR2440           SMTR2440                1614
  manao                 MACH_MANAO              MANAO                   1615
index 81789b8..7912a4e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -593,3 +593,6 @@
+@@ -593,3 +593,6 @@ config CRYPTO_LZO
  source "drivers/crypto/Kconfig"
  
  endif # if CRYPTO
@@ -9,7 +9,7 @@
 +
 --- a/crypto/Makefile
 +++ b/crypto/Makefile
-@@ -65,6 +65,8 @@
+@@ -65,6 +65,8 @@ obj-$(CONFIG_CRYPTO_LZO) += lzo.o
  
  obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
  
@@ -44,7 +44,7 @@
   * All of these routines try to estimate how many bits of randomness a
   * particular randomness source.  They do this by keeping track of the
   * first and second order deltas of the event timings.
-@@ -669,6 +679,61 @@
+@@ -669,6 +679,61 @@ void add_disk_randomness(struct gendisk 
  }
  #endif
  
  /*********************************************************************
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
-@@ -202,6 +202,7 @@
+@@ -202,6 +202,7 @@ asmlinkage long sys_dup(unsigned int fil
                ret = dupfd(file, 0, 0);
        return ret;
  }
  struct rand_pool_info {
        int     entropy_count;
        int     buf_size;
-@@ -48,6 +73,10 @@
+@@ -48,6 +73,10 @@ extern void add_input_randomness(unsigne
                                 unsigned int value);
  extern void add_interrupt_randomness(int irq);
  
index f41b014..8da25da 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -68,6 +68,9 @@
+@@ -68,6 +68,9 @@ static void gpio_ensure_requested(struct
        if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
                pr_warning("GPIO-%d autorequested\n", (int)(desc - gpio_desc));
                desc_set_label(desc, "[auto]");
@@ -34,7 +34,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
        }
  }
  
-@@ -177,6 +180,9 @@
+@@ -177,6 +180,9 @@ int gpio_request(unsigned gpio, const ch
        if (desc->chip == NULL)
                goto done;
  
@@ -44,7 +44,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
        /* NOTE:  gpio_request() can be called in early boot,
         * before IRQs are enabled.
         */
-@@ -184,8 +190,10 @@
+@@ -184,8 +190,10 @@ int gpio_request(unsigned gpio, const ch
        if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
                desc_set_label(desc, label ? : "?");
                status = 0;
@@ -56,7 +56,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
  done:
        if (status)
-@@ -209,9 +217,10 @@
+@@ -209,9 +217,10 @@ void gpio_free(unsigned gpio)
        spin_lock_irqsave(&gpio_lock, flags);
  
        desc = &gpio_desc[gpio];
@@ -79,7 +79,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
  /**
   * struct gpio_chip - abstract a GPIO controller
-@@ -48,6 +49,7 @@
+@@ -48,6 +49,7 @@ struct seq_file;
   */
  struct gpio_chip {
        char                    *label;
index 49f3808..771b743 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/Documentation/gpio.txt
 +++ b/Documentation/gpio.txt
-@@ -107,6 +107,16 @@
+@@ -107,6 +107,16 @@ type of GPIO controller, and on one part
  The numbers need not be contiguous; either of those platforms could also
  use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.
  
@@ -37,7 +37,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ int gpiochip_add(struct gpio_chip *chip)
         * dynamic allocation.  We don't currently support that.
         */
  
@@ -46,7 +46,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                status = -EINVAL;
                goto fail;
        }
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ int gpio_request(unsigned gpio, const ch
  
        spin_lock_irqsave(&gpio_lock, flags);
  
@@ -55,7 +55,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                goto done;
        desc = &gpio_desc[gpio];
        if (desc->chip == NULL)
-@@ -209,7 +209,7 @@
+@@ -209,7 +209,7 @@ void gpio_free(unsigned gpio)
        unsigned long           flags;
        struct gpio_desc        *desc;
  
@@ -64,7 +64,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                WARN_ON(extra_checks);
                return;
        }
-@@ -245,7 +245,7 @@
+@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct
  {
        unsigned gpio = chip->base + offset;
  
@@ -73,7 +73,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                return NULL;
        if (test_bit(FLAG_REQUESTED, &gpio_desc[gpio].flags) == 0)
                return NULL;
-@@ -276,7 +276,7 @@
+@@ -276,7 +276,7 @@ int gpio_direction_input(unsigned gpio)
  
        spin_lock_irqsave(&gpio_lock, flags);
  
@@ -82,7 +82,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                goto fail;
        chip = desc->chip;
        if (!chip || !chip->get || !chip->direction_input)
-@@ -314,7 +314,7 @@
+@@ -314,7 +314,7 @@ int gpio_direction_output(unsigned gpio,
  
        spin_lock_irqsave(&gpio_lock, flags);
  
@@ -91,7 +91,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                goto fail;
        chip = desc->chip;
        if (!chip || !chip->set || !chip->direction_output)
-@@ -531,7 +531,7 @@
+@@ -531,7 +531,7 @@ static int gpiolib_show(struct seq_file 
  
        /* REVISIT this isn't locked against gpio_chip removal ... */
  
@@ -115,7 +115,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  struct seq_file;
  struct module;
  
-@@ -99,6 +105,16 @@
+@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio
  
  #else
  
index bcd5c19..0960f67 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -80,6 +80,33 @@
+@@ -80,6 +80,33 @@ static inline struct gpio_chip *gpio_to_
        return gpio_desc[gpio].chip;
  }
  
@@ -57,7 +57,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  /**
   * gpiochip_add() - register a gpio_chip
   * @chip: the chip to register, with chip->base initialized
-@@ -88,38 +115,49 @@
+@@ -88,38 +115,49 @@ static inline struct gpio_chip *gpio_to_
   * Returns a negative errno if the chip can't be registered, such as
   * because the chip->base is invalid or already associated with a
   * different chip.  Otherwise it returns zero as a success code.
index a4a243e..abf77c3 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,7 @@ struct gpio_desc {
  /* flag symbols are bit numbers */
  #define FLAG_REQUESTED        0
  #define FLAG_IS_OUT   1
@@ -29,7 +29,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  
  #ifdef CONFIG_DEBUG_FS
        const char              *label;
-@@ -88,9 +89,10 @@
+@@ -88,9 +89,10 @@ static int gpiochip_find_base(int ngpio)
        int base = -ENOSPC;
  
        for (i = ARCH_NR_GPIOS - 1; i >= 0 ; i--) {
@@ -42,7 +42,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                        spare++;
                        if (spare == ngpio) {
                                base = i;
-@@ -98,7 +100,8 @@
+@@ -98,7 +100,8 @@ static int gpiochip_find_base(int ngpio)
                        }
                } else {
                        spare = 0;
@@ -52,7 +52,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                }
        }
  
-@@ -108,6 +111,47 @@
+@@ -108,6 +111,47 @@ static int gpiochip_find_base(int ngpio)
  }
  
  /**
@@ -102,7 +102,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
   * Context: potentially before irqs or kmalloc will work
 --- a/include/asm-generic/gpio.h
 +++ b/include/asm-generic/gpio.h
-@@ -74,6 +74,7 @@
+@@ -74,6 +74,7 @@ struct gpio_chip {
  
  extern const char *gpiochip_is_requested(struct gpio_chip *chip,
                        unsigned offset);
index 74d7247..c875a0d 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -127,7 +127,7 @@
+@@ -127,7 +127,7 @@ int __init gpiochip_reserve(int start, i
        unsigned long flags;
        int i;
  
@@ -26,7 +26,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                return -EINVAL;
  
        spin_lock_irqsave(&gpio_lock, flags);
-@@ -170,7 +170,7 @@
+@@ -170,7 +170,7 @@ int gpiochip_add(struct gpio_chip *chip)
        unsigned        id;
        int             base = chip->base;
  
@@ -35,7 +35,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                        && base >= 0) {
                status = -EINVAL;
                goto fail;
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ fail:
        /* failures here can mean systems won't boot... */
        if (status)
                pr_err("gpiochip_add: gpios %d..%d (%s) not registered\n",
index 98103ae..d5bb40f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/sierra.c
 +++ b/drivers/usb/serial/sierra.c
-@@ -166,14 +166,19 @@
+@@ -166,14 +166,19 @@ static struct usb_device_id id_table [] 
        { USB_DEVICE(0x1199, 0x6815) }, /* Sierra Wireless MC8775 */
        { USB_DEVICE(0x03f0, 0x1e1d) }, /* HP hs2300 a.k.a MC8775 */
        { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
index daa2c62..3feeec0 100644 (file)
@@ -10,7 +10,7 @@ ARCH:=powerpc
 BOARD:=ps3
 BOARDNAME:=Sony PS3 Game Console
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 KERNEL_CC:=
 
index 9e46cfe..2919af6 100644 (file)
@@ -12,7 +12,7 @@ BOARDNAME:=x86
 FEATURES:=squashfs jffs2 ext2 vdi
 SUBTARGETS=generic
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci
This page took 0.521528 seconds and 4 git commands to generate.