update to 2.6.25.19, and refresh patches
authorGabor Juhos <juhosg@openwrt.org>
Fri, 7 Nov 2008 08:44:56 +0000 (08:44 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 7 Nov 2008 08:44:56 +0000 (08:44 +0000)
SVN-Revision: 13137

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 a9b9286de1fa39347719cf51edf15fd7678ab1a3..6bdc5c19833cc3783edb2603fb5f242a69a16d62 100644 (file)
@@ -22,8 +22,8 @@ endif
 ifeq ($(LINUX_VERSION),2.6.24.7)
   LINUX_KERNEL_MD5SUM:=40a73780d51525d28d36dec852c680c4
 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
 endif
 ifeq ($(LINUX_VERSION),2.6.26.7)
   LINUX_KERNEL_MD5SUM:=ada8af1e3ec15bd6e9bdbcadf23a9cc2
index e616467a5f92a4654d03ac97e6f4aa434f996fcc..d90d105805ffdd5926ae723da0083ffd6bce80ec 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=at91
 BOARDNAME:=Atmel AT91
 FEATURES:=squashfs usb
 
 BOARDNAME:=Atmel AT91
 FEATURES:=squashfs usb
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
 
 include $(INCLUDE_DIR)/target.mk
 
index 74962b2e33291dcb0224df185c2f7b550bfcef6c..06c29351ec3c4ff39fd10e1f4f1d2aaccac860b1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/Kconfig
 +++ b/arch/arm/mach-at91/Kconfig
 --- 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"
  
  config ARCH_AT91SAM9260
        bool "AT91SAM9260 or AT91SAM9XE"
@@ -29,7 +29,7 @@
  
  config ARCH_AT91X40
        bool "AT91x40"
  
  config ARCH_AT91X40
        bool "AT91x40"
-@@ -45,7 +55,7 @@
+@@ -45,7 +55,7 @@ config MACH_ONEARM
        depends on ARCH_AT91RM9200
        help
          Select this if you are using Ajeco's 1ARM Single Board Computer.
        depends on ARCH_AT91RM9200
        help
          Select this if you are using Ajeco's 1ARM Single Board Computer.
@@ -38,7 +38,7 @@
  
  config ARCH_AT91RM9200DK
        bool "Atmel AT91RM9200-DK Development board"
  
  config ARCH_AT91RM9200DK
        bool "Atmel AT91RM9200-DK Development board"
-@@ -94,7 +104,7 @@
+@@ -94,7 +104,7 @@ config MACH_KB9200
        depends on ARCH_AT91RM9200
        help
          Select this if you are using KwikByte's KB920x board.
        depends on ARCH_AT91RM9200
        help
          Select this if you are using KwikByte's KB920x board.
@@ -47,7 +47,7 @@
  
  config MACH_PICOTUX2XX
        bool "picotux 200"
  
  config MACH_PICOTUX2XX
        bool "picotux 200"
-@@ -109,6 +119,38 @@
+@@ -109,6 +119,38 @@ config MACH_KAFA
        help
          Select this if you are using Sperry-Sun's KAFA board.
  
        help
          Select this if you are using Sperry-Sun's KAFA board.
  
@@ -86,7 +86,7 @@
  endif
  
  # ----------------------------------------------------------
  endif
  
  # ----------------------------------------------------------
-@@ -133,6 +175,34 @@
+@@ -133,6 +175,34 @@ config MACH_AT91SAM9260EK
          Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
          <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
  
          Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
          <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
  
  endif
  
  # ----------------------------------------------------------
  endif
  
  # ----------------------------------------------------------
-@@ -163,6 +233,13 @@
+@@ -163,6 +233,13 @@ config MACH_AT91SAM9263EK
          Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
          <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
  
          Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
          <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
  
  endif
  
  # ----------------------------------------------------------
  endif
  
  # ----------------------------------------------------------
-@@ -216,7 +293,7 @@
+@@ -216,7 +293,7 @@ comment "AT91 Board Options"
  
  config MTD_AT91_DATAFLASH_CARD
        bool "Enable DataFlash Card support"
  
  config MTD_AT91_DATAFLASH_CARD
        bool "Enable DataFlash Card support"
        help
          Enable support for the DataFlash card.
  
        help
          Enable support for the DataFlash card.
  
-@@ -237,6 +314,19 @@
+@@ -237,6 +314,19 @@ config AT91_PROGRAMMABLE_CLOCKS
          Select this if you need to program one or more of the PCK0..PCK3
          programmable clock outputs.
  
          Select this if you need to program one or more of the PCK0..PCK3
          programmable clock outputs.
  
         range 32 1024
 --- a/arch/arm/mach-at91/Makefile
 +++ b/arch/arm/mach-at91/Makefile
         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
  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
  
  # AT91SAM9RL board-specific support
  obj-$(CONFIG_MACH_AT91SAM9RLEK)       += board-sam9rlek.o
-@@ -50,9 +60,11 @@
+@@ -50,9 +60,11 @@ obj-$(CONFIG_MACH_AT91EB01) += board-eb0
  
  # Drivers
  obj-y                         += leds.o
  
  # Drivers
  obj-y                         += leds.o
  
  #include "generic.h"
  #include "clock.h"
  
  #include "generic.h"
  #include "clock.h"
-@@ -288,6 +291,12 @@
+@@ -288,6 +291,12 @@ static void at91cap9_reset(void)
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
  /* --------------------------------------------------------------------
   *  AT91CAP9 processor initialization
   * -------------------------------------------------------------------- */
  /* --------------------------------------------------------------------
   *  AT91CAP9 processor initialization
   * -------------------------------------------------------------------- */
-@@ -298,6 +307,7 @@
+@@ -298,6 +307,7 @@ void __init at91cap9_initialize(unsigned
        iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc));
  
        at91_arch_reset = at91cap9_reset;
        iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc));
  
        at91_arch_reset = at91cap9_reset;
        at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
  
        /* Init clock subsystem */
        at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
  
        /* Init clock subsystem */
-@@ -308,6 +318,12 @@
+@@ -308,6 +318,12 @@ void __init at91cap9_initialize(unsigned
  
        /* Register GPIO subsystem */
        at91_gpio_init(at91cap9_gpio, 4);
  
        /* Register GPIO subsystem */
        at91_gpio_init(at91cap9_gpio, 4);
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -69,6 +71,9 @@
+@@ -69,6 +71,9 @@ void __init at91_add_device_usbh(struct 
        if (!data)
                return;
  
        if (!data)
                return;
  
        /* Enable VBus control for UHP ports */
        for (i = 0; i < data->ports; i++) {
                if (data->vbus_pin[i])
        /* Enable VBus control for UHP ports */
        for (i = 0; i < data->ports; i++) {
                if (data->vbus_pin[i])
-@@ -84,6 +89,110 @@
+@@ -84,6 +89,110 @@ void __init at91_add_device_usbh(struct 
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
   *  Ethernet
   * -------------------------------------------------------------------- */
  
   *  Ethernet
   * -------------------------------------------------------------------- */
  
-@@ -246,7 +355,7 @@
+@@ -246,7 +355,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                mmc0_data = *data;
                }
  
                mmc0_data = *data;
                platform_device_register(&at91cap9_mmc0_device);
        } else {                        /* MCI1 */
                /* CLK */
                platform_device_register(&at91cap9_mmc0_device);
        } else {                        /* MCI1 */
                /* CLK */
-@@ -283,10 +392,15 @@
+@@ -283,10 +392,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
        }
  };
  
        }
  };
  
-@@ -344,6 +458,7 @@
+@@ -344,6 +458,7 @@ void __init at91_add_device_nand(struct 
  void __init at91_add_device_nand(struct at91_nand_data *data) {}
  #endif
  
  void __init at91_add_device_nand(struct at91_nand_data *data) {}
  #endif
  
  /* --------------------------------------------------------------------
   *  TWI (i2c)
   * -------------------------------------------------------------------- */
  /* --------------------------------------------------------------------
   *  TWI (i2c)
   * -------------------------------------------------------------------- */
-@@ -532,17 +647,64 @@
+@@ -532,17 +647,64 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
        platform_device_register(&at91cap9_rtt_device);
  }
  
        platform_device_register(&at91cap9_rtt_device);
  }
  
-@@ -660,6 +822,9 @@
+@@ -660,6 +822,9 @@ void __init at91_add_device_lcdc(struct 
        if (!data)
                return;
  
        if (!data)
                return;
  
        at91_set_A_periph(AT91_PIN_PC1, 0);     /* LCDHSYNC */
        at91_set_A_periph(AT91_PIN_PC2, 0);     /* LCDDOTCK */
        at91_set_A_periph(AT91_PIN_PC3, 0);     /* LCDDEN */
        at91_set_A_periph(AT91_PIN_PC1, 0);     /* LCDHSYNC */
        at91_set_A_periph(AT91_PIN_PC2, 0);     /* LCDDOTCK */
        at91_set_A_periph(AT91_PIN_PC3, 0);     /* LCDDEN */
-@@ -990,7 +1155,7 @@
+@@ -990,7 +1155,7 @@ static inline void configure_usart2_pins
                at91_set_B_periph(AT91_PIN_PD6, 0);     /* CTS2 */
  }
  
                at91_set_B_periph(AT91_PIN_PD6, 0);     /* CTS2 */
  }
  
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-@@ -1031,8 +1196,6 @@
+@@ -1031,8 +1196,6 @@ void __init at91_set_serial_console(unsi
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  }
  
  void __init at91_add_device_serial(void)
  }
  
  void __init at91_add_device_serial(void)
-@@ -1043,6 +1206,9 @@
+@@ -1043,6 +1206,9 @@ void __init at91_add_device_serial(void)
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
  }
  #else
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
  }
  #else
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-@@ -1060,6 +1226,7 @@
+@@ -1060,6 +1226,7 @@ static int __init at91_add_standard_devi
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
  
 --- 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
   * -------------------------------------------------------------------- */
  
   *  SPI
   * -------------------------------------------------------------------- */
  
  static u64 spi_dmamask = DMA_BIT_MASK(32);
  
  static struct resource spi_resources[] = {
  static u64 spi_dmamask = DMA_BIT_MASK(32);
  
  static struct resource spi_resources[] = {
-@@ -530,7 +541,7 @@
+@@ -530,7 +541,7 @@ static struct resource spi_resources[] =
  };
  
  static struct platform_device at91rm9200_spi_device = {
  };
  
  static struct platform_device at91rm9200_spi_device = {
        .id             = 0,
        .dev            = {
                                .dma_mask               = &spi_dmamask,
        .id             = 0,
        .dev            = {
                                .dma_mask               = &spi_dmamask,
-@@ -563,6 +574,12 @@
+@@ -563,6 +574,12 @@ void __init at91_add_device_spi(struct s
                else
                        at91_set_gpio_output(cs_pin, 1);
  
                else
                        at91_set_gpio_output(cs_pin, 1);
  
  
                /* pass chip-select pin to driver */
                devices[i].controller_data = (void *) cs_pin;
  
                /* pass chip-select pin to driver */
                devices[i].controller_data = (void *) cs_pin;
-@@ -577,6 +594,90 @@
+@@ -577,6 +594,90 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
   *  RTC
   * -------------------------------------------------------------------- */
  
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -589,6 +690,7 @@
+@@ -589,6 +690,7 @@ static struct platform_device at91rm9200
  
  static void __init at91_add_device_rtc(void)
  {
  
  static void __init at91_add_device_rtc(void)
  {
        platform_device_register(&at91rm9200_rtc_device);
  }
  #else
        platform_device_register(&at91rm9200_rtc_device);
  }
  #else
-@@ -1019,7 +1121,7 @@
+@@ -1019,7 +1121,7 @@ static inline void configure_usart3_pins
                at91_set_B_periph(AT91_PIN_PB0, 0);     /* RTS3 */
  }
  
                at91_set_B_periph(AT91_PIN_PB0, 0);     /* RTS3 */
  }
  
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1110,8 +1212,6 @@
+@@ -1110,8 +1212,6 @@ void __init at91_set_serial_console(unsi
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  }
  
  void __init at91_add_device_serial(void)
  }
  
  void __init at91_add_device_serial(void)
-@@ -1122,6 +1222,9 @@
+@@ -1122,6 +1222,9 @@ void __init at91_add_device_serial(void)
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -1141,6 +1244,7 @@
+@@ -1141,6 +1244,7 @@ static int __init at91_add_standard_devi
  {
        at91_add_device_rtc();
        at91_add_device_watchdog();
  {
        at91_add_device_rtc();
        at91_add_device_watchdog();
  
 --- a/arch/arm/mach-at91/at91rm9200_time.c
 +++ b/arch/arm/mach-at91/at91rm9200_time.c
  
 --- 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;
  
        u32             alm;
        int             status = 0;
  
  
  #include "generic.h"
  #include "clock.h"
  
  #include "generic.h"
  #include "clock.h"
-@@ -267,6 +269,11 @@
+@@ -267,6 +269,11 @@ static void at91sam9260_reset(void)
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
  
  /* --------------------------------------------------------------------
   *  AT91SAM9260 processor initialization
  
  /* --------------------------------------------------------------------
   *  AT91SAM9260 processor initialization
-@@ -304,6 +311,7 @@
+@@ -304,6 +311,7 @@ void __init at91sam9260_initialize(unsig
                iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
  
        at91_arch_reset = at91sam9260_reset;
                iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
  
        at91_arch_reset = at91sam9260_reset;
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -288,10 +288,15 @@
+@@ -288,10 +288,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
        }
  };
  
        }
  };
  
-@@ -540,6 +545,90 @@
+@@ -540,6 +545,90 @@ void __init at91_add_device_spi(struct s
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
   *  RTT
   * -------------------------------------------------------------------- */
  
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -553,13 +642,14 @@
+@@ -553,13 +642,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9260_rtt_device = {
        .name           = "at91_rtt",
  
  static struct platform_device at91sam9260_rtt_device = {
        .name           = "at91_rtt",
        platform_device_register(&at91sam9260_rtt_device);
  }
  
        platform_device_register(&at91sam9260_rtt_device);
  }
  
-@@ -962,7 +1052,7 @@
+@@ -962,7 +1052,7 @@ static inline void configure_usart5_pins
        at91_set_A_periph(AT91_PIN_PB13, 0);            /* RXD5 */
  }
  
        at91_set_A_periph(AT91_PIN_PB13, 0);            /* RXD5 */
  }
  
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1073,8 +1163,6 @@
+@@ -1073,8 +1163,6 @@ void __init at91_set_serial_console(unsi
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  }
  
  void __init at91_add_device_serial(void)
  }
  
  void __init at91_add_device_serial(void)
-@@ -1085,6 +1173,9 @@
+@@ -1085,6 +1173,9 @@ void __init at91_add_device_serial(void)
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -1103,6 +1194,7 @@
+@@ -1103,6 +1194,7 @@ static int __init at91_add_standard_devi
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  
  #include "generic.h"
  #include "clock.h"
  
  #include "generic.h"
  #include "clock.h"
-@@ -245,6 +247,11 @@
+@@ -245,6 +247,11 @@ static void at91sam9261_reset(void)
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
  
  /* --------------------------------------------------------------------
   *  AT91SAM9261 processor initialization
  
  /* --------------------------------------------------------------------
   *  AT91SAM9261 processor initialization
-@@ -256,6 +263,7 @@
+@@ -256,6 +263,7 @@ void __init at91sam9261_initialize(unsig
        iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc));
  
        at91_arch_reset = at91sam9261_reset;
        iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc));
  
        at91_arch_reset = at91sam9261_reset;
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -548,6 +548,55 @@
+@@ -548,6 +548,55 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
   *  RTT
   * -------------------------------------------------------------------- */
  
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -561,13 +610,14 @@
+@@ -561,13 +610,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9261_rtt_device = {
        .name           = "at91_rtt",
  
  static struct platform_device at91sam9261_rtt_device = {
        .name           = "at91_rtt",
        platform_device_register(&at91sam9261_rtt_device);
  }
  
        platform_device_register(&at91sam9261_rtt_device);
  }
  
-@@ -938,7 +988,7 @@
+@@ -938,7 +988,7 @@ static inline void configure_usart2_pins
                at91_set_B_periph(AT91_PIN_PA16, 0);    /* CTS2 */
  }
  
                at91_set_B_periph(AT91_PIN_PA16, 0);    /* CTS2 */
  }
  
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1019,8 +1069,6 @@
+@@ -1019,8 +1069,6 @@ void __init at91_set_serial_console(unsi
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  }
  
  void __init at91_add_device_serial(void)
  }
  
  void __init at91_add_device_serial(void)
-@@ -1031,6 +1079,9 @@
+@@ -1031,6 +1079,9 @@ void __init at91_add_device_serial(void)
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -1050,6 +1101,7 @@
+@@ -1050,6 +1101,7 @@ static int __init at91_add_standard_devi
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  
  #include "generic.h"
  #include "clock.h"
  
  #include "generic.h"
  #include "clock.h"
-@@ -271,6 +273,11 @@
+@@ -271,6 +273,11 @@ static void at91sam9263_reset(void)
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
  
  /* --------------------------------------------------------------------
   *  AT91SAM9263 processor initialization
  
  /* --------------------------------------------------------------------
   *  AT91SAM9263 processor initialization
-@@ -282,6 +289,7 @@
+@@ -282,6 +289,7 @@ void __init at91sam9263_initialize(unsig
        iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc));
  
        at91_arch_reset = at91sam9263_reset;
        iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc));
  
        at91_arch_reset = at91sam9263_reset;
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ void __init at91_add_device_mmc(short mm
                }
  
                mmc0_data = *data;
                }
  
                mmc0_data = *data;
                platform_device_register(&at91sam9263_mmc0_device);
        } else {                        /* MCI1 */
                /* CLK */
                platform_device_register(&at91sam9263_mmc0_device);
        } else {                        /* MCI1 */
                /* CLK */
-@@ -358,10 +358,15 @@
+@@ -358,10 +358,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
        }
  };
  
        }
  };
  
-@@ -783,6 +788,43 @@
+@@ -783,6 +788,43 @@ void __init at91_add_device_isi(void) {}
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
   *  RTT
   * -------------------------------------------------------------------- */
  
   *  RTT
   * -------------------------------------------------------------------- */
  
-@@ -818,7 +860,9 @@
+@@ -818,7 +860,9 @@ static struct platform_device at91sam926
  
  static void __init at91_add_device_rtt(void)
  {
  
  static void __init at91_add_device_rtt(void)
  {
        platform_device_register(&at91sam9263_rtt1_device);
  }
  
        platform_device_register(&at91sam9263_rtt1_device);
  }
  
-@@ -933,9 +977,6 @@
+@@ -933,9 +977,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
  }
  
  /*
   * SSC controllers are accessed through library code, instead of any
   * kind of all-singing/all-dancing driver.  For example one could be
   * used by a particular I2S audio codec's driver, while another one
   * SSC controllers are accessed through library code, instead of any
   * kind of all-singing/all-dancing driver.  For example one could be
   * used by a particular I2S audio codec's driver, while another one
-@@ -1146,7 +1187,7 @@
+@@ -1146,7 +1187,7 @@ static inline void configure_usart2_pins
                at91_set_B_periph(AT91_PIN_PD6, 0);     /* CTS2 */
  }
  
                at91_set_B_periph(AT91_PIN_PD6, 0);     /* CTS2 */
  }
  
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -1227,8 +1268,6 @@
+@@ -1227,8 +1268,6 @@ void __init at91_set_serial_console(unsi
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  }
  
  void __init at91_add_device_serial(void)
  }
  
  void __init at91_add_device_serial(void)
-@@ -1239,9 +1278,12 @@
+@@ -1239,9 +1278,12 @@ void __init at91_add_device_serial(void)
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
  void __init at91_set_serial_console(unsigned portnr) {}
  void __init at91_add_device_serial(void) {}
  void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
  void __init at91_set_serial_console(unsigned portnr) {}
  void __init at91_add_device_serial(void) {}
-@@ -1257,6 +1299,7 @@
+@@ -1257,6 +1299,7 @@ static int __init at91_add_standard_devi
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  {
        at91_add_device_rtt();
        at91_add_device_watchdog();
  
  #include "generic.h"
  #include "clock.h"
  
  #include "generic.h"
  #include "clock.h"
-@@ -244,6 +246,11 @@
+@@ -244,6 +246,11 @@ static void at91sam9rl_reset(void)
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
        at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
  }
  
  
  /* --------------------------------------------------------------------
   *  AT91SAM9RL processor initialization
  
  /* --------------------------------------------------------------------
   *  AT91SAM9RL processor initialization
-@@ -274,6 +281,7 @@
+@@ -274,6 +281,7 @@ void __init at91sam9rl_initialize(unsign
        iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
  
        at91_arch_reset = at91sam9rl_reset;
        iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
  
        at91_arch_reset = at91sam9rl_reset;
   *  MMC / SD
   * -------------------------------------------------------------------- */
  
   *  MMC / SD
   * -------------------------------------------------------------------- */
  
-@@ -105,10 +200,15 @@
+@@ -105,10 +200,15 @@ static struct at91_nand_data nand_data;
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
  #define NAND_BASE     AT91_CHIPSELECT_3
  
  static struct resource nand_resources[] = {
        }
  };
  
        }
  };
  
-@@ -385,6 +485,100 @@
+@@ -385,6 +485,100 @@ void __init at91_add_device_lcdc(struct 
  
  
  /* --------------------------------------------------------------------
  
  
  /* --------------------------------------------------------------------
   *  RTC
   * -------------------------------------------------------------------- */
  
   *  RTC
   * -------------------------------------------------------------------- */
  
-@@ -397,6 +591,7 @@
+@@ -397,6 +591,7 @@ static struct platform_device at91sam9rl
  
  static void __init at91_add_device_rtc(void)
  {
  
  static void __init at91_add_device_rtc(void)
  {
        platform_device_register(&at91sam9rl_rtc_device);
  }
  #else
        platform_device_register(&at91sam9rl_rtc_device);
  }
  #else
-@@ -418,13 +613,14 @@
+@@ -418,13 +613,14 @@ static struct resource rtt_resources[] =
  
  static struct platform_device at91sam9rl_rtt_device = {
        .name           = "at91_rtt",
  
  static struct platform_device at91sam9rl_rtt_device = {
        .name           = "at91_rtt",
        platform_device_register(&at91sam9rl_rtt_device);
  }
  
        platform_device_register(&at91sam9rl_rtt_device);
  }
  
-@@ -539,9 +735,6 @@
+@@ -539,9 +735,6 @@ static inline void configure_ssc1_pins(u
  }
  
  /*
  }
  
  /*
   * SSC controllers are accessed through library code, instead of any
   * kind of all-singing/all-dancing driver.  For example one could be
   * used by a particular I2S audio codec's driver, while another one
   * SSC controllers are accessed through library code, instead of any
   * kind of all-singing/all-dancing driver.  For example one could be
   * used by a particular I2S audio codec's driver, while another one
-@@ -802,7 +995,7 @@
+@@ -802,7 +995,7 @@ static inline void configure_usart3_pins
                at91_set_B_periph(AT91_PIN_PD3, 0);     /* CTS3 */
  }
  
                at91_set_B_periph(AT91_PIN_PD3, 0);     /* CTS3 */
  }
  
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
  struct platform_device *atmel_default_console_device; /* the serial console device */
  
  void __init __deprecated at91_init_serial(struct at91_uart_config *config)
-@@ -893,8 +1086,6 @@
+@@ -893,8 +1086,6 @@ void __init at91_set_serial_console(unsi
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  {
        if (portnr < ATMEL_MAX_UART)
                atmel_default_console_device = at91_uarts[portnr];
  }
  
  void __init at91_add_device_serial(void)
  }
  
  void __init at91_add_device_serial(void)
-@@ -905,6 +1096,9 @@
+@@ -905,6 +1096,9 @@ void __init at91_add_device_serial(void)
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
                if (at91_uarts[i])
                        platform_device_register(at91_uarts[i]);
        }
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
  }
  #else
  void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-@@ -925,6 +1119,7 @@
+@@ -925,6 +1119,7 @@ static int __init at91_add_standard_devi
        at91_add_device_rtc();
        at91_add_device_rtt();
        at91_add_device_watchdog();
        at91_add_device_rtc();
        at91_add_device_rtt();
        at91_add_device_watchdog();
  
  #include "generic.h"
  
  
  #include "generic.h"
  
-@@ -78,6 +76,12 @@
+@@ -78,6 +76,12 @@ static struct at91_usbh_data __initdata 
        .ports          = 2,
  };
  
        .ports          = 2,
  };
  
  
  /*
   * ADS7846 Touchscreen
  
  /*
   * ADS7846 Touchscreen
-@@ -130,7 +134,7 @@
+@@ -130,7 +134,7 @@ static struct spi_board_info cap9adk_spi
        {
                .modalias       = "ads7846",
                .chip_select    = 3,            /* can be 2 or 3, depending on J2 jumper */
        {
                .modalias       = "ads7846",
                .chip_select    = 3,            /* can be 2 or 3, depending on J2 jumper */
                .bus_num        = 0,
                .platform_data  = &ads_info,
                .irq            = AT91_PIN_PC4,
                .bus_num        = 0,
                .platform_data  = &ads_info,
                .irq            = AT91_PIN_PC4,
-@@ -324,8 +328,9 @@
+@@ -324,8 +328,9 @@ static void __init cap9adk_board_init(vo
        /* Serial */
        at91_add_device_serial();
        /* USB Host */
        /* Serial */
        at91_add_device_serial();
        /* USB Host */
        /* SPI */
        at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices));
        /* Touchscreen */
        /* SPI */
        at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices));
        /* Touchscreen */
-@@ -341,7 +346,6 @@
+@@ -341,7 +346,6 @@ static void __init cap9adk_board_init(vo
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        /* LCD Controller */
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        /* LCD Controller */
  }
  
  static void __init carmeva_init_irq(void)
  }
  
  static void __init carmeva_init_irq(void)
-@@ -117,6 +114,30 @@
+@@ -117,6 +114,30 @@ static struct spi_board_info carmeva_spi
        },
  };
  
        },
  };
  
  static void __init carmeva_board_init(void)
  {
        /* Serial */
  static void __init carmeva_board_init(void)
  {
        /* Serial */
-@@ -135,6 +156,8 @@
+@@ -135,6 +156,8 @@ static void __init carmeva_board_init(vo
  //    at91_add_device_cf(&carmeva_cf_data);
        /* MMC */
        at91_add_device_mmc(0, &carmeva_mmc_data);
  //    at91_add_device_cf(&carmeva_cf_data);
        /* MMC */
        at91_add_device_mmc(0, &carmeva_mmc_data);
 +MACHINE_END
 --- a/arch/arm/mach-at91/board-csb337.c
 +++ b/arch/arm/mach-at91/board-csb337.c
 +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 LEDs */
        at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1);
  
        /* Setup the serial ports and console */
        at91_init_serial(&csb337_uart_config);
  
        /* Setup the serial ports and console */
        at91_init_serial(&csb337_uart_config);
-@@ -202,11 +203,11 @@
+@@ -202,11 +203,11 @@ static struct platform_device csb300_but
  
  static void __init csb300_add_device_buttons(void)
  {
  
  static void __init csb300_add_device_buttons(void)
  {
        at91_set_deglitch(AT91_PIN_PA21, 1);
  
        platform_device_register(&csb300_button_device);
        at91_set_deglitch(AT91_PIN_PA21, 1);
  
        platform_device_register(&csb300_button_device);
-@@ -233,7 +234,7 @@
+@@ -233,7 +234,7 @@ static struct gpio_led csb_leds[] = {
                .gpio                   = AT91_PIN_PB0,
                .active_low             = 1,
                .default_trigger        = "ide-disk",
                .gpio                   = AT91_PIN_PB0,
                .active_low             = 1,
                .default_trigger        = "ide-disk",
  }
  
  static void __init csb637_init_irq(void)
  }
  
  static void __init csb637_init_irq(void)
-@@ -118,8 +107,19 @@
+@@ -118,8 +107,19 @@ static struct platform_device csb_flash 
        .num_resources  = ARRAY_SIZE(csb_flash_resources),
  };
  
        .num_resources  = ARRAY_SIZE(csb_flash_resources),
  };
  
  static void __init dk_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
  static void __init dk_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
-@@ -64,8 +54,16 @@
+@@ -64,8 +54,16 @@ static void __init dk_map_io(void)
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2);
  
  }
  
  static void __init dk_init_irq(void)
  }
  
  static void __init dk_init_irq(void)
-@@ -73,6 +71,185 @@
+@@ -73,6 +71,185 @@ static void __init dk_init_irq(void)
        at91rm9200_init_interrupts(NULL);
  }
  
        at91rm9200_init_interrupts(NULL);
  }
  
  static struct at91_eth_data __initdata dk_eth_data = {
        .phy_irq_pin    = AT91_PIN_PC4,
        .is_rmii        = 1,
  static struct at91_eth_data __initdata dk_eth_data = {
        .phy_irq_pin    = AT91_PIN_PC4,
        .is_rmii        = 1,
-@@ -164,7 +341,7 @@
+@@ -164,7 +341,7 @@ static struct at91_nand_data __initdata 
  #define DK_FLASH_SIZE 0x200000
  
  static struct physmap_flash_data dk_flash_data = {
  #define DK_FLASH_SIZE 0x200000
  
  static struct physmap_flash_data dk_flash_data = {
  };
  
  static struct resource dk_flash_resource = {
  };
  
  static struct resource dk_flash_resource = {
-@@ -223,8 +400,12 @@
+@@ -223,8 +400,12 @@ static void __init dk_board_init(void)
        platform_device_register(&dk_flash);
        /* LEDs */
        at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds));
        platform_device_register(&dk_flash);
        /* LEDs */
        at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds));
  static void __init ek_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
  static void __init ek_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
-@@ -64,8 +54,16 @@
+@@ -64,8 +54,16 @@ static void __init ek_map_io(void)
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2);
  
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -73,6 +71,187 @@
+@@ -73,6 +71,187 @@ static void __init ek_init_irq(void)
        at91rm9200_init_interrupts(NULL);
  }
  
        at91rm9200_init_interrupts(NULL);
  }
  
  static struct at91_eth_data __initdata ek_eth_data = {
        .phy_irq_pin    = AT91_PIN_PC4,
        .is_rmii        = 1,
  static struct at91_eth_data __initdata ek_eth_data = {
        .phy_irq_pin    = AT91_PIN_PC4,
        .is_rmii        = 1,
-@@ -122,7 +301,7 @@
+@@ -122,7 +301,7 @@ static struct i2c_board_info __initdata 
  #define EK_FLASH_SIZE 0x200000
  
  static struct physmap_flash_data ek_flash_data = {
  #define EK_FLASH_SIZE 0x200000
  
  static struct physmap_flash_data ek_flash_data = {
  };
  
  static struct resource ek_flash_resource = {
  };
  
  static struct resource ek_flash_resource = {
-@@ -189,7 +368,7 @@
+@@ -189,7 +368,7 @@ static void __init ek_board_init(void)
        /* LEDs */
        at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
        /* VGA */
        /* LEDs */
        at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
        /* VGA */
  
  static void __init kb9202_map_io(void)
  {
  
  static void __init kb9202_map_io(void)
  {
-@@ -59,8 +50,20 @@
+@@ -59,8 +50,20 @@ static void __init kb9202_map_io(void)
        /* Set up the LEDs */
        at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18);
  
        /* Set up the LEDs */
        at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18);
  
  }
  
  static void __init kb9202_init_irq(void)
  }
  
  static void __init kb9202_init_irq(void)
-@@ -111,6 +114,48 @@
+@@ -111,6 +114,48 @@ static struct at91_nand_data __initdata 
        .partition_info = nand_partitions,
  };
  
        .partition_info = nand_partitions,
  };
  
  static void __init kb9202_board_init(void)
  {
        /* Serial */
  static void __init kb9202_board_init(void)
  {
        /* Serial */
-@@ -129,6 +174,8 @@
+@@ -129,6 +174,8 @@ static void __init kb9202_board_init(voi
        at91_add_device_spi(NULL, 0);
        /* NAND */
        at91_add_device_nand(&kb9202_nand_data);
        at91_add_device_spi(NULL, 0);
        /* NAND */
        at91_add_device_nand(&kb9202_nand_data);
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -85,6 +89,35 @@
+@@ -85,6 +89,35 @@ static struct at91_udc_data __initdata e
  
  
  /*
  
  
  /*
   * SPI devices.
   */
  static struct spi_board_info ek_spi_devices[] = {
   * SPI devices.
   */
  static struct spi_board_info ek_spi_devices[] = {
-@@ -110,6 +143,8 @@
+@@ -110,6 +143,8 @@ static struct spi_board_info ek_spi_devi
                .chip_select    = 0,
                .max_speed_hz   = 10 * 1000 * 1000,
                .bus_num        = 1,
                .chip_select    = 0,
                .max_speed_hz   = 10 * 1000 * 1000,
                .bus_num        = 1,
        },
  #endif
  };
        },
  #endif
  };
-@@ -172,6 +207,74 @@
+@@ -172,6 +207,74 @@ static struct at91_mmc_data __initdata e
  //    .vcc_pin        = ... not connected
  };
  
  //    .vcc_pin        = ... not connected
  };
  
  static void __init ek_board_init(void)
  {
        /* Serial */
  static void __init ek_board_init(void)
  {
        /* Serial */
-@@ -190,6 +293,16 @@
+@@ -190,6 +293,16 @@ static void __init ek_board_init(void)
        at91_add_device_mmc(0, &ek_mmc_data);
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        at91_add_device_mmc(0, &ek_mmc_data);
        /* I2C */
        at91_add_device_i2c(NULL, 0);
  static void __init ek_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
  static void __init ek_map_io(void)
  {
        /* Initialize processor: 18.432 MHz crystal */
-@@ -68,8 +60,11 @@
+@@ -68,8 +60,11 @@ static void __init ek_map_io(void)
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14);
  
        /* Setup the LEDs */
        at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14);
  
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -239,6 +234,35 @@
+@@ -239,6 +234,35 @@ static void __init ek_add_device_ts(void
  #endif
  
  /*
  #endif
  
  /*
   * SPI devices
   */
  static struct spi_board_info ek_spi_devices[] = {
   * SPI devices
   */
  static struct spi_board_info ek_spi_devices[] = {
-@@ -252,10 +276,11 @@
+@@ -252,10 +276,11 @@ static struct spi_board_info ek_spi_devi
        {
                .modalias       = "ads7846",
                .chip_select    = 2,
        {
                .modalias       = "ads7846",
                .chip_select    = 2,
        },
  #endif
  #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
        },
  #endif
  #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
-@@ -271,6 +296,9 @@
+@@ -271,6 +296,9 @@ static struct spi_board_info ek_spi_devi
                .chip_select    = 3,
                .max_speed_hz   = 10 * 1000 * 1000,
                .bus_num        = 0,
                .chip_select    = 3,
                .max_speed_hz   = 10 * 1000 * 1000,
                .bus_num        = 0,
        },
  #endif
  };
        },
  #endif
  };
-@@ -408,24 +436,28 @@
+@@ -408,24 +436,28 @@ static struct gpio_keys_button ek_button
                .code           = BTN_0,
                .desc           = "Button 0",
                .active_low     = 1,
                .code           = BTN_0,
                .desc           = "Button 0",
                .active_low     = 1,
        }
  };
  
        }
  };
  
-@@ -445,13 +477,13 @@
+@@ -445,13 +477,13 @@ static struct platform_device ek_button_
  
  static void __init ek_add_device_buttons(void)
  {
  
  static void __init ek_add_device_buttons(void)
  {
        at91_set_deglitch(AT91_PIN_PA24, 1);
  
        platform_device_register(&ek_button_device);
        at91_set_deglitch(AT91_PIN_PA24, 1);
  
        platform_device_register(&ek_button_device);
-@@ -460,6 +492,29 @@
+@@ -460,6 +492,29 @@ static void __init ek_add_device_buttons
  static void __init ek_add_device_buttons(void) {}
  #endif
  
  static void __init ek_add_device_buttons(void) {}
  #endif
  
  static void __init ek_board_init(void)
  {
        /* Serial */
  static void __init ek_board_init(void)
  {
        /* Serial */
-@@ -481,6 +536,9 @@
+@@ -481,6 +536,9 @@ static void __init ek_board_init(void)
        at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
        /* Touchscreen */
        ek_add_device_ts();
        at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
        /* Touchscreen */
        ek_add_device_ts();
  #else
        /* MMC */
        at91_add_device_mmc(0, &ek_mmc_data);
  #else
        /* MMC */
        at91_add_device_mmc(0, &ek_mmc_data);
-@@ -489,6 +547,11 @@
+@@ -489,6 +547,11 @@ static void __init ek_board_init(void)
        at91_add_device_lcdc(&ek_lcdc_data);
        /* Push Buttons */
        ek_add_device_buttons();
        at91_add_device_lcdc(&ek_lcdc_data);
        /* Push Buttons */
        ek_add_device_buttons();
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -141,7 +136,7 @@
+@@ -141,7 +136,7 @@ static struct spi_board_info ek_spi_devi
        {
                .modalias       = "ads7846",
                .chip_select    = 3,
        {
                .modalias       = "ads7846",
                .chip_select    = 3,
                .bus_num        = 0,
                .platform_data  = &ads_info,
                .irq            = AT91SAM9263_ID_IRQ1,
                .bus_num        = 0,
                .platform_data  = &ads_info,
                .irq            = AT91SAM9263_ID_IRQ1,
-@@ -301,9 +296,9 @@
+@@ -301,9 +296,9 @@ static struct platform_device ek_button_
  
  static void __init ek_add_device_buttons(void)
  {
  
  static void __init ek_add_device_buttons(void)
  {
        at91_set_deglitch(AT91_PIN_PC4, 1);
  
        platform_device_register(&ek_button_device);
        at91_set_deglitch(AT91_PIN_PC4, 1);
  
        platform_device_register(&ek_button_device);
-@@ -341,7 +336,7 @@
+@@ -341,7 +336,7 @@ static struct gpio_led ek_leds[] = {
                .name                   = "ds3",
                .gpio                   = AT91_PIN_PB7,
                .default_trigger        = "heartbeat",
                .name                   = "ds3",
                .gpio                   = AT91_PIN_PB7,
                .default_trigger        = "heartbeat",
  };
  
  
  };
  
  
-@@ -374,6 +369,9 @@
+@@ -374,6 +369,9 @@ static void __init ek_board_init(void)
        at91_add_device_ac97(&ek_ac97_data);
        /* LEDs */
        at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
        at91_add_device_ac97(&ek_ac97_data);
        /* LEDs */
        at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
  }
  
  static void __init ek_init_irq(void)
  }
  
  static void __init ek_init_irq(void)
-@@ -61,6 +56,14 @@
+@@ -61,6 +56,14 @@ static void __init ek_init_irq(void)
  
  
  /*
  
  
  /*
   * MCI (SD/MMC)
   */
  static struct at91_mmc_data __initdata ek_mmc_data = {
   * MCI (SD/MMC)
   */
  static struct at91_mmc_data __initdata ek_mmc_data = {
-@@ -180,6 +183,8 @@
+@@ -180,6 +183,8 @@ static void __init ek_board_init(void)
  {
        /* Serial */
        at91_add_device_serial();
  {
        /* Serial */
        at91_add_device_serial();
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        /* NAND */
        /* I2C */
        at91_add_device_i2c(NULL, 0);
        /* NAND */
-@@ -190,6 +195,9 @@
+@@ -190,6 +195,9 @@ static void __init ek_board_init(void)
        at91_add_device_mmc(0, &ek_mmc_data);
        /* LCD Controller */
        at91_add_device_lcdc(&ek_lcdc_data);
        at91_add_device_mmc(0, &ek_mmc_data);
        /* LCD Controller */
        at91_add_device_lcdc(&ek_lcdc_data);
  
  
  /*
  
  
  /*
-@@ -113,12 +114,34 @@
+@@ -113,12 +114,34 @@ static void pmc_sys_mode(struct clk *clk
                at91_sys_write(AT91_PMC_SCDR, clk->pmc_mask);
  }
  
                at91_sys_write(AT91_PMC_SCDR, clk->pmc_mask);
  }
  
  static struct clk uhpck = {
        .name           = "uhpck",
        .parent         = &pllb,
  static struct clk uhpck = {
        .name           = "uhpck",
        .parent         = &pllb,
-@@ -254,6 +277,23 @@
+@@ -254,6 +277,23 @@ EXPORT_SYMBOL(clk_get_rate);
  
  /*------------------------------------------------------------------------*/
  
  
  /*------------------------------------------------------------------------*/
  
  #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
  
  /*
  #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
  
  /*
-@@ -362,7 +402,7 @@
+@@ -362,7 +402,7 @@ static void __init init_programmable_clo
  
  static int at91_clk_show(struct seq_file *s, void *unused)
  {
  
  static int at91_clk_show(struct seq_file *s, void *unused)
  {
        struct clk      *clk;
  
        seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR));
        struct clk      *clk;
  
        seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR));
-@@ -370,7 +410,10 @@
+@@ -370,7 +410,10 @@ static int at91_clk_show(struct seq_file
        seq_printf(s, "MOR  = %8x\n", at91_sys_read(AT91_CKGR_MOR));
        seq_printf(s, "MCFR = %8x\n", at91_sys_read(AT91_CKGR_MCFR));
        seq_printf(s, "PLLA = %8x\n", at91_sys_read(AT91_CKGR_PLLAR));
        seq_printf(s, "MOR  = %8x\n", at91_sys_read(AT91_CKGR_MOR));
        seq_printf(s, "MCFR = %8x\n", at91_sys_read(AT91_CKGR_MCFR));
        seq_printf(s, "PLLA = %8x\n", at91_sys_read(AT91_CKGR_PLLAR));
        seq_printf(s, "MCKR = %8x\n", at91_sys_read(AT91_PMC_MCKR));
        seq_printf(s, "SR   = %8x\n", sr = at91_sys_read(AT91_PMC_SR));
  
        seq_printf(s, "MCKR = %8x\n", at91_sys_read(AT91_PMC_MCKR));
        seq_printf(s, "SR   = %8x\n", sr = at91_sys_read(AT91_PMC_SR));
  
-@@ -383,6 +426,8 @@
+@@ -383,6 +426,8 @@ static int at91_clk_show(struct seq_file
                        state = (scsr & clk->pmc_mask) ? "on" : "off";
                else if (clk->mode == pmc_periph_mode)
                        state = (pcsr & clk->pmc_mask) ? "on" : "off";
                        state = (scsr & clk->pmc_mask) ? "on" : "off";
                else if (clk->mode == pmc_periph_mode)
                        state = (pcsr & clk->pmc_mask) ? "on" : "off";
                else if (clk->pmc_mask)
                        state = (sr & clk->pmc_mask) ? "on" : "off";
                else if (clk == &clk32k || clk == &main_clk)
                else if (clk->pmc_mask)
                        state = (sr & clk->pmc_mask) ? "on" : "off";
                else if (clk == &clk32k || clk == &main_clk)
-@@ -583,6 +628,17 @@
+@@ -583,6 +628,17 @@ int __init at91_clock_init(unsigned long
        uhpck.rate_hz = at91_usb_rate(&pllb, pllb.rate_hz, at91_pllb_usb_init);
  
        /*
        uhpck.rate_hz = at91_usb_rate(&pllb, pllb.rate_hz, at91_pllb_usb_init);
  
        /*
         * MCK and CPU derive from one of those primary clocks.
         * For now, assume this parentage won't change.
         */
         * MCK and CPU derive from one of those primary clocks.
         * For now, assume this parentage won't change.
         */
-@@ -599,6 +655,9 @@
+@@ -599,6 +655,9 @@ int __init at91_clock_init(unsigned long
        for (i = 0; i < ARRAY_SIZE(standard_pmc_clocks); i++)
                list_add_tail(&standard_pmc_clocks[i]->node, &clocks);
  
        for (i = 0; i < ARRAY_SIZE(standard_pmc_clocks); i++)
                list_add_tail(&standard_pmc_clocks[i]->node, &clocks);
  
  
 --- a/arch/arm/mach-at91/generic.h
 +++ b/arch/arm/mach-at91/generic.h
  
 --- 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);
   /* 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
  #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;
   * category than their parents, so it won't report false recursion.
   */
  static struct lock_class_key gpio_lock_class;
-@@ -557,6 +558,7 @@
+@@ -557,6 +558,7 @@ void __init at91_gpio_init(struct at91_g
                data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS;
  
                /* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */
                data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS;
  
                /* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */
  
  static int at91_pm_valid_state(suspend_state_t state)
  {
  
  static int at91_pm_valid_state(suspend_state_t state)
  {
-@@ -62,6 +194,7 @@
+@@ -62,6 +194,7 @@ static int at91_pm_begin(suspend_state_t
   * Verify that all the clocks are correct before entering
   * slow-clock mode.
   */
   * Verify that all the clocks are correct before entering
   * slow-clock mode.
   */
  static int at91_pm_verify_clocks(void)
  {
        unsigned long scsr;
  static int at91_pm_verify_clocks(void)
  {
        unsigned long scsr;
-@@ -107,24 +240,24 @@
+@@ -107,24 +240,24 @@ static int at91_pm_verify_clocks(void)
  }
  
  /*
  }
  
  /*
  
  static int at91_pm_enter(suspend_state_t state)
  {
  
  static int at91_pm_enter(suspend_state_t state)
  {
-@@ -158,11 +291,14 @@
+@@ -158,11 +291,14 @@ static int at91_pm_enter(suspend_state_t
                         * turning off the main oscillator; reverse on wakeup.
                         */
                        if (slow_clock) {
                         * turning off the main oscillator; reverse on wakeup.
                         */
                        if (slow_clock) {
                                /* FALLTHROUGH leaving master clock alone */
                        }
  
                                /* FALLTHROUGH leaving master clock alone */
                        }
  
-@@ -175,13 +311,15 @@
+@@ -175,13 +311,15 @@ static int at91_pm_enter(suspend_state_t
                case PM_SUSPEND_STANDBY:
                        /*
                         * NOTE: the Wait-for-Interrupt instruction needs to be
                case PM_SUSPEND_STANDBY:
                        /*
                         * NOTE: the Wait-for-Interrupt instruction needs to be
  
                case PM_SUSPEND_ON:
                        asm("mcr p15, 0, r0, c7, c0, 4");       /* wait for interrupt */
  
                case PM_SUSPEND_ON:
                        asm("mcr p15, 0, r0, c7, c0, 4");       /* wait for interrupt */
-@@ -196,6 +334,7 @@
+@@ -196,6 +334,7 @@ static int at91_pm_enter(suspend_state_t
                        at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR));
  
  error:
                        at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR));
  
  error:
        target_state = PM_SUSPEND_ON;
        at91_irq_resume();
        at91_gpio_resume();
        target_state = PM_SUSPEND_ON;
        at91_irq_resume();
        at91_gpio_resume();
-@@ -220,21 +359,20 @@
+@@ -220,21 +359,20 @@ static struct platform_suspend_ops at91_
  
  static int __init at91_pm_init(void)
  {
  
  static int __init at91_pm_init(void)
  {
 +      .word .-at91_slow_clock
 --- a/arch/arm/mach-ks8695/Makefile
 +++ b/arch/arm/mach-ks8695/Makefile
 +      .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
  
  # 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
  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
  
  
  #endif
  
  
  /*
 --- a/arch/arm/mach-ks8695/gpio.c
 +++ b/arch/arm/mach-ks8695/gpio.c
  /*
 --- 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)
        /* 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 */
        __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
        /* set pin as output */
-@@ -168,9 +168,9 @@
+@@ -168,9 +168,9 @@ void gpio_set_value(unsigned int pin, un
        /* set output line state */
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
        if (state)
        /* set output line state */
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
        if (state)
        __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
        local_irq_restore(flags);
        __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD);
  
        local_irq_restore(flags);
-@@ -189,7 +189,7 @@
+@@ -189,7 +189,7 @@ int gpio_get_value(unsigned int pin)
                return -EINVAL;
  
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
                return -EINVAL;
  
        x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD);
 +__initcall(leds_init);
 --- a/arch/arm/mach-ks8695/pci.c
 +++ b/arch/arm/mach-ks8695/pci.c
 +__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,
  };
  
        .write  = ks8695_pci_writeconfig,
  };
  
  }
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
  }
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -1056,5 +1056,21 @@
+@@ -1056,5 +1056,21 @@ config DEVPORT
  
  source "drivers/s390/char/Kconfig"
  
  
  source "drivers/s390/char/Kconfig"
  
  
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
  
 --- 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
  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
 +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.
  
          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
  config I2C_AU1550
        tristate "Au1550/Au1200 SMBus interface"
        depends on SOC_AU1550 || SOC_AU1200
-@@ -626,6 +634,14 @@
+@@ -626,6 +634,14 @@ config I2C_VOODOO3
          This driver can also be built as a module.  If so, the module
          will be called i2c-voodoo3.
  
          This driver can also be built as a module.  If so, the module
          will be called i2c-voodoo3.
  
        depends on ISA
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
        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
  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;
  
  static struct clk *twi_clk;
  static void __iomem *twi_base;
-@@ -53,7 +56,7 @@
+@@ -53,7 +56,7 @@ static void __devinit at91_twi_hwinit(vo
        at91_twi_write(AT91_TWI_CR, AT91_TWI_MSEN);     /* Set Master mode */
  
        /* Calcuate clock dividers */
        at91_twi_write(AT91_TWI_CR, AT91_TWI_MSEN);     /* Set Master mode */
  
        /* Calcuate clock dividers */
        cdiv = cdiv + 1;        /* round up */
        ckdiv = 0;
        while (cdiv > 255) {
        cdiv = cdiv + 1;        /* round up */
        ckdiv = 0;
        while (cdiv > 255) {
-@@ -61,11 +64,12 @@
+@@ -61,11 +64,12 @@ static void __devinit at91_twi_hwinit(vo
                cdiv = cdiv >> 1;
        }
  
                cdiv = cdiv >> 1;
        }
  
 +MODULE_LICENSE("GPL");
 --- a/drivers/mmc/host/at91_mci.c
 +++ b/drivers/mmc/host/at91_mci.c
 +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) {
        /* 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
  }
 --- 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.
  
          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
 +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
  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
 +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
          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)
   * Hardware specific access to control-lines
   */
  static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
-@@ -44,6 +113,13 @@
+@@ -44,6 +113,13 @@ static void at91_nand_cmd_ctrl(struct mt
        struct nand_chip *nand_chip = mtd->priv;
        struct at91_nand_host *host = nand_chip->priv;
  
        struct nand_chip *nand_chip = mtd->priv;
        struct at91_nand_host *host = nand_chip->priv;
  
        if (cmd == NAND_CMD_NONE)
                return;
  
        if (cmd == NAND_CMD_NONE)
                return;
  
-@@ -65,27 +141,249 @@
+@@ -65,27 +141,249 @@ static int at91_nand_device_ready(struct
  }
  
  /*
  }
  
  /*
  /*
   * Probe for the NAND device.
   */
  /*
   * Probe for the NAND device.
   */
-@@ -94,6 +392,8 @@
+@@ -94,6 +392,8 @@ static int __init at91_nand_probe(struct
        struct at91_nand_host *host;
        struct mtd_info *mtd;
        struct nand_chip *nand_chip;
        struct at91_nand_host *host;
        struct mtd_info *mtd;
        struct nand_chip *nand_chip;
        int res;
  
  #ifdef CONFIG_MTD_PARTITIONS
        int res;
  
  #ifdef CONFIG_MTD_PARTITIONS
-@@ -108,8 +408,13 @@
+@@ -108,8 +408,13 @@ static int __init at91_nand_probe(struct
                return -ENOMEM;
        }
  
                return -ENOMEM;
        }
  
        if (host->io_base == NULL) {
                printk(KERN_ERR "at91_nand: ioremap failed\n");
                kfree(host);
        if (host->io_base == NULL) {
                printk(KERN_ERR "at91_nand: ioremap failed\n");
                kfree(host);
-@@ -119,6 +424,7 @@
+@@ -119,6 +424,7 @@ static int __init at91_nand_probe(struct
        mtd = &host->mtd;
        nand_chip = &host->nand_chip;
        host->board = pdev->dev.platform_data;
        mtd = &host->mtd;
        nand_chip = &host->nand_chip;
        host->board = pdev->dev.platform_data;
  
        nand_chip->priv = host;         /* link the private data structures */
        mtd->priv = nand_chip;
  
        nand_chip->priv = host;         /* link the private data structures */
        mtd->priv = nand_chip;
-@@ -132,11 +438,40 @@
+@@ -132,11 +438,40 @@ static int __init at91_nand_probe(struct
        if (host->board->rdy_pin)
                nand_chip->dev_ready = at91_nand_device_ready;
  
        if (host->board->rdy_pin)
                nand_chip->dev_ready = at91_nand_device_ready;
  
  
        platform_set_drvdata(pdev, host);
        at91_nand_enable(host);
  
        platform_set_drvdata(pdev, host);
        at91_nand_enable(host);
-@@ -149,8 +484,60 @@
+@@ -149,8 +484,60 @@ static int __init at91_nand_probe(struct
                }
        }
  
                }
        }
  
                res = -ENXIO;
                goto out;
        }
                res = -ENXIO;
                goto out;
        }
-@@ -179,8 +566,11 @@
+@@ -179,8 +566,11 @@ static int __init at91_nand_probe(struct
        if (!res)
                return res;
  
        if (!res)
                return res;
  
  out:
        at91_nand_disable(host);
        platform_set_drvdata(pdev, NULL);
  out:
        at91_nand_disable(host);
        platform_set_drvdata(pdev, NULL);
-@@ -192,7 +582,7 @@
+@@ -192,7 +582,7 @@ out:
  /*
   * Remove a NAND device.
   */
  /*
   * Remove a NAND device.
   */
  {
        struct at91_nand_host *host = platform_get_drvdata(pdev);
        struct mtd_info *mtd = &host->mtd;
  {
        struct at91_nand_host *host = platform_get_drvdata(pdev);
        struct mtd_info *mtd = &host->mtd;
-@@ -208,8 +598,7 @@
+@@ -208,8 +598,7 @@ static int __devexit at91_nand_remove(st
  }
  
  static struct platform_driver at91_nand_driver = {
  }
  
  static struct platform_driver at91_nand_driver = {
        .driver         = {
                .name   = "at91_nand",
                .owner  = THIS_MODULE,
        .driver         = {
                .name   = "at91_nand",
                .owner  = THIS_MODULE,
-@@ -218,7 +607,7 @@
+@@ -218,7 +607,7 @@ static struct platform_driver at91_nand_
  
  static int __init at91_nand_init(void)
  {
  
  static int __init at91_nand_init(void)
  {
  }
  
  
  }
  
  
-@@ -233,4 +622,4 @@
+@@ -233,4 +622,4 @@ module_exit(at91_nand_exit);
  
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("Rick Bronson");
  
  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
 +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.
        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
 +        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
  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;
        }
                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;
                read_phy(lp->phy_address, MII_TPISTATUS, &phy);         /* ack interrupt in Micrel PHY */
                if (!(phy & ((1 << 2) | 1)))
                        goto done;
-@@ -286,7 +286,7 @@
+@@ -286,7 +286,7 @@ static void enable_phyirq(struct net_dev
                dsintr = (1 << 15) | ( 1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
                dsintr = (1 << 15) | ( 1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
                dsintr = (1 << 10) | ( 1 << 8);
                write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
        }
                dsintr = (1 << 10) | ( 1 << 8);
                write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
        }
-@@ -341,7 +341,7 @@
+@@ -341,7 +341,7 @@ static void disable_phyirq(struct net_de
                dsintr = ~(1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
                dsintr = ~(1 << 14);
                write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr);
        }
                read_phy(lp->phy_address, MII_TPISTATUS, &dsintr);
                dsintr = ~((1 << 10) | (1 << 8));
                write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
                read_phy(lp->phy_address, MII_TPISTATUS, &dsintr);
                dsintr = ~((1 << 10) | (1 << 8));
                write_phy(lp->phy_address, MII_TPISTATUS, dsintr);
-@@ -820,7 +820,7 @@
+@@ -820,7 +820,7 @@ static int at91ether_tx(struct sk_buff *
                lp->skb = skb;
                lp->skb_length = skb->len;
                lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE);
                lp->skb = skb;
                lp->skb_length = skb->len;
                lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE);
  
                /* Set address of the data in the Transmit Address register */
                at91_emac_write(AT91_EMAC_TAR, lp->skb_physaddr);
  
                /* Set address of the data in the Transmit Address register */
                at91_emac_write(AT91_EMAC_TAR, lp->skb_physaddr);
-@@ -843,34 +843,32 @@
+@@ -843,34 +843,32 @@ static int at91ether_tx(struct sk_buff *
   */
  static struct net_device_stats *at91ether_stats(struct net_device *dev)
  {
   */
  static struct net_device_stats *at91ether_stats(struct net_device *dev)
  {
  }
  
  /*
  }
  
  /*
-@@ -896,16 +894,16 @@
+@@ -896,16 +894,16 @@ static void at91ether_rx(struct net_devi
  
                        skb->protocol = eth_type_trans(skb, dev);
                        dev->last_rx = jiffies;
  
                        skb->protocol = eth_type_trans(skb, dev);
                        dev->last_rx = jiffies;
  
                dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE;    /* reset ownership bit */
                if (lp->rxBuffIndex == MAX_RX_DESCR-1)                          /* wrap after last buffer */
  
                dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE;    /* reset ownership bit */
                if (lp->rxBuffIndex == MAX_RX_DESCR-1)                          /* wrap after last buffer */
-@@ -934,7 +932,7 @@
+@@ -934,7 +932,7 @@ static irqreturn_t at91ether_interrupt(i
        if (intstatus & AT91_EMAC_TCOM) {       /* Transmit complete */
                /* The TCOM bit is set even if the transmission failed. */
                if (intstatus & (AT91_EMAC_TUND | AT91_EMAC_RTRY))
        if (intstatus & AT91_EMAC_TCOM) {       /* Transmit complete */
                /* The TCOM bit is set even if the transmission failed. */
                if (intstatus & (AT91_EMAC_TUND | AT91_EMAC_RTRY))
  
                if (lp->skb) {
                        dev_kfree_skb_irq(lp->skb);
  
                if (lp->skb) {
                        dev_kfree_skb_irq(lp->skb);
-@@ -978,15 +976,22 @@
+@@ -978,15 +976,22 @@ static int __init at91ether_setup(unsign
        struct net_device *dev;
        struct at91_private *lp;
        unsigned int val;
        struct net_device *dev;
        struct at91_private *lp;
        unsigned int val;
  
        /* Install the interrupt handler */
        if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) {
  
        /* Install the interrupt handler */
        if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) {
-@@ -1043,7 +1048,9 @@
+@@ -1043,7 +1048,9 @@ static int __init at91ether_setup(unsign
        } else if (machine_is_csb337()) {
                /* mix link activity status into LED2 link state */
                write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22);
        } else if (machine_is_csb337()) {
                /* mix link activity status into LED2 link state */
                write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22);
        disable_mdi();
        spin_unlock_irq(&lp->lock);
  
        disable_mdi();
        spin_unlock_irq(&lp->lock);
  
-@@ -1058,12 +1065,12 @@
+@@ -1058,12 +1065,12 @@ static int __init at91ether_setup(unsign
        lp->phy_address = phy_address;  /* MDI address of PHY */
  
        /* Register the network interface */
        lp->phy_address = phy_address;  /* MDI address of PHY */
  
        /* Register the network interface */
        }
  
        /* Determine current link speed */
        }
  
        /* Determine current link speed */
-@@ -1101,6 +1108,8 @@
+@@ -1101,6 +1108,8 @@ static int __init at91ether_setup(unsign
                printk(KERN_INFO "%s: National Semiconductor DP83848 PHY\n", dev->name);
        else if (phy_type == MII_AC101L_ID)
                printk(KERN_INFO "%s: Altima AC101L PHY\n", dev->name);
                printk(KERN_INFO "%s: National Semiconductor DP83848 PHY\n", dev->name);
        else if (phy_type == MII_AC101L_ID)
                printk(KERN_INFO "%s: Altima AC101L PHY\n", dev->name);
        else if (phy_type == MII_KS8721_ID)
                printk(KERN_INFO "%s: Micrel KS8721 PHY\n", dev->name);
        else if (phy_type == MII_T78Q21x3_ID)
        else if (phy_type == MII_KS8721_ID)
                printk(KERN_INFO "%s: Micrel KS8721 PHY\n", dev->name);
        else if (phy_type == MII_T78Q21x3_ID)
-@@ -1146,6 +1155,7 @@
+@@ -1146,6 +1155,7 @@ static int __init at91ether_probe(struct
                        case MII_DP83847_ID:            /* National Semiconductor DP83847:  */
                        case MII_DP83848_ID:            /* National Semiconductor DP83848:  */
                        case MII_AC101L_ID:             /* Altima AC101L: PHY_ID1 = 0x22, PHY_ID2 = 0x5520 */
                        case MII_DP83847_ID:            /* National Semiconductor DP83847:  */
                        case MII_DP83848_ID:            /* National Semiconductor DP83848:  */
                        case MII_AC101L_ID:             /* Altima AC101L: PHY_ID1 = 0x22, PHY_ID2 = 0x5520 */
                        case MII_KS8721_ID:             /* Micrel KS8721: PHY_ID1 = 0x22, PHY_ID2 = 0x1610 */
                        case MII_T78Q21x3_ID:           /* Teridian 78Q21x3: PHY_ID1 = 0x0E, PHY_ID2 = 7237 */
                        case MII_LAN83C185_ID:          /* SMSC LAN83C185: PHY_ID1 = 0x0007, PHY_ID2 = 0xC0A1 */
                        case MII_KS8721_ID:             /* Micrel KS8721: PHY_ID1 = 0x22, PHY_ID2 = 0x1610 */
                        case MII_T78Q21x3_ID:           /* Teridian 78Q21x3: PHY_ID1 = 0x0E, PHY_ID2 = 7237 */
                        case MII_LAN83C185_ID:          /* SMSC LAN83C185: PHY_ID1 = 0x0007, PHY_ID2 = 0xC0A1 */
-@@ -1246,3 +1256,4 @@
+@@ -1246,3 +1256,4 @@ module_exit(at91ether_exit)
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver");
  MODULE_AUTHOR("Andrew Victor");
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver");
  MODULE_AUTHOR("Andrew Victor");
  /* Micrel KS8721 PHY */
  #define MII_KS8721_ID         0x00221610
  
  /* Micrel KS8721 PHY */
  #define MII_KS8721_ID         0x00221610
  
-@@ -84,7 +87,6 @@
+@@ -84,7 +87,6 @@ struct recv_desc_bufs
  
  struct at91_private
  {
  
  struct at91_private
  {
 +#endif
 --- a/drivers/rtc/Kconfig
 +++ b/drivers/rtc/Kconfig
 +#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
          this is powered by the backup power supply.
  
  config RTC_DRV_AT91SAM9
  
  #include <asm/arch/at91_rtc.h>
  
  
  #include <asm/arch/at91_rtc.h>
  
-@@ -307,12 +304,6 @@
+@@ -307,12 +304,6 @@ static int __init at91_rtc_probe(struct 
                return ret;
        }
  
                return ret;
        }
  
  #include <asm/arch/at91_rtt.h>
  
  
  #include <asm/arch/at91_rtt.h>
  
  
-@@ -150,6 +151,9 @@
+@@ -150,6 +151,9 @@ static int at91_rtc_settime(struct devic
        return 0;
  }
  
        return 0;
  }
  
  static int at91_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
        struct sam9_rtc *rtc = dev_get_drvdata(dev);
  static int at91_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
        struct sam9_rtc *rtc = dev_get_drvdata(dev);
-@@ -176,6 +180,9 @@
+@@ -176,6 +180,9 @@ static int at91_rtc_readalarm(struct dev
        return 0;
  }
  
        return 0;
  }
  
  static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
        struct sam9_rtc *rtc = dev_get_drvdata(dev);
  static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
  {
        struct sam9_rtc *rtc = dev_get_drvdata(dev);
-@@ -321,10 +328,6 @@
+@@ -321,10 +328,6 @@ static int __init at91_rtc_probe(struct 
        if (!rtc)
                return -ENOMEM;
  
        if (!rtc)
                return -ENOMEM;
  
        rtc->rtt += r->start;
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
        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.
  
  
          If unsure, say N.
  
        depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
        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
  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
 +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
  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
        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
         */
        if ((!udc->suspended && udc->addr)
                        || !wake
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
-@@ -324,53 +326,6 @@
+@@ -324,53 +326,6 @@ static int vbus_is_present(struct usba_u
        return 1;
  }
  
        return 1;
  }
  
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
        unsigned int transaction_len;
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
        unsigned int transaction_len;
-@@ -387,7 +342,7 @@
+@@ -387,7 +342,7 @@ static void next_fifo_transaction(struct
                ep->ep.name, req, transaction_len,
                req->last_transaction ? ", done" : "");
  
                ep->ep.name, req, transaction_len,
                req->last_transaction ? ", done" : "");
  
        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
        req->req.actual += transaction_len;
  }
        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
        req->req.actual += transaction_len;
  }
-@@ -476,7 +431,7 @@
+@@ -476,7 +431,7 @@ static void receive_data(struct usba_ep 
                        bytecount = req->req.length - req->req.actual;
                }
  
                        bytecount = req->req.length - req->req.actual;
                }
  
                                ep->fifo, bytecount);
                req->req.actual += bytecount;
  
                                ep->fifo, bytecount);
                req->req.actual += bytecount;
  
-@@ -1029,33 +984,6 @@
+@@ -1029,33 +984,6 @@ static const struct usb_gadget_ops usba_
        .set_selfpowered        = usba_udc_set_selfpowered,
  };
  
        .set_selfpowered        = usba_udc_set_selfpowered,
  };
  
  static struct usb_endpoint_descriptor usba_ep0_desc = {
        .bLength = USB_DT_ENDPOINT_SIZE,
        .bDescriptorType = USB_DT_ENDPOINT,
  static struct usb_endpoint_descriptor usba_ep0_desc = {
        .bLength = USB_DT_ENDPOINT_SIZE,
        .bDescriptorType = USB_DT_ENDPOINT,
-@@ -1074,7 +1002,6 @@
+@@ -1074,7 +1002,6 @@ static void nop_release(struct device *d
  static struct usba_udc the_udc = {
        .gadget = {
                .ops            = &usba_udc_ops,
  static struct usba_udc the_udc = {
        .gadget = {
                .ops            = &usba_udc_ops,
                .ep_list        = LIST_HEAD_INIT(the_udc.gadget.ep_list),
                .is_dualspeed   = 1,
                .name           = "atmel_usba_udc",
                .ep_list        = LIST_HEAD_INIT(the_udc.gadget.ep_list),
                .is_dualspeed   = 1,
                .name           = "atmel_usba_udc",
-@@ -1231,7 +1158,7 @@
+@@ -1231,7 +1158,7 @@ static int do_test_mode(struct usba_udc 
                } else {
                        usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
                        usba_writel(udc, TST, USBA_TST_PKT_MODE);
                } else {
                        usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
                        usba_writel(udc, TST, USBA_TST_PKT_MODE);
                                        sizeof(test_packet_buffer));
                        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
                        dev_info(dev, "Entering Test_Packet mode...\n");
                                        sizeof(test_packet_buffer));
                        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
                        dev_info(dev, "Entering Test_Packet mode...\n");
-@@ -1530,13 +1457,13 @@
+@@ -1530,13 +1457,13 @@ restart:
                DBG(DBG_HW, "Packet length: %u\n", pkt_len);
                if (pkt_len != sizeof(crq)) {
                        pr_warning("udc: Invalid packet length %u "
                DBG(DBG_HW, "Packet length: %u\n", pkt_len);
                if (pkt_len != sizeof(crq)) {
                        pr_warning("udc: Invalid packet length %u "
  
                /* Free up one bank in the FIFO so that we can
                 * generate or receive a reply right away. */
  
                /* Free up one bank in the FIFO so that we can
                 * generate or receive a reply right away. */
-@@ -1908,7 +1835,7 @@
+@@ -1908,7 +1835,7 @@ static int __init usba_udc_probe(struct 
  
        regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
        fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
  
        regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
        fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
                return -ENXIO;
  
        irq = platform_get_irq(pdev, 0);
                return -ENXIO;
  
        irq = platform_get_irq(pdev, 0);
-@@ -1956,16 +1883,44 @@
+@@ -1956,16 +1883,44 @@ static int __init usba_udc_probe(struct 
        usba_writel(udc, CTRL, 0);
        clk_disable(pclk);
  
        usba_writel(udc, CTRL, 0);
        clk_disable(pclk);
  
  
                list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
        }
  
                list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
        }
-@@ -1984,7 +1939,7 @@
+@@ -1984,7 +1939,7 @@ static int __init usba_udc_probe(struct 
                goto err_device_add;
        }
  
                goto err_device_add;
        }
  
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
-@@ -2004,7 +1959,7 @@
+@@ -2004,7 +1959,7 @@ static int __init usba_udc_probe(struct 
        }
  
        usba_init_debugfs(udc);
        }
  
        usba_init_debugfs(udc);
                usba_ep_init_debugfs(udc, &usba_ep[i]);
  
        return 0;
                usba_ep_init_debugfs(udc, &usba_ep[i]);
  
        return 0;
-@@ -2012,6 +1967,8 @@
+@@ -2012,6 +1967,8 @@ static int __init usba_udc_probe(struct 
  err_device_add:
        free_irq(irq, udc);
  err_request_irq:
  err_device_add:
        free_irq(irq, udc);
  err_request_irq:
        iounmap(udc->fifo);
  err_map_fifo:
        iounmap(udc->regs);
        iounmap(udc->fifo);
  err_map_fifo:
        iounmap(udc->regs);
-@@ -2029,10 +1986,11 @@
+@@ -2029,10 +1986,11 @@ static int __exit usba_udc_remove(struct
  {
        struct usba_udc *udc;
        int i;
  {
        struct usba_udc *udc;
        int i;
  
 --- a/drivers/usb/host/ohci-at91.c
 +++ b/drivers/usb/host/ohci-at91.c
  
 --- 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...
         */
         *
         * REVISIT: some boards will be able to turn VBUS off...
         */
        }
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
        }
 --- 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>.
  
          framebuffer.  Product specs at
          <http://www.erd.epson.com/vdc/html/products.htm>.
  
        depends on FB
 --- a/drivers/video/Makefile
 +++ b/drivers/video/Makefile
        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
  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
  #define ATMEL_LCDC_FIFO_SIZE          2048
  #else
  #define ATMEL_LCDC_FIFO_SIZE          512
-@@ -903,11 +903,45 @@
+@@ -903,11 +903,45 @@ static int __exit atmel_lcdfb_remove(str
        return 0;
  }
  
        return 0;
  }
  
                .owner  = THIS_MODULE,
 --- a/drivers/video/backlight/Kconfig
 +++ b/drivers/video/backlight/Kconfig
                .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.
        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
 +        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
  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
 +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.
  
          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
        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
  
  # ARM Architecture
  obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o
  
   /* USB Device */
  struct at91_udc_data {
  
   /* USB Device */
  struct at91_udc_data {
-@@ -45,6 +46,9 @@
+@@ -45,6 +46,9 @@ struct at91_udc_data {
  };
  extern void __init at91_add_device_udc(struct at91_udc_data *data);
  
  };
  extern void __init at91_add_device_udc(struct at91_udc_data *data);
  
   /* Compact Flash */
  struct at91_cf_data {
        u8      irq_pin;                /* I/O IRQ */
   /* Compact Flash */
  struct at91_cf_data {
        u8      irq_pin;                /* I/O IRQ */
-@@ -158,6 +162,9 @@
+@@ -158,6 +162,9 @@ extern void __init at91_add_device_ac97(
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
  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
  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);
  }
  
        return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH);
  }
  
  
  #ifdef CONFIG_ARCH_AT91RM9200
  #define cpu_is_at91rm9200()   (at91_cpu_identify() == ARCH_ID_AT91RM9200)
  
  #ifdef CONFIG_ARCH_AT91RM9200
  #define cpu_is_at91rm9200()   (at91_cpu_identify() == ARCH_ID_AT91RM9200)
-@@ -83,8 +94,12 @@
+@@ -83,8 +94,12 @@ static inline unsigned long at91_arch_id
  
  #ifdef CONFIG_ARCH_AT91CAP9
  #define cpu_is_at91cap9()     (at91_cpu_identify() == ARCH_ID_AT91CAP9)
  
  #ifdef CONFIG_ARCH_AT91CAP9
  #define cpu_is_at91cap9()     (at91_cpu_identify() == ARCH_ID_AT91CAP9)
  #elif defined(CONFIG_ARCH_AT91SAM9RL)
 --- a/include/asm-arm/arch-ks8695/devices.h
 +++ b/include/asm-arm/arch-ks8695/devices.h
  #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);
  
  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
  #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);
  
   */
  struct clk *clk_get_parent(struct clk *clk);
  
 +
 --- a/include/video/atmel_lcdc.h
 +++ b/include/video/atmel_lcdc.h
 +
 --- 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;
        u8                      bl_power;
  #endif
        bool                    lcdcon_is_backlight;
  static struct clk *pck1_clk;
  static struct clk *pllb_clk;
  
  static struct clk *pck1_clk;
  static struct clk *pllb_clk;
  
-@@ -276,7 +268,6 @@
+@@ -276,7 +268,6 @@ static struct platform_device *eti_b1_sn
  static int __init eti_b1_init(void)
  {
        int ret;
  static int __init eti_b1_init(void)
  {
        int ret;
        struct at91_ssc_periph *ssc = eti_b1_dai.cpu_dai->private_data;
  
        if (!request_mem_region(AT91RM9200_BASE_SSC1, SZ_16K, "soc-audio")) {
        struct at91_ssc_periph *ssc = eti_b1_dai.cpu_dai->private_data;
  
        if (!request_mem_region(AT91RM9200_BASE_SSC1, SZ_16K, "soc-audio")) {
-@@ -310,19 +301,12 @@
+@@ -310,19 +301,12 @@ static int __init eti_b1_init(void)
                goto fail_io_unmap;
        }
  
                goto fail_io_unmap;
        }
  
         * Set PCK1 parent to PLLB and its rate to 12 Mhz.
 --- a/sound/spi/at73c213.c
 +++ b/sound/spi/at73c213.c
         * 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,
  static struct snd_pcm_hardware snd_at73c213_playback_hw = {
        .info           = SNDRV_PCM_INFO_INTERLEAVED |
                          SNDRV_PCM_INFO_BLOCK_TRANSFER,
index ee23cc8c5c10a83ffe5807ed5d9f3be42b99877b..76e3698c52ef13b29f11b6af533cb7b347bcf562 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/Kconfig
 +++ b/arch/arm/mach-at91/Kconfig
 --- 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.
  
        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
  # ----------------------------------------------------------
 --- 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
  obj-$(CONFIG_MACH_ATEB9200)   += board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)               += board-kafa.o
  obj-$(CONFIG_MACH_CHUB)               += board-chub.o
index 20e1fe77299f93f009d10af53ac2ee9f943ea814..595720dcb237d612dcc051d910902d16ac1bac6d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
 --- 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
  
  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
   *  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
  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
 +__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);
  
   /* ISI */
  extern void __init at91_add_device_isi(void);
  
index f27b361051869d8926b80610a200e35e83f406f9..3968c6b2d557a30843c5ec143ad472ff09084337 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/board-vlink.c
 +++ b/arch/arm/mach-at91/board-vlink.c
 --- 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 = {
  */
  
  static struct at91_mmc_data __initdata vlink_mmc_data = {
@@ -9,7 +9,7 @@
        .slot_b         = 0,
        .wire4          = 1,
  //    .wp_pin         = AT91_PIN_PA17,
        .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)
  {
  
  static void __init vlink_board_init(void)
  {
@@ -17,7 +17,7 @@
        /* Serial */
        at91_add_device_serial();
        /* Ethernet */
        /* 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
  //    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)
  
  
  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);
  {
        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);
        __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);
  {
        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);
        __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);
  {
        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));
        __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);
  
  }
  EXPORT_SYMBOL(at91_get_gpio_value);
  
  #ifdef CONFIG_PM
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
  #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.
  
          The SPI driver gives user mode access to this serial
          bus on the AT91RM9200 processor.
  
  
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
  
 --- 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
  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
 +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);
  /* callable at any time */
  extern int at91_set_gpio_value(unsigned pin, int value);
  extern int at91_get_gpio_value(unsigned pin);
index 80602596ad1fb691b655918e0664ea9788230314..503c89200b2e6a299ebe92ef7a0f33b917f07dae 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/at91_dataflash.c
 +++ b/drivers/mtd/devices/at91_dataflash.c
 --- 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
  
  };
  #endif
  
@@ -11,7 +11,7 @@
  
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
  
 --- 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.
  
          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
  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
  obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
  obj-$(CONFIG_MTD_AFS_PARTS)   += afs.o
  obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o
index 331990168b3b84ce3052fedd57510b502d61235e..cf11ac0da5d5ee0aff2cf88a8ced0fc508dd59ad 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/serial/atmel_serial.c
 +++ b/drivers/serial/atmel_serial.c
 --- 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);
                                at91_set_gpio_value(AT91_PIN_PA21, 0);
                        else
                                at91_set_gpio_value(AT91_PIN_PA21, 1);
@@ -35,7 +35,7 @@
                }
        }
  #endif
                }
        }
  #endif
-@@ -251,8 +279,10 @@
+@@ -251,8 +279,10 @@ static u_int atmel_get_mctrl(struct uart
        /*
         * The control signals are active low.
         */
        /*
         * The control signals are active low.
         */
@@ -48,7 +48,7 @@
        if (!(status & ATMEL_US_CTS))
                ret |= TIOCM_CTS;
        if (!(status & ATMEL_US_DSR))
        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;
  
        if (!(status & ATMEL_US_RI))
                ret |= TIOCM_RI;
  
@@ -65,7 +65,7 @@
        return ret;
  }
  
        return ret;
  }
  
-@@ -453,6 +493,34 @@
+@@ -453,6 +493,34 @@ static void atmel_tx_chars(struct uart_p
  }
  
  /*
  }
  
  /*
   * receive interrupt handler.
   */
  static void
   * receive interrupt handler.
   */
  static void
-@@ -815,6 +883,23 @@
+@@ -815,6 +883,23 @@ static int atmel_startup(struct uart_por
                return retval;
        }
  
                return retval;
        }
  
        /*
         * Initialize DMA (if necessary)
         */
        /*
         * 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);
                                        kfree(atmel_port->pdc_rx[0].buf);
                                }
                                free_irq(port->irq, port);
                                return -ENOMEM;
                        }
                        pdc->dma_addr = dma_map_single(port->dev,
                                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);
                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);
         * Free the interrupt
         */
        free_irq(port->irq, port);
index 45d6783bb497cdb7cebcc0ce10a517e4a01fc0c6..d30023186ab6109a922375104c3a590317a47b62 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/mach-at91/at91rm9200_devices.c
 +++ b/arch/arm/mach-at91/at91rm9200_devices.c
 --- 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);
                 *  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[] = {
  }
  
  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 */
                at91_set_B_periph(AT91_PIN_PB1, 0);     /* CTS3 */
        if (pins & ATMEL_UART_RTS)
                at91_set_B_periph(AT91_PIN_PB0, 0);     /* RTS3 */
index a84851298ed9fbaa38a08c661103e20c83656764..756e014f0203ca75e5be0498ff069fa2985f07ab 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/arm/at91_ether.c
 +++ b/drivers/net/arm/at91_ether.c
 --- 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;
        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);
  
        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 */
        read_phy(lp->phy_address, MII_BMSR, &bmsr);
        read_phy(lp->phy_address, MII_BMCR, &bmcr);
        if (bmcr & BMCR_ANENABLE) {                             /* AutoNegotiation is enabled */
index 491207443ec303834f03cdb8a19591fea3a505d1..554c1491e7f96f300a881aec8b74c981b249771b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/at91_dataflash.c
 +++ b/drivers/mtd/devices/at91_dataflash.c
 --- 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 */
        },
        {
                .mask_flags     = MTD_WRITEABLE,        /* read-only */
        },
        {
index d698763c68de044a0215ea83632e6c31dcf2e56d..7bd38b4434281df7f49cb73062c1c9c1b415e5ee 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
 --- 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;
                }
                        dev_err(&interface->dev, "No free urbs available\n");
                        goto probe_error;
                }
index 4db3a39dc8b955bb500f938002fac4cca8d8b81c..a022d5f1a46e12bd5cac7f381fc7c3c3059deb45 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=au1000
 BOARDNAME:=RMI/AMD AU1x00
 FEATURES:=jffs2 usb pci
 
 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
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += yamonenv
index bac9463e048096b8f2f1c9043ec58fb97891aee5..b3aa0637b8c7576a1bd703c9c0893ec8cd46a370 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
 
 --- 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
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_APM_EMULATION
        select SYS_SUPPORTS_KGDB
index a3aa7ad6793db377c7f28cf45ed4269ddb665890..e38b83f7cb7b096bdaf98d9cba5dc52b1c61d800 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
  static struct resource mtx1_wdt_res[] = {
        [0] = {
                .start = 15,
  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,
  
  static struct platform_device *mtx1_devs[] = {
        &mtx1_gpio_leds,
index 8ba5f0024efdeeb5df97578c449042f29c7c4a14..e3771d77208e77c14ddb2aa280613cbb4d48c35e 100644 (file)
@@ -10,7 +10,7 @@
   * ########################################################################
   *
   *  This program is free software; you can distribute it and/or modify it
   * ########################################################################
   *
   *  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
  
        control = MAC_RX_ENABLE | MAC_TX_ENABLE;
  #ifndef CONFIG_CPU_LITTLE_ENDIAN
index ee8b541b811921929c612587e14ba3f69ea77554..a41ee6f21d0aaed2c08bc73b79018afadfcf2200 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/au1000/mtx-1/init.c
 +++ b/arch/mips/au1000/mtx-1/init.c
 --- 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;
  
        prom_argv = (char **) fw_arg1;
        prom_envp = (char **) fw_arg2;
  
index 414aa3958317552accbd5de7b2e442c2cb3ef56c..e7bcba6b6e785f752145b6da8e915ea9dd7be76d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/mtx-1_flash.c
 +++ b/drivers/mtd/maps/mtx-1_flash.c
 --- 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[] = {
          {
  
  static struct mtd_partition mtx1_partitions[] = {
          {
index ed308f8190d0975d4390b7652b5f61f0001ef952..935898159f3bc270109a8a125a0adbf60030c39f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/au1000_eth.c
 +++ b/drivers/net/au1000_eth.c
 --- 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 4ad718bf6e1a9eb0b6ed9f2b8fb09a6392232db7..a5b00a8789f97687b9b588416cbdfadc0a470cc9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/mach-au1x00/au1000.h
 +++ b/include/asm-mips/mach-au1x00/au1000.h
 --- 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,
        AU1000_RTC_MATCH1_INT,
        AU1000_RTC_MATCH2_INT,
        AU1500_PCI_ERR_INT,
index 982d10af4e457ec71b85b9e4aca9db21163cdacc..5ae819ee18b25f9aedda962ec75b0816dafb2b83 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/au1000/common/gpio.c
 +++ b/arch/mips/au1000/common/gpio.c
 --- 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;
  static int au1xxx_gpio2_direction_output(unsigned gpio, int value)
  {
        gpio -= AU1XXX_GPIO_BASE;
@@ -10,7 +10,7 @@
        return 0;
  }
  
        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);
  static int au1xxx_gpio1_direction_output(unsigned gpio, int value)
  {
        gpio1->trioutclr = (0x01 & gpio);
index 6d24ecffb3a1a3cc630aefb58b00634abb41e8e8..7d1b8418a5d4aa28e7ea34a5abaef77d3e41658b 100644 (file)
@@ -10,7 +10,7 @@ ARCH:=avr32
 BOARD:=avr32
 BOARDNAME:=Atmel AVR32
 FEATURES:=squashfs
 BOARD:=avr32
 BOARDNAME:=Atmel AVR32
 FEATURES:=squashfs
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 include $(INCLUDE_DIR)/target.mk
 
 
 include $(INCLUDE_DIR)/target.mk
 
index 2f6291a7dbef542af366517ed4af2b08492a234e..6c9fe1eb66940888cf7b1763753259ebbdd2b180 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Documentation/serial/driver
 +++ b/Documentation/serial/driver
 --- a/Documentation/serial/driver
 +++ b/Documentation/serial/driver
-@@ -186,6 +186,17 @@
+@@ -186,6 +186,17 @@ hardware.
        Locking: port_sem taken.
        Interrupts: caller dependent.
  
        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
        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
  
  config GENERIC_TIME
        def_bool y
  
@@ -30,7 +30,7 @@
  config RWSEM_XCHGADD_ALGORITHM
        def_bool n
  
  config RWSEM_XCHGADD_ALGORITHM
        def_bool n
  
-@@ -70,6 +73,8 @@
+@@ -70,6 +73,8 @@ source "init/Kconfig"
  
  menu "System Type and features"
  
  
  menu "System Type and features"
  
@@ -39,7 +39,7 @@
  config SUBARCH_AVR32B
        bool
  config MMU
  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
        select MMU
        select PERFORMANCE_COUNTERS
        select HAVE_GPIO_LIB
@@ -47,7 +47,7 @@
  
  #
  # CPU types
  
  #
  # CPU types
-@@ -117,6 +123,9 @@
+@@ -117,6 +123,9 @@ endchoice
  if BOARD_ATSTK1000
  source "arch/avr32/boards/atstk1000/Kconfig"
  endif
  if BOARD_ATSTK1000
  source "arch/avr32/boards/atstk1000/Kconfig"
  endif
@@ -57,7 +57,7 @@
  
  choice
        prompt "Boot loader type"
  
  choice
        prompt "Boot loader type"
-@@ -142,6 +151,9 @@
+@@ -142,6 +151,9 @@ config PHYS_OFFSET
  
  source "kernel/Kconfig.preempt"
  
  
  source "kernel/Kconfig.preempt"
  
@@ -67,7 +67,7 @@
  config HAVE_ARCH_BOOTMEM_NODE
        def_bool n
  
  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.
  
          be dumped to the console when a Non-Maskable Interrupt
          happens.
  
@@ -78,7 +78,7 @@
  # FPU emulation goes here
  
  source "kernel/Kconfig.hz"
  # FPU emulation goes here
  
  source "kernel/Kconfig.hz"
-@@ -196,6 +212,11 @@
+@@ -196,6 +212,11 @@ endmenu
  
  menu "Power management options"
  
  
  menu "Power management options"
  
@@ -92,7 +92,7 @@
  source "drivers/cpufreq/Kconfig"
 --- a/arch/avr32/Makefile
 +++ b/arch/avr32/Makefile
  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/
  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;
  
  /* 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",
  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
  /*
   * 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),
  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,
        },
  };
                .platform_data  = &i2c_gpio_data,
        },
  };
  
  static int __init atngw100_init(void)
  {
  
  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));
        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++) {
        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);
  
        }
        platform_device_register(&ngw_gpio_leds);
  
  }
 --- a/arch/avr32/boards/atstk1000/Kconfig
 +++ b/arch/avr32/boards/atstk1000/Kconfig
  }
 --- 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
  
        bool "ATSTK1004"
        select CPU_AT32AP7002
  
  endchoice
  
  
  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
  
        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
  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
  obj-$(CONFIG_BOARD_ATSTK1002) += atstk1002.o
  obj-$(CONFIG_BOARD_ATSTK1003) += atstk1003.o
  obj-$(CONFIG_BOARD_ATSTK1004) += atstk1004.o
  
  struct eth_addr {
        u8 addr[6];
  
  struct eth_addr {
        u8 addr[6];
-@@ -83,6 +157,19 @@
+@@ -83,6 +157,19 @@ static struct spi_board_info spi1_board_
  } };
  #endif
  
  } };
  #endif
  
  /*
   * The next two functions should go away as the boot loader is
   * supposed to initialize the macb address registers with a valid
  /*
   * 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();
  
  
        at32_add_system_devices();
  
  #ifdef        CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
        at32_add_device_usart(1);
  #else
  #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_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,
  #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
  
  } };
  #endif
  
  #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
  static void __init atstk1003_setup_extdac(void)
  {
  #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
        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,
  #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
        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
  #
  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_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
  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_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
  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_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=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_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
  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_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
  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_CPU_AT32AP7000=y
  # CONFIG_BOARD_ATSTK1000 is not set
  CONFIG_BOARD_ATNGW100=y
  CONFIG_LOADER_U_BOOT=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_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
  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
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # CPU Frequency scaling
  
  #
  # 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_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
  # 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_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
  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_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
  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_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
  # 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
  # CONFIG_ECONET is not set
  # CONFIG_WAN_ROUTER is not set
  # CONFIG_NET_SCHED is not set
  
  #
  # Network testing
  
  #
  # 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_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
  # 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
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
  
  #
  # SCSI device support
  
  #
  # 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_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
  # 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_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
  # 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=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_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_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
  # 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
  #
  #
  # I2C Hardware Bus support
  #
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
  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
  #
  #
  # Miscellaneous I2C Chip support
  #
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
  # 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_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT 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'
  #
  #
  # 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
  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_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
  
  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_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
  # 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
  #
  #
  # File systems
  #
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  CONFIG_FUSE_FS=m
  # 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
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
  
  #
  # Miscellaneous filesystems
  
  #
  # 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_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
  # 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
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
  
  #
  # 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_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
  # 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_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
  # 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_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
  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_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
  # 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_KHAZAD is not set
  # CONFIG_CRYPTO_ANUBIS is not set
  # CONFIG_CRYPTO_SEED is not set
  CONFIG_CRYPTO_HW=y
  
  #
  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_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=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_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
  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_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
  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_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=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_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
  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_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
  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_BOARD_ATSTK1002=y
  # CONFIG_BOARD_ATSTK1003 is not set
  # CONFIG_BOARD_ATSTK1004 is not set
  CONFIG_LOADER_U_BOOT=y
  
  #
  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_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
  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
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # CPU Frequency scaling
  
  #
  # 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_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
  # 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_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
  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_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
  # 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
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
  
  #
  # SCSI device support
  
  #
  # 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_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
  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_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
  # 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_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
  # 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=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_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_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
  # 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
  #
  #
  # I2C Hardware Bus support
  #
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
  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
  #
  #
  # Miscellaneous I2C Chip support
  #
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
  # 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_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT 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
  #
  #
  # Generic devices
  #
  # SPI devices
  #
  CONFIG_SND_AT73C213=m
  # 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
  # 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'
  #
  #
  # 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
  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_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
  CONFIG_LEDS_GPIO=m
  
  #
  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_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
  # 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
  #
  #
  # File systems
  #
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
  # 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_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
  # 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
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
  
  #
  # Miscellaneous filesystems
  
  #
  # 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_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
  # 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
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
  
  #
  # 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_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
  # 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_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
  # 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_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
  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_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
  # 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_KHAZAD is not set
  # CONFIG_CRYPTO_ANUBIS is not set
  # CONFIG_CRYPTO_SEED is not set
  # CONFIG_CRYPTO_HW 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_LIBCRC32C is not set
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=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_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
  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_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
  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_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_EVENTFD=y
  CONFIG_SHMEM=y
  CONFIG_VM_EVENT_COUNTERS=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_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
  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_DEFAULT_CFQ=y
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="cfq"
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=y
  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_BOARD_ATSTK1002 is not set
  CONFIG_BOARD_ATSTK1003=y
  # CONFIG_BOARD_ATSTK1004 is not set
  CONFIG_LOADER_U_BOOT=y
  
  #
  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_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
  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
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # CPU Frequency scaling
  
  #
  # 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_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
  # 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_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
  # 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
  CONFIG_BLK_DEV_RAM=m
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=4096
  
  #
  # SCSI device support
  
  #
  # 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_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
  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_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
  # 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=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_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_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
  # 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
  #
  #
  # I2C Hardware Bus support
  #
  CONFIG_I2C_GPIO=m
  # CONFIG_I2C_OCORES is not set
  # CONFIG_I2C_PARPORT_LIGHT is not set
  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
  #
  #
  # Miscellaneous I2C Chip support
  #
  # CONFIG_SENSORS_MAX6875 is not set
  # CONFIG_SENSORS_TSL2550 is not set
  # CONFIG_I2C_DEBUG_CORE is not set
  # 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_SPI_AT25 is not set
  CONFIG_SPI_SPIDEV=m
  # CONFIG_SPI_TLE62X0 is not set
  CONFIG_WATCHDOG=y
  # CONFIG_WATCHDOG_NOWAYOUT 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
  #
  #
  # Generic devices
  #
  # SPI devices
  #
  CONFIG_SND_AT73C213=m
  # 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
  # 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'
  #
  #
  # 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
  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_USB_FILE_STORAGE_TEST is not set
  CONFIG_USB_G_SERIAL=m
  # CONFIG_USB_MIDI_GADGET is not set
  CONFIG_LEDS_GPIO=y
  
  #
  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_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
  # 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
  #
  #
  # File systems
  #
  # CONFIG_JBD_DEBUG is not set
  # CONFIG_REISERFS_FS is not set
  # CONFIG_JFS_FS is not set
  # 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_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
  # 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
  CONFIG_TMPFS=y
  # CONFIG_TMPFS_POSIX_ACL is not set
  # CONFIG_HUGETLB_PAGE is not set
  
  #
  # Miscellaneous filesystems
  
  #
  # 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_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
  # 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
  # CONFIG_NLS_KOI8_U is not set
  CONFIG_NLS_UTF8=m
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
  
  #
  # 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_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
  # 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_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
  # 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_AUDIT_GENERIC=y
  CONFIG_ZLIB_INFLATE=y
  CONFIG_ZLIB_DEFLATE=y
  #
  CONFIG_AVR32=y
  CONFIG_GENERIC_GPIO=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_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
  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_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
  # 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_PRINTK=y
  CONFIG_BUG=y
  CONFIG_ELF_CORE=y
  CONFIG_SUBARCH_AVR32B=y
  CONFIG_MMU=y
  CONFIG_PERFORMANCE_COUNTERS=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_BOARD_ATSTK1002 is not set
  # CONFIG_BOARD_ATSTK1003 is not set
  CONFIG_BOARD_ATSTK1004=y
  CONFIG_LOADER_U_BOOT=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_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
  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
  CONFIG_ZONE_DMA_FLAG=0
  CONFIG_VIRT_TO_BUS=y
  # CONFIG_OWNERSHIP_TRACE is not set
  
  #
  # Bus options
  
  #
  # 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_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
  # 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
  # CONFIG_MTD_UBI is not set
  # CONFIG_PARPORT is not set
  # CONFIG_MISC_DEVICES is not set
  
  #
  # SCSI device support
  
  #
  # 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=y
  CONFIG_SERIAL_ATMEL_CONSOLE=y
  # CONFIG_SERIAL_ATMEL_TTYAT is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_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_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
  # 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_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
  
  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'
  #
  #
  # 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
  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_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
  # 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
  #
  #
  # SPI RTC drivers
  #
  # CONFIG_RTC_DRV_M48T86 is not set
  # CONFIG_RTC_DRV_M48T59 is not set
  # CONFIG_RTC_DRV_V3020 is not set
  # 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
  #
  #
  # File systems
  #
  # CONFIG_AUTOFS_FS is not set
  # CONFIG_AUTOFS4_FS is not set
  # CONFIG_FUSE_FS is not set
  # 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
  # CONFIG_NETWORK_FILESYSTEMS is not set
  # CONFIG_NLS is not set
  # CONFIG_DLM is not set
  
  #
  # Kernel hacking
  
  #
  # 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
  # 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
 +#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-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
  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);
   */
  EXPORT_SYMBOL(memset);
  EXPORT_SYMBOL(memcpy);
  
  /*
   * Userspace access stuff.
  
  /*
   * 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(__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
 +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
  
        .align  2
        bral    do_dtlb_modified
  
  
        /* Second level lookup */
        ld.w    r2, r3[r1 << 2]
  
        /* Second level lookup */
        ld.w    r2, r3[r1 << 2]
-@@ -148,16 +139,55 @@
+@@ -148,16 +139,55 @@ pgtbl_lookup:
        tlbmiss_restore
        rete
  
        tlbmiss_restore
        rete
  
  system_call:
  #ifdef CONFIG_PREEMPT
        mask_interrupts
  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
  
        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
        /* 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
  
  
        .section .irq.text,"ax",@progbits
  
  /*
   * This file handles the architecture-dependent parts of process handling..
   */
  /*
   * 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_power_off(void)
  {
  void machine_restart(char *cmd)
 --- a/arch/avr32/kernel/setup.c
 +++ b/arch/avr32/kernel/setup.c
  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;
                        printk(KERN_WARNING
                               "Failed to allocate framebuffer memory\n");
                        fbmem_size = 0;
  
 --- a/arch/avr32/kernel/signal.c
 +++ b/arch/avr32/kernel/signal.c
  
 --- 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;
  
        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
 -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)
                _evba = .;
                _text = .;
                *(.ex.text)
                *(.irq.text)
                KPROBES_TEXT
                TEXT_TEXT
                *(.irq.text)
                KPROBES_TEXT
                TEXT_TEXT
-@@ -107,6 +99,10 @@
+@@ -107,6 +99,10 @@ SECTIONS
                 */
                *(.data.init_task)
  
                 */
                *(.data.init_task)
  
                *(.data.cacheline_aligned)
 --- a/arch/avr32/lib/io-readsb.S
 +++ b/arch/avr32/lib/io-readsb.S
                *(.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
  
  2:    sub     r10, -4
        reteq   r12
  
        brne    3b
 --- a/arch/avr32/mach-at32ap/Kconfig
 +++ b/arch/avr32/mach-at32ap/Kconfig
        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
  
  
  endchoice
  
  
  #include <video/atmel_lcdc.h>
  
  
  #include <video/atmel_lcdc.h>
  
-@@ -91,25 +94,18 @@
+@@ -91,25 +94,18 @@ static struct clk devname##_##_name = {    
  
  static DEFINE_SPINLOCK(pm_lock);
  
  
  static DEFINE_SPINLOCK(pm_lock);
  
        div = PM_BFEXT(PLLDIV, control) + 1;
        mul = PM_BFEXT(PLLMUL, control) + 1;
  
        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;
  }
  
        return rate;
  }
  
  static unsigned long pll0_get_rate(struct clk *clk)
  {
        u32 control;
  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);
  }
  
        return pll_get_rate(clk, control);
  }
  
  static unsigned long pll1_get_rate(struct clk *clk)
  {
        u32 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);
  }
  
        return pll_get_rate(clk, control);
  }
  
  /*
   * The AT32AP7000 has five primary clock sources: One 32kHz
   * oscillator, two crystal oscillators and two PLLs.
  /*
   * 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",
  };
  static struct clk pll1 = {
        .name           = "pll1",
        .parent         = &osc0,
  };
  
        .parent         = &osc0,
  };
  
-@@ -534,6 +676,14 @@
+@@ -534,6 +676,14 @@ static struct clk hramc_clk = {
        .users          = 1,
        .index          = 3,
  };
        .users          = 1,
        .index          = 3,
  };
  
  static struct resource smc0_resource[] = {
        PBMEM(0xfff03400),
  
  static struct resource smc0_resource[] = {
        PBMEM(0xfff03400),
-@@ -605,19 +755,32 @@
+@@ -605,19 +755,32 @@ static inline void set_ebi_sfr_bits(u32 
  }
  
  /* --------------------------------------------------------------------
  }
  
  /* --------------------------------------------------------------------
  
  /* --------------------------------------------------------------------
   *  PIO
  
  /* --------------------------------------------------------------------
   *  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(&pdc_device);
        platform_device_register(&dmaca0_device);
  
  
        platform_device_register(&pio0_device);
        platform_device_register(&pio1_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
   * -------------------------------------------------------------------- */
  
   *  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;
        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);
                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;
  
        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);
                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,
  };
  
        .index          = 2,
  };
  
  {
        struct platform_device *pdev;
  
  {
        struct platform_device *pdev;
  
-@@ -1009,6 +1252,9 @@
+@@ -1009,6 +1252,9 @@ struct platform_device *__init at32_add_
  
        atmel_twi0_pclk.dev = &pdev->dev;
  
  
        atmel_twi0_pclk.dev = &pdev->dev;
  
        platform_device_add(pdev);
        return pdev;
  
        platform_device_add(pdev);
        return pdev;
  
-@@ -1032,7 +1278,8 @@
+@@ -1032,7 +1278,8 @@ static struct clk atmel_mci0_pclk = {
        .index          = 9,
  };
  
        .index          = 9,
  };
  
  {
        struct platform_device *pdev;
  
  {
        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)
  
        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   */
  
        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 */
  
        select_peripheral(PA(14), PERIPH_A, 0); /* DATA2 */
        select_peripheral(PA(15), PERIPH_A, 0); /* DATA3 */
  
        platform_device_put(pdev);
        return NULL;
  }
        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 *__init
  at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
  {
        struct platform_device *pdev;
        struct atmel_lcdfb_info *info;
  {
        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;
        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));
  
                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,
  };
  
        .index          = 6,
  };
  
        struct platform_device *pdev;
  
        if (id != 0)
        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;
  
                                          ARRAY_SIZE(usba0_resource)))
                goto out_free_pdev;
  
  
        usba0_pclk.dev = &pdev->dev;
        usba0_hclk.dev = &pdev->dev;
  
        usba0_pclk.dev = &pdev->dev;
        usba0_hclk.dev = &pdev->dev;
-@@ -1526,6 +1862,58 @@
+@@ -1526,6 +1862,58 @@ fail:
  #endif
  
  /* --------------------------------------------------------------------
  #endif
  
  /* --------------------------------------------------------------------
   * AC97C
   * -------------------------------------------------------------------- */
  static struct resource atmel_ac97c0_resource[] __initdata = {
   * AC97C
   * -------------------------------------------------------------------- */
  static struct resource atmel_ac97c0_resource[] __initdata = {
-@@ -1540,9 +1928,11 @@
+@@ -1540,9 +1928,11 @@ static struct clk atmel_ac97c0_pclk = {
        .index          = 10,
  };
  
        .index          = 10,
  };
  
  
        if (id != 0)
                return NULL;
  
        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)))
  
        if (platform_device_add_resources(pdev, atmel_ac97c0_resource,
                                ARRAY_SIZE(atmel_ac97c0_resource)))
        platform_device_put(pdev);
        return NULL;
  }
        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,
        &hmatrix_clk,
        &ebi_clk,
        &hramc_clk,
        &smc0_pclk,
        &smc0_mck,
        &pdc_hclk,
        &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,
        &pio2_mck,
        &pio3_mck,
        &pio4_mck,
        &atmel_usart0_usart,
        &atmel_usart1_usart,
        &atmel_usart2_usart,
        &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);
  
  };
  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;
  {
        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);
        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
 +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);
  }
  {
        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
 +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);
  }
  {
        return platform_driver_register(&hsmc_driver);
  }
  };
  
  extern struct platform_device at32_intc0_device;
  };
  
  extern struct platform_device at32_intc0_device;
-@@ -137,6 +142,74 @@
+@@ -137,6 +142,74 @@ fail:
        panic("Interrupt controller initialization failed!\n");
  }
  
        panic("Interrupt controller initialization failed!\n");
  }
  
 +arch_initcall(pdc_init);
 --- a/arch/avr32/mach-at32ap/pio.c
 +++ b/arch/avr32/mach-at32ap/pio.c
 +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();
  }
  
        dump_stack();
  }
  
  /*--------------------------------------------------------------------------*/
  
  /* GPIO API */
  /*--------------------------------------------------------------------------*/
  
  /* 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);
                const char *label;
  
                label = gpiochip_is_requested(chip, i);
  void show_mem(void)
  {
        int total = 0, reserved = 0, cached = 0;
  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);
  
        zero_page = alloc_bootmem_low_pages_node(NODE_DATA(0),
                                                 PAGE_SIZE);
  
        cpu_sync_pipeline();
  
        tlbehi = sysreg_read(TLBEHI);
        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,
  
        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);
  
        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");
        unsigned int i;
  
        printk("ID  V G ASID VPN   PFN   AP SZ C B W D\n");
  
                rp = 32 - fls(tlbar);
                if (rp == 32) {
  
                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);
                }
  
                        sysreg_write(TLBARLO, -1L);
                }
  
  }
  
  void update_mmu_cache(struct vm_area_struct *vma,
  }
  
  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);
                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;
  
                local_irq_save(flags);
                size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
                        if (mm != current->mm) {
                                saved_asid = get_asid();
                                set_asid(asid);
                        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)
  }
  
  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;
  
  {
        static unsigned long tlb_index;
  
                return NULL;
  
        tlb_index = 0;
                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;
  
  {
        unsigned long *index = v;
  
                return NULL;
  
        ++*pos;
                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");
  
        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);
        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",
        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
  
 --- 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"
  
  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
        ---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"
  
  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
          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) ||\
  #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
 +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.
  
          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
        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
  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
 +#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.
  
          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
        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
  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
 +#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.
  
          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
        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
  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
 +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.
  
  
          If unsure, say N.
  
        depends on ARCH_IMX
 --- a/drivers/mmc/host/Makefile
 +++ b/drivers/mmc/host/Makefile
        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
  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
 +#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".
  
  
          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
        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
  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
 +#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
  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_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
 +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
  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
  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_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
 +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;
  }
  
        return 0;
  }
  
        },
 --- a/drivers/parport/Kconfig
 +++ b/drivers/parport/Kconfig
        },
 --- 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 && \
  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
          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.
  
          Say Y here to support the CompactFlash controller on the
          PA Semi Electra eval board.
  
  
 --- a/drivers/pcmcia/Makefile
 +++ b/drivers/pcmcia/Makefile
  
 --- 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
  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
 +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);
        }
  
        platform_set_drvdata(pdev, rtc);
  
        dev_info(&pdev->dev, "Atmel RTC for AT32AP700x at %08lx irq %ld\n",
                        (unsigned long)rtc->regs, rtc->irq);
  
        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);
  
  {
        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
        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,
   * 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,
        .break_ctl      = atmel_break_ctl,
        .startup        = atmel_startup,
        .shutdown       = atmel_shutdown,
        .set_termios    = atmel_set_termios,
        .type           = atmel_type,
        .release_port   = atmel_release_port,
        .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
  };
  
  #ifdef CONFIG_PM
  static int atmel_serial_suspend(struct platform_device *pdev,
                                pm_message_t state)
  {
  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)
        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
                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);
  
        spin_lock_irqsave(&port->lock, flags);
        uart_circ_clear(&state->info->xmit);
  }
 --- a/drivers/spi/atmel_spi.c
 +++ b/drivers/spi/atmel_spi.c
  }
 --- 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;
        u8                      stopping;
        struct list_head        queue;
        struct spi_transfer     *current_transfer;
  
        void                    *buffer;
        dma_addr_t              buffer_dma;
  
        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);
  }
  
                gpio_set_value(gpio, !active);
  }
  
  /*
   * Submit next transfer for DMA.
   * lock is held, spi irq is blocked
  /*
   * 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;
  {
        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
         * 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...
         */
         *
         * It should be doable, though. Just not now...
         */
        spi_writel(as, PTCR, SPI_BIT(TXTEN) | SPI_BIT(RXTEN));
  }
  
        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;
        spin_lock(&as->lock);
  
        as->current_transfer = NULL;
  
        /* continue if needed */
        if (list_empty(&as->queue) || as->stopping)
  
        /* 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);
  
  
                spi_writel(as, IDR, pending);
  
                        msg->actual_length += xfer->len;
  
                        if (!msg->is_dma_mapped)
                        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);
  
                        if (xfer->delay_usecs)
                                udelay(xfer->delay_usecs);
  
                                                xfer->cs_change);
 --- a/drivers/usb/gadget/Kconfig
 +++ b/drivers/usb/gadget/Kconfig
                                                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
  config USB_GADGET_ATMEL_USBA
        boolean "Atmel USBA"
        select USB_GADGET_DUALSPEED
  
  #ifdef CONFIG_USB_GADGET_DEBUG_FS
  #include <linux/debugfs.h>
  
  #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;
  }
  
        return 1;
  }
  
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
        unsigned int transaction_len;
  static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
  {
        unsigned int transaction_len;
-@@ -387,7 +364,7 @@
+@@ -387,7 +364,7 @@ static void next_fifo_transaction(struct
                ep->ep.name, req, transaction_len,
                req->last_transaction ? ", done" : "");
  
                ep->ep.name, req, transaction_len,
                req->last_transaction ? ", done" : "");
  
        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
        req->req.actual += transaction_len;
  }
        usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
        req->req.actual += transaction_len;
  }
-@@ -476,7 +453,7 @@
+@@ -476,7 +453,7 @@ static void receive_data(struct usba_ep 
                        bytecount = req->req.length - req->req.actual;
                }
  
                        bytecount = req->req.length - req->req.actual;
                }
  
                                ep->fifo, bytecount);
                req->req.actual += bytecount;
  
                                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,
  };
  
        .set_selfpowered        = usba_udc_set_selfpowered,
  };
  
  static struct usb_endpoint_descriptor usba_ep0_desc = {
        .bLength = USB_DT_ENDPOINT_SIZE,
        .bDescriptorType = USB_DT_ENDPOINT,
  static struct usb_endpoint_descriptor usba_ep0_desc = {
        .bLength = USB_DT_ENDPOINT_SIZE,
        .bDescriptorType = USB_DT_ENDPOINT,
-@@ -1074,7 +1024,6 @@
+@@ -1074,7 +1024,6 @@ static void nop_release(struct device *d
  static struct usba_udc the_udc = {
        .gadget = {
                .ops            = &usba_udc_ops,
  static struct usba_udc the_udc = {
        .gadget = {
                .ops            = &usba_udc_ops,
                .ep_list        = LIST_HEAD_INIT(the_udc.gadget.ep_list),
                .is_dualspeed   = 1,
                .name           = "atmel_usba_udc",
                .ep_list        = LIST_HEAD_INIT(the_udc.gadget.ep_list),
                .is_dualspeed   = 1,
                .name           = "atmel_usba_udc",
-@@ -1231,7 +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);
                } 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");
                                        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 "
                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. */
  
                /* 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) {
        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
                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) {
        }
  
        if (status & USBA_WAKE_UP) {
                usba_writel(udc, INT_CLR, USBA_WAKE_UP);
                DBG(DBG_BUS, "Wake Up CPU detected\n");
        }
                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) {
        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);
                        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) {
        /* 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);
                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 */
        spin_unlock_irqrestore(&udc->lock, flags);
  
        /* This will also disable the DP pullup */
  
        driver->unbind(&udc->gadget);
        udc->gadget.dev.driver = NULL;
  
        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);
  
        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);
                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);
  
        /* Make sure we start from a clean slate */
        clk_enable(pclk);
  
                list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
        }
  
                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;
        }
  
                goto err_device_add;
        }
  
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
  
-@@ -2004,7 +1988,7 @@
+@@ -2004,7 +1988,7 @@ static int __init usba_udc_probe(struct 
        }
  
        usba_init_debugfs(udc);
        }
  
        usba_init_debugfs(udc);
                usba_ep_init_debugfs(udc, &usba_ep[i]);
  
        return 0;
                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:
  err_device_add:
        free_irq(irq, udc);
  err_request_irq:
        iounmap(udc->fifo);
  err_map_fifo:
        iounmap(udc->regs);
        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;
  {
        struct usba_udc *udc;
        int i;
                usba_ep_cleanup_debugfs(&usba_ep[i]);
        usba_cleanup_debugfs(udc);
  
                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);
                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)
  
  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,
        .type           = FB_TYPE_PACKED_PIXELS,
        .visual         = FB_VISUAL_TRUECOLOR,
        .xpanstep       = 0,
        .ywrapstep      = 0,
        .accel          = FB_ACCEL_NONE,
  };
        .ywrapstep      = 0,
        .accel          = FB_ACCEL_NONE,
  };
-@@ -250,6 +252,8 @@
+@@ -250,6 +252,8 @@ static int atmel_lcdfb_alloc_video_memor
                return -ENOMEM;
        }
  
                return -ENOMEM;
        }
  
        return 0;
  }
  
        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;
  
        struct fb_info *info = sinfo->info;
        int ret = 0;
  
        info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW;
  
        dev_info(info->device,
        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;
                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
                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().
   *
   * 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,
   * 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.
   */
   * 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);
  
        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;
        }
                if (!list_empty(&sb->s_more_io))
                        wbc->more_io = 1;
        }
  
  /*
   * Start writeback of dirty pagecache data against all unlocked inodes.
  
  /*
   * 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)) {
                         * be unmounted by the time it is released.
                         */
                        if (down_read_trylock(&sb->s_umount)) {
                                up_read(&sb->s_umount);
                        }
                        spin_lock(&sb_lock);
                                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 */
                        (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);
  
  /* 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 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);
  
  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_ssc(unsigned int id, unsigned int flags);
  
  struct platform_device *at32_add_device_abdac(unsigned int id);
  
  struct cf_platform_data {
  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);
  
  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
 +#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);
  
  void at32_select_gpio(unsigned int pin, unsigned long flags);
  void at32_reserve_pin(unsigned int pin);
  
  }
  
  #define __pte_free_tlb(tlb,pte)                               \
  }
  
  #define __pte_free_tlb(tlb,pte)                               \
-@@ -75,6 +89,10 @@
+@@ -75,6 +89,10 @@ do {                                                        \
        tlb_remove_page((tlb), pte);                    \
  } while (0)
  
        tlb_remove_page((tlb), pte);                    \
  } while (0)
  
  #endif /* __ASM_AVR32_PGALLOC_H */
 --- a/include/asm-avr32/pgtable.h
 +++ b/include/asm-avr32/pgtable.h
  #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)
  
  
  #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)
  /* 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))
  }
  
  #define pmd_none(x)   (!pmd_val(x))
  
  /*
   * Permanent address of a page. We don't support highmem, so this is
  
  /*
   * 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))
  
  
  #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
 +#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 */
  #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
  
 --- 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);
  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
 +#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 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
  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 *);
        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
 +#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 NR_QUICK
        int
        depends on QUICKLIST
  config VIRT_TO_BUS
 --- a/sound/Kconfig
 +++ b/sound/Kconfig
  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"
  
  
  source "sound/arm/Kconfig"
  
  endif
 --- a/sound/Makefile
 +++ b/sound/Makefile
  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/ \
  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
 +#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
        int "DAC channel"
        default "1"
        depends on SOUND_SH_DAC_AUDIO
 +      depends on SOUND_PRIME && AVR32
 --- a/sound/oss/Makefile
 +++ b/sound/oss/Makefile
 +      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 !
  
  
  # 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
 +#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
   */
  /*
   * Device functions
   */
  {
        /*
         * Continuous clock output.
  {
        /*
         * Continuous clock output.
-@@ -767,7 +767,7 @@
+@@ -767,7 +767,7 @@ static int snd_at73c213_ssc_init(struct 
        return 0;
  }
  
        return 0;
  }
  
  {
        int retval;
        unsigned char dac_ctrl = 0;
  {
        int retval;
        unsigned char dac_ctrl = 0;
-@@ -933,7 +933,7 @@
+@@ -933,7 +933,7 @@ out:
        return retval;
  }
  
        return retval;
  }
  
index 83c3d5002815fcbe9d880e1cd9a4988ca70c1bd1..98669bc473f02d394d823f8fe4edd52dea3a9358 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/avr32/boards/atngw100/flash.c
 +++ b/arch/avr32/boards/atngw100/flash.c
 --- 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,
        },
        {
                .mask_flags     = MTD_WRITEABLE,
        },
        {
index bad5ec108df5c2a656d37f87591667e17d4b740c..daa867b4b3b1325852b9d6eb2307fb75b7eee773 100644 (file)
@@ -11,7 +11,7 @@ BOARD:=brcm47xx
 BOARDNAME:=Broadcom BCM947xx/953xx
 FEATURES:=squashfs usb
 
 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
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += kmod-switch kmod-diag
index 783aa8c10d1314effbccf7787f4cb883c8853c16..b48215d3ccd226a730d759cf3ba99401426159ea 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
 --- 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
        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
        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
  
  config CFE
        bool
index 14710831776f02db3d2b046f7a805b9e209204e4..6d3161c86de552f18d7fec7b4c77ee9262f15901 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/maps/Kconfig
 +++ b/drivers/mtd/maps/Kconfig
 --- 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.
  
          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
        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
  obj-$(CONFIG_MTD_PCMCIA)      += pcmciamtd.o
  obj-$(CONFIG_MTD_RPXLITE)     += rpxlite.o
  obj-$(CONFIG_MTD_TQM8XXL)     += tqm8xxl.o
index d36b4d8307e921a84763bea1e29d26adaa307049..941b649c7f20883f7be70bebb55450c5be5bcd49 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
 --- 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
        select I8259
        select MIPS_BOARDS_GEN
        select MIPS_BONITO64
@@ -8,7 +8,7 @@
        select PCI_GT64XXX_PCI0
        select MIPS_MSC
        select SWAP_IO_SPACE
        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
  
        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
        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;
                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
                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);
  
  extern int r5k_sc_init(void);
  extern int rm7k_sc_init(void);
@@ -43,7 +43,7 @@
  
  static void __cpuinit setup_scache(void)
  {
  
  static void __cpuinit setup_scache(void)
  {
-@@ -1157,29 +1156,17 @@
+@@ -1157,29 +1156,17 @@ static void __cpuinit setup_scache(void)
  #endif
  
        default:
  #endif
  
        default:
@@ -80,7 +80,7 @@
  
 --- a/arch/mips/mm/Makefile
 +++ b/arch/mips/mm/Makefile
  
 --- 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
  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 e0d225b154b43aecabcfffb641a519dad8bc1cb7..58dafe56955abb3062ec0d10f04ebb9f7019bb9b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/kernel/genex.S
 +++ b/arch/mips/kernel/genex.S
 --- 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
  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:
   *
  /*
   * 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();
  
  {
        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)
        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();
  
  {
        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)
        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();
  
  {
        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)
        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;
        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)
        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()) {
         * silly idea of putting something else there ...
         */
        switch (current_cpu_type()) {
@@ -80,7 +80,7 @@
        case CPU_R4000PC:
        case CPU_R4000SC:
        case CPU_R4000MC:
        case CPU_R4000PC:
        case CPU_R4000SC:
        case CPU_R4000MC:
-@@ -1254,6 +1279,15 @@
+@@ -1254,6 +1279,15 @@ void __cpuinit r4k_cache_init(void)
                break;
        }
  
                break;
        }
  
@@ -96,7 +96,7 @@
        probe_pcache();
        setup_scache();
  
        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);
        build_clear_page();
        build_copy_page();
        local_r4k___flush_cache_all(NULL);
  }
 --- a/arch/mips/mm/tlbex.c
 +++ b/arch/mips/mm/tlbex.c
  }
 --- 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 */
        }
  
                /* No need for uasm_i_nop */
        }
  
  #ifdef CONFIG_64BIT
        build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
  #else
  #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)
  {
                                   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:
  /*
   * 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
  static inline void flush_dcache_line_indexed(unsigned long addr)
  {
        __dflush_prologue
        cache_op(Index_Writeback_Inv_D, addr);
        __dflush_epilogue
  }
        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
  static inline void flush_dcache_line(unsigned long addr)
  {
        __dflush_prologue
        cache_op(Hit_Writeback_Inv_D, addr);
        __dflush_epilogue
  }
        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
  static inline void invalidate_dcache_line(unsigned long addr)
  {
        __dflush_prologue
        cache_op(Hit_Invalidate_D, addr);
        __dflush_epilogue
  }
        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)
  {
   */
  static inline void protected_flush_icache_line(unsigned long addr)
  {
        protected_cache_op(Hit_Invalidate_I, 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)
  {
   */
  static inline void protected_writeback_dcache_line(unsigned long addr)
  {
        protected_cache_op(Hit_Writeback_Inv_D, 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));
  
                : "r" (base),                                           \
                  "i" (op));
  
  static inline void blast_##pfx##cache##lsize(void)                    \
  {                                                                     \
        unsigned long start = INDEX_BASE;                               \
  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                                         \
                                                                        \
                                                                        \
        __##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);      \
        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                                         \
                                                                        \
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        do {                                                            \
                cache##lsize##_unroll32(start, hitop);                  \
                start += lsize * 32;                                    \
        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;                                         \
                                                                        \
                               current_cpu_data.desc.waybit;            \
        unsigned long ws, addr;                                         \
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        for (ws = 0; ws < ws_end; ws += ws_inc)                         \
        __##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                                         \
  }
  
        __##pfx##flush_epilogue                                         \
  }
  
                prot##cache_op(hitop, addr);                            \
                if (addr == aend)                                       \
                        break;                                          \
                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                                         \
  }
  
        __##pfx##flush_epilogue                                         \
  }
  
index 725fb3c7ed566801244783796024e14a8fa320dd..5fe38aaaf679b6ff0bd31447f134e3bd1e594257 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
 --- 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);
        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);
            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)
  {
        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);
            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)
  {
        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
   * 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.
                 */
                 * 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);
                        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) {
        }
  
        if (vaddr) {
index 55c08fe0d35d407c8015dec37b3d371dacbbfb00..6669fba464af9b4e51e4c969f0497e13b4fb5cc0 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)
                }
        }
 @@ -339,7 +339,7 @@ static int b44_phy_reset(struct b44 *bp)
                }
        }
index 8658d6d2551e60d2b1f890a6b90f66fa903c93fb..6a4341fede2324810fda3a750bdd12da92e462a2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/driver_chipcommon.c
 +++ b/drivers/ssb/driver_chipcommon.c
 --- 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)
  {
  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) {
        *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)
  {
  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
        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;
  
        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
        }
 --- 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;
  
        if (bus->chip_id == 0x5365) {
                rate = 100000000;
index f599ca773cd5f9e5cbfbd2af7de67a1435ba6163..856651b3de87e015d2eb77570f1bf859bd1fed07 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/ohci-ssb.c
 +++ b/drivers/usb/host/ohci-ssb.c
 --- 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;
  
        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);
  
        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),
  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 21fac47407b38cff8cce4e56958d87f779c24b5e..afeec9c69fc8367047f72b14210b7ebdfc044542 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/host/ohci-ssb.c
 +++ b/drivers/usb/host/ohci-ssb.c
 --- 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);
  
        else
                ssb_device_enable(dev, 0);
  
index a2c27ab7c7f998e613467f244c46d6b90330b5d0..505e8aa4d53fc303f119d156a0953a92aec0362f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
 --- 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();
  }
  
        preempt_check_resched();
  }
  
@@ -43,7 +43,7 @@
  #include <asm/io.h>
  
  /*
  #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);
  }
  
                flush_data_cache_page((unsigned long)addr);
  }
  
index fb69cc4aab0336742efe33cd79b0db67fde35201..7153871d21158672cbdfd2b30d44c60c65ae1739 100644 (file)
@@ -27,7 +27,7 @@
  void plat_irq_dispatch(void)
  {
        u32 cause;
  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();
  }
  {
        mips_cpu_irq_init();
  }
        while (1)
                cpu_relax();
  }
        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();
  {
        /* Disable interrupts and watchdog and spin forever */
        local_irq_disable();
  {
        int i = 0;
  
  {
        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;
  
  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)
  {
  /* 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
 +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
        select SSB_DRIVER_MIPS
        select SSB_DRIVER_EXTIF
        select SSB_DRIVER_PCICORE
index a2e4c2b85c40af805f957ab07aa4b6fa2695aaa7..59f4c1fdb3d91769cf93491c290832aa52832b1c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/scripts/gen_initramfs_list.sh
 +++ b/scripts/gen_initramfs_list.sh
 --- 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
        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
  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;
  }
  
        outcnt = 0;
  }
  
@@ -81,7 +81,7 @@
  static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
  {
        int written;
  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;
                inptr = 0;
                outcnt = 0;             /* bytes in output buffer */
                bytes_out = 0;
index 21e89cddfffa9826fadb149a86561a4b699cbeb9..9071b7cb34b43dc59bf239e81e08bb5592657b15 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
 --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;
                if ((idx == PCI_ROM_RESOURCE) &&
                                (!(r->flags & IORESOURCE_ROM_ENABLE)))
                        continue;
index d2271dd43ef2c8141fe376e5bc51db3f28ea2271..af251d5ea143f96fb98adcd9dee24d66180d6063 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
 --- 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. */
  /* 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 5f5e48022959f1b967672c793909dc44664939fa..72505d3e27c56c4642651f8daffdf14de14fd732 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
 
 --- 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;
  
        int err = 0;
        u32 tmp;
  
index c7b1b26af4e415682a8e973b10051e55ce3084a1..f96b4d2dabd12f7642a4a7770629c57e9e09c4ad 100644 (file)
@@ -1,7 +1,7 @@
 Add support for 8bit reads/writes to SSB.
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
 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;
  }
  
        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;
  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);
  }
  
        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;
  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 = {
  
  /* 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
  };
 --- 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 */
  
  }
  #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;
  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);
  }
  
        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;
  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 = {
  
  /* 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
  };
 --- 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;
  }
  
        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;
  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));
  }
  
        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;
  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 = {
  
  /* 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
  };
 --- 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 {
  /* 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);
  };
        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. */
  
  
  /* 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);
  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);
  }
  {
        return dev->ops->read32(dev, offset);
  }
index 1ba199fcbb859db662ca24630fee51b04ba95a95..8b0445f5ba2778678ae801e2c5ac89725c39e5a3 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;
  #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;
  }
  
        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) {
        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;
        }
  
                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.
         */
        /*
         * 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");
        }
                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) {
  
        /* 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);
        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
  }
 --- 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. */
  /* 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 ae97cf6cd5208443a24f322083e9886c02182f0d..1ed53e5ef85a0a8b6f018db4aece636553cb3c9c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/ssb/Kconfig
 +++ b/drivers/ssb/Kconfig
 --- a/drivers/ssb/Kconfig
 +++ b/drivers/ssb/Kconfig
-@@ -125,4 +125,13 @@
+@@ -125,4 +125,13 @@ config SSB_DRIVER_EXTIF
  
          If unsure, say N
  
  
          If unsure, say N
  
@@ -16,7 +16,7 @@
  endmenu
 --- a/drivers/ssb/Makefile
 +++ b/drivers/ssb/Makefile
  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
  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
 +#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;
  
  /* 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)
  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,
  };
  
        .mem_offset     = 0x24000000,
  };
  
  
  #include "ssb_private.h"
  
  
  #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);
        return res;
  }
  EXPORT_SYMBOL(ssb_gpio_polarity);
 +}
 --- a/include/linux/ssb/ssb.h
 +++ b/include/linux/ssb/ssb.h
 +}
 --- 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);
  
  extern u32 ssb_admatch_base(u32 adm);
  extern u32 ssb_admatch_size(u32 adm);
  
  #ifdef CONFIG_SSB_DRIVER_PCICORE
  
  /* PCI core registers. */
  #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);
  
  extern int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
                                          struct ssb_device *dev);
  
  
  #else /* CONFIG_SSB_DRIVER_PCICORE */
  
  
  #else /* CONFIG_SSB_DRIVER_PCICORE */
  
-@@ -107,5 +115,16 @@
+@@ -107,5 +115,16 @@ int ssb_pcicore_dev_irqvecs_enable(struc
        return 0;
  }
  
        return 0;
  }
  
  #include <linux/dma-mapping.h>
  #include <linux/pci.h>
  
  #include <linux/dma-mapping.h>
  #include <linux/pci.h>
  
-@@ -68,6 +69,25 @@
+@@ -68,6 +69,25 @@ found:
  }
  #endif /* CONFIG_SSB_PCIHOST */
  
  }
  #endif /* CONFIG_SSB_PCIHOST */
  
  static struct ssb_device *ssb_device_get(struct ssb_device *dev)
  {
        if (dev)
  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 "
        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;
        }
                /* 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)
  {
  
  static void __exit ssb_modexit(void)
  {
  }
 --- a/drivers/ssb/ssb_private.h
 +++ b/drivers/ssb/ssb_private.h
  }
 --- 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);
  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>
  
  #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);
  static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val)
  {
        tp->write32_mbox(tp, off, val);
                tp->read32_mbox(tp, off);
  }
  
                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
  
  
  #define PHY_BUSY_LOOPS        5000
  
  {
        u32 frame_val;
        unsigned int loops;
  {
        u32 frame_val;
        unsigned int loops;
-@@ -720,7 +722,7 @@
+@@ -720,7 +722,7 @@ static int tg3_readphy(struct tg3 *tp, i
  
        *val = 0x0;
  
  
        *val = 0x0;
  
                      MI_COM_PHY_ADDR_MASK);
        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
                      MI_COM_REG_ADDR_MASK);
                      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;
  }
  
        return ret;
  }
  
  {
        u32 frame_val;
        unsigned int loops;
  {
        u32 frame_val;
        unsigned int loops;
-@@ -771,7 +778,7 @@
+@@ -771,7 +778,7 @@ static int tg3_writephy(struct tg3 *tp, 
                udelay(80);
        }
  
                udelay(80);
        }
  
                      MI_COM_PHY_ADDR_MASK);
        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
                      MI_COM_REG_ADDR_MASK);
                      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;
  }
  
        return ret;
  }
  
  static void tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
  {
        tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
  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);
                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;
  
        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++) {
        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(0x5000, 0x400);
        }
  
        tw32(GRC_MODE, tp->grc_mode);
  
        if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) {
        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 -ENODEV;
        }
  
        return 0;
  }
  
        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;
  
        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];
        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;
  
        unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size;
        int err, i;
  
        if (tp->tg3_flags2 & TG3_FLG2_HW_TSO)
                return 0;
  
        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);
  
  
        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
        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;
  
        __le32 *buf;
        int i, j, k, err = 0, size;
  
        if (tg3_nvram_read_swab(tp, 0, &magic) != 0)
                return -EIO;
  
        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);
                        return -EAGAIN;
  
                spin_lock_bh(&tp->lock);
                spin_unlock_bh(&tp->lock);
  
                data->val_out = mii_regval;
                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);
                        return -EAGAIN;
  
                spin_lock_bh(&tp->lock);
                spin_unlock_bh(&tp->lock);
  
                return err;
                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)
  {
  /* 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 <<
        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;
  
  {
        int ret;
  
        if (!(tp->tg3_flags & TG3_FLAG_NVRAM))
                return tg3_nvram_read_using_eeprom(tp, offset, val);
  
        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;
  
  {
        int ret;
  
        if (tp->tg3_flags & TG3_FLAG_EEPROM_WRITE_PROT) {
                tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl &
                       ~GRC_LCLCTRL_GPIO_OUTPUT1);
        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;
        }
  
                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;
        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_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
        /* 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])) {
        }
  
        if (!is_valid_ether_addr(&dev->dev_addr[0])) {
  #ifdef CONFIG_SPARC
                if (!tg3_get_default_macaddr_sparc(tp))
                        return 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_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";
        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;
                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
         * 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
  #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;
  
        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_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
  #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 || \
         (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
        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:
                        /* fallthrough */
                case SSB_DEV_PCI:
                case SSB_DEV_ETHERNET:
index 59552ed9271b2a428d2b78a1cd7dc99d78006c15..b06f08e1cfa7e3004e3334f4f20168d548a74780 100644 (file)
@@ -1,7 +1,7 @@
 Add gpio_is_valid() for bcm47xx
 --- a/arch/mips/bcm47xx/gpio.c
 +++ b/arch/mips/bcm47xx/gpio.c
 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);
  
  }
  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
 +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);
  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)
  {
  
  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);
  }
  
        return bcm47xx_gpio_direction_output(gpio, value);
  }
  
index e72f99e8038ac0ecdb4fd5315f34a2d997dfede0..63a71f05f4192c25eda3dd76709c9579f797f77c 100644 (file)
@@ -8,7 +8,7 @@
  
  const char *get_system_type(void)
  {
  
  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)
  {
  
  void prom_putchar(char c)
  {
@@ -90,7 +90,7 @@
  {
        char buf[CL_SIZE];
  
  {
        char buf[CL_SIZE];
  
-@@ -146,9 +122,12 @@
+@@ -146,9 +122,12 @@ static __init void prom_init_mem(void)
  
  void __init prom_init(void)
  {
  
  void __init prom_init(void)
  {
index dcc0c37a71a9c8f1ccb97a78a571d25120caef66..0fe4f42b919f7412a9fef8207c8b9a923fcf0d10 100644 (file)
@@ -10,7 +10,7 @@ ARCH:=cris
 BOARD:=etrax
 BOARDNAME:=Foxboard (ETRAX 100LX)
 FEATURES:=squashfs jffs2 broken
 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
 
 
 include $(INCLUDE_DIR)/target.mk
 
index ea6d08e86fee486ffb0828036dae76295ba46fda..ecb930712b43c103a2fb09947b7a64d4d6d50ac6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/cris/Makefile
 +++ b/arch/cris/Makefile
 --- a/arch/cris/Makefile
 +++ b/arch/cris/Makefile
-@@ -33,7 +33,7 @@
+@@ -33,7 +33,7 @@ endif
  
  LD = $(CROSS_COMPILE)ld -mcrislinux
  
  
  LD = $(CROSS_COMPILE)ld -mcrislinux
  
@@ -21,7 +21,7 @@
  subdir- := compressed rescue
  targets := Image
  
  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 $@
  
  $(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 > $@
  
  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
        $(call if_changed,objcopy)
  
  $(obj)/head.o: $(obj)/head.S .config
@@ -93,7 +93,7 @@
        beq     dram_init_finished
        nop
        
        beq     dram_init_finished
        nop
        
-@@ -36,91 +37,91 @@
+@@ -36,91 +37,91 @@ dram_init_finished:        
                
        ;; Initiate the PA and PB ports
  
                
        ;; Initiate the PA and PB ports
  
   * adaptation for Linux/CRIS Axis Communications AB, 1999
   *
   */
   * 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 **);
   
  static void gzip_mark(void **);
  static void gzip_release(void **);
   
   
  #include "../../../../../lib/inflate.c"
  
   
  #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
  /* decompressor info and error messages to serial console */
  
  static void
  {
  #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
        while(*s) {
  {
  #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
        while(*s) {
-@@ -209,9 +209,9 @@
+@@ -209,9 +209,9 @@ flush_window()
  static void
  error(char *x)
  {
  static void
  error(char *x)
  {
  
        while(1);       /* Halt */
  }
  
        while(1);       /* Halt */
  }
-@@ -257,14 +257,7 @@
+@@ -257,14 +257,7 @@ decompress_kernel()
  
        makecrc();
  
  
        makecrc();
  
  }
 --- a/arch/cris/arch-v10/mm/init.c
 +++ b/arch/cris/arch-v10/mm/init.c
  }
 --- 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);
  }
  
        free_area_init_node(0, &contig_page_data, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0);
  }
index f73b379ddc5a7dd18ed609bc07845667a7ba6607..8ffe07377eb777a3d3e0d96aed35296d8610ca92 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/cris/eth_v10.c
 +++ b/drivers/net/cris/eth_v10.c
 --- 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)
  {
  static void
  e100_netpoll(struct net_device* netdev)
  {
index ac4ac67818e44879ae57f53b00d79d8b1cd5c576..5353106cad7746c00f240988e9e077e624683252 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
 --- 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;
                }
  
                        return NULL;
                }
  
index 859bb46fdc018b2cc79593fdb1abd9ea1c3fadcb..4c4fa81d044000d8a2af0f46f4bc3ba83061053d 100644 (file)
@@ -8,7 +8,7 @@
 +      .dword 0xdeadc0de
 --- a/arch/cris/arch-v10/drivers/axisflashmap.c
 +++ b/arch/cris/arch-v10/drivers/axisflashmap.c
 +      .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
  
  /* 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
  
  /*
   * 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] = {
        {
   */
  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";
        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
  
        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;
        }
                       mymtd->name, mymtd->size);
                axisflash_mtd = mymtd;
        }
index 3b0378421a077b055fa7e00d31f0b38d349c6be5..a7bebe52d87c8900e88ae32c9970706c374dac42 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/serial/crisv10.c
 +++ b/drivers/serial/crisv10.c
 --- 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>
  #include <linux/kernel.h>
  #include <linux/mutex.h>
  #include <linux/bitops.h>
@@ -8,7 +8,7 @@
  
  #include <asm/io.h>
  #include <asm/irq.h>
  
  #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
  };
  
        .tiocmset = rs_tiocmset
  };
  
@@ -16,7 +16,7 @@
  static int __init
  rs_init(void)
  {
  static int __init
  rs_init(void)
  {
-@@ -4518,6 +4520,24 @@
+@@ -4518,6 +4520,24 @@ rs_init(void)
  #endif
  #endif /* CONFIG_SVINTO_SIM */
  
  #endif
  #endif /* CONFIG_SVINTO_SIM */
  
index 5b443d42fa1550f2a8415d37ee95a100f841b442..51de789fa1d378ce458205ef9c34f6f21dab1f9b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/Makefile
 +++ b/drivers/usb/Makefile
 --- 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/
  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
  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
  
  obj-$(CONFIG_USB_U132_HCD)    += u132-hcd.o
  obj-$(CONFIG_USB_R8A66597_HCD)        += r8a66597-hcd.o
  
index 4f55eb539b620bc0c3ce1d6c158ec07129c8bc66..b2be83183a99d6e76de4b9df0dba68f9216647dd 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1367,6 +1367,71 @@
+@@ -1367,6 +1367,71 @@ config CRAMFS
  
          If unsure, say N.
  
  
          If unsure, say N.
  
@@ -74,7 +74,7 @@
        depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
        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/
  obj-$(CONFIG_JBD2)            += jbd2/
  obj-$(CONFIG_EXT2_FS)         += ext2/
  obj-$(CONFIG_CRAMFS)          += cramfs/
  #include <linux/initrd.h>
  #include <linux/string.h>
  
  #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:
   * numbers could not be found.
   *
   * We currently check for the following magic numbers:
   *    minix
   *    ext2
   *    romfs
   *    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;
        struct ext2_super_block *ext2sb;
        struct romfs_super_block *romfsb;
        struct cramfs_super *cramfsb;
        int nblocks = -1;
        unsigned char *buf;
  
        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;
        ext2sb = (struct ext2_super_block *) buf;
        romfsb = (struct romfs_super_block *) buf;
        cramfsb = (struct cramfs_super *) buf;
        memset(buf, 0xe5, size);
  
        /*
        memset(buf, 0xe5, size);
  
        /*
-@@ -101,6 +105,15 @@
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
                goto done;
        }
  
                goto done;
        }
  
index fdc30398631adbbebb9f27b63483a931cb362a74..939e0a9e3221bbc675fb24ab4a623569910b8775 100644 (file)
 +}
 --- a/lib/Makefile
 +++ b/lib/Makefile
 +}
 --- 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 \
  lib-y += kobject.o kref.o klist.o
  
  obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
index 16cc87319960209b29c1c0b05f5c4e0a5e30c797..9050e370ca5c0f905a1688b2e4253235713c79a3 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);
  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 *);
  
  
                        const char *, void *, struct vfsmount *);
  
  
@@ -50,7 +50,7 @@
  
  static struct file_system_type squashfs_fs_type = {
        .owner = THIS_MODULE,
  
  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;
  
        if (compressed) {
                int zlib_err;
  
@@ -66,7 +66,7 @@
                stream.next_in = c_buffer;
                stream.avail_in = c_byte;
                stream.next_out = buffer;
                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;
                        bytes = 0;
                } else
                        bytes = stream.total_out;
@@ -75,7 +75,7 @@
                up(&msblk->read_data_mutex);
        }
  
                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");
  
        printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
                "Phillip Lougher\n");
  
@@ -95,7 +95,7 @@
                destroy_inodecache();
        }
  
                destroy_inodecache();
        }
  
-@@ -2064,7 +2098,9 @@
+@@ -2064,7 +2098,9 @@ out:
  
  static void __exit exit_squashfs_fs(void)
  {
  
  static void __exit exit_squashfs_fs(void)
  {
index d3898f1fc6f9265c9a14654e23377be9d7a6e943..ba1b71c610d68b12ea9e737bd07c36593f851207 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
 --- 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)
  
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
  
index 961829e580505bdf52fe7017f921a9ced123dd98..56b7fc2c406dae588f56bb70ed0f6fca2e9c9e7b 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/squashfs_fs_sb.h>
  #include <linux/squashfs_fs_i.h>
  #include <linux/buffer_head.h>
  #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 dbb7e7c87e3dd546a9e1c3be196a077e8433605c..cd62e9c2501974bf9245319ede3dd43ae96878a4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/system.h
 +++ b/include/asm-mips/system.h
 --- 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);
  
     if something tries to do an invalid xchg().  */
  extern void __xchg_called_with_bad_pointer(void);
  
index f1279c29f81ac555534a9dc9147236e58b8fafc9..557736f7a4ab000e4ea586cb164f7bdea201021c 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 *);
  
  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')) {
  
                if (extp->MajorVersion != '1' ||
                    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
index d2c1dc5d4b130d096ddc674599b15b2f8394e741..072900786b8ecc688d2efe2c3fc631dc2040ef4e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0001.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
 --- 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,
  
  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;
  {
        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();
        flstate_t oldstate, newstate;
  
                start = xip_currtime();
@@ -18,7 +18,7 @@
        if (usec == 0)
                usec = 500000;
        done = 0;
        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)
  
  #define XIP_INVAL_CACHED_RANGE(map, from, size)  \
        INVALIDATE_CACHED_RANGE(map, from, size)
  
@@ -29,7 +29,7 @@
  
  #else
  
  
  #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,
  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;
        /* 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) \
  #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)
  
  
  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),
  
        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);
        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,
  
        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;
        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,
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
                                   adr, len,
index 4a1c9581f50efbbc281cc1b10bf9ce551302a05c..f5d9b0ca8aebc8c776655be2f8ca4903a3707c59 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/buffer_head.h>
  #include <linux/mutex.h>
  #include <linux/mount.h>
  #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 */
  
  
  /* FIXME: ensure that mtd->size % erase_size == 0 */
@@ -21,7 +21,7 @@
  
        if (!devname)
                return NULL;
  
        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 */
  
        /* 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;
        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;
        dev->mtd.read = block2mtd_read;
        dev->mtd.priv = dev;
        dev->mtd.owner = THIS_MODULE;
@@ -68,7 +68,7 @@
        return dev;
  
  devinit_err:
        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)
  {
  
  static int block2mtd_setup2(const char *val)
  {
@@ -80,7 +80,7 @@
        char *name;
        size_t erase_size = PAGE_SIZE;
        int i, ret;
        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);
  
        strcpy(str, val);
        kill_final_newline(str);
  
@@ -89,7 +89,7 @@
                token[i] = strsep(&str, ",");
  
        if (str)
                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");
                }
        }
                        parse_err("illegal erase size");
                }
        }
  
        return 0;
  }
  
        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);
  
  
  module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
index 62a7e252e3c768284978b1a9f38d4465a60f4740..5b882c6063d8922e9d835b5c93fcb81b69e98b95 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
 --- 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.
  
          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);
  
  /* 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))
   * 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
  
  /*
   * 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;
  }
  
        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
  /*
   * 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;
                       int nbparts)
  {
        struct mtd_part *slave;
                }
        }
  
                }
        }
  
-@@ -574,6 +746,32 @@
+@@ -574,6 +746,32 @@ int parse_mtd_partitions(struct mtd_info
        return ret;
  }
  
        return ret;
  }
  
  EXPORT_SYMBOL_GPL(deregister_mtd_parser);
 --- a/drivers/mtd/devices/block2mtd.c
 +++ b/drivers/mtd/devices/block2mtd.c
  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;
        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;
  
        size_t len = instr->len;
        int err;
  
        instr->state = MTD_ERASING;
        mutex_lock(&dev->write_mutex);
        err = _block2mtd_erase(dev, from, len);
        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);
  
        instr->state = MTD_ERASE_DONE;
        mtd_erase_callback(instr);
        return err;
  }
  
        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);
        struct page *page;
        int index = from >> PAGE_SHIFT;
        int offset = from & (PAGE_SIZE-1);
        if (from + len > mtd->size)
                len = mtd->size - from;
  
        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);
                len = len - cpylen;
  
                page = page_read(dev->blkdev->bd_inode->i_mapping, index);
  
                memcpy(buf, page_address(page) + offset, cpylen);
                page_cache_release(page);
  
                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++;
        }
                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;
                size_t *retlen, const u_char *buf)
  {
        struct block2mtd_dev *dev = mtd->priv;
        if (to + len > mtd->size)
                len = mtd->size - to;
  
        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;
        mutex_unlock(&dev->write_mutex);
        if (err > 0)
                err = 0;
        return err;
  }
  
        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;
  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);
                }
                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)) {
  #endif
  
        if (IS_ERR(bdev)) {
  
        /* Setup the MTD structure */
        /* make the name contain the block device in */
  
        /* 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;
        dev->mtd.read = block2mtd_read;
        dev->mtd.priv = dev;
        dev->mtd.owner = THIS_MODULE;
  
  #include <asm/uaccess.h>
  
  
  #include <asm/uaccess.h>
  
-@@ -756,6 +757,13 @@
+@@ -756,6 +757,13 @@ static int mtd_ioctl(struct inode *inode
                file->f_pos = 0;
                break;
        }
                file->f_pos = 0;
                break;
        }
                ret = -ENOTTY;
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
                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;
  };
  
        uint8_t         *oobbuf;
  };
  
  struct mtd_info {
        u_char type;
        u_int32_t flags;
  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 module *owner;
        int usecount;
  
  struct mtd_partition {
        char *name;                     /* identifier string */
        u_int32_t size;                 /* partition size */
  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 */
        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)
  };
  
  #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 *);
  
  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
   * 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)
  #define ECCGETLAYOUT          _IOR('M', 17, struct nand_ecclayout)
  #define ECCGETSTATS           _IOR('M', 18, struct mtd_ecc_stats)
  #define MTDFILEMODE           _IO('M', 19)
index 0f15bab3dd707b4675da1659252c756a21bef39c..784fba1b703fdc7f1fae8d977e39b787623e7818 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
 --- 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;
  
  #endif
                names += strlen(names)+1;
  
index ef885edac343d73e7d193e3a9f91f3e8cbe91424..61f2806bda10b0949e57d9fe1344f9c7229d04da 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
 --- 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;
        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
  
 --- 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 */
        platform_set_drvdata(pdev, data);
  
        /* Scan to find existance of the device */
index c530519b38e2b633e38f5d6a45d4aa60f46cdda8..9bf65dee6b21d5ed5bbcc67d0eb234f3ba421c84 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 --- 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.
  
  
          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
        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
  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
 +}
 --- 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);
  
         * 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
                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 -ENOSPC;
  #endif
  
        return 0;
 --- a/include/net/netfilter/nf_conntrack.h
 +++ b/include/net/netfilter/nf_conntrack.h
        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
  
        u_int32_t secmark;
  #endif
  
index 167d578cf1535efce1e16260b57008664d6f721c..be2dff8e1624d8b74ce2a9be16792c80a2d6bc41 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/netfilter/xt_layer7.h
 +++ b/include/linux/netfilter/xt_layer7.h
 --- 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;
      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
  #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. */
  }
  
  /* add the new app data to the conntrack.  Return number of bytes added. */
@@ -61,7 +61,7 @@
        return length;
  }
  
        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;
        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;
  
        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 */
                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);
  
                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);
  
        /* the return value gets checked later, when we're ready to use it */
        comppattern = compile_and_cache(info->pattern, info->protocol);
  
index cd1abfaf6da2c547d33abbb1645cb8c25d0cf8b3..72151b459fb269e136c3f223473487f0da85479d 100644 (file)
 +
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
 +
 --- 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.
          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
        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
  
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  
index 88e33d5cff5fb08a9f28513272f0e54ce0edfe6a..10cd1b9628d7296727a33bb4e3b3c0f1774a7a62 100644 (file)
 +module_exit(ipt_SET_fini);
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
 +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.
  
          Allows altering the ARP packet payload: source and destination
          hardware and network addresses.
  
  
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
  
 --- 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_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
  
  
  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
  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 ba6b5dc3202fef3e0ee6b4e2786541dbb357b4de..fdaf5c8e91b355521dff583ab5469ea23b36e4f8 100644 (file)
 +}
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
 +}
 --- 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
  
        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
        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
  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 3e2423ffe9cf6c3c5a51b5047e69c6c4d259935a..015afc9df8ec17984104260e6ca56e540bd73625 100644 (file)
 +
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
 +
 --- 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.
  
          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
        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
  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
 +#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
        struct nf_conntrack     *nfct;
        struct sk_buff          *nfct_reasm;
  #endif
  #ifdef CONFIG_BRIDGE_NETFILTER
        struct nf_bridge_info   *nf_bridge;
  #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
        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>
  #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)) {
  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
 +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.
  
  
          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
        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
  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
 +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.
  
  
          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
  
 --- 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);
  }
  
        clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state);
  }
index d059973f2f3027a90bb88bdff93fbb347854a3a3..361697c9e7cdf86a5be8d7a0353bb590982dc038 100644 (file)
@@ -95,7 +95,7 @@
 +#define xt_request_find_match xt_request_find_match_lo
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 +#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
  
  
  # alphabetically ordered list of targets
  
  config NETFILTER_XT_TARGET_CLASSIFY
        tristate '"CLASSIFY" target support'
        depends on NETFILTER_XTABLES
  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'.
  
          <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
  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.
  
  
          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
        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
  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
  
  # 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
  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
 +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;
  }
  
        return seq;
  }
  
index 8575368699702a08f7d5f8834cbbece52e4e430f..d99150fa0f094d2c3eda287295c2606e6bc0a1c2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 --- 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.
  
  
          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
        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
  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 dbdcf39e7b31763d02a8488efe16cc67b953f83c..29491e2fd964b0f306479379621d0614912eee8e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 --- 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"
  
  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
        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'
  
  config NETFILTER_XT_TARGET_TCPMSS
        tristate '"TCPMSS" target support'
index 4e5adf97a1e478c4506f5283a76a3f4cdcd5202f..8b98b89f764dff31d051d464ea316ee4d4a07d05 100644 (file)
 +#endif /* _NETFILTER_MIME_H */
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
 +#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_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
  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.
  
  
          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
        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_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
  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
  
        depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
        default NF_NAT && NF_CONNTRACK_IRC
  
index 1dfd95e82b8ee0d241b6852479762611417e5d88..a3c02625d9f48e272dc9f87c6111166688985b57 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/pkt_sched.h
 +++ b/include/linux/pkt_sched.h
 --- 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.
   *
   *    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
  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.
  
          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
        ---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
  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 cd961e5a83200c2f6c5af227c985375926c45376..e4cdfdd7b25eb32b8727608e20b161fbd5255543 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
 --- 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
  
  cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
  load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
  
index 5053401f118509bddd6c4ce67fb4dce08b880820..eccdbe2f92b3acb55502e7b9d7f8fc55025744a2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/build.c
 +++ b/fs/jffs2/build.c
 --- 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);
  
        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
        /* 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);
  
                /* reset summary info for next eraseblock scan */
                jffs2_sum_reset_collected(s);
@@ -36,7 +36,7 @@
  
                if (ret < 0)
                        goto out;
  
                if (ret < 0)
                        goto out;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
                        return err;
        }
  
                        return err;
        }
  
index e812f9b51e6e2116585a4b5ff533ae960e5b524f..2196a494b2c663f5ab7145b58f511c9e24f58be0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/r8169.c
 +++ b/drivers/net/r8169.c
 --- 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,
                .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
                                  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,
                .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
                                  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,
                .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
                                  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;
                }
  
                        break;
                }
  
index 9b585463b75cdc7071bf7148ede8068ccbb826e1..9d76d0159555658c62b308ae32d2087e200b904c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
 --- 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.
  
          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
        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/
  obj-y                         += ramfs/
  obj-$(CONFIG_HUGETLBFS)               += hugetlbfs/
  obj-$(CONFIG_CODA_FS)         += coda/
index 22ca3900e9b40bf2cde975bcb117bb02940d03ce..d71e3b6faa6644c2337588f4b344cc5677419841 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/main.c
 +++ b/fs/mini_fo/main.c
 --- 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
         */
  
         * of the new inode's fields
         */
  
@@ -8,7 +8,7 @@
        /*
         * original: inode = iget(sb, hidden_inode->i_ino);
         */
        /*
         * 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;
        }
                err = -EACCES;          /* should be impossible??? */
                goto out;
        }
@@ -22,7 +22,7 @@
  
        /*
         * interpose the inode if not already interposed
  
        /*
         * 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;
                        }
                                hidden_root = ERR_PTR(err);
                                goto out;
                        }
@@ -35,7 +35,7 @@
  
                } else if(!strncmp("sto=", options, 4)) {
                        /* parse the storage dir */
  
                } 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;
                        }
                                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
                        /* 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);
  
  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);
  
  #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__ */
  
  #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
   */
 --- 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
  
  #endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
 --- a/fs/mini_fo/aux.c
 +++ b/fs/mini_fo/aux.c
  #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 */
        err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd);
  
        /* validate */
index 14a9f37666924618eace41322f5014978ad40da9..48a19429b996fdadc74305005d6aa07cc648ca8a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/mini_fo/meta.c
 +++ b/fs/mini_fo/meta.c
 --- 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
        }
                           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)) {
          /* 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
        }
                           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)) {
          /* 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;
                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 27113667956abcd88758181974a6ccd892639d01..f91db03bd72bb19f3d7348f5851ca2c89dca7203 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/kobject_uevent.c
 +++ b/lib/kobject_uevent.c
 --- 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)
  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 */
  #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",
  };
  
        [KOBJ_OFFLINE] =        "offline",
  };
  
@@ -29,7 +29,7 @@
  /**
   * kobject_action_type - translate action string to numeric type
   *
  /**
   * 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 */
                kobj->state_remove_uevent_sent = 1;
  
        /* we will send an event, so request a new sequence number */
index c052f2ad29ec2007baf83e858469cdcebef4fa57..d215d120779a9a0eb5d5c3630dca9a0183c51a0a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/sound/core/Kconfig
 +++ b/sound/core/Kconfig
 --- 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
        depends on SND
  
  config SND_HWDEP
index 2e1f8b8b382e5fb7178284b199246fa503757ccd..7208dde0ef5376346b8bb135724d1124613e56b9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
 --- 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.
  
          load average.
          If unsure, say Y.
  
@@ -11,7 +11,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
  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
  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 721668304868985af3698dbddd08991d368cc361..b65dce85a6edcdbb7003690638be99f957a1af01 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
 --- 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.
  
        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
        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
  obj-$(CONFIG_LEDS_AMS_DELTA)          += leds-ams-delta.o
  obj-$(CONFIG_LEDS_NET48XX)            += leds-net48xx.o
  obj-$(CONFIG_LEDS_WRAP)                       += leds-wrap.o
index b1f8c5076e88568f6e6c842ae2e61947ee8f9936..3697ff7fa191cab06ea10d6260d5f0097dc9b892 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
 --- 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
  
        tristate "LED Morse Trigger"
        depends on LEDS_TRIGGERS
  
@@ -14,7 +14,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
  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
  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 6ae2cd7df5d4ac477e641ce7dbdfb91fe337f92a..46ca987e5327fa7e5ec218e88eb4f464613b57f8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/input/misc/Kconfig
 +++ b/drivers/input/misc/Kconfig
 --- 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.
  
          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
  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
  obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
  obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
  obj-$(CONFIG_INPUT_APANEL)            += apanel.o
index 5eecc61ae5477c2c4cf183c022a386bfd8a21839..de8b57adf7f67b282b75ee84a44f4b4c774bff05 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
 --- 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.
  
  
          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
        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
  obj-$(CONFIG_PC8736x_GPIO)    += pc8736x_gpio.o
  obj-$(CONFIG_NSC_GPIO)                += nsc_gpio.o
  obj-$(CONFIG_CS5535_GPIO)     += cs5535_gpio.o
index e0f1a9befb925d24c6bc6db779fbc483ef2d7edd..cef6ea592e2cb7a072783229befec424620a9eca 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
 --- 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"
  
  source "fs/xfs/Kconfig"
  source "fs/gfs2/Kconfig"
@@ -10,7 +10,7 @@
        tristate "OCFS2 file system support"
 --- a/fs/Makefile
 +++ b/fs/Makefile
        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/
  obj-$(CONFIG_DEBUG_FS)                += debugfs/
  obj-$(CONFIG_OCFS2_FS)                += ocfs2/
  obj-$(CONFIG_GFS2_FS)           += gfs2/
index ac895342f6f71290606bdd5b98761c0c350fe156..c1273363469279de8f3c6f745c50112efeb24221 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/yaffs2/yaffs_fs.c
 +++ b/fs/yaffs2/yaffs_fs.c
 --- 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
  #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 *);
  
  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,
  
  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,
        .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));
  
        T(YAFFS_TRACE_OS,
          (KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
  
@@ -42,7 +42,7 @@
  
        return inode;
  }
  
        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
  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);
  }
  
        yaffs_GrossUnlock(dev);
  }
index 6ac585eeff2ef39a83404155f7b7f0b9a7fa806d..c4ef46529c318155ae9de9fa16c2fa213ad423a7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
 --- 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);
  
  }
  EXPORT_SYMBOL(phy_ethtool_gset);
  
@@ -53,7 +53,7 @@
   * @phydev: the phy_device struct
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
   * @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);
  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 cda40d88bead837348260d7b5e76eeefef9644d9..9fa7bb2fe285a9b66cdca85fa99d0b90f69a1a05 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/mdio_bus.c
 +++ b/drivers/net/phy/mdio_bus.c
 --- 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);
  
        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
  }
 --- 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;
  
        u32 features;
        u32 flags;
  
index 46e6bf34b63465ace7004a916bf110a7b54624f2..1b035cbdbb42b23b0197ae17bb11ea379dd46643 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
 --- 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.
  
        ---help---
          Supports the Realtek 821x PHY.
  
@@ -14,7 +14,7 @@
        depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
        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
  obj-$(CONFIG_VITESSE_PHY)     += vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)    += broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)      += icplus.o
index 22654db8fbc694f27c0ab3bf610c584b17305ffd..6115487dddffbc18ef5e8483e9b18c8361a8d27d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
 --- 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));
  }
  
        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;
  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;
        dev->bus = bus;
  
        dev->state = PHY_DOWN;
@@ -30,7 +30,7 @@
  
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
  
 --- 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);
        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
  
 --- 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 */
        void                    *ax25_ptr;      /* AX.25 specific data */
        struct wireless_dev     *ieee80211_ptr; /* IEEE 802.11 specific data,
                                                   assign before registering */
index 85b8cb4f916c9fce58642c28beddeecbff432563..c2d7d1c0de51e782b6559619ac8e1b1c24341215 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
 --- 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
  
        ---help---
          Currently supports the ADM6996F switch
  
@@ -15,7 +15,7 @@
        depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
        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
  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
  /**
   * 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;
  
                        phydev->dev.parent = bus->dev;
                        phydev->dev.bus = &mdio_bus_type;
index 8c2d74ef148803e615eefafcfd903c16ea845fdc..a47129171f03573b1b088aa332fee8897cf7489c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
 --- 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]
  
  
        l2cr=           [PPC]
  
@@ -11,7 +11,7 @@
  
 --- a/Documentation/powerpc/booting-without-of.txt
 +++ b/Documentation/powerpc/booting-without-of.txt
  
 --- 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
  
        p) Freescale Synchronous Serial Interface
          q) USB EHCI controllers
  
@@ -52,7 +52,7 @@
    Appendix A - Sample SOC node for MPC8540
  
  
    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:
  
  
    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
      - 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.
     - 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
     - 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:
     - 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),
     - 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";
        ucc@2000 {
                device_type = "network";
                compatible = "ucc_geth";
@@ -94,7 +94,7 @@
                reg = <2000 200>;
                interrupts = <a0 0>;
                interrupt-parent = <700>;
                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>;
                interrupts = <20 8>;
                interrupt-parent = <&PIC>;
                phy-handle = <&PHY0>;
                fsl,cpm-command = <12000300>;
        };
  
                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.
  
                          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.
      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 {
      Example:
  
        EMAC0: ethernet@40000800 {
                device_type = "network";
                compatible = "ibm,emac-440gp", "ibm,emac";
                interrupt-parent = <&UIC1>;
                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
  ===================================================
  
  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
  
        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
 +   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
  
        bool
        default y
  
  config RWSEM_GENERIC_SPINLOCK
        bool
  
  config RWSEM_GENERIC_SPINLOCK
        bool
  
-@@ -81,6 +94,11 @@
+@@ -81,6 +94,11 @@ config GENERIC_FIND_NEXT_BIT
        bool
        default y
  
        bool
        default y
  
  config ARCH_NO_VIRT_TO_BUS
        def_bool PPC64
  
  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
        select HAVE_OPROFILE
        select HAVE_KPROBES
        select HAVE_KRETPROBES
  
  config EARLY_PRINTK
        bool
  
  config EARLY_PRINTK
        bool
-@@ -210,15 +229,6 @@
+@@ -210,15 +229,6 @@ source kernel/Kconfig.hz
  source kernel/Kconfig.preempt
  source "fs/Kconfig.binfmt"
  
  source kernel/Kconfig.preempt
  source "fs/Kconfig.binfmt"
  
  config HUGETLB_PAGE_SIZE_VARIABLE
        bool
        depends on HUGETLB_PAGE
  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.
  
  
          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
  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.
  
          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
  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
  
        bool
        select PPC_INDIRECT_PCI
  
  # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
  config MCA
        bool
  # 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
  
        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
        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
        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
          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
  
  
  LDFLAGS_vmlinux       := -Bstatic
  
  CPP           = $(CC) -E $(KBUILD_CFLAGS)
  
  CHECKFLAGS    += -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
  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)/%,$@)
  
  $(BOOT_TARGETS): vmlinux
        $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
  define archhelp
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
  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
  $(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
  
  
  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 \
                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))
  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_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
  
  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
  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
  
  # 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
  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
  
  # 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
        $(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
  
  # 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)
  
  $(obj)/uImage: vmlinux $(wrapperbits)
        $(call if_changed,wrap,uboot)
  
  
  # If there isn't a platform selected then just strip the vmlinux.
  ifeq (,$(image-y))
  
  # 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.* \
  
  # 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
  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);
        ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
        ibm4xx_sdram_fixup_memsize();
        ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
  
  struct cpm_scc {
        u32 gsmrl;
  
  struct cpm_scc {
        u32 gsmrl;
-@@ -42,6 +43,22 @@
+@@ -42,6 +43,22 @@ struct cpm_param {
        u16 tbase;
        u8 rfcr;
        u8 tfcr;
        u16 tbase;
        u8 rfcr;
        u8 tfcr;
  };
  
  struct cpm_bd {
  };
  
  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 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);
  
  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);
  
        out_8(&param->rfcr, 0x10);
        out_8(&param->tfcr, 0x10);
  
        do_cmd(CPM_CMD_INIT_RX_TX);
  
  
        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)
  {
  
  int cpm_console_init(void *devp, struct serial_console_data *scdp)
  {
  
        if (dt_is_compatible(devp, "fsl,cpm1-smc-uart")) {
                is_smc = 1;
  
        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;
  
        else
                do_cmd = cpm1_cmd;
  
        scdp->putc = cpm_serial_putc;
 --- a/arch/powerpc/boot/cuboot-pq2.c
 +++ b/arch/powerpc/boot/cuboot-pq2.c
        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;
        u8 *soc_regs;
        int i, len;
        void *node, *parent_node;
  
        node = finddevice("/pci");
        if (!node || !dt_is_compatible(node, "fsl,pq2-pci"))
  
        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)
  
        soc_regs = (u8 *)fsl_get_immr();
        if (!soc_regs)
  
        dt_get_reg_format(node, &naddr, &nsize);
        if (naddr != 3 || nsize != 2)
  
        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)
  
        dt_get_reg_format(parent_node, &naddr, &nsize);
        if (naddr != 1 || nsize != 1)
  
        len = getprop(node, "ranges", pci_ranges_buf,
                      sizeof(pci_ranges_buf));
  
        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)
        }
  
        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));
  
        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);
  
        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)) {
  
        /* 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:
        return;
  
  err:
  static void pq2_platform_fixups(void)
 --- a/arch/powerpc/boot/cuboot-rainier.c
 +++ b/arch/powerpc/boot/cuboot-rainier.c
  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();
        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
  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();
        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
  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();
  
  
        ibm4xx_sdram_fixup_memsize();
  
  }
 --- a/arch/powerpc/boot/cuboot-warp.c
 +++ b/arch/powerpc/boot/cuboot-warp.c
  }
 --- 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");
        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
 +}
 --- 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;
  }
  
        return 0;
  }
   *
   * This file is licensed under
   * the terms of the GNU General Public License version 2.  This program
   *
   * 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";
  / {
        model = "KuroboxHD";
        compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
  
                PowerPC,603e { /* Really 8241 */
                        device_type = "cpu";
  
                PowerPC,603e { /* Really 8241 */
                        device_type = "cpu";
        };
  
        soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
        };
  
        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 */
                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";
                        cell-index = <0>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupts = <9 0>;
                        interrupt-parent = <&mpic>;
                };
                        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";
                        cell-index = <1>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupt-parent = <&mpic>;
                };
  
                        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;
                        device_type = "open-pic";
                        compatible = "chrp,open-pic";
                        interrupt-controller;
                };
  
                pci0: pci@fec00000 {
                };
  
                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";
                        #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
   *
   * 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";
  / {
        model = "KuroboxHG";
        compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
  
                PowerPC,603e { /* Really 8241 */
                        device_type = "cpu";
  
                PowerPC,603e { /* Really 8241 */
                        device_type = "cpu";
        };
  
        soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
        };
  
        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 */
                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";
                        cell-index = <0>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupts = <9 0>;
                        interrupt-parent = <&mpic>;
                };
                        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";
                        cell-index = <1>;
                        device_type = "serial";
                        compatible = "ns16550";
                        interrupt-parent = <&mpic>;
                };
  
                        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;
                        device_type = "open-pic";
                        compatible = "chrp,open-pic";
                        interrupt-controller;
                };
  
                pci0: pci@fec00000 {
                };
  
                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";
                        #interrupt-cells = <1>;
                        device_type = "pci";
                        compatible = "mpc10x-pci";
 +};
 --- a/arch/powerpc/boot/ebony.c
 +++ b/arch/powerpc/boot/ebony.c
 +};
 --- 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();
  
        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
                        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)
  {
  
  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
        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;
  
        if (mpscintr_base == NULL)
                goto err_out;
  
        reg_set = (int)v;
 --- a/arch/powerpc/boot/mv64x60.c
 +++ b/arch/powerpc/boot/mv64x60.c
        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;
  
        u32 v[2];
        void *devp;
  
        if (devp == NULL)
                goto err_out;
        if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v))
        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;
  
        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
        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;
  
        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
        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;
  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
        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);
  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
  {
 --- 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 */
                        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 */
  
        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 */
        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]));
  
        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));
  
        v[1] = bip->mem_size;
        setprop(devp, "reg", v, sizeof(v));
  
   *
   * The PS3 has a single processor with two threads.
   */
   *
   * 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
  
        mfspr   r3, 0x88
        cntlzw. r3, r3
        beq     1f
  
        /* Secondary goes to __secondary_hold in kernel. */
        beq     1f
  
        /* Secondary goes to __secondary_hold in kernel. */
-@@ -57,8 +56,14 @@
+@@ -57,8 +56,14 @@ __system_reset_overlay:
        mtctr   r4
        bctr
  
        mtctr   r4
        bctr
  
        or      31, 31, 31 /* db16cyc */
        or      31, 31, 31 /* db16cyc */
  
        or      31, 31, 31 /* db16cyc */
        or      31, 31, 31 /* db16cyc */
  
-@@ -67,16 +72,18 @@
+@@ -67,16 +72,18 @@ __system_reset_overlay:
        mtctr   r4
        bctr
  
        mtctr   r4
        bctr
  
        u64 in_4, u64 in_5, u64 *out_1, u64 *out_2);
  
  #ifdef DEBUG
        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.
   */
   * 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")));
  
  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)
  {
  
  static int ps3_repository_read_rm_size(u64 *rm_size)
  {
        u64 lpar_id;
        u64 ppe_id;
        u64 v2;
        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[];
  
  {
        extern char __system_reset_kernel[];
  
  
        console_ops.write = ps3_console_write;
        platform_ops.exit = ps3_exit;
  
        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);
  
  
        printf(" flat tree at 0x%lx\n\r", ft_addr);
  
        ps3_exit();
 --- a/arch/powerpc/boot/serial.c
 +++ b/arch/powerpc/boot/serial.c
        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);
  
        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
 +}
 --- 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();
        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
 +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
          ;;
      *-mpc83*)
          platformo=$object/cuboot-83xx.o
          ;;
          platformo=$object/cuboot-85xx-cpm2.o
          ;;
      *-mpc85*|*-tqm8540|*-sbc85*)
          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
      ;;
      platformo="$object/fixed-head.o $object/redboot-8xx.o"
      binary=y
      ;;
  esac
  
  vmz="$tmpdir/`basename \"$kernel\"`.$ext"
  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="-n Linux-$version"
  fi
  
        $uboot_version -d "$vmz" "$ofile"
      if [ -z "$cacheit" ]; then
        rm -f "$vmz"
        $uboot_version -d "$vmz" "$ofile"
      if [ -z "$cacheit" ]; then
        rm -f "$vmz"
-@@ -298,15 +305,16 @@
+@@ -298,15 +305,16 @@ treeboot*)
      exit 0
      ;;
  ps3)
      exit 0
      ;;
  ps3)
  
      system_reset_overlay=0x`${CROSS}nm "$ofile" \
          | grep ' __system_reset_overlay$'       \
  
      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"
          | cut -d' ' -f1`
      system_reset_kernel=`printf "%d" $system_reset_kernel`
      overlay_dest="256"
  #
  # CONFIG_PPC64 is not set
  
  #
  # 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_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
  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_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
  # 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_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=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_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
  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_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
  # 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_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=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_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
  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_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
  # 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_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
 -# 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_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
  # 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_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
  
  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
  # SCSI device support
  #
  # CONFIG_RAID_ATTRS is not set
  # CONFIG_MD is not set
  # CONFIG_FUSION 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_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
  # 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
  #
  #
  # may also be needed; see USB_STORAGE Help for more information
  #
  #
  # CONFIG_PPC64 is not set
  
  #
  # 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_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
  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_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
  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_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
  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_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
  # 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
  # CONFIG_I2C_SIMTEC is not set
  # CONFIG_I2C_TAOS_EVM is not set
  # CONFIG_I2C_STUB is not set
  
  #
  # Miscellaneous I2C Chip support
  
  #
  # Miscellaneous I2C Chip support
-@@ -648,6 +743,11 @@
+@@ -648,6 +743,11 @@ CONFIG_WATCHDOG=y
  CONFIG_83xx_WDT=y
  
  #
  CONFIG_83xx_WDT=y
  
  #
  # Sonics Silicon Backplane
  #
  CONFIG_SSB_POSSIBLE=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
  # CONFIG_VIDEO_DEV is not set
  # CONFIG_DVB_CORE is not set
  CONFIG_DAB=y
  
  #
  # Graphics support
  
  #
  # 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_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
  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_R8A66597_HCD is not set
  
  #
  # CONFIG_USB_GADGET is not set
  # CONFIG_MMC is not set
  # CONFIG_MEMSTICK 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_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
  # 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_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  # CONFIG_PPC64 is not set
  
  #
  # 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_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
  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_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
  # 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_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  # CONFIG_PPC64 is not set
  
  #
  # 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_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
  # 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_HAVE_OPROFILE=y
  # CONFIG_KPROBES is not set
  CONFIG_HAVE_KPROBES=y
  CONFIG_PROC_PAGE_MONITOR=y
  CONFIG_SLABINFO=y
  CONFIG_RT_MUTEXES=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_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  CONFIG_CLASSIC_RCU=y
  CONFIG_PPC4xx_PCI_EXPRESS=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_KATMAI=y
  CONFIG_RAINIER=y
  CONFIG_WARP=y
  CONFIG_IBM440EP_ERR42=y
  # CONFIG_IPIC is not set
  # CONFIG_MPIC is not set
  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_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
  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_ZONE_DMA=y
  CONFIG_PPC_INDIRECT_PCI=y
  CONFIG_PCI=y
  CONFIG_PCI_DOMAINS=y
  CONFIG_PCI_SYSCALL=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
  # CONFIG_INFINIBAND is not set
  # CONFIG_EDAC is not set
  # CONFIG_RTC_CLASS is not set
  
  #
  # Userspace I/O
  
  #
  # 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_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=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_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
  # 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_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
  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_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
  # 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_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  #
  CONFIG_PPC64=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_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
  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_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
  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_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
  # 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_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
 -# 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
  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))
  
  #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));
        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));
  #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));
        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]));
  #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));
        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
   * 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
        bl      __fixup_440A_mcheck
        mtlr    r4
        blr
        b       __fixup_440A_mcheck
 --- a/arch/powerpc/kernel/cputable.c
 +++ b/arch/powerpc/kernel/cputable.c
        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_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);
  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",
        },
                .machine_check          = machine_check_440A,
                .platform               = "ppc440",
        },
  #endif /* CONFIG_44x */
  #ifdef CONFIG_FSL_BOOKE
  #ifdef CONFIG_E200
  #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)
                                *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
  
 --- 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
        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 */
        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
        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)
        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)
        stw     r11,_CCR(r1)
  syscall_exit_cont:
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
        bnel-   load_dbcr0
  #endif
  #ifdef CONFIG_44x
        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)
  
  restore_user:
  #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
        bnel-   load_dbcr0
  #endif
  
        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
        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)
        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 .bss
        .align  4
  global_dbcr0:
  
        .section        ".text"
        .align 7
  
        .section        ".text"
        .align 7
-@@ -88,6 +90,14 @@
+@@ -88,6 +90,14 @@ system_call_common:
        addi    r9,r1,STACK_FRAME_OVERHEAD
        ld      r11,exception_marker@toc(r2)
        std     r11,-16(r9)             /* "regshere" marker */
        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)
        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)
        b       hardware_interrupt_entry
  2:
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
        mfmsr   r11
        ori     r11,r11,MSR_EE
        mtmsrd  r11,1
        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 */
  
        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
        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
  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)
  
        /* 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:
        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)      \
  
  /* 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);   \
        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)
        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
  
  /*
        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
   * 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);
        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 */
  
        /* 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 */
        b       InstructionStorage
  
        /* Debug Interrupt */
  
  /*
   * We layout physical memory as follows:
  
  /*
   * 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)
   */
  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
        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 */
        mtlr    r10
  
        andi.   r10,r12,MSR_RI  /* check for unrecoverable exception */
  
  .machine      push
  .machine      "power4"
  
  .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 */
  
        rfid
        b       .       /* prevent speculative execution */
  
  unrecov_slb:
        EXCEPTION_PROLOG_COMMON(0x4100, PACA_EXSLB)
        DISABLE_INTS
  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
   * Hash table stuff
   */
        .align  7
        std     r3,_DAR(r1)
        std     r4,_DSISR(r1)
  
        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)
  
        /*
  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.
         * 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 */
  
        /*
        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
         * 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 */
  
        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
  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)
         */
        beq     13f
  END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
  BEGIN_FW_FTR_SECTION
        /*
         * Here we have interrupts hard-disabled, so it is sufficient
  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
  
        /*
         * 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. */
        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
  
        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.     */
  
        /* 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)
  
        li      r0,0
        stdu    r0,-STACK_FRAME_OVERHEAD(r1)
  
  #define DEBUG_SPRG            SPRN_SPRG6W
  
  #ifdef CONFIG_SMP
  #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.
   */
   * save (and later restore) the MSR via SPRN_CSRR1, which will still have
   * the MSR_DE bit set.
   */
        DEBUG_EXCEPTION_PROLOG;                                               \
                                                                              \
        /*                                                                    \
        DEBUG_EXCEPTION_PROLOG;                                               \
                                                                              \
        /*                                                                    \
-@@ -234,8 +242,8 @@
+@@ -234,8 +242,8 @@ label:
        cmplw   r12,r10;                                                      \
        blt+    2f;                     /* addr below exception vectors */    \
                                                                              \
        cmplw   r12,r10;                                                      \
        blt+    2f;                     /* addr below exception vectors */    \
                                                                              \
        cmplw   r12,r10;                                                      \
        bgt+    2f;                     /* addr above 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)
  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;                                            \
                                                                              \
        /*                                                                    \
        CRITICAL_EXCEPTION_PROLOG;                                            \
                                                                              \
        /*                                                                    \
-@@ -287,8 +295,8 @@
+@@ -287,8 +295,8 @@ label:
        cmplw   r12,r10;                                                      \
        blt+    2f;                     /* addr below exception vectors */    \
                                                                              \
        cmplw   r12,r10;                                                      \
        blt+    2f;                     /* addr below exception vectors */    \
                                                                              \
        cmplw   r12,r10;                                                      \
        bgt+    2f;                     /* addr above 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)
  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
        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
        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
  
  /* 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
  
        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
        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
        ori     r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
        mtspr   SPRN_MAS1,r6
        mfspr   r6,SPRN_MAS2
        tlbwe
  
        xori    r6,r4,1
        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
        ori     r6,r6,PAGE_OFFSET@l
        rlwimi  r6,r7,0,20,31
        mtspr   SPRN_MAS2,r6
        tlbwe
  
  /* 7. Jump to KERNELBASE mapping */
        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(12, WatchdogTimer);
        SET_IVOR(13, DataTLBError);
        SET_IVOR(14, InstructionTLBError);
        SET_IVOR(32, SPEUnavailable);
        SET_IVOR(33, SPEFloatingPointData);
        SET_IVOR(34, SPEFloatingPointRound);
        SET_IVOR(32, SPEUnavailable);
        SET_IVOR(33, SPEFloatingPointData);
        SET_IVOR(34, SPEFloatingPointRound);
-@@ -718,7 +741,10 @@
+@@ -718,7 +741,10 @@ interrupt_base:
  
  
        /* Debug Interrupt */
  
  
        /* Debug Interrupt */
   * Local functions
 --- a/arch/powerpc/kernel/ibmebus.c
 +++ b/arch/powerpc/kernel/ibmebus.c
   * 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)",
                ret = ibmebus_create_device(child);
                if (ret) {
                        printk(KERN_ERR "%s: failed to create device (%i)",
                        of_node_put(child);
                        break;
                }
                        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",
        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;
        }
                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",
                of_node_put(dn);
        } else {
                printk(KERN_WARNING "%s: no such device node: %s\n",
                rc = -ENODEV;
        }
  
                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",
                return count;
        } else {
                printk(KERN_WARNING "%s: %s not on the bus\n",
  
                kfree(path);
                return -ENODEV;
  
                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",
        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
                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) {
        unsigned int order;
  
        if (!tbl || !tbl->it_map) {
                                node_name);
                return;
        }
                                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",
        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
        }
 --- 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)));
  }
  
        : : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled)));
  }
  
  {
        /*
         * get_paca()->soft_enabled = en;
  {
        /*
         * get_paca()->soft_enabled = en;
-@@ -174,6 +174,7 @@
+@@ -174,6 +174,7 @@ void local_irq_restore(unsigned long en)
  
        __hard_irq_enable();
  }
  
        __hard_irq_enable();
  }
  #endif /* CONFIG_PPC64 */
  
  int show_interrupts(struct seq_file *p, void *v)
  #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;
                                handler = &__do_IRQ;
                        irqtp->task = curtp->task;
                        irqtp->flags = 0;
                        if (irqtp->flags)
                                set_bits(irqtp->flags, &curtp->flags);
                } else
                        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;
                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
                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
         */
         *                      (size depending on dev->n_addr_cells)
         *   cell 5:            the size of the range
         */
                goto inval_range;
  
        isa_addr = range->isa_addr.a_lo;
                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",
         */
        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
  
 --- 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",
        unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
        if (!local_buffer) {
                printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
                return;
        }
  
                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",
        if (call_status != 0) {
                printk(KERN_INFO
                       "%s %s Error calling get-system-parameter (0x%x)\n",
                        kfree(local_buffer);
                        return;
                }
                        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",
        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);
  
        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",
                retval = -EINVAL;
        } else {
                printk(KERN_WARNING "%s: received unknown hv return code %ld",
   */
  struct lppaca lppaca[] = {
        [0 ... (NR_CPUS-1)] = {
   */
  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).
   */
   * 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);
  #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);
  
  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);
  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(strcat);
  EXPORT_SYMBOL(strlen);
  EXPORT_SYMBOL(strcmp);
  
  EXPORT_SYMBOL(csum_partial);
  EXPORT_SYMBOL(csum_partial_copy_generic);
  
  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
  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);
        flush_spe_to_thread(current);
        error = do_execve(filename, (char __user * __user *) a1,
                          (char __user * __user *) a2, regs);
        putname(filename);
  out:
        return error;
        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);
  }
  
        return valid_irq_stack(sp, p, nbytes);
  }
  
  EXPORT_SYMBOL(validate_sp);
  
  unsigned long get_wchan(struct task_struct *p)
  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;
                return 0;
  
        sp = p->thread.ksp;
                        if (!in_sched_functions(ip))
                                return ip;
                }
                        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 {
        lr = 0;
        printk("Call Trace:\n");
        do {
                if (!firstframe || ip != lr) {
                        printk("["REG"] ["REG"] ", sp, ip);
                        print_symbol("%s", ip);
                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.
                 */
                 * See if this is an exception frame.
                 * We look for the "regshere" marker in the current frame.
                 */
  #include <asm/kexec.h>
  
  #ifdef DEBUG
  #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.
   */
   * 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;
  {
        unsigned long start, size;
        void *p;
-@@ -1040,6 +1041,87 @@
+@@ -1040,6 +1041,87 @@ static void __init early_reserve_mem(voi
  #endif
  }
  
  #endif
  }
  
  void __init early_init_devtree(void *params)
  {
        DBG(" -> early_init_devtree(%p)\n", params);
  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
  
        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 ...
        /* 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();
        reserve_kdump_trampoline();
        reserve_crashkernel();
        early_reserve_mem();
  
        lmb_enforce_memory_limit(memory_limit);
        lmb_analyze();
  
        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)
  {
   */
  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;
  void of_detach_node(struct device_node *np)
  {
        struct device_node *parent;
  
        parent = np->parent;
        if (!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:
        of_node_set_flag(np, OF_DETACHED);
  
  out_unlock:
  }
  
  #ifdef CONFIG_PPC_PSERIES
  }
  
  #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;
  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 */
  
  #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;
  int prom_remove_property(struct device_node *np, struct property *prop)
  {
        struct property **next;
        next = &np->properties;
        while (*next) {
                if (*next == prop) {
        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;
        }
                }
                next = &(*next)->next;
        }
  
        if (!found)
                return -ENODEV;
  
        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;
                         struct property *oldprop)
  {
        struct property **next;
        next = &np->properties;
        while (*next) {
                if (*next == oldprop) {
        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;
        }
                }
                next = &(*next)->next;
        }
                return -ENODEV;
 --- a/arch/powerpc/kernel/prom_init.c
 +++ b/arch/powerpc/kernel/prom_init.c
                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"));
  
        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>
  #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",
                        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
        }
 --- 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",
                                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
        }
 --- 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;
  }
  
        return 0;
  }
  
  int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
  {
        int returnval = -1;
  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
        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);
        }
  
                        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
        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;
                        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) {
  
        res = b->resource[0];
        if (!res->flags) {
                                b->name);
                return 1;
        }
                                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",
        rc = pcibios_unmap_io_space(b);
        if (rc) {
                printk(KERN_ERR "%s: failed to unmap IO on bus %s\n",
                return 1;
        }
  
                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",
                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>
  
  #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) {
        unsigned short min;
  
        if (cpu_id == NR_CPUS) {
  #if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
                unsigned long bogosum = 0;
                int i;
  #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);
                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
  
 --- 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);
  
  }
  __setup("l2cr=", ppc_setup_l2cr);
  
  #ifdef CONFIG_GENERIC_NVRAM
  
  /* Generic nvram hooks used by drivers/char/gen_nvram.c */
  #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();
  
        if (ppc_md.panic)
                setup_panic();
  
  #include <asm/firmware.h>
  #include <asm/xmon.h>
  #include <asm/udbg.h>
  #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();
  
        /* Enable early debugging if any specified (see udbg.h) */
        udbg_early_init();
  
        DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
  
        /*
        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();
  
        if (ppc_md.panic)
                setup_panic();
  
 +}
 --- a/arch/powerpc/kernel/sys_ppc32.c
 +++ b/arch/powerpc/kernel/sys_ppc32.c
 +}
 --- 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);
  
  
        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
  #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)
  {
   */
  int vio_register_driver(struct vio_driver *viodrv)
  {
                viodrv->driver.name);
  
        /* fill in 'struct driver' fields */
                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",
        /* 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;
        }
                                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",
        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;
        }
                                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",
        /* 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;
                /* 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",
        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>
  
  #include <asm-generic/vmlinux.lds.h>
  #include <asm/cache.h>
  
-@@ -33,7 +31,7 @@
+@@ -33,7 +31,7 @@ SECTIONS
   */
  
        /* Text and gots */
   */
  
        /* Text and gots */
                ALIGN_FUNCTION();
                *(.text.head)
                _text = .;
                ALIGN_FUNCTION();
                *(.text.head)
                _text = .;
-@@ -58,7 +56,7 @@
+@@ -58,7 +56,7 @@ SECTIONS
        RODATA
  
        /* Exception & bug tables */
        RODATA
  
        /* Exception & bug tables */
                __start___ex_table = .;
                *(__ex_table)
                __stop___ex_table = .;
                __start___ex_table = .;
                *(__ex_table)
                __stop___ex_table = .;
-@@ -74,7 +72,7 @@
+@@ -74,7 +72,7 @@ SECTIONS
        . = ALIGN(PAGE_SIZE);
        __init_begin = .;
  
        . = ALIGN(PAGE_SIZE);
        __init_begin = .;
  
                _sinittext = .;
                INIT_TEXT
                _einittext = .;
                _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
         */
        /* .exit.text is discarded at runtime, not link time,
         * to deal with references from __bug_table
         */
                INIT_DATA
                __vtop_table_begin = .;
                *(.vtop_fixup);
                INIT_DATA
                __vtop_table_begin = .;
                *(.vtop_fixup);
-@@ -103,19 +101,19 @@
+@@ -103,19 +101,19 @@ SECTIONS
        }
  
        . = ALIGN(16);
        }
  
        . = ALIGN(16);
                __con_initcall_start = .;
                *(.con_initcall.init)
                __con_initcall_end = .;
                __con_initcall_start = .;
                *(.con_initcall.init)
                __con_initcall_end = .;
-@@ -124,14 +122,14 @@
+@@ -124,14 +122,14 @@ SECTIONS
        SECURITY_INIT
  
        . = ALIGN(8);
        SECURITY_INIT
  
        . = ALIGN(8);
                __start___fw_ftr_fixup = .;
                *(__fw_ftr_fixup)
                __stop___fw_ftr_fixup = .;
                __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);
  #endif
  #ifdef CONFIG_BLK_DEV_INITRD
        . = ALIGN(PAGE_SIZE);
                __per_cpu_start = .;
                *(.data.percpu)
                *(.data.percpu.shared_aligned)
                __per_cpu_start = .;
                *(.data.percpu)
                *(.data.percpu.shared_aligned)
-@@ -154,7 +152,7 @@
+@@ -154,7 +152,7 @@ SECTIONS
        }
  
        . = ALIGN(8);
        }
  
        . = ALIGN(8);
                __machine_desc_start = . ;
                *(.machine.desc)
                __machine_desc_end = . ;
                __machine_desc_start = . ;
                *(.machine.desc)
                __machine_desc_end = . ;
-@@ -172,25 +170,24 @@
+@@ -172,25 +170,24 @@ SECTIONS
        _sdata = .;
  
  #ifdef CONFIG_PPC32
        _sdata = .;
  
  #ifdef CONFIG_PPC32
                __toc_start = .;
                *(.got)
                *(.toc)
                __toc_start = .;
                *(.got)
                *(.toc)
-@@ -207,26 +204,26 @@
+@@ -207,26 +204,26 @@ SECTIONS
  #else
        . = ALIGN(16384);
  #endif
  #else
        . = ALIGN(16384);
  #endif
                __nosave_begin = .;
                *(.data.nosave)
                . = ALIGN(PAGE_SIZE);
                __nosave_begin = .;
                *(.data.nosave)
                . = ALIGN(PAGE_SIZE);
-@@ -237,7 +234,7 @@
+@@ -237,7 +234,7 @@ SECTIONS
   * And finally the bss
   */
  
   * And finally the bss
   */
  
                *(.dynbss)
 --- a/arch/powerpc/lib/rheap.c
 +++ b/arch/powerpc/lib/rheap.c
                *(.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;
  
  
        new_blocks = max_blocks - info->max_blocks;
  
        if (block == NULL)
                return -ENOMEM;
  
        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);
  
        if ((alignment & (alignment - 1)) != 0)
                return ERR_PTR(-EINVAL);
  
  
 --- a/arch/powerpc/lib/string.S
 +++ b/arch/powerpc/lib/string.S
  
 --- 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
  
        beq     1b
        blr
  
  1:    lbzu    r0,1(r4)
 --- a/arch/powerpc/math-emu/fabs.c
 +++ b/arch/powerpc/math-emu/fabs.c
  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
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fadd.c
 +++ b/arch/powerpc/math-emu/fadd.c
  #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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fadds.c
 +++ b/arch/powerpc/math-emu/fadds.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fcmpo.c
 +++ b/arch/powerpc/math-emu/fcmpo.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fcmpu.c
 +++ b/arch/powerpc/math-emu/fcmpu.c
        __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
        long cmp;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fctiw.c
 +++ b/arch/powerpc/math-emu/fctiw.c
        __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
        frD[1] = r;
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fctiwz.c
 +++ b/arch/powerpc/math-emu/fctiwz.c
  #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
        __FPU_FPSCR = fpscr;
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fdiv.c
 +++ b/arch/powerpc/math-emu/fdiv.c
  #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
        int ret = 0;
  
  #ifdef DEBUG
  #endif
  
        __FP_UNPACK_D(A, frA);
  #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
        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
  
 --- 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
        int ret = 0;
  
  #ifdef DEBUG
  #endif
  
        __FP_UNPACK_D(A, frA);
  #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
        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
  
 --- 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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmadds.c
 +++ b/arch/powerpc/math-emu/fmadds.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmr.c
 +++ b/arch/powerpc/math-emu/fmr.c
        __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
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fmsub.c
 +++ b/arch/powerpc/math-emu/fmsub.c
  #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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmsubs.c
 +++ b/arch/powerpc/math-emu/fmsubs.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmul.c
 +++ b/arch/powerpc/math-emu/fmul.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fmuls.c
 +++ b/arch/powerpc/math-emu/fmuls.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnabs.c
 +++ b/arch/powerpc/math-emu/fnabs.c
        __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
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fneg.c
 +++ b/arch/powerpc/math-emu/fneg.c
  #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
        frD[1] = frB[1];
  
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/fnmadd.c
 +++ b/arch/powerpc/math-emu/fnmadd.c
  #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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmadds.c
 +++ b/arch/powerpc/math-emu/fnmadds.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmsub.c
 +++ b/arch/powerpc/math-emu/fnmsub.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fnmsubs.c
 +++ b/arch/powerpc/math-emu/fnmsubs.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fres.c
 +++ b/arch/powerpc/math-emu/fres.c
        __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
  fres(void *frD, void *frB)
  {
  #ifdef DEBUG
  }
 --- a/arch/powerpc/math-emu/frsp.c
 +++ b/arch/powerpc/math-emu/frsp.c
  }
 --- 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_DECL_D(B);
  
  #ifdef DEBUG
        __FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/frsqrte.c
 +++ b/arch/powerpc/math-emu/frsqrte.c
        __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
  frsqrte(void *frD, void *frB)
  {
  #ifdef DEBUG
  }
 --- a/arch/powerpc/math-emu/fsel.c
 +++ b/arch/powerpc/math-emu/fsel.c
  }
 --- 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_DECL_D(A);
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fsqrt.c
 +++ b/arch/powerpc/math-emu/fsqrt.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/fsqrts.c
 +++ b/arch/powerpc/math-emu/fsqrts.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(B, frB);
 --- a/arch/powerpc/math-emu/fsub.c
 +++ b/arch/powerpc/math-emu/fsub.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/fsubs.c
 +++ b/arch/powerpc/math-emu/fsubs.c
        __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
        int ret = 0;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frA);
 --- a/arch/powerpc/math-emu/lfd.c
 +++ b/arch/powerpc/math-emu/lfd.c
        __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
        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
  #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
        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
        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
        u32 value, clear;
  
  #ifdef DEBUG
  #endif
  
        clear = 15 << ((7 - crfS) << 2);
  #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
        *ccr |= (value << ((7 - crfD) << 2));
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mffs.c
 +++ b/arch/powerpc/math-emu/mffs.c
        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
        frD[1] = __FPU_FPSCR;
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsb0.c
 +++ b/arch/powerpc/math-emu/mtfsb0.c
        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
                __FPU_FPSCR &= ~(1 << (31 - crbD));
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsb1.c
 +++ b/arch/powerpc/math-emu/mtfsb1.c
        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
                __FPU_FPSCR |= (1 << (31 - crbD));
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsf.c
 +++ b/arch/powerpc/math-emu/mtfsf.c
        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
        __FPU_FPSCR |= (frB[1] & mask);
  
  #ifdef DEBUG
        return 0;
 --- a/arch/powerpc/math-emu/mtfsfi.c
 +++ b/arch/powerpc/math-emu/mtfsfi.c
        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
        __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
        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
  {
  #if 0
  #ifdef DEBUG
  #endif
 --- a/arch/powerpc/math-emu/stfiwx.c
 +++ b/arch/powerpc/math-emu/stfiwx.c
  #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
  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
        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
        int err;
  
  #ifdef DEBUG
        __FP_UNPACK_D(A, frS);
 --- a/arch/powerpc/mm/40x_mmu.c
 +++ b/arch/powerpc/mm/40x_mmu.c
        __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;
        phys_addr_t p;
  
        v = KERNELBASE;
        if (__map_without_ltlbs)
 --- a/arch/powerpc/mm/44x_mmu.c
 +++ b/arch/powerpc/mm/44x_mmu.c
        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 */
  
        /* 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
  
 --- 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
  
  EXTRA_CFLAGS  += -mno-minimal-toc
  endif
  
  
  #define NUM_TLBCAMS   (16)
  
  
  #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)
  {
  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)
  {
  void __init
  adjust_total_lowmem(void)
  {
                ram -= __cam2;
        }
  
                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);
                        " 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>
  #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;
  }
  
        return ret < 0 ? ret : 0;
  }
  
  static int __init htab_dt_scan_seg_sizes(unsigned long node,
                                         const char *uname, int depth,
                                         void *data)
  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));
  }
                        _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX,
                        mmu_linear_psize, mmu_kernel_ssize));
  }
  #include <asm/sections.h>
  
  #include "mmu_decl.h"
  #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;
  
  unsigned long total_memory;
  unsigned long total_lowmem;
  
  
  int boot_mapsize;
  #ifdef CONFIG_PPC_PMAC
  
  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;
  
  /*
  unsigned long __max_low_memory = MAX_LOW_MEM;
  
  /*
  
  /*
   * Check for command-line options that affect what MMU_init will do.
  
  /*
   * 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)
  
        /* 601 can only access 16MB at the moment */
        if (PVR_VER(mfspr(SPRN_PVR)) == 1)
  
        /* parse args from command line */
        MMU_setup();
  
        /* 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");
        }
  
                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
  
  #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;
  
        if (total_lowmem > __max_low_memory) {
                total_lowmem = __max_low_memory;
                lmb_analyze();
  #endif /* CONFIG_HIGHMEM */
        }
                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);
        /* Map in I/O resources */
        if (ppc_md.progress)
                ppc_md.progress("MMU:setio", 0x302);
  
        /* Initialize the context management stuff */
        mmu_context_init();
  
        /* 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,
                p = alloc_bootmem_pages(PAGE_SIZE);
        } else {
                p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE,
        }
        return p;
  }
        }
        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)
  
                kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
                if (!kcore_mem)
  
  void free_initmem(void)
  {
  
  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)
                /* 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>
  
  #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
  
  }
  #endif
  
  {
        struct pglist_data *pgdata;
        struct zone *zone;
  {
        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();
  
        printk("Mem-info:\n");
        show_free_areas();
        for_each_online_pgdat(pgdat) {
                unsigned long flags;
                pgdat_resize_lock(pgdat, &flags);
        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;
  
        unsigned long total_pages;
        int boot_mapsize;
  
  #endif
  
        /*
  #endif
  
        /*
-@@ -245,18 +246,18 @@
+@@ -245,18 +246,18 @@ void __init do_init_bootmem(void)
         * present.
         */
  #ifdef CONFIG_HIGHMEM
         * present.
         */
  #ifdef CONFIG_HIGHMEM
                                      lmb.reserved.region[i].base;
                        reserve_bootmem(lmb.reserved.region[i].base,
                                        adjusted_size, BOOTMEM_DEFAULT);
                                      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
               (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;
        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;
  
        {
                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
                        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;
  
  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
  
 --- 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)
  {
   */
  void __init mapin_ram(void)
  {
  
  #include "mmu_decl.h"
  
  
  #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);
  #else
        unsigned long tot, bl, done;
        unsigned long max_size = (256<<20);
  
        if (__map_without_bats) {
                printk(KERN_DEBUG "RAM mapped without BATs\n");
  
        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. */
  
        /* 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 */
        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;
                for (bl = 128<<10; bl < max_size; bl <<= 1)
                        if (bl * 2 > tot)
                                break;
                done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1;
        }
  
                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,
         */
        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
  #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",
        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;
        }
                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",
        if (!info) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: create vma_map failed\n",
                retval = -ENOMEM;
                goto err_alloc;
        }
                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",
        if (!new_map) {
                printk(KERN_ERR "SPU_PROF: "
                       "%s, line %d: create vma_map failed\n",
                retval = -ENOMEM;
                goto err_alloc;
        }
                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",
                        printk(KERN_ERR "SPU_PROF: "
                                "%s, line %d: "
                                "Invalid index %d into spu info cache\n",
                        goto out;
                }
                end = spu_index + 1;
                        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",
  
        printk(KERN_ERR "SPU_PROF: "
                "%s, line %d: Cannot find dcookie for SPU binary\n",
        goto out;
  }
  
        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",
        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
  
 --- 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",
                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;
        }
                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",
        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;
                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",
        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
        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",
                 * failure to stop OProfile.
                 */
                printk(KERN_WARNING "%s: rtas returned: %d\n",
  }
  
  static int pm_rtas_activate_signals(u32 node, u32 count)
  }
  
  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",
  
                if (unlikely(ret)) {
                        printk(KERN_WARNING "%s: rtas returned: %d\n",
                        return -EIO;
                }
        }
                        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",
                if (unlikely(spu_rtas_token == RTAS_UNKNOWN_SERVICE)) {
                        printk(KERN_ERR
                               "%s: rtas token ibm,cbe-spu-perftools unknown\n",
                        return -EIO;
                }
        }
                        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",
        if (unlikely(pm_rtas_token == RTAS_UNKNOWN_SERVICE)) {
                printk(KERN_ERR
                       "%s: rtas token ibm,cbe-perftools unknown\n",
                return -EIO;
        }
  
                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",
  
        if (unlikely(ret)) {
                printk(KERN_WARNING "%s: rtas returned: %d\n",
                return -EIO;
        }
  
                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",
                if (unlikely(ret != 0)) {
                        printk(KERN_ERR
                               "%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
                        rtas_error = -EIO;
                        goto out;
                }
                        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",
                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;
  
  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,
        .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", },
  
  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,
        .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", },
  
  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,
        .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", },
  
  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,
        .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", },
  
  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,
        .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
  #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.
  
          See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
          Telephony Developers" link for more information.
  
  #config LUAN
  #     bool "Luan"
  #     depends on 44x
  #config LUAN
  #     bool "Luan"
  #     depends on 44x
-@@ -122,6 +141,14 @@
+@@ -122,6 +141,14 @@ config 440SPe
        bool
        select IBM_NEW_EMAC_EMAC4
  
        bool
        select IBM_NEW_EMAC_EMAC4
  
  
  static __initdata struct of_device_id bamboo_of_bus[] = {
        { .compatible = "ibm,plb4", },
  
  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) {
  }
  
  define_machine(bamboo) {
  
  static __initdata struct of_device_id ebony_of_bus[] = {
        { .compatible = "ibm,plb4", },
  
  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,
        .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", },
  
  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,
        .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
  };
 --- 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
        sync
        isync
        blr
  
  static __initdata struct of_device_id rainier_of_bus[] = {
        { .compatible = "ibm,plb4", },
  
  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,
        .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", },
  
  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,
        .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", },
  
  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,
        .progress               = udbg_progress,
        .init_IRQ               = uic_init_tree,
        .get_irq                = uic_get_irq,
  
  #ifdef CONFIG_MTD_NAND_NDFC
  
  
  #ifdef CONFIG_MTD_NAND_NDFC
  
-@@ -100,6 +101,6 @@
+@@ -100,6 +101,6 @@ static int warp_setup_nand_flash(void)
  
        return 0;
  }
  
        return 0;
  }
  
  static __initdata struct of_device_id warp_of_bus[] = {
        { .compatible = "ibm,plb4", },
  
  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,
        .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
  
 --- 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",
        of_node_put(np);
        if (!cdm) {
                printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
                return;
        }
  
                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",
        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
  
 --- 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
        select 8260
        select FSL_SOC
        select PQ2_ADS_PCI_PIC if PCI
        help
          This option enables support for the MPC8272 ADS board
  
        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
        select 8260
        select FSL_SOC
        select PQ2_ADS_PCI_PIC if PCI
        help
          This option enables support for the PQ2FADS board
  
        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
        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
          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", },
  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
  #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,
        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,
        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"))) {
        /* 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
                /* 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
  config MPC8560_ADS
        bool "Freescale MPC8560 ADS"
        select DEFAULT_UIMAGE
        select CPM2
        help
          This option enables support for the MPC 8560 ADS board
        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
  
        help
          This option enables support for the MPC85xx DS (MPC8544 DS) board
  
  config STX_GP3
        bool "Silicon Turnkey Express GP3"
        help
  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
          board.
        select CPM2
        select DEFAULT_UIMAGE
        select TQM85xx
  
  config TQM8541
        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
        help
          This option enables support for the TQ Components TQM8541 board.
        select DEFAULT_UIMAGE
        select TQM85xx
        select CPM2
  
        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
        help
          This option enables support for the TQ Components TQM8555 board.
        select DEFAULT_UIMAGE
        select TQM85xx
        select CPM2
  
        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
        help
          This option enables support for the TQ Components TQM8560 board.
        select DEFAULT_UIMAGE
        select TQM85xx
        select CPM2
  
        select TQM85xx
        select CPM2
  
-@@ -99,7 +99,6 @@
+@@ -99,7 +99,6 @@ config SBC8548
  config SBC8560
        bool "Wind River SBC8560"
        select DEFAULT_UIMAGE
  config SBC8560
        bool "Wind River SBC8560"
        select DEFAULT_UIMAGE
  
 --- a/arch/powerpc/platforms/85xx/Makefile
 +++ b/arch/powerpc/platforms/85xx/Makefile
  
 --- 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
  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
 +};
 --- 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++) {
        int i;
  
        for (i = 0; i < ARRAY_SIZE(mpc8560_ads_pins); i++) {
  #else
  #define DBG(fmt, args...)
  #endif
  #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
   */
 --- 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.
  
        help
          This option enables support for the MPC8641 HPCN board.
  
  config MPC8610_HPCD
        bool "Freescale MPC8610 HPCD"
        select DEFAULT_UIMAGE
  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
        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
  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);
  
  }
  machine_device_initcall(mpc86xx_hpcd, mpc8610_declare_of_platform_devices);
  
  mpc86xx_hpcd_init_irq(void)
  {
        struct mpic *mpic1;
  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;
  }
  
        return 0;
  }
  
        unsigned int temp;
 --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
 +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
        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 */
  
  }
  #endif        /* CONFIG_PCI */
  
  mpc86xx_hpcn_init_irq(void)
  {
        struct mpic *mpic1;
  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;
  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();
  
  {
        unsigned long root = of_get_flat_dt_root();
  
 +};
 --- a/arch/powerpc/platforms/8xx/Kconfig
 +++ b/arch/powerpc/platforms/8xx/Kconfig
 +};
 --- 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
  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
        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
  config MPC885ADS
        bool "MPC885ADS"
        select CPM1
        help
          Freescale Semiconductor MPC885 Application Development System (ADS).
          Also known as DUET.
        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
  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.
  
        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
  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
          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.
         */
  
        /* Processor frequency is MHz.
         */
        /* Perform some more timer/timebase initialization.  This used
 --- a/arch/powerpc/platforms/Kconfig
 +++ b/arch/powerpc/platforms/Kconfig
        /* 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
  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
        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
        bool "AMCC 40x"
        select PPC_DCR_NATIVE
        select PPC_UDBG_16550
  #include <asm/firmware.h>
  #include <asm/cell-regs.h>
  
  #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",
        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);
  
        /* 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);
                                (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);
                        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 = (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 */
                        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",
  
        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
        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",
                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
        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",
                                (unsigned int)(addr >> 32),
                                (unsigned int)(addr & 0xffffffff))) {
                printk(KERN_ERR "%s: error enabling PTCAL on node %d!\n",
                goto out_free_pages;
        }
  
                goto out_free_pages;
        }
  
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ static int __init cbe_ptcal_enable(void)
        if (!size)
                return -ENODEV;
  
        if (!size)
                return -ENODEV;
  
        order = get_order(*size);
        of_node_put(np);
  
        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",
                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);
                        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;
  
        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
                        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;
  
        struct spu_slb slb;
        int psize;
  
  
        slb.esid = (ea & ESID_MASK) | SLB_ESID_V;
  
  
        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)
  {
  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. */
  
        /* 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);
                __spu_trap_data_seg(spu, dar);
  
        spin_unlock(&spu->register_lock);
                        dar, dsisr);
  
        if (stat & CLASS1_STORAGE_FAULT_INTR)
                        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",
  
        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
  
 --- 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)) {
        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
  
 --- 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) {
  
        tmp = of_get_property(np->parent->parent, "node-id", NULL);
        if (!tmp) {
                nid = spu->node;
        } else
                nid = tmp[0];
                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",
                ret = fn(node);
                if (ret) {
                        printk(KERN_WARNING "%s: Error initializing %s\n",
                        break;
                }
                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, "
                if (!legacy_map) {
                        legacy_map = 1;
                        printk(KERN_WARNING "%s: Legacy device tree found, "
                }
                ret = spu_map_device_old(spu);
                if (ret) {
                }
                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 (!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
                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;
  
                if (ctx->flags & SPU_CREATE_NOSCHED)
                        continue;
  
                break;
        }
  
                break;
        }
  
-@@ -157,6 +155,9 @@
+@@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void
                        break;
  
                size += rc;
                        break;
  
                size += rc;
        }
  
        return size;
        }
  
        return size;
-@@ -239,6 +240,9 @@
+@@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(str
                }
  
                spu_release_saved(ctx);
                }
  
                spu_release_saved(ctx);
        return 0;
 --- a/arch/powerpc/platforms/cell/spufs/file.c
 +++ b/arch/powerpc/platforms/cell/spufs/file.c
        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,
        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)
  
  
  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,
        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,
  
  #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);
  
  
        wake_up_all(&ctx->mfc_wq);
  
        if (ctx->mfc_fasync) {
                u32 free_elements, tagstatus;
                unsigned int mask;
        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;
  
        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
        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",
                        != MFC_CNTL_PURGE_DMA_COMPLETE) {
                if (time_after(jiffies, timeout)) {
                        printk(KERN_ERR "%s: timeout flushing MFC DMA queue\n",
                        ret = -EIO;
                        goto out;
                }
                        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",
                                status_loading) {
                if (time_after(jiffies, timeout)) {
                        printk(KERN_ERR "%s: timeout waiting for loader\n",
                        ret = -EIO;
                        goto out_drop_priv;
                }
                        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. */
        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;
                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 */
  
        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;
                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",
                break;
        default:
                printk(KERN_WARNING "%s: unexpected return code %ld\n",
                ret = 0;
        }
        return ret;
                ret = 0;
        }
        return ret;
-@@ -323,6 +323,10 @@
+@@ -323,6 +323,10 @@ static int spu_process_callback(struct s
                        return -EINTR;
        }
  
                        return -EINTR;
        }
  
        ctx->ops->npc_write(ctx, npc);
 --- a/arch/powerpc/platforms/cell/spufs/switch.c
 +++ b/arch/powerpc/platforms/cell/spufs/switch.c
        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. */
        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. */
        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. */
        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
  
 --- 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;
  }
  
  u64 beat_halt_code = 0x1000000000000000UL;
  
  void beat_halt(void)
  {
  
  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;
                len = count;
                if (len > BEAT_NVRW_CNT)
                        len = BEAT_NVRW_CNT;
  
                p += len;
                i += len;
  
                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;
                len = count;
                if (len > BEAT_NVRW_CNT)
                        len = BEAT_NVRW_CNT;
  
                p += len;
                i += len;
  
                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;
  
        u64 db[2];
        s64 ret;
  
  
  int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2)
  {
  
  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;
  
        db[0] = t1;
        db[1] = t2;
  
  void beat_power_save(void)
  {
  
  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);
  }
  
  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
  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);
        u64 b[2];
  
        memcpy(b, buffer, len);
  #endif
  
  static DEFINE_SPINLOCK(beat_htab_lock);
  #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);
                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
                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];
  
  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",
  
  /*
   * 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]
  
        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!");
        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;
  
        s64 err;
        unsigned long flags;
  
                if ((err & 0xFFFFFFFF) != 0xFFFFFFF5) /* -11: wrong state */
                        panic("Failed to downcount IRQ! Error = %16lx", err);
  
                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;
  
        struct irq_desc *desc = get_irq_desc(virq);
        int64_t err;
  
                return -EIO;
  
        desc->status |= IRQ_LEVEL;
                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]
                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;
        }
                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,
  
        /* 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
        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)
        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));
        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 int celleb_epci_read_config(struct pci_bus *bus,
  
  static struct {
        uint32_t offset;
  
  static struct {
        uint32_t offset;
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init txx9_serial_config(cha
        int     i;
  
        for (;;) {
        int     i;
  
        for (;;) {
                case 2:
 --- a/arch/powerpc/platforms/celleb/spu_priv1.c
 +++ b/arch/powerpc/platforms/celleb/spu_priv1.c
                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;
  }
  
        return enable;
  }
  
        .int_mask_set = int_mask_set,
 --- a/arch/powerpc/platforms/celleb/udbg_beat.c
 +++ b/arch/powerpc/platforms/celleb/udbg_beat.c
        .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 (inbuflen == 0) {
                /* get some more chars. */
                inbuflen = 0;
                if (rc != 0)
                        inbuflen = 0;   /* otherwise inbuflen is garbage */
        }
                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;
                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
                        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) {
        }
  
        if (mpic_paddr == 0) {
            (u32) mpic_paddr);
  
        mpic = mpic_alloc(tsi_pic, mpic_paddr,
            (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) {
  #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
        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().
         */
         * 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
        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
  };
  
        u64     xRsvd13;                // Reserved                     x38-x3F
  };
  
        .xDesc = 0xc8a5d9c4,    /* "HvRD" ebcdic */
        .xSize = sizeof(struct HvReleaseData),
        .xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
        .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,
  };
  
        .xRamDiskSize = 0,
  };
  
  extern void system_reset_iSeries(void);
  extern void machine_check_iSeries(void);
  extern void data_access_iSeries(void);
  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 */
  
  /* May be filled in by the hypervisor so cannot end up in the BSS */
  struct ItExtVpdPanel xItExtVpdPanel __attribute__((__section__(".data")));
  
  /* 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 */
  
  /* 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
  /* 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.
   */
   * 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 */
        .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   */
        .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 */
                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 */
        .xSlicVpdAdrs = {                       /* VPD addresses */
                0,0,0,                  /*       0 -  2 */
                &xItExtVpdPanel,        /*       3 Extended VPD */
                0,                      /*       5 */
                &xItIplParmsReal,       /*       6 IPL parms */
                &xMsVpd,                /*       7 MS Vpd */
                0,                      /*       5 */
                &xItIplParmsReal,       /*       6 IPL parms */
                &xMsVpd,                /*       7 MS Vpd */
-@@ -219,10 +317,3 @@
+@@ -219,10 +317,3 @@ struct ItVpdAreas itVpdAreas = {
                0,0
        }
  };
                0,0
        }
  };
  #include <linux/kernel.h>
  #include <linux/list.h>
  #include <linux/string.h>
  #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;
  
                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
                }
 --- 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 */
  };
  
        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
  #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
  };
  
        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
  #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
        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
  #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;
  }
        }
        return irq;
  }
  #include <asm/mpic.h>
  #include <asm/rtas.h>
  #include <asm/udbg.h>
  #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;
  }
  
        return 1;
  }
  
  
  static struct pasdma_status *dma_status;
  
  
  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);
  
  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)
  
  /* 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);
  
  }
  EXPORT_SYMBOL(pasemi_dma_free_buf);
  
  static void *map_onedev(struct pci_dev *p, int index)
  {
        struct device_node *dn;
  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;
        struct resource res;
        struct device_node *dn;
        int i, intf, err = 0;
        u32 tmp;
  
        if (!machine_is(pasemi))
        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);
  
        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;
  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);
        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
  #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);
  
        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;
  }
  
        return result;
  }
  
  static void ps3_find_and_add_device(u64 bus_id, u64 dev_id)
  {
        struct ps3_repository_device repo;
  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);
  
                pr_debug("%s:%u: device %lu:%lu found after %u retries\n",
                         __func__, __LINE__, bus_id, dev_id, retries);
  
        return;
  }
  
        return;
  }
  
-@@ -905,8 +920,7 @@
+@@ -905,8 +920,7 @@ static int __init ps3_register_devices(v
  
        ps3_register_graphics_devices();
  
  
        ps3_register_graphics_devices();
  
  #include <asm/ps3fb.h>
 --- a/arch/powerpc/platforms/ps3/interrupt.c
 +++ b/arch/powerpc/platforms/ps3/interrupt.c
  #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;
  
        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
  
 --- 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 */
  }
  
        ps3_sys_manager_power_off(); /* never returns */
  }
  
  static void ps3_panic(char *str)
  {
        DBG("%s:%d %s\n", __func__, __LINE__, str);
  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");
  
        printk("   Please press POWER button.\n");
        printk("\n");
  
  }
  
  #if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \
  }
  
  #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->address = __alloc_bootmem(p->size, p->align, __pa(MAX_DMA_ADDRESS));
        if (!p->address) {
                       p->name);
                return;
        }
                       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,
        .progress                       = ps3_progress,
        .restart                        = ps3_restart,
        .power_off                      = ps3_power_off,
  
  #include "../cell/spufs/spufs.h"
  #include "platform.h"
  
  #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);
  }
  
        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
        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
  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;
        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);
        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;
  
        pdn->eeh_freeze_count = 0;
        pdn->eeh_false_positives = 0;
  
  
  #ifdef DEBUG_LOW
  #define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(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;
        struct device_node *stdout_node;
        const u32 *termno;
        const char *name;
  
        /* find the boot console from /chosen/stdout */
        if (!of_chosen)
  
        /* 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;
        }
                printk(KERN_WARNING "stdout node missing 'name' property!\n");
                goto out;
        }
  
        /* Check if it's a virtual terminal */
        if (strncmp(name, "vty", 3) != 0)
  
        /* 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;
                udbg_putc = udbg_putcLP;
                udbg_getc = udbg_getcLP;
                udbg_getc_poll = udbg_getc_pollLP;
        }
  out:
        of_node_put(stdout_node);
        }
  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);
  }
  
        BUG_ON(lpar_rc != H_SUCCESS);
  }
  
  /* Flag bits for H_BULK_REMOVE */
  #define HBR_REQUEST   0x4000000000000000UL
  #define HBR_RESPONSE  0x8000000000000000UL
  /* 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;
        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
  }
 --- 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) {
        /* 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
 +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;
  
  /* 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
  #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",
        tmp = strchr(buf, ' ');
        if (!tmp) {
                printk(KERN_ERR "property parse failed in %s at line %d\n",
                return NULL;
        }
  
                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",
        *length = simple_strtoul(tmp, &tmp, 10);
        if (*length == -1) {
                printk(KERN_ERR "property parse failed in %s at line %d\n",
                return NULL;
        }
  
                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 += *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
        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;
  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);
  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);
  }
  
        desc->chip->eoi(irq);
  }
  
        int naddr, n, i, opplen;
        struct mpic *mpic;
  
        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 */
        mpic_init(mpic);
  
        /* Look for cascade */
  }
  
  static void pseries_lpar_enable_pmcs(void)
  }
  
  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")) {
                        smp_init_pseries_mpic();
                        return;
                } else if (strstr(typep, "ppc-xicp")) {
                        setup_kexec_cpu_down_xics();
                        smp_init_pseries_xics();
                        return;
                        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;
  { 
        unsigned int cpu = smp_processor_id();
        unsigned long start_snooze;
  
        /*
         * Indicate to the HV that we are idle. Now would be
  
        /*
         * 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;
         */
        get_lppaca()->idle = 1;
        get_lppaca()->donate_dedicated_cpu = 1;
  
        /*
         * We come in with interrupts disabled, and need_resched()
  
        /*
         * 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();
  
  out:
        HMT_medium();
  }
 --- a/arch/powerpc/platforms/pseries/xics.c
 +++ b/arch/powerpc/platforms/pseries/xics.c
  }
 --- 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
  };
  
        .set_affinity = xics_set_affinity
  };
  
  
  static int xics_host_match(struct irq_host *h, struct device_node *node)
  {
  
  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 !of_device_is_compatible(node, "chrp,iic");
  }
  
        return 0;
  }
  
        return 0;
  }
  
-@@ -561,27 +553,20 @@
+@@ -561,27 +553,20 @@ static int xics_host_xlate(struct irq_ho
        return 0;
  }
  
        return 0;
  }
  
                                   XICS_IRQ_SPURIOUS);
        BUG_ON(xics_host == NULL);
        irq_set_default_host(xics_host);
                                   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;
  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();
  
  
        xics_setup_cpu();
  
  
 --- a/arch/powerpc/platforms/pseries/xics.h
 +++ b/arch/powerpc/platforms/pseries/xics.h
  
 --- 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;
  
  
  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
  #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_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/
  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
  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;
  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);
  
        out_be32(&siu_conf->sc_sdcr, 1);
        immr_unmap(siu_conf);
  
  }
  
  static DEFINE_SPINLOCK(cmd_lock);
  }
  
  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;
  
                if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
                        goto out;
  
        ret = -EIO;
  out:
        spin_unlock_irqrestore(&cmd_lock, flags);
        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_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
  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.
         */
  
        /* Reclaim the DP memory for our use.
         */
  }
  
  static DEFINE_SPINLOCK(cmd_lock);
  }
  
  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;
  
                if ((in_be32(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
                        goto out;
  
        ret = -EIO;
  out:
        spin_unlock_irqrestore(&cmd_lock, flags);
        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;
  }
  
        return ret;
  }
  
        u32 res[3];
 --- a/arch/powerpc/sysdev/cpm_common.c
 +++ b/arch/powerpc/sysdev/cpm_common.c
        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
  
  }
  #endif
  
  static spinlock_t cpm_muram_lock;
  static rh_block_t cpm_boot_muram_rh_block[16];
  static rh_info_t cpm_muram_info;
  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);
        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
 +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);
  
  
  EXPORT_SYMBOL(get_immrbase);
  
  #if defined(CONFIG_CPM2) || defined(CONFIG_QUICC_ENGINE) || defined(CONFIG_8xx)
  
  static u32 brgfreq = -1;
  #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;
  static int __init mpc83xx_wdt_init(void)
  {
        struct resource r;
        int ret;
  
        np = of_find_compatible_node(NULL, "watchdog", "mpc83xx_wdt");
        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;
        }
  
                goto nodev;
        }
  
        memset(&r, 0, sizeof(r));
  
        ret = of_address_to_resource(np, 0, &r);
        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;
        }
  
                goto err;
        }
  
        of_node_put(np);
  nodev:
        return ret;
        of_node_put(np);
  nodev:
        return ret;
-@@ -735,547 +745,6 @@
+@@ -735,547 +745,6 @@ err:
  
  arch_initcall(fsl_usb_of_init);
  
  
  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,
  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) {
        sysclk = get_brgfreq();
  #endif
        if (sysclk == -1) {
  
 --- a/arch/powerpc/sysdev/mpic.c
 +++ b/arch/powerpc/sysdev/mpic.c
  
 --- 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:
        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 *name)
  {
        struct mpic     *mpic;
        const char      *vers;
        int             i;
        int             intvec_top;
        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) {
  
        /* Look for protected sources */
        if (node) {
                const u32 *psrc =
                        of_get_property(node, "protected-sources", &psize);
                if (psrc) {
                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)) {
         * 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);
                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
         */
         * 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++) {
  
        /* 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 */
        mpic->isu_mask = (1 << mpic->isu_shift) - 1;
  
        /* Display version */
        case 1:
                vers = "1.0";
                break;
        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)
  {
  
  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;
        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)
  {
  
  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;
        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);
  }
  
        mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), prio);
  }
  
  void mpic_teardown_this_cpu(int secondary)
  {
        struct mpic *mpic = mpic_primary;
  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);
  
        /* 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
  }
 --- 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 (err)
                return err;
  
        if (!prop)
                return -ENODEV;
        port_number = *(int *)prop;
        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 */
  
  
        pdata.cache_mgmt = 1; /* All current revs need this set */
  
        prop = of_get_property(np, "max_idle", NULL);
        if (prop)
                pdata.max_idle = *prop;
        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
   */
  /*
   * Create mv64x60_eth platform devices
   */
  {
        struct resource r[1];
        struct mv643xx_eth_platform_data pdata;
  {
        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;
  
        const phandle *ph;
        int err;
  
        if (!prop)
                return -ENODEV;
        pdata.port_number = *prop;
        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);
  
  
        of_node_put(phy);
  
        if (!pdev)
                return -ENOMEM;
  
        if (!pdev)
                return -ENOMEM;
  
-@@ -345,21 +336,19 @@
+@@ -345,21 +336,19 @@ static int __init mv64x60_i2c_device_set
  
        memset(&pdata, 0, sizeof(pdata));
  
  
        memset(&pdata, 0, sizeof(pdata));
  
  
        pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id);
        if (!pdev)
  
        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));
  
  
        memset(&pdata, 0, sizeof(pdata));
  
  
        np = of_get_parent(np);
        if (!np)
  
        np = of_get_parent(np);
        if (!np)
-@@ -441,27 +427,43 @@
+@@ -441,27 +427,43 @@ error:
  
  static int __init mv64x60_device_setup(void)
  {
  
  static int __init mv64x60_device_setup(void)
  {
        if (np) {
                if ((err = mv64x60_wdt_device_setup(np, id)))
                        goto error;
        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;
  
        if (!np)
                goto not_mpsc;
  
  
 --- a/arch/powerpc/sysdev/mv64x60_pci.c
 +++ b/arch/powerpc/sysdev/mv64x60_pci.c
  
 --- 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;
  
        struct platform_device *pdev;
        const unsigned int *prop;
  
        if (IS_ERR(pdev))
                return PTR_ERR(pdev);
  
        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;
  
  {
        struct device_node *np;
  
  }
 --- a/arch/powerpc/sysdev/mv64x60_pic.c
 +++ b/arch/powerpc/sysdev/mv64x60_pic.c
  }
 --- 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;
  
        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
        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;
  
        if (!stdout)
                return;
  
        }
 --- a/arch/powerpc/sysdev/ppc4xx_pci.c
 +++ b/arch/powerpc/sysdev/ppc4xx_pci.c
        }
 --- 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
   *
   * ibm,plb-pciex-440spe
   * ibm,plb-pciex-405ex
   *
   * Anything else will be rejected for now as they are all subtly
   * different unfortunately.
   *
   * 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 */
        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))
  
        /* 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 */
        }
  
        /* De-assert reset of PCIe PLL, wait for lock */
        udelay(3);
  
        while (time_out) {
        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);
        }
                mtdcri(SDR0, port->sdr_base + PESDRn_440SPE_HSSL7SET1,
                       0x35000000);
        }
  
        return 0;
  }
  
        return 0;
  }
-@@ -775,6 +774,115 @@
+@@ -775,6 +774,115 @@ static struct ppc4xx_pciex_hwops ppc440s
        .setup_utl      = ppc440speB_pciex_init_utl,
  };
  
        .setup_utl      = ppc440speB_pciex_init_utl,
  };
  
  #endif /* CONFIG_44x */
  
  #ifdef CONFIG_40x
  #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!
         */
         * 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 */
  
  
        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;
        }
                else
                        ppc4xx_pciex_hwops = &ppc440speB_pcie_hwops;
        }
  #endif /* CONFIG_44x    */
  #ifdef CONFIG_40x
        if (of_device_is_compatible(np, "ibm,plb-pciex-405ex"))
  #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;
        }
  
                port->link = 0;
        }
  
 +}
 --- a/arch/powerpc/sysdev/qe_lib/qe.c
 +++ b/arch/powerpc/sysdev/qe_lib/qe.c
 +}
 --- 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.
   */
  /* 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 */
  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;
  
   */
  static unsigned int brg_clk = 0;
  
  {
        struct device_node *qe;
        unsigned int size;
  {
        struct device_node *qe;
        unsigned int size;
-@@ -180,6 +180,7 @@
+@@ -180,6 +180,7 @@ unsigned int get_brg_clk(void)
  
        return brg_clk;
  }
  
        return brg_clk;
  }
  
  /* Program the BRG to the given sampling rate and multiplier
   *
  
  /* 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 ((brg < QE_BRG1) || (brg > QE_BRG16))
                return -EINVAL;
  
  
        if (divisor > QE_BRGC_DIVISOR_MAX + 1) {
                div16 = QE_BRGC_DIV16;
  
        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);
  
  }
  EXPORT_SYMBOL(qe_muram_dump);
  
  #include <asm/prom.h>
  #include <sysdev/fsl_soc.h>
  
  #include <asm/prom.h>
  #include <sysdev/fsl_soc.h>
  
-@@ -41,7 +42,7 @@
+@@ -41,7 +42,7 @@ struct port_regs {
  #endif
  };
  
  #endif
  };
  
  static int num_par_io_ports = 0;
  
  int par_io_init(struct device_node *np)
  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);
        }
  
        ph = of_get_property(np, "pio-handle", NULL);
                printk(KERN_ERR "pio-handle not available \n");
                return -1;
        }
                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;
  
  {
        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
                        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)) {
  
        /* 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;
        }
  
                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) {
        /* Set the PHY base address */
        uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast));
        if (uccf->uf_regs == NULL) {
                return -ENOMEM;
        }
  
                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) {
        /* 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;
        }
                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",
            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;
                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",
                           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;
                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_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;
                }
                        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",
                    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
                }
 --- 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)) {
  
        /* 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;
        }
  
                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",
        uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL);
        if (!uccs) {
                printk(KERN_ERR "%s: Cannot allocate private data\n",
                return -ENOMEM;
        }
  
                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) {
        /* Set the PHY base address */
        uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
        if (uccs->us_regs == NULL) {
                return -ENOMEM;
        }
  
                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)) {
        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;
        }
                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) {
        /* 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;
        }
                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)) {
                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);
                        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)) {
                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;
                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",
                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;
                }
                        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",
                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
                }
 --- 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);
        return 0;
  }
  fs_initcall(add_rtc);
 +MODULE_LICENSE("GPL");
 --- a/arch/powerpc/sysdev/tsi108_dev.c
 +++ b/arch/powerpc/sysdev/tsi108_dev.c
 +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",
  
                ret = of_address_to_resource(np, 0, &r[0]);
                DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
                if (ret)
                        goto err;
  
                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",
                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
                    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;
        /* 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 */
            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;
  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"
  #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;
  
  
  static int xmon_depth_to_print = 64;
  
  #define REGS_OFFSET           16
  #endif
  
  #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))
                /* 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",
                        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;
                if (firmware_has_feature(FW_FEATURE_ISERIES)) {
                        struct paca_struct *ptrPaca;
                        struct lppaca *ptrLpPaca;
  
                        /* Dump out relevant Paca data areas. */
                        printf("Paca: \n");
  
                        /* 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);
                        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
  
 --- 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
  #ifdef        CONFIG_USE_MDIO
                        fec_enet_mii(dev);
  #else
  #endif        /* CONFIG_USE_MDIO */
                }
  
  #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
                fecp->fec_ecntrl = ecntrl;      /* restore old settings */
        }
  #else
  #ifndef CONFIG_RPXCLASSIC
 --- a/arch/ppc/kernel/head.S
 +++ b/arch/ppc/kernel/head.S
  #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
  
  /*
        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
   * 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();
  
        printk("Mem-info:\n");
        show_free_areas();
                total++;
 --- a/arch/ppc/platforms/radstone_ppc7d.c
 +++ b/arch/ppc/platforms/radstone_ppc7d.c
                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;
  
  {
        int irq;
  
        i8259_init(0, 0);
        mv64360_init_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;
  
        };
        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;
                 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;
  
        u32 data;
        u8 data8;
  
  
        /* Wait for debugger? */
        if (ppc7d_wait_debugger) {
  
        /* 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;
  
          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
  /* 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)
  {
  
  int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv)
  {
        u16 mclken_div;
 --- a/arch/sparc64/Kconfig
 +++ b/arch/sparc64/Kconfig
        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
        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
          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,
  enum {
        PARTITION_SHIFT = 3,
        MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS,
  static DEFINE_SPINLOCK(viodasd_spinlock);
 --- a/drivers/char/hvc_beat.c
 +++ b/drivers/char/hvc_beat.c
  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);
        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)
  {
   **/
  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);
  /* 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);
  
  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 */
  
  #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
  
 --- 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);
  
                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;
  /* 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;
         * 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;
        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);
  
        probed_devices[id] = 1;
        mutex_unlock(&icap_sem);
  
  
        drvdata = kzalloc(sizeof(struct hwicap_drvdata), GFP_KERNEL);
        if (!drvdata) {
  
        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,
  static struct hwicap_driver_config buffer_icap_config = {
        .get_configuration = buffer_icap_get_configuration,
        .set_configuration = buffer_icap_set_configuration,
        .reset = fifo_icap_reset,
  };
  
        .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);
        dev_set_drvdata(dev, NULL);
  
        mutex_lock(&icap_sem);
        mutex_unlock(&icap_sem);
        return 0;               /* success */
  }
        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);
  
        icap_class = class_create(THIS_MODULE, "xilinx_config");
        mutex_init(&icap_sem);
  
  
        retval = platform_driver_register(&hwicap_platform_driver);
  
  
        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)
  {
  
  static void __exit hwicap_module_cleanup(void)
  {
  
 --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
 +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
  
 --- 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 {
  };
  
  struct hwicap_driver_config {
        void (*reset)(struct hwicap_drvdata *drvdata);
  };
  
        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
  
  /* 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 */
  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;
  
        /* device info */
        struct device *dev;
        int irq;
        wait_queue_head_t irq_wait;
        unsigned int irq_status; /* status read from LTESR by irq handler */
        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;
        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;
        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;
        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);
  
        /* 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;
  {
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        if (priv->page_size) {
                out_be32(&lbc->fir,
  
        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;
        struct nand_chip *chip = mtd->priv;
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        ctrl->use_mdr = 0;
  
  
        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;
  {
        struct fsl_elbc_mtd *priv = chip->priv;
        struct fsl_elbc_ctrl *ctrl = priv->ctrl;
  
        if (ctrl->status != LTESR_CC)
                return NAND_STATUS_FAIL;
  
        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;
        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 */
        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;
  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);
        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)
  {
  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
        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)
  {
  
  static int __devinit fsl_elbc_ctrl_init(struct fsl_elbc_ctrl *ctrl)
  {
  
        /* clear event registers */
        setbits32(&lbc->ltesr, LTESR_NAND_MASK);
  
        /* 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;
  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
        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/
  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
  
 --- 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)
  {
  
  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");
  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");
  
  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)
  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;
  }
  
        return (nfrags + 3) & ~1;
  }
  
  static int pasemi_mac_setup_rx_resources(const struct net_device *dev)
  {
        struct pasemi_mac_rxring *ring;
  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 |
        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;
  
        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;
  
                u64 mactx = TX_DESC(txring, i);
                struct sk_buff *skb;
  
                if (unlikely(mactx & XCT_MACTX_O))
                        /* Not yet transmitted */
                        break;
                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;
  {
        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) |
  
        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;
  
        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));
        /* 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;
  {
        struct pasemi_mac *mac = netdev_priv(dev);
        unsigned int sta;
  
        rxch = rx_ring(mac)->chan.chno;
        txch = tx_ring(mac)->chan.chno;
  
        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_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);
        /* 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;
  }
  
        return 0;
  }
  
  
        nfrags = skb_shinfo(skb)->nr_frags;
  
  
        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++;
        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;
  }
  
        return pkts;
  }
  
  
        if (new_mtu < PE_MIN_MTU || new_mtu > PE_MAX_MTU)
                return -EINVAL;
  
        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);
                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.
        }
  
        /* 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;
  
        /* 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);
        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);
        }
  
                pasemi_mac_intf_enable(mac);
        }
  
  }
  
  static int __devinit
  }
  
  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 |
        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;
  
        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;
        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 */
  
  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 *mac; /* Needed in intr handler */
  };
  
  struct pasemi_mac {
        struct net_device *netdev;
        struct pci_dev *pdev;
  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 */
        struct napi_struct napi;
  
        int             bufsz; /* RX ring buffer size */
  
        u8              mac_addr[6];
  
  
        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;
  
        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;
        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;
  };
  
        dma_addr_t      dma;
  };
  
  
  /* PCI register offsets and formats */
  
  
  /* 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_CFG_ADR0 = 0x8c,
        PAS_MAC_CFG_ADR1 = 0x90,
        PAS_MAC_CFG_TXP = 0x98,
        PAS_MAC_IPC_CHNL = 0x208,
  };
  
        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_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) & \
  #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)
  
  #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
 +
 --- 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;
  }
  
        return 0;
  }
  
  static struct ethtool_ops gelic_ether_ethtool_ops = {
        .get_drvinfo    = gelic_net_get_drvinfo,
        .get_settings   = gelic_ether_get_settings,
  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,
        .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
  /**
 --- 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_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
        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__);
  
  
        ugeth_vdbg("%s: IN", __FUNCTION__);
  
                return -ENODEV;
 --- a/drivers/net/ucc_geth_mii.c
 +++ b/drivers/net/ucc_geth_mii.c
                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 */
                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
 +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);
  
  /**
  EXPORT_SYMBOL(of_device_is_compatible);
  
  /**
  #include <asm/ps3.h>
  
  #include "vuart.h"
  #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:
   * 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.
   * @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,
        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
   * 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;
  }
  
        return -EIO;
  }
  
  /**
   * ps3_sys_manager_final_power_off - The final platform machine_power_off routine.
   *
  /**
   * 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,
        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,
  
        ps3_sys_manager_send_attr(dev, 0);
        ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT,
  #include <asm/ps3.h>
  
  /**
  #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);
  
        if (ps3_sys_manager_ops.power_off)
                ps3_sys_manager_ops.power_off(ps3_sys_manager_ops.dev);
  
  }
  
  void ps3_sys_manager_restart(void)
  }
  
  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);
  
        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
 +
 --- 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);
  
  /* 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
  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;
  
        if (!mem)
                return -ENOMEM;
  
        }
  
        pinfo->tx_nrfifos = TX_NUM_FIFO;
        }
  
        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:
        return cpm_uart_request_port(&pinfo->port);
  
  out_pram:
  #include "cpm_uart.h"
  
  /**************************************************************/
  #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);
  }
  {
        cpm_command(port->command, cmd);
  }
  
  #include <linux/serial_core.h>
  #include <linux/kernel.h>
  
  #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);
  }
  {
        cpm_command(port->command, cmd);
  }
  {
 --- a/drivers/serial/of_serial.c
 +++ b/drivers/serial/of_serial.c
  {
 --- 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;
        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
  }
 --- 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 */
  
        /* Get the UCC number (device ID) */
        /* UCCs are numbered 1-7 */
  header-y += auxvec.h
  header-y += ioctls.h
  header-y += mman.h
  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
  
  header-y += statfs.h
  header-y += ps3fb.h
  
  struct mschunks_map {
 --- a/include/asm-powerpc/bitops.h
 +++ b/include/asm-powerpc/bitops.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;
  }
        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
        ((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) {
  
        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
        }
 --- 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);
  }
  
        spin_unlock_irqrestore(&dcr_ind_lock, flags);
  }
  
  #define mfdcri(base, reg)     __mfdcri(DCRN_ ## base ## _CONFIG_ADDR, \
                                         DCRN_ ## base ## _CONFIG_DATA, \
                                         reg)
  #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)
  
                                         DCRN_ ## base ## _CONFIG_DATA, \
                                         reg, data)
  
  #endif /* __DCR_REGS_H__ */
 --- a/include/asm-powerpc/exception.h
 +++ b/include/asm-powerpc/exception.h
  #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); \
  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
 +#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;
  }
  
        return flags;
  }
  
  {
        unsigned long flags, zero;
  
  {
        unsigned long flags, zero;
  
-@@ -39,14 +39,15 @@
+@@ -39,14 +39,15 @@ static inline unsigned long local_irq_di
        return flags;
  }
  
        return flags;
  }
  
  
  #define QE_IMMAP_SIZE (1024 * 1024)   /* 1MB from 1MB+IMMR */
  
  
  #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));
  
        u8                      res18[0xC0000]; /* 0x140000 - 0x200000 */
  } __attribute__ ((packed));
  
  #endif /* _ASM_POWERPC_LMB_H */
 --- a/include/asm-powerpc/machdep.h
 +++ b/include/asm-powerpc/machdep.h
  #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);
                                       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
        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);
  
           May be NULL. */
        void            (*init)(void);
  
        unsigned long vdso_base;
 --- a/include/asm-powerpc/mmu-hash32.h
 +++ b/include/asm-powerpc/mmu-hash32.h
        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;
  
        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
  #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))
  
                                 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
  #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
   * Defines the layout of the paca.
   *
   * This structure is not directly accessed by firmware or the service
   */
  struct paca_struct {
        /*
   */
  struct paca_struct {
        /*
-@@ -55,14 +52,7 @@
+@@ -55,14 +52,7 @@ struct paca_struct {
         * avoid cacheline bouncing.
         */
  
         * 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
   *
   * 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    */
        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_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)
  #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
  
                                 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)
  #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);
  
  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
  
 --- 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
  
  
  #ifndef CONFIG_PPC64
  
  {
        return bus->sysdata;
  }
  {
        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);
  
  
  extern int pcibios_remove_root_bus(struct pci_controller *phb);
  
  
 --- a/include/asm-powerpc/pgtable-ppc32.h
 +++ b/include/asm-powerpc/pgtable-ppc32.h
  
 --- 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 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))
  #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)
  
  #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
  /* 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)         \
  #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
 +#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);
  };
  
  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
      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 */
  #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
  
  /* 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 */
  #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
  #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);
  /* 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);
  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);
  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
   *
 --- 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 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)
  
  #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);
  
  extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
  extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
  
  
  /*
   * lock for reading
  
  /*
   * lock for reading
-@@ -78,7 +90,7 @@
+@@ -78,7 +90,7 @@ static inline int __down_read_trylock(st
  /*
   * lock for writing
   */
  /*
   * lock for writing
   */
  {
        int tmp;
  
  {
        int tmp;
  
-@@ -88,6 +100,11 @@
+@@ -88,6 +100,11 @@ static inline void __down_write(struct r
                rwsem_down_write_failed(sem);
  }
  
                rwsem_down_write_failed(sem);
  }
  
  #define __HAVE_ARCH_STRCAT
  #define __HAVE_ARCH_MEMSET
  #define __HAVE_ARCH_MEMCPY
  #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 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
  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;
  
  
  typedef __vector128 vector128;
  
 +#endif /* _LINUX_LMB_H */
 --- a/include/linux/of.h
 +++ b/include/linux/of.h
 +#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 *);
                                         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
 +#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
  
  config CHECK_SIGNATURE
        bool
  
  endmenu
 --- a/lib/Makefile
 +++ b/lib/Makefile
  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
  
  
  lib-$(CONFIG_GENERIC_BUG) += bug.o
  
index e91ff5eafa6d9b1db54654979fdfe079af35fffd..395495ab1c4268ad5c8e8fad0153dac9d3d32add 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/usb-serial.c
 +++ b/drivers/usb/serial/usb-serial.c
 --- 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.
  */
  
     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);
  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;
                }
                        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);
                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");
  
  module_param(debug, bool, S_IRUGO | S_IWUSR);
  MODULE_PARM_DESC(debug, "Debug enabled or not");
index 1289129a898fe41eb2d8d779bd59f6eafb96e674..d1d162b02a7cd4ccb106f4db0f28304438ad7b29 100644 (file)
@@ -1,6 +1,6 @@
 --- a/init/main.c
 +++ b/init/main.c
 --- 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)
        numa_default_policy();
  
        if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
index 2d4eafd1f4c29070f13c403fb51e4a038883e095..20bf1efabcbf395a5a5eae7dd55ef4033242778e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/erase.c
 +++ b/fs/jffs2/erase.c
 --- 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;
  {
        int ret;
        uint32_t bad_offset;
@@ -9,7 +9,7 @@
  #ifdef __ECOS
         ret = jffs2_flash_erase(c, jeb);
         if (!ret) {
  #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));
  
        D1(printk(KERN_DEBUG "jffs2_erase_block(): erase block %#08x (range %#08x-%#08x)\n",
                                jeb->offset, jeb->offset, jeb->offset + c->sector_size));
index b15fd56a9dd8ba81ce61db5862f98f0576617c01..cd5d6864fa38a8872f32a26b22cce7255262677d 100644 (file)
@@ -11,7 +11,7 @@
  #include <linux/types.h>
  
  #ifdef __KERNEL__
  #include <linux/types.h>
  
  #ifdef __KERNEL__
-@@ -232,4 +236,6 @@
+@@ -232,4 +236,6 @@ struct itimerval {
   */
  #define TIMER_ABSTIME                 0x01
  
   */
  #define TIMER_ABSTIME                 0x01
  
@@ -35,7 +35,7 @@
  #ifdef        __KERNEL__
  
  #define DECLARE_BITMAP(name,bits) \
  #ifdef        __KERNEL__
  
  #define DECLARE_BITMAP(name,bits) \
-@@ -161,6 +169,8 @@
+@@ -161,6 +169,8 @@ typedef unsigned long blkcnt_t;
  
  #endif /* __KERNEL_STRICT_NAMES */
  
  
  #endif /* __KERNEL_STRICT_NAMES */
  
index 36b4d259f5340cb24e587de946c2d86a6738384a..45a3f2700612dba999a96b28848669251e3218b7 100644 (file)
@@ -62,7 +62,7 @@
  
 --- a/scripts/kconfig/Makefile
 +++ b/scripts/kconfig/Makefile
  
 --- 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))
  # 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 81e10834e3cffa19a688094730ca927fbaa95721..c0bbf2c6efcfa3e4c9bbba4c51e0c94f96831609 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/hostap/hostap_ap.c
 +++ b/drivers/net/wireless/hostap/hostap_ap.c
 --- 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)
                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;
                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)
                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
  #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);
  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
  #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);
        }
  
                        prism2_hw_reset(dev);
        }
  
@@ -74,7 +74,7 @@
  
 --- a/drivers/net/wireless/hostap/hostap_info.c
 +++ b/drivers/net/wireless/hostap/hostap_info.c
  
 --- 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 */
        }
  
        /* 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
                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;
                val = 255;
  
        tmp = val;
  
        return (unsigned char) tmp;
  }
  
        return (unsigned char) tmp;
  }
-@@ -4076,3 +4073,35 @@
+@@ -4076,3 +4073,35 @@ int hostap_ioctl(struct net_device *dev,
  
        return ret;
  }
  
        return ret;
  }
index c0c01c0101b474eeec025495cad4d246408387ed..7fe248d8d333820172dba0c46fc5bfd11103169a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/stddef.h
 +++ b/include/linux/stddef.h
 --- a/include/linux/stddef.h
 +++ b/include/linux/stddef.h
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ enum {
        false   = 0,
        true    = 1
  };
        false   = 0,
        true    = 1
  };
@@ -8,7 +8,7 @@
  
  #undef offsetof
  #ifdef __compiler_offsetof
  
  #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
  #else
  #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
  #endif
index 401b15126d8147e91ca6aaf0074b105c09378932..8fc9381a6923083eb7291a2d1d110949c0fa8475 100644 (file)
@@ -1,6 +1,6 @@
 --- a/scripts/gen_initramfs_list.sh
 +++ b/scripts/gen_initramfs_list.sh
 --- 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")
                        str="${ftype} ${name} ${location} ${str}"
                        ;;
                "nod")
@@ -9,7 +9,7 @@
                        local maj=`field 5 ${dev}`
                        local min=`field 6 ${dev}`
                        maj=${maj%,}
                        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")
                        str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
                        ;;
                "slink")
index 355cfb267534fdf28204ccb6a619a7eb840543c1..29725148b020b379bdf3b765ab3781e3926ff7f7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
 --- 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;
  
                struct mtd_partition    *parts = NULL;
                int                     nr_parts = 0;
  
index 760d27aedaffc2dad22bec58788f06bf7d5dd8c7..a80482842d9bf968c5cb285b6c613a2df42958b5 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
 @@ -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 */
 +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
 @@ -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");
 +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.
 @@ -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
  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
 @@ -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 58c214498574493999153d5c7bd577683d2ae090..b775a0e6bf69156bc77ce28c6eff596c5c0e69b3 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.
 @@ -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);
 +      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.
 @@ -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.
 +      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
 @@ -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.
 @@ -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_ */
 +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
 +================================================================
 @@ -0,0 +1,97 @@
 +GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus
 +================================================================
index e68d4ab01482d5339bad5e6495f3ca050654e8dc..c84f62b4472d38ae7c3a604cf51c175fe8b1bba0 100644 (file)
@@ -1,10 +1,8 @@
 The gpiommc configfs context structure needs locking, as configfs
 does not lock access between files.
 
 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 */
 @@ -140,6 +140,8 @@ struct gpiommc_configfs_device {
        struct platform_device *pdev;
        /* The configuration */
index 5b3755e8716b63124736655c39df857878ebf013..25abf821df82702c6fc3211e4fb7376e7b5a279d 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
 ---
 --- 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);
  }
  
        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);
  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);
  }
  
        writew(val, addr);
  }
  
index c6c28a00373593a370cce12d23458d59509fd706..3fd993812a94bfdddbcd790ad56ea6c379232288 100644 (file)
@@ -9,7 +9,7 @@
  #
  # machine_is_xxx      CONFIG_xxxx             MACH_TYPE_xxx           number
  #
  #
  # 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
  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
  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
  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
  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
  mt7108                        MACH_MT7108             MT7108                  1613
  smtr2440              MACH_SMTR2440           SMTR2440                1614
  manao                 MACH_MANAO              MANAO                   1615
index 81789b82d348baf28d2033abab41887dc15dab2f..7912a4e8dda48ca6afd0a1b67853ae63e103a39b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -593,3 +593,6 @@
+@@ -593,3 +593,6 @@ config CRYPTO_LZO
  source "drivers/crypto/Kconfig"
  
  endif # if CRYPTO
  source "drivers/crypto/Kconfig"
  
  endif # if CRYPTO
@@ -9,7 +9,7 @@
 +
 --- a/crypto/Makefile
 +++ b/crypto/Makefile
 +
 --- 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
  
  
  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.
   * 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
  
  }
  #endif
  
  /*********************************************************************
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
  /*********************************************************************
 --- 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;
  }
                ret = dupfd(file, 0, 0);
        return ret;
  }
  struct rand_pool_info {
        int     entropy_count;
        int     buf_size;
  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);
  
                                 unsigned int value);
  extern void add_interrupt_randomness(int irq);
  
index f41b01453ccc266420a51536a9ea4faf1b1031a8..8da25daa757f4dbd31f22f804f4cd908ce2f8b69 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
 
 --- 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]");
        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;
  
        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.
         */
        /* 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;
        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)
  
  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];
        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
  
  /**
   * struct gpio_chip - abstract a GPIO controller
-@@ -48,6 +49,7 @@
+@@ -48,6 +49,7 @@ struct seq_file;
   */
  struct gpio_chip {
        char                    *label;
   */
  struct gpio_chip {
        char                    *label;
index 49f38081092dc2f152f6c03181c83980b9336102..771b743bafa28c354309e941023caa354070dfdc 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 --- a/Documentation/gpio.txt
 +++ b/Documentation/gpio.txt
 
 --- 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.
  
  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
  
 --- 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.
         */
  
         * 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;
        }
                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);
  
  
        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)
                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;
  
        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;
        }
                WARN_ON(extra_checks);
                return;
        }
-@@ -245,7 +245,7 @@
+@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct
  {
        unsigned gpio = chip->base + offset;
  
  {
        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;
                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);
  
  
        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)
                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);
  
  
        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)
                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 ... */
  
  
        /* 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;
  
  struct seq_file;
  struct module;
  
-@@ -99,6 +105,16 @@
+@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio
  
  #else
  
  
  #else
  
index bcd5c1948561f3e2ba78bb7567a1de2fa7752f7b..0960f6764dd8e6a2133363c4f132abc179c3dfe1 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
 
 --- 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;
  }
  
        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
  /**
   * 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.
   * 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 a4a243e8ec335c384b902df299ac488c714c2577..abf77c35599e14a81d4f36d417214286e1e94113 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
 
 --- 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
  /* 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;
  
  #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--) {
        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;
                        spare++;
                        if (spare == ngpio) {
                                base = i;
-@@ -98,7 +100,8 @@
+@@ -98,7 +100,8 @@ static int gpiochip_find_base(int ngpio)
                        }
                } else {
                        spare = 0;
                        }
                } 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
   * 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);
  
  extern const char *gpiochip_is_requested(struct gpio_chip *chip,
                        unsigned offset);
index 74d7247ccd5d9bf404de889ac70ef62a4f140c3d..c875a0d4ca8d39723b4e8d197aa5a1485cd37a5f 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
 
 --- 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;
  
        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);
                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;
  
        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;
                        && 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",
        /* failures here can mean systems won't boot... */
        if (status)
                pr_err("gpiochip_add: gpios %d..%d (%s) not registered\n",
index 98103ae131f36b1e20c6ba656a38816dc7287f11..d5bb40f3e9218bc700773896e2896547b78e71a5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/serial/sierra.c
 +++ b/drivers/usb/serial/sierra.c
 --- 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 */
        { 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 daa2c62d7820edbf62a988bce2cd02373264652e..3feeec0297d3236d9cdda28fc11561d557d5c99d 100644 (file)
@@ -10,7 +10,7 @@ ARCH:=powerpc
 BOARD:=ps3
 BOARDNAME:=Sony PS3 Game Console
 
 BOARD:=ps3
 BOARDNAME:=Sony PS3 Game Console
 
-LINUX_VERSION:=2.6.25.17
+LINUX_VERSION:=2.6.25.19
 
 KERNEL_CC:=
 
 
 KERNEL_CC:=
 
index 9e46cfec3f7d56f80da69e1f7b6e434099d94cff..2919af64b4340256a2e2d826e37f0e4725d96572 100644 (file)
@@ -12,7 +12,7 @@ BOARDNAME:=x86
 FEATURES:=squashfs jffs2 ext2 vdi
 SUBTARGETS=generic
 
 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
 
 include $(INCLUDE_DIR)/target.mk
 DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci