[kernel] generic-2.6/2.6.24: refresh patches
authorGabor Juhos <juhosg@openwrt.org>
Sun, 8 Feb 2009 19:16:45 +0000 (19:16 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 8 Feb 2009 19:16:45 +0000 (19:16 +0000)
SVN-Revision: 14450

54 files changed:
target/linux/generic-2.6/patches-2.6.24/001-squashfs.patch
target/linux/generic-2.6/patches-2.6.24/002-lzma_decompress.patch
target/linux/generic-2.6/patches-2.6.24/003-squashfs_lzma.patch
target/linux/generic-2.6/patches-2.6.24/004-extra_optimization.patch
target/linux/generic-2.6/patches-2.6.24/005-squashfs_fix.patch
target/linux/generic-2.6/patches-2.6.24/006-gcc4_inline_fix.patch
target/linux/generic-2.6/patches-2.6.24/007-samsung_flash.patch
target/linux/generic-2.6/patches-2.6.24/009-revert_intel_flash_breakage.patch
target/linux/generic-2.6/patches-2.6.24/012-mips_cpu_tlb.patch
target/linux/generic-2.6/patches-2.6.24/013-mips_gdb_stub.patch
target/linux/generic-2.6/patches-2.6.24/060-block2mtd_init.patch
target/linux/generic-2.6/patches-2.6.24/065-rootfs_split.patch
target/linux/generic-2.6/patches-2.6.24/070-redboot_space.patch
target/linux/generic-2.6/patches-2.6.24/080-mtd_plat_nand_chip_fixup.patch
target/linux/generic-2.6/patches-2.6.24/100-netfilter_layer7_2.17.patch
target/linux/generic-2.6/patches-2.6.24/101-netfilter_layer7_pktmatch.patch
target/linux/generic-2.6/patches-2.6.24/110-ipp2p_0.8.1rc1.patch
target/linux/generic-2.6/patches-2.6.24/130-netfilter_ipset.patch
target/linux/generic-2.6/patches-2.6.24/140-netfilter_time.patch
target/linux/generic-2.6/patches-2.6.24/150-netfilter_imq.patch
target/linux/generic-2.6/patches-2.6.24/170-netfilter_chaostables_0.8.patch
target/linux/generic-2.6/patches-2.6.24/171-netfilter_tarpit.patch
target/linux/generic-2.6/patches-2.6.24/180-netfilter_depends.patch
target/linux/generic-2.6/patches-2.6.24/190-netfilter_rtsp.patch
target/linux/generic-2.6/patches-2.6.24/200-sched_esfq.patch
target/linux/generic-2.6/patches-2.6.24/202-mips-freestanding.patch
target/linux/generic-2.6/patches-2.6.24/204-jffs2_eofdetect.patch
target/linux/generic-2.6/patches-2.6.24/208-rtl8110sb_fix.patch
target/linux/generic-2.6/patches-2.6.24/209-mini_fo.patch
target/linux/generic-2.6/patches-2.6.24/213-kobject_uevent.patch
target/linux/generic-2.6/patches-2.6.24/220-sound_kconfig.patch
target/linux/generic-2.6/patches-2.6.24/400-ledtrig_morse.patch
target/linux/generic-2.6/patches-2.6.24/401-led_alix.patch
target/linux/generic-2.6/patches-2.6.24/402-ledtrig_default_on.patch
target/linux/generic-2.6/patches-2.6.24/410-gpio_buttons.patch
target/linux/generic-2.6/patches-2.6.24/420-gpiodev.patch
target/linux/generic-2.6/patches-2.6.24/510-yaffs_support.patch
target/linux/generic-2.6/patches-2.6.24/600-phy_extension.patch
target/linux/generic-2.6/patches-2.6.24/601-br2684-routed-support.patch
target/linux/generic-2.6/patches-2.6.24/700-powerpc_git.patch
target/linux/generic-2.6/patches-2.6.24/801-usb_serial_endpoint_size.patch
target/linux/generic-2.6/patches-2.6.24/840-unable_to_open_console.patch
target/linux/generic-2.6/patches-2.6.24/850-jffs2_erase_progress_indicator.patch
target/linux/generic-2.6/patches-2.6.24/900-headers_type_and_time.patch
target/linux/generic-2.6/patches-2.6.24/902-darwin_scripts_include.patch
target/linux/generic-2.6/patches-2.6.24/903-hostap_txpower.patch
target/linux/generic-2.6/patches-2.6.24/903-stddef_include.patch
target/linux/generic-2.6/patches-2.6.24/904-ls_time_locale.patch
target/linux/generic-2.6/patches-2.6.24/921-gpio_spi_driver.patch
target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch
target/linux/generic-2.6/patches-2.6.24/930-ppc_big_endian_io_memory_accessors.patch
target/linux/generic-2.6/patches-2.6.24/940-arm_mach_types.patch
target/linux/generic-2.6/patches-2.6.24/950-mtd_cfi_intel_p33_compatbility.patch
target/linux/generic-2.6/patches-2.6.24/975-crypto_kconfig_hacks.patch

index c535c34..1db4091 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -1405,6 +1405,71 @@
+@@ -1405,6 +1405,71 @@ config CRAMFS
  
          If unsure, say N.
  
@@ -74,7 +74,7 @@
        depends on BLOCK
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -72,6 +72,7 @@
+@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD)            += jbd/
  obj-$(CONFIG_JBD2)            += jbd2/
  obj-$(CONFIG_EXT2_FS)         += ext2/
  obj-$(CONFIG_CRAMFS)          += cramfs/
  #include <linux/initrd.h>
  #include <linux/string.h>
  
-@@ -39,6 +40,7 @@
+@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
   * numbers could not be found.
   *
   * We currently check for the following magic numbers:
   *    minix
   *    ext2
   *    romfs
-@@ -53,6 +55,7 @@
+@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
        struct ext2_super_block *ext2sb;
        struct romfs_super_block *romfsb;
        struct cramfs_super *cramfsb;
        int nblocks = -1;
        unsigned char *buf;
  
-@@ -64,6 +67,7 @@
+@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
        ext2sb = (struct ext2_super_block *) buf;
        romfsb = (struct romfs_super_block *) buf;
        cramfsb = (struct cramfs_super *) buf;
        memset(buf, 0xe5, size);
  
        /*
-@@ -101,6 +105,15 @@
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
                goto done;
        }
  
index 5ebf699..4a4e266 100644 (file)
 +}
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lib-$(CONFIG_SMP) += cpumask.o
  lib-y += kobject.o kref.o klist.o
  
  obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
  
  ifeq ($(CONFIG_DEBUG_KOBJECT),y)
  CFLAGS_kobject.o += -DDEBUG
-@@ -64,6 +64,7 @@
+@@ -64,6 +64,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o
  obj-$(CONFIG_AUDIT_GENERIC) += audit.o
  
  obj-$(CONFIG_SWIOTLB) += swiotlb.o
index 16cc873..9050e37 100644 (file)
@@ -38,7 +38,7 @@
  static void squashfs_put_super(struct super_block *);
  static int squashfs_statfs(struct dentry *, struct kstatfs *);
  static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@
+@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
                        const char *, void *, struct vfsmount *);
  
  
@@ -50,7 +50,7 @@
  
  static struct file_system_type squashfs_fs_type = {
        .owner = THIS_MODULE,
-@@ -249,6 +270,15 @@
+@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
        if (compressed) {
                int zlib_err;
  
@@ -66,7 +66,7 @@
                stream.next_in = c_buffer;
                stream.avail_in = c_byte;
                stream.next_out = buffer;
-@@ -263,7 +293,7 @@
+@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
                        bytes = 0;
                } else
                        bytes = stream.total_out;
@@ -75,7 +75,7 @@
                up(&msblk->read_data_mutex);
        }
  
-@@ -2045,15 +2075,19 @@
+@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
        printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
                "Phillip Lougher\n");
  
@@ -95,7 +95,7 @@
                destroy_inodecache();
        }
  
-@@ -2064,7 +2098,9 @@
+@@ -2064,7 +2098,9 @@ out:
  
  static void __exit exit_squashfs_fs(void)
  {
index a6810cd..9167a7b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -527,6 +527,9 @@
+@@ -527,6 +527,9 @@ KBUILD_CFLAGS         += $(call cc-optio
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
  
index 961829e..56b7fc2 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/squashfs_fs_sb.h>
  #include <linux/squashfs_fs_i.h>
  #include <linux/buffer_head.h>
-@@ -2125,7 +2126,7 @@
+@@ -2125,7 +2126,7 @@ static void squashfs_destroy_inode(struc
  }
  
  
index dbb7e7c..cd62e9c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/asm-mips/system.h
 +++ b/include/asm-mips/system.h
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ extern __u64 __xchg_u64_unsupported_on_3
     if something tries to do an invalid xchg().  */
  extern void __xchg_called_with_bad_pointer(void);
  
index 335ffd9..1d679e0 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 *);
-@@ -294,12 +295,19 @@
+@@ -294,12 +295,19 @@ struct mtd_info *cfi_cmdset_0002(struct 
  
                if (extp->MajorVersion != '1' ||
                    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
index bff4512..0237dca 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0001.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -944,7 +944,7 @@
+@@ -944,7 +944,7 @@ static void __xipram xip_enable(struct m
  
  static int __xipram xip_wait_for_operation(
                struct map_info *map, struct flchip *chip,
@@ -9,7 +9,7 @@
  {
        struct cfi_private *cfi = map->fldrv_priv;
        struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-@@ -953,7 +953,7 @@
+@@ -953,7 +953,7 @@ static int __xipram xip_wait_for_operati
        flstate_t oldstate, newstate;
  
                start = xip_currtime();
@@ -18,7 +18,7 @@
        if (usec == 0)
                usec = 500000;
        done = 0;
-@@ -1063,8 +1063,8 @@
+@@ -1063,8 +1063,8 @@ static int __xipram xip_wait_for_operati
  #define XIP_INVAL_CACHED_RANGE(map, from, size)  \
        INVALIDATE_CACHED_RANGE(map, from, size)
  
@@ -29,7 +29,7 @@
  
  #else
  
-@@ -1076,65 +1076,65 @@
+@@ -1076,65 +1076,65 @@ static int __xipram xip_wait_for_operati
  static int inval_cache_and_wait_for_operation(
                struct map_info *map, struct flchip *chip,
                unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
        /* Done and happy. */
        chip->state = FL_STATUS;
        return 0;
-@@ -1143,7 +1143,8 @@
+@@ -1143,7 +1143,8 @@ static int inval_cache_and_wait_for_oper
  #endif
  
  #define WAIT_TIMEOUT(map, chip, adr, udelay) \
  
  
  static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
-@@ -1374,7 +1375,7 @@
+@@ -1374,7 +1375,7 @@ static int __xipram do_write_oneword(str
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
                                   adr, map_bankwidth(map),
        if (ret) {
                xip_enable(map, chip, adr);
                printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
-@@ -1614,7 +1615,7 @@
+@@ -1614,7 +1615,7 @@ static int __xipram do_write_buffer(stru
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
                                   initial_adr, initial_len,
        if (ret) {
                map_write(map, CMD(0x70), cmd_adr);
                chip->state = FL_STATUS;
-@@ -1749,7 +1750,7 @@
+@@ -1749,7 +1750,7 @@ static int __xipram do_erase_oneblock(st
  
        ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
                                   adr, len,
index 3c65405..0b07c30 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/mm/tlbex.c
 +++ b/arch/mips/mm/tlbex.c
-@@ -902,7 +902,6 @@
+@@ -902,7 +902,6 @@ static __init void build_tlb_write_entry
        case CPU_R10000:
        case CPU_R12000:
        case CPU_R14000:
@@ -8,7 +8,7 @@
        case CPU_SB1:
        case CPU_SB1A:
        case CPU_4KSC:
-@@ -935,6 +934,7 @@
+@@ -935,6 +934,7 @@ static __init void build_tlb_write_entry
                tlbw(p);
                break;
  
index b50a0de..877fe9b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/kernel/gdb-stub.c
 +++ b/arch/mips/kernel/gdb-stub.c
-@@ -656,6 +656,7 @@
+@@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long 
        *epc = (unsigned long)async_breakpoint;
  }
  
@@ -8,7 +8,7 @@
  static void kgdb_wait(void *arg)
  {
        unsigned flags;
-@@ -668,6 +669,7 @@
+@@ -668,6 +669,7 @@ static void kgdb_wait(void *arg)
  
        local_irq_restore(flags);
  }
index 4a1c958..f5d9b0c 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/buffer_head.h>
  #include <linux/mutex.h>
  #include <linux/mount.h>
-@@ -237,10 +238,11 @@
+@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
  
  
  /* FIXME: ensure that mtd->size % erase_size == 0 */
@@ -21,7 +21,7 @@
  
        if (!devname)
                return NULL;
-@@ -279,14 +281,18 @@
+@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
  
        /* Setup the MTD structure */
        /* make the name contain the block device in */
@@ -45,7 +45,7 @@
        dev->mtd.erasesize = erase_size;
        dev->mtd.writesize = 1;
        dev->mtd.type = MTD_RAM;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
        dev->mtd.read = block2mtd_read;
        dev->mtd.priv = dev;
        dev->mtd.owner = THIS_MODULE;
@@ -68,7 +68,7 @@
        return dev;
  
  devinit_err:
-@@ -379,9 +388,9 @@
+@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12]
  
  static int block2mtd_setup2(const char *val)
  {
@@ -80,7 +80,7 @@
        char *name;
        size_t erase_size = PAGE_SIZE;
        int i, ret;
-@@ -392,7 +401,7 @@
+@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
        strcpy(str, val);
        kill_final_newline(str);
  
@@ -89,7 +89,7 @@
                token[i] = strsep(&str, ",");
  
        if (str)
-@@ -411,8 +420,10 @@
+@@ -411,8 +420,10 @@ static int block2mtd_setup2(const char *
                        parse_err("illegal erase size");
                }
        }
  
        return 0;
  }
-@@ -446,7 +457,7 @@
+@@ -446,7 +457,7 @@ static int block2mtd_setup(const char *v
  
  
  module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
index a32cb66..6916e06 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -47,6 +47,16 @@
+@@ -47,6 +47,16 @@ config MTD_PARTITIONS
          devices. Partitioning on NFTL 'devices' is a different - that's the
          'normal' form of partitioning used on a block device.
  
@@ -28,7 +28,7 @@
  
  /* Our partition linked list */
  static LIST_HEAD(mtd_partitions);
-@@ -39,7 +41,7 @@
+@@ -39,7 +41,7 @@ struct mtd_part {
   * the pointer to that structure with this macro.
   */
  #define PART(x)  ((struct mtd_part *)(x))
@@ -37,7 +37,7 @@
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -308,6 +310,312 @@
+@@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info *
        return 0;
  }
  
  /*
   * This function, given a master MTD object and a partition table, creates
   * and registers slave MTD objects which are bound to the master according to
-@@ -320,168 +628,31 @@
+@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info *
                       int nbparts)
  {
        struct mtd_part *slave;
                }
        }
  
-@@ -557,6 +728,32 @@
+@@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info
        return ret;
  }
  
  EXPORT_SYMBOL_GPL(deregister_mtd_parser);
 --- a/drivers/mtd/devices/block2mtd.c
 +++ b/drivers/mtd/devices/block2mtd.c
-@@ -34,6 +34,8 @@
+@@ -34,6 +34,8 @@ struct block2mtd_dev {
        struct block_device *blkdev;
        struct mtd_info mtd;
        struct mutex write_mutex;
  };
  
  
-@@ -86,6 +88,12 @@
+@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in
        size_t len = instr->len;
        int err;
  
        instr->state = MTD_ERASING;
        mutex_lock(&dev->write_mutex);
        err = _block2mtd_erase(dev, from, len);
-@@ -98,6 +106,10 @@
+@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
  
        instr->state = MTD_ERASE_DONE;
        mtd_erase_callback(instr);
        return err;
  }
  
-@@ -109,10 +121,14 @@
+@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf
        struct page *page;
        int index = from >> PAGE_SHIFT;
        int offset = from & (PAGE_SIZE-1);
        if (from + len > mtd->size)
                len = mtd->size - from;
  
-@@ -127,10 +143,14 @@
+@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf
                len = len - cpylen;
  
                page = page_read(dev->blkdev->bd_inode->i_mapping, index);
  
                memcpy(buf, page_address(page) + offset, cpylen);
                page_cache_release(page);
-@@ -141,7 +161,10 @@
+@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
                offset = 0;
                index++;
        }
  }
  
  
-@@ -193,12 +216,22 @@
+@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in
                size_t *retlen, const u_char *buf)
  {
        struct block2mtd_dev *dev = mtd->priv;
        if (to + len > mtd->size)
                len = mtd->size - to;
  
-@@ -207,6 +240,9 @@
+@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
        mutex_unlock(&dev->write_mutex);
        if (err > 0)
                err = 0;
        return err;
  }
  
-@@ -215,51 +251,29 @@
+@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
  static void block2mtd_sync(struct mtd_info *mtd)
  {
        struct block2mtd_dev *dev = mtd->priv;
                if (devt) {
                        bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
                }
-@@ -267,17 +281,96 @@
+@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
  #endif
  
        if (IS_ERR(bdev)) {
  
        /* Setup the MTD structure */
        /* make the name contain the block device in */
-@@ -304,6 +397,7 @@
+@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device(
        dev->mtd.read = block2mtd_read;
        dev->mtd.priv = dev;
        dev->mtd.owner = THIS_MODULE;
  
  #include <asm/uaccess.h>
  
-@@ -754,6 +755,13 @@
+@@ -754,6 +755,13 @@ static int mtd_ioctl(struct inode *inode
                file->f_pos = 0;
                break;
        }
                ret = -ENOTTY;
 --- a/include/linux/mtd/mtd.h
 +++ b/include/linux/mtd/mtd.h
-@@ -98,6 +98,7 @@
+@@ -98,6 +98,7 @@ struct mtd_oob_ops {
        uint8_t         *oobbuf;
  };
  
  struct mtd_info {
        u_char type;
        u_int32_t flags;
-@@ -202,6 +203,9 @@
+@@ -202,6 +203,9 @@ struct mtd_info {
        struct module *owner;
        int usecount;
  
  struct mtd_partition {
        char *name;                     /* identifier string */
        u_int32_t size;                 /* partition size */
-@@ -43,6 +44,7 @@
+@@ -43,6 +44,7 @@ struct mtd_partition {
        u_int32_t mask_flags;           /* master MTD flags to mask out for this partition */
        struct nand_ecclayout *ecclayout;       /* out of band layout for this partition (NAND only)*/
        struct mtd_info **mtdp;         /* pointer to store the MTD object */
  };
  
  #define MTDPART_OFS_NXTBLK    (-2)
-@@ -52,6 +54,7 @@
+@@ -52,6 +54,7 @@ struct mtd_partition {
  
  int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
  int del_mtd_partitions(struct mtd_info *);
   * Functions dealing with the various ways of partitioning the space
 --- a/include/mtd/mtd-abi.h
 +++ b/include/mtd/mtd-abi.h
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,7 @@ struct otp_info {
  #define ECCGETLAYOUT          _IOR('M', 17, struct nand_ecclayout)
  #define ECCGETSTATS           _IOR('M', 18, struct mtd_ecc_stats)
  #define MTDFILEMODE           _IO('M', 19)
index b4d57cb..940536d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/redboot.c
 +++ b/drivers/mtd/redboot.c
-@@ -236,14 +236,21 @@
+@@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru
  #endif
                names += strlen(names)+1;
  
index ef885ed..61f2806 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
-@@ -573,6 +573,7 @@
+@@ -573,6 +573,7 @@ struct platform_nand_chip {
        int                     chip_delay;
        unsigned int            options;
        const char              **part_probe_types;
@@ -10,7 +10,7 @@
  
 --- a/drivers/mtd/nand/plat_nand.c
 +++ b/drivers/mtd/nand/plat_nand.c
-@@ -70,7 +70,18 @@
+@@ -70,7 +70,18 @@ static int __init plat_nand_probe(struct
        platform_set_drvdata(pdev, data);
  
        /* Scan to find existance of the device */
index cbe6d81..9315486 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -633,6 +633,27 @@
+@@ -633,6 +633,27 @@ config NETFILTER_XT_MATCH_STATE
  
          To compile it as a module, choose M here.  If unsure, say N.
  
@@ -30,7 +30,7 @@
        depends on NETFILTER_XTABLES
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -73,6 +73,7 @@
+@@ -73,6 +73,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
  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
-@@ -206,6 +206,14 @@
+@@ -206,6 +206,14 @@ destroy_conntrack(struct nf_conntrack *n
         * too. */
        nf_ct_remove_expectations(ct);
  
                BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
 --- a/net/netfilter/nf_conntrack_standalone.c
 +++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -180,7 +180,12 @@
+@@ -180,7 +180,12 @@ static int ct_seq_show(struct seq_file *
                return -ENOSPC;
  #endif
  
        return 0;
 --- a/include/net/netfilter/nf_conntrack.h
 +++ b/include/net/netfilter/nf_conntrack.h
-@@ -124,6 +124,22 @@
+@@ -124,6 +124,22 @@ struct nf_conn
        u_int32_t secmark;
  #endif
  
index 167d578..be2dff8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/netfilter/xt_layer7.h
 +++ b/include/linux/netfilter/xt_layer7.h
-@@ -8,6 +8,7 @@
+@@ -8,6 +8,7 @@ struct xt_layer7_info {
      char protocol[MAX_PROTOCOL_LEN];
      char pattern[MAX_PATTERN_LEN];
      u_int8_t invert;
@@ -10,7 +10,7 @@
  #endif /* _XT_LAYER7_H */
 --- a/net/netfilter/xt_layer7.c
 +++ b/net/netfilter/xt_layer7.c
-@@ -297,34 +297,36 @@
+@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
  }
  
  /* add the new app data to the conntrack.  Return number of bytes added. */
@@ -61,7 +61,7 @@
        return length;
  }
  
-@@ -411,7 +413,7 @@
+@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin,
        const struct xt_layer7_info * info = matchinfo;
        enum ip_conntrack_info master_ctinfo, ctinfo;
        struct nf_conn *master_conntrack, *conntrack;
@@ -70,7 +70,7 @@
        unsigned int pattern_result, appdatalen;
        regexp * comppattern;
  
-@@ -439,8 +441,8 @@
+@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin,
                master_conntrack = master_ct(master_conntrack);
  
        /* if we've classified it or seen too many packets */
@@ -81,7 +81,7 @@
  
                pattern_result = match_no_append(conntrack, master_conntrack, 
                                                 ctinfo, master_ctinfo, info);
-@@ -473,6 +475,25 @@
+@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin,
        /* the return value gets checked later, when we're ready to use it */
        comppattern = compile_and_cache(info->pattern, info->protocol);
  
index 3000af7..232c163 100644 (file)
 +
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -63,6 +63,12 @@
+@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -50,6 +50,8 @@
+@@ -50,6 +50,8 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_
  obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  
index cee1cdc..52b272c 100644 (file)
@@ -1,7 +1,7 @@
 --- a/include/linux/netfilter_ipv4/Kbuild
 +++ b/include/linux/netfilter_ipv4/Kbuild
-@@ -45,3 +45,14 @@
-
+@@ -45,3 +45,14 @@ header-y += ipt_ttl.h
  unifdef-y += ip_queue.h
  unifdef-y += ip_tables.h
 +
 +module_exit(ipt_SET_fini);
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -408,5 +408,122 @@
+@@ -408,5 +408,122 @@ config IP_NF_ARP_MANGLE
          Allows altering the ARP packet payload: source and destination
          hardware and network addresses.
  
  
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -49,6 +49,7 @@
+@@ -49,6 +49,7 @@ obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_o
  obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
  obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  
  obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
  
-@@ -64,6 +65,18 @@
+@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_SAME) += ipt_S
  obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
  obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
  obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
index b29c064..da04359 100644 (file)
 +}
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -78,6 +78,22 @@
+@@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -50,6 +50,7 @@
+@@ -50,6 +50,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_
  obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
index ec6dfc6..a0d65ed 100644 (file)
 +MODULE_LICENSE("GPL");
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -112,6 +112,129 @@
+@@ -112,6 +112,129 @@ config EQUALIZER
          To compile this driver as a module, choose M here: the module
          will be called eql.  If unsure, say N.
  
        select CRC32
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -139,6 +139,7 @@
+@@ -139,6 +139,7 @@ obj-$(CONFIG_SLHC) += slhc.o
  obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
  
  obj-$(CONFIG_DUMMY) += dummy.o
 +#endif /* _IP6T_IMQ_H */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -295,6 +295,10 @@
+@@ -295,6 +295,10 @@ struct sk_buff {
        struct nf_conntrack     *nfct;
        struct sk_buff          *nfct_reasm;
  #endif
  #ifdef CONFIG_BRIDGE_NETFILTER
        struct nf_bridge_info   *nf_bridge;
  #endif
-@@ -1728,6 +1732,10 @@
+@@ -1728,6 +1732,10 @@ static inline void __nf_copy(struct sk_b
        dst->nfct_reasm = src->nfct_reasm;
        nf_conntrack_get_reasm(src->nfct_reasm);
  #endif
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
  #include <linux/stat.h>
-@@ -1533,7 +1536,11 @@
+@@ -1533,7 +1536,11 @@ static int dev_gso_segment(struct sk_buf
  int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
  {
        if (likely(!skb->next)) {
 +MODULE_LICENSE("GPL");
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -333,6 +333,17 @@
+@@ -333,6 +333,17 @@ config IP_NF_MANGLE
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on IP_NF_MANGLE
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -58,6 +58,7 @@
+@@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
  obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
  obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
 +MODULE_LICENSE("GPL");
 --- a/net/ipv6/netfilter/Kconfig
 +++ b/net/ipv6/netfilter/Kconfig
-@@ -173,6 +173,15 @@
+@@ -173,6 +173,15 @@ config IP6_NF_MANGLE
  
          To compile it as a module, choose M here.  If unsure, say N.
  
  
 --- a/net/sched/sch_generic.c
 +++ b/net/sched/sch_generic.c
-@@ -176,6 +176,11 @@
+@@ -176,6 +176,11 @@ static inline int qdisc_restart(struct n
        return ret;
  }
  
  void __qdisc_run(struct net_device *dev)
  {
        unsigned long start_time = jiffies;
-@@ -650,3 +655,4 @@
+@@ -650,3 +655,4 @@ EXPORT_SYMBOL(qdisc_destroy);
  EXPORT_SYMBOL(qdisc_reset);
  EXPORT_SYMBOL(qdisc_lock_tree);
  EXPORT_SYMBOL(qdisc_unlock_tree);
index cab16af..70d0531 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/netfilter/Kbuild
 +++ b/include/linux/netfilter/Kbuild
-@@ -3,6 +3,7 @@
+@@ -3,6 +3,7 @@ header-y += nf_conntrack_tuple_common.h
  header-y += nfnetlink_conntrack.h
  header-y += nfnetlink_log.h
  header-y += nfnetlink_queue.h
 +#define xt_request_find_match xt_request_find_match_lo
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -265,6 +265,14 @@
+@@ -265,6 +265,14 @@ config NETFILTER_XTABLES
  
  # alphabetically ordered list of targets
  
  config NETFILTER_XT_TARGET_CLASSIFY
        tristate '"CLASSIFY" target support'
        depends on NETFILTER_XTABLES
-@@ -292,6 +300,14 @@
+@@ -292,6 +300,14 @@ config NETFILTER_XT_TARGET_CONNMARK
          <file:Documentation/kbuild/modules.txt>.  The module will be called
          ipt_CONNMARK.ko.  If unsure, say `N'.
  
  config NETFILTER_XT_TARGET_DSCP
        tristate '"DSCP" target support'
        depends on NETFILTER_XTABLES
-@@ -556,6 +572,14 @@
+@@ -556,6 +572,14 @@ config NETFILTER_XT_MATCH_POLICY
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on NETFILTER_XTABLES
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -49,6 +49,8 @@
+@@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK
  obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
  
  # matches
  obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -79,3 +81,4 @@
+@@ -79,3 +81,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) 
  obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_TIME) += xt_time.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
 +MODULE_ALIAS("ipt_portscan");
 --- a/drivers/char/random.c
 +++ b/drivers/char/random.c
-@@ -1564,6 +1564,8 @@
+@@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32 
        return seq;
  }
  
index 2ebb669..4c0ecbf 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -401,6 +401,23 @@
+@@ -401,6 +401,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
  
          To compile it as a module, choose M here.  If unsure, say N.
  
@@ -26,7 +26,7 @@
        depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG) 
  obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE) += xt_NFQUEUE.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
index bb5de23..48afaea 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -143,7 +143,7 @@
+@@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP
  
  config NF_CONNTRACK_H323
        tristate "H.323 protocol support (EXPERIMENTAL)"
@@ -9,7 +9,7 @@
        help
          H.323 is a VoIP signalling protocol from ITU-T. As one of the most
          important VoIP protocols, it is widely used by voice hardware and
-@@ -420,7 +420,7 @@
+@@ -420,7 +420,7 @@ config NETFILTER_XT_TARGET_TARPIT
  
  config NETFILTER_XT_TARGET_TCPMSS
        tristate '"TCPMSS" target support'
index 6e6abc7..f064e2e 100644 (file)
 +#endif /* _NETFILTER_MIME_H */
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
  obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
  obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
  obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
  obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -249,6 +249,16 @@
+@@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP
  
          To compile it as a module, choose M here.  If unsure, say N.
  
        depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -33,6 +33,7 @@
+@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
  obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
  obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
  obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
  obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
 --- a/net/ipv4/netfilter/Kconfig
 +++ b/net/ipv4/netfilter/Kconfig
-@@ -296,6 +296,11 @@
+@@ -296,6 +296,11 @@ config NF_NAT_IRC
        depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
        default NF_NAT && NF_CONNTRACK_IRC
  
index f9d16f3..0596539 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/pkt_sched.h
 +++ b/include/linux/pkt_sched.h
-@@ -155,8 +155,37 @@
+@@ -155,8 +155,37 @@ struct tc_sfq_qopt
   *
   *    The only reason for this is efficiency, it is possible
   *    to change these parameters in compile time.
@@ -40,7 +40,7 @@
  enum
 --- a/net/sched/Kconfig
 +++ b/net/sched/Kconfig
-@@ -139,6 +139,37 @@
+@@ -139,6 +139,37 @@ config NET_SCH_SFQ
          To compile this code as a module, choose M here: the
          module will be called sch_sfq.
  
@@ -80,7 +80,7 @@
        ---help---
 --- a/net/sched/Makefile
 +++ b/net/sched/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NET_SCH_GRED)   += sch_gred.o
  obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o 
  obj-$(CONFIG_NET_SCH_DSMARK)  += sch_dsmark.o
  obj-$(CONFIG_NET_SCH_SFQ)     += sch_sfq.o
index a141a66..e8da7e7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -576,6 +576,9 @@
+@@ -576,6 +576,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
  cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
  load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
  
index 5053401..eccdbe2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/jffs2/build.c
 +++ b/fs/jffs2/build.c
-@@ -105,6 +105,17 @@
+@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct
        dbg_fsbuild("scanned flash completely\n");
        jffs2_dbg_dump_block_lists_nolock(c);
  
@@ -20,7 +20,7 @@
        /* Now scan the directory tree, increasing nlink according to every dirent found. */
 --- a/fs/jffs2/scan.c
 +++ b/fs/jffs2/scan.c
-@@ -142,9 +142,12 @@
+@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in
  
                /* reset summary info for next eraseblock scan */
                jffs2_sum_reset_collected(s);
@@ -36,7 +36,7 @@
  
                if (ret < 0)
                        goto out;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
                        return err;
        }
  
index 2339bd2..8f99a0e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/r8169.c
 +++ b/drivers/net/r8169.c
-@@ -1537,7 +1537,7 @@
+@@ -1537,7 +1537,7 @@ static const struct rtl_cfg_info {
                .hw_start       = rtl_hw_start_8169,
                .region         = 1,
                .align          = 0,
@@ -9,7 +9,7 @@
                                  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
                .napi_event     = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
                .msi            = 0
-@@ -1546,7 +1546,7 @@
+@@ -1546,7 +1546,7 @@ static const struct rtl_cfg_info {
                .hw_start       = rtl_hw_start_8168,
                .region         = 2,
                .align          = 8,
@@ -18,7 +18,7 @@
                                  TxErr | TxOK | RxOK | RxErr,
                .napi_event     = TxErr | TxOK | RxOK | RxOverflow,
                .msi            = RTL_FEATURE_MSI
-@@ -1555,7 +1555,7 @@
+@@ -1555,7 +1555,7 @@ static const struct rtl_cfg_info {
                .hw_start       = rtl_hw_start_8101,
                .region         = 2,
                .align          = 8,
@@ -27,7 +27,7 @@
                                  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
                .napi_event     = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
                .msi            = RTL_FEATURE_MSI
-@@ -2903,10 +2903,12 @@
+@@ -2903,10 +2903,12 @@ static irqreturn_t rtl8169_interrupt(int
                        break;
                }
  
index f316cbb..511f203 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -468,6 +468,9 @@
+@@ -468,6 +468,9 @@ config OCFS2_DEBUG_FS
          this option for debugging only as it is likely to decrease
          performance of the filesystem.
  
@@ -12,7 +12,7 @@
        help
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -76,6 +76,7 @@
+@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS)               += squashfs/
  obj-y                         += ramfs/
  obj-$(CONFIG_HUGETLBFS)               += hugetlbfs/
  obj-$(CONFIG_CODA_FS)         += coda/
index 6f9bbeb..7d4b232 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/kobject_uevent.c
 +++ b/lib/kobject_uevent.c
-@@ -27,7 +27,8 @@
+@@ -27,7 +27,8 @@ u64 uevent_seqnum;
  char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
  static DEFINE_SPINLOCK(sequence_lock);
  #if defined(CONFIG_NET)
@@ -10,7 +10,7 @@
  #endif
  
  /* the strings here must match the enum in include/linux/kobject.h */
-@@ -40,6 +41,18 @@
+@@ -40,6 +41,18 @@ static const char *kobject_actions[] = {
        [KOBJ_OFFLINE] =        "offline",
  };
  
@@ -29,7 +29,7 @@
  /**
   * kobject_action_type - translate action string to numeric type
   *
-@@ -173,9 +186,7 @@
+@@ -173,9 +186,7 @@ int kobject_uevent_env(struct kobject *k
        }
  
        /* we will send an event, so request a new sequence number */
index c052f2a..d215d12 100644 (file)
@@ -1,6 +1,6 @@
 --- a/sound/core/Kconfig
 +++ b/sound/core/Kconfig
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ config SND_PCM
        depends on SND
  
  config SND_HWDEP
index 10b7677..6db1472 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -146,4 +146,8 @@
+@@ -146,4 +146,8 @@ config LEDS_TRIGGER_HEARTBEAT
          load average.
          If unsure, say Y.
  
@@ -11,7 +11,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -24,3 +24,4 @@
+@@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_CM_X270)              
  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 ff7713d..81afd81 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -81,6 +81,12 @@
+@@ -81,6 +81,12 @@ config LEDS_WRAP
        help
          This option enables support for the PCEngines WRAP programmable LEDs.
  
@@ -15,7 +15,7 @@
        depends on LEDS_CLASS && ARCH_H1940
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX)           += leds-s3c2
  obj-$(CONFIG_LEDS_AMS_DELTA)          += leds-ams-delta.o
  obj-$(CONFIG_LEDS_NET48XX)            += leds-net48xx.o
  obj-$(CONFIG_LEDS_WRAP)                       += leds-wrap.o
index 2cc3fd6..0e1164c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -156,4 +156,11 @@
+@@ -156,4 +156,11 @@ config LEDS_TRIGGER_MORSE
        tristate "LED Morse Trigger"
        depends on LEDS_TRIGGERS
  
@@ -14,7 +14,7 @@
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -26,3 +26,4 @@
+@@ -26,3 +26,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER)     += ledt
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)   += ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)  += ledtrig-heartbeat.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)      += ledtrig-morse.o
index c7ede5d..31d40c9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/input/misc/Kconfig
 +++ b/drivers/input/misc/Kconfig
-@@ -183,4 +183,20 @@
+@@ -183,4 +183,20 @@ config HP_SDC_RTC
          Say Y here if you want to support the built-in real time clock
          of the HP SDC controller.
  
@@ -23,7 +23,7 @@
  endif
 --- a/drivers/input/misc/Makefile
 +++ b/drivers/input/misc/Makefile
-@@ -18,3 +18,4 @@
+@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE)                += powerm
  obj-$(CONFIG_INPUT_YEALINK)           += yealink.o
  obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
  obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
index 9818741..0b184a0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -946,6 +946,13 @@
+@@ -946,6 +946,13 @@ config CS5535_GPIO
  
          If compiled as a module, it will be called cs5535_gpio.
  
@@ -16,7 +16,7 @@
        depends on CPU_VR41XX
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -93,6 +93,7 @@
+@@ -93,6 +93,7 @@ obj-$(CONFIG_SCx200_GPIO)    += scx200_gpio
  obj-$(CONFIG_PC8736x_GPIO)    += pc8736x_gpio.o
  obj-$(CONFIG_NSC_GPIO)                += nsc_gpio.o
  obj-$(CONFIG_CS5535_GPIO)     += cs5535_gpio.o
index d344136..4553236 100644 (file)
@@ -1,6 +1,6 @@
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -420,6 +420,7 @@
+@@ -420,6 +420,7 @@ config FS_POSIX_ACL
  
  source "fs/xfs/Kconfig"
  source "fs/gfs2/Kconfig"
@@ -10,7 +10,7 @@
        tristate "OCFS2 file system support"
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -120,3 +120,4 @@
+@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS)                += hppfs/
  obj-$(CONFIG_DEBUG_FS)                += debugfs/
  obj-$(CONFIG_OCFS2_FS)                += ocfs2/
  obj-$(CONFIG_GFS2_FS)           += gfs2/
index 3150f58..ed37e1a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -345,6 +345,50 @@
+@@ -345,6 +345,50 @@ int phy_ethtool_gset(struct phy_device *
  }
  EXPORT_SYMBOL(phy_ethtool_gset);
  
@@ -53,7 +53,7 @@
   * @phydev: the phy_device struct
 --- a/include/linux/phy.h
 +++ b/include/linux/phy.h
-@@ -398,6 +398,7 @@
+@@ -398,6 +398,7 @@ void phy_start_machine(struct phy_device
  void phy_stop_machine(struct phy_device *phydev);
  int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
  int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);
index 0d68832..3bc2e26 100644 (file)
@@ -37,7 +37,7 @@
  };
  
  /*
-@@ -55,10 +65,10 @@
+@@ -55,10 +65,10 @@ struct atm_newif_br2684 {
  #define BR2684_FIND_BYNUM     (1)
  #define BR2684_FIND_BYIFNAME  (2)
  struct br2684_if_spec {
@@ -51,7 +51,7 @@
        } spec;
  };
  
-@@ -68,16 +78,16 @@
+@@ -68,16 +78,16 @@ struct br2684_if_spec {
   * is per-backend specific
   */
  struct atm_backend_br2684 {
@@ -77,7 +77,7 @@
  };
  
  /*
-@@ -86,8 +96,8 @@
+@@ -86,8 +96,8 @@ struct atm_backend_br2684 {
   * efficient per-if in/out filters, this support will be removed
   */
  struct br2684_filter {
@@ -88,7 +88,7 @@
  };
  
  struct br2684_filter_set {
-@@ -95,7 +105,13 @@
+@@ -95,7 +105,13 @@ struct br2684_filter_set {
        struct br2684_filter filter;
  };
  
  
  #include <linux/module.h>
  #include <linux/init.h>
-@@ -39,21 +41,35 @@
+@@ -39,21 +41,35 @@ static void skb_debug(const struct sk_bu
  #define skb_debug(skb)        do {} while (0)
  #endif
  
        enum br2684_encaps encaps;
        struct list_head brvccs;
  #ifdef CONFIG_ATM_BR2684_IPFILTER
-@@ -66,9 +82,10 @@
+@@ -66,9 +82,10 @@ struct br2684_dev {
        struct net_device *net_dev;
        struct list_head br2684_devs;
        int number;
  };
  
  /*
-@@ -84,7 +101,7 @@
+@@ -84,7 +101,7 @@ static LIST_HEAD(br2684_devs);
  
  static inline struct br2684_dev *BRPRIV(const struct net_device *net_dev)
  {
  }
  
  static inline struct net_device *list_entry_brdev(const struct list_head *le)
-@@ -94,7 +111,7 @@
+@@ -94,7 +111,7 @@ static inline struct net_device *list_en
  
  static inline struct br2684_vcc *BR2684_VCC(const struct atm_vcc *atmvcc)
  {
  }
  
  static inline struct br2684_vcc *list_entry_brvcc(const struct list_head *le)
-@@ -132,10 +149,11 @@
+@@ -132,10 +149,11 @@ static struct net_device *br2684_find_de
   * otherwise false
   */
  static int br2684_xmit_vcc(struct sk_buff *skb, struct br2684_dev *brdev,
        if (skb_headroom(skb) < minheadroom) {
                struct sk_buff *skb2 = skb_realloc_headroom(skb, minheadroom);
                brvcc->copies_needed++;
-@@ -146,23 +164,48 @@
+@@ -146,23 +164,48 @@ static int br2684_xmit_vcc(struct sk_buf
                }
                skb = skb2;
        }
        atomic_add(skb->truesize, &sk_atm(atmvcc)->sk_wmem_alloc);
        ATM_SKB(skb)->atm_options = atmvcc->atm_options;
        brdev->stats.tx_packets++;
-@@ -172,10 +215,9 @@
+@@ -172,10 +215,9 @@ static int br2684_xmit_vcc(struct sk_buf
  }
  
  static inline struct br2684_vcc *pick_outgoing_vcc(struct sk_buff *skb,
  }
  
  static int br2684_start_xmit(struct sk_buff *skb, struct net_device *dev)
-@@ -199,11 +241,10 @@
+@@ -199,11 +241,10 @@ static int br2684_start_xmit(struct sk_b
                /*
                 * We should probably use netif_*_queue() here, but that
                 * involves added complication.  We need to walk before
                brdev->stats.tx_errors++;
                brdev->stats.tx_fifo_errors++;
        }
-@@ -217,12 +258,11 @@
+@@ -217,12 +258,11 @@ static struct net_device_stats *br2684_g
        return &BRPRIV(dev)->stats;
  }
  
  static int br2684_mac_addr(struct net_device *dev, void *p)
  {
        int err = my_eth_mac_addr(dev, p);
-@@ -233,7 +273,7 @@
+@@ -233,7 +273,7 @@ static int br2684_mac_addr(struct net_de
  
  #ifdef CONFIG_ATM_BR2684_IPFILTER
  /* this IOCTL is experimental. */
  {
        struct br2684_vcc *brvcc;
        struct br2684_filter_set fs;
-@@ -243,13 +283,12 @@
+@@ -243,13 +283,12 @@ static int br2684_setfilt(struct atm_vcc
        if (fs.ifspec.method != BR2684_FIND_BYNOTHING) {
                /*
                 * This is really a per-vcc thing, but we can also search
                        brvcc = NULL;
                else
                        brvcc = list_entry_brvcc(brdev->brvccs.next);
-@@ -267,15 +306,16 @@
+@@ -267,15 +306,16 @@ static inline int
  packet_fails_filter(__be16 type, struct br2684_vcc *brvcc, struct sk_buff *skb)
  {
        if (brvcc->filter.netmask == 0)
         */
        return 1;               /* drop */
  }
-@@ -299,7 +339,6 @@
+@@ -299,7 +339,6 @@ static void br2684_push(struct atm_vcc *
        struct br2684_vcc *brvcc = BR2684_VCC(atmvcc);
        struct net_device *net_dev = brvcc->device;
        struct br2684_dev *brdev = BRPRIV(net_dev);
  
        pr_debug("br2684_push\n");
  
-@@ -320,35 +359,58 @@
+@@ -320,35 +359,58 @@ static void br2684_push(struct atm_vcc *
        atm_return(atmvcc, skb->truesize);
        pr_debug("skb from brdev %p\n", brdev);
        if (brvcc->encaps == e_llc) {
  #ifdef CONFIG_ATM_BR2684_IPFILTER
        if (unlikely(packet_fails_filter(skb->protocol, brvcc, skb))) {
                brdev->stats.rx_dropped++;
-@@ -372,11 +434,12 @@
+@@ -372,11 +434,12 @@ static void br2684_push(struct atm_vcc *
        netif_rx(skb);
  }
  
        int err;
        struct br2684_vcc *brvcc;
        struct sk_buff *skb;
-@@ -395,7 +458,7 @@
+@@ -395,7 +458,7 @@ Note: we do not have explicit unassign, 
        net_dev = br2684_find_dev(&be.ifspec);
        if (net_dev == NULL) {
                printk(KERN_ERR
                err = -ENXIO;
                goto error;
        }
-@@ -411,13 +474,15 @@
+@@ -411,13 +474,15 @@ Note: we do not have explicit unassign, 
        }
        if (be.fcs_in != BR2684_FCSIN_NO || be.fcs_out != BR2684_FCSOUT_NO ||
            be.fcs_auto || be.has_vpiid || be.send_padding || (be.encaps !=
        if (list_empty(&brdev->brvccs) && !brdev->mac_was_set) {
                unsigned char *esi = atmvcc->dev->esi;
                if (esi[0] | esi[1] | esi[2] | esi[3] | esi[4] | esi[5])
-@@ -430,7 +495,7 @@
+@@ -430,7 +495,7 @@ Note: we do not have explicit unassign, 
        brvcc->device = net_dev;
        brvcc->atmvcc = atmvcc;
        atmvcc->user_back = brvcc;
        brvcc->old_push = atmvcc->push;
        barrier();
        atmvcc->push = br2684_push;
-@@ -461,7 +526,7 @@
+@@ -461,7 +526,7 @@ Note: we do not have explicit unassign, 
        }
        __module_get(THIS_MODULE);
        return 0;
        write_unlock_irq(&devs_lock);
        kfree(brvcc);
        return err;
-@@ -482,25 +547,52 @@
+@@ -482,25 +547,52 @@ static void br2684_setup(struct net_devi
        INIT_LIST_HEAD(&brdev->brvccs);
  }
  
        if (!netdev)
                return -ENOMEM;
  
-@@ -516,6 +608,7 @@
+@@ -516,6 +608,7 @@ static int br2684_create(void __user *ar
        }
  
        write_lock_irq(&devs_lock);
        brdev->number = list_empty(&br2684_devs) ? 1 :
            BRPRIV(list_entry_brdev(br2684_devs.prev))->number + 1;
        list_add_tail(&brdev->br2684_devs, &br2684_devs);
-@@ -528,16 +621,16 @@
+@@ -528,16 +621,16 @@ static int br2684_create(void __user *ar
   * -ENOIOCTLCMD for any unrecognized ioctl
   */
  static int br2684_ioctl(struct socket *sock, unsigned int cmd,
                err = get_user(b, (atm_backend_t __user *) argp);
                if (err)
                        return -EFAULT;
-@@ -549,7 +642,6 @@
+@@ -549,7 +642,6 @@ static int br2684_ioctl(struct socket *s
                        return br2684_regvcc(atmvcc, argp);
                else
                        return br2684_create(argp);
  #ifdef CONFIG_ATM_BR2684_IPFILTER
        case BR2684_SETFILT:
                if (atmvcc->push != br2684_push)
-@@ -557,6 +649,7 @@
+@@ -557,6 +649,7 @@ static int br2684_ioctl(struct socket *s
                if (!capable(CAP_NET_ADMIN))
                        return -EPERM;
                err = br2684_setfilt(atmvcc, argp);
                return err;
  #endif /* CONFIG_ATM_BR2684_IPFILTER */
        }
-@@ -564,24 +657,25 @@
+@@ -564,24 +657,25 @@ static int br2684_ioctl(struct socket *s
  }
  
  static struct atm_ioctl br2684_ioctl_ops = {
  {
        read_unlock(&devs_lock);
  }
-@@ -589,7 +683,7 @@
+@@ -589,7 +683,7 @@ static void br2684_seq_stop(struct seq_f
  static int br2684_seq_show(struct seq_file *seq, void *v)
  {
        const struct br2684_dev *brdev = list_entry(v, struct br2684_dev,
        const struct net_device *net_dev = brdev->net_dev;
        const struct br2684_vcc *brvcc;
        DECLARE_MAC_BUF(mac);
-@@ -601,21 +695,19 @@
+@@ -601,21 +695,19 @@ static int br2684_seq_show(struct seq_fi
                   brdev->mac_was_set ? "set" : "auto");
  
        list_for_each_entry(brvcc, &brdev->brvccs, brvccs) {
  #undef bs
  #undef b1
  #endif /* CONFIG_ATM_BR2684_IPFILTER */
-@@ -625,9 +717,9 @@
+@@ -625,9 +717,9 @@ static int br2684_seq_show(struct seq_fi
  
  static const struct seq_operations br2684_seq_ops = {
        .start = br2684_seq_start,
  };
  
  static int br2684_proc_open(struct inode *inode, struct file *file)
-@@ -636,26 +728,28 @@
+@@ -636,26 +728,28 @@ static int br2684_proc_open(struct inode
  }
  
  static const struct file_operations br2684_proc_ops = {
  }
  
  static void __exit br2684_exit(void)
-@@ -689,3 +783,4 @@
+@@ -689,3 +783,4 @@ module_exit(br2684_exit);
  MODULE_AUTHOR("Marcell GAL");
  MODULE_DESCRIPTION("RFC2684 bridged protocols over ATM/AAL5");
  MODULE_LICENSE("GPL");
index e31b814..7524eb3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Documentation/kernel-parameters.txt
 +++ b/Documentation/kernel-parameters.txt
-@@ -686,6 +686,7 @@
+@@ -686,6 +686,7 @@ and is between 256 and 4096 characters. 
                        See Documentation/isdn/README.HiSax.
  
        hugepages=      [HW,X86-32,IA-64] Maximal number of HugeTLB pages.
@@ -10,7 +10,7 @@
        i8042.dumbkbd   [HW] Pretend that controller can only read data from
 --- a/Documentation/powerpc/00-INDEX
 +++ b/Documentation/powerpc/00-INDEX
-@@ -28,3 +28,6 @@
+@@ -28,3 +28,6 @@ sound.txt
        - info on sound support under Linux/PPC
  zImage_layout.txt
        - info on the kernel images for Linux/PPC
@@ -19,7 +19,7 @@
 +        Engine and the code that parses and uploads the microcode therein.
 --- a/Documentation/powerpc/booting-without-of.txt
 +++ b/Documentation/powerpc/booting-without-of.txt
-@@ -52,7 +52,11 @@
+@@ -52,7 +52,11 @@ Table of Contents
        i) Freescale QUICC Engine module (QE)
        j) CFI or JEDEC memory-mapped NOR flash
        k) Global Utilities Block
@@ -32,7 +32,7 @@
  
    VII - Specifying interrupt information for devices
      1) interrupts property
-@@ -671,10 +675,10 @@
+@@ -671,10 +675,10 @@ device or bus to be described by the dev
  
  In general, the format of an address for a device is defined by the
  parent bus type, based on the #address-cells and #size-cells
@@ -47,7 +47,7 @@
  
  Those 2 properties define 'cells' for representing an address and a
  size. A "cell" is a 32-bit number. For example, if both contain 2
-@@ -711,13 +715,14 @@
+@@ -711,13 +715,14 @@ define a bus type with a more complex ad
  like address space bits, you'll have to add a bus translator to the
  prom_parse.c file of the recent kernels for your bus type.
  
@@ -66,7 +66,7 @@
  
        bus address, parent bus address, size
  
-@@ -735,6 +740,10 @@
+@@ -735,6 +740,10 @@ fit in a single 32-bit word.   New 32-bi
  1/1 format, unless the processor supports physical addresses greater
  than 32-bits, in which case a 2/1 format is recommended.
  
@@ -77,7 +77,7 @@
  
  2) Note about "compatible" properties
  -------------------------------------
-@@ -1218,16 +1227,14 @@
+@@ -1218,16 +1227,14 @@ platforms are moved over to use the flat
  
    Required properties:
      - reg : Offset and length of the register set for the device
@@ -96,7 +96,7 @@
  
                ethernet-phy@0 {
                        ......
-@@ -1254,6 +1261,10 @@
+@@ -1254,6 +1261,10 @@ platforms are moved over to use the flat
        services interrupts for this device.
      - phy-handle : The phandle for the PHY connected to this ethernet
        controller.
  
    Recommended properties:
  
-@@ -1408,7 +1419,6 @@
+@@ -1408,7 +1419,6 @@ platforms are moved over to use the flat
  
     Example multi port host USB controller device node :
        usb@22000 {
                compatible = "fsl-usb2-mph";
                reg = <22000 1000>;
                #address-cells = <1>;
-@@ -1422,7 +1432,6 @@
+@@ -1422,7 +1432,6 @@ platforms are moved over to use the flat
  
     Example dual role USB controller device node :
        usb@23000 {
                compatible = "fsl-usb2-dr";
                reg = <23000 1000>;
                #address-cells = <1>;
-@@ -1586,7 +1595,6 @@
+@@ -1586,7 +1595,6 @@ platforms are moved over to use the flat
     iii) USB (Universal Serial Bus Controller)
  
     Required properties:
     - compatible : could be "qe_udc" or "fhci-hcd".
     - mode : the could be "host" or "slave".
     - reg : Offset and length of the register set for the device
-@@ -1600,7 +1608,6 @@
+@@ -1600,7 +1608,6 @@ platforms are moved over to use the flat
  
     Example(slave):
        usb@6c0 {
                compatible = "qe_udc";
                reg = <6c0 40>;
                interrupts = <8b 0>;
-@@ -1613,7 +1620,7 @@
+@@ -1613,7 +1620,7 @@ platforms are moved over to use the flat
  
     Required properties:
     - device_type : should be "network", "hldc", "uart", "transparent"
     - compatible : could be "ucc_geth" or "fsl_atm" and so on.
     - model : should be "UCC".
     - device-id : the ucc number(1-8), corresponding to UCCx in UM.
-@@ -1626,6 +1633,26 @@
+@@ -1626,6 +1633,26 @@ platforms are moved over to use the flat
     - interrupt-parent : the phandle for the interrupt controller that
       services interrupts for this device.
     - pio-handle : The phandle for the Parallel I/O port configuration.
     - rx-clock : represents the UCC receive clock source.
       0x00 : clock source is disabled;
       0x1~0x10 : clock source is BRG1~BRG16 respectively;
-@@ -1772,6 +1799,32 @@
+@@ -1772,6 +1799,32 @@ platforms are moved over to use the flat
                };
        };
  
     j) CFI or JEDEC memory-mapped NOR flash
  
      Flash chips (Memory Technology Devices) are often used for solid state
-@@ -2075,8 +2128,7 @@
+@@ -2075,8 +2128,7 @@ platforms are moved over to use the flat
  
     Example:
        localbus@f0010100 {
                             "fsl,pq2-localbus";
                #address-cells = <2>;
                #size-cells = <1>;
-@@ -2254,7 +2306,7 @@
+@@ -2254,7 +2306,7 @@ platforms are moved over to use the flat
                           available.
                           For Axon: 0x0000012a
  
  
     The Xilinx EDK toolchain ships with a set of IP cores (devices) for use
     in Xilinx Spartan and Virtex FPGAs.  The devices cover the whole range
-@@ -2276,7 +2328,7 @@
+@@ -2276,7 +2328,7 @@ platforms are moved over to use the flat
     properties of the device node.  In general, device nodes for IP-cores
     will take the following form:
  
                compatible = "xlnx,(ip-core-name)-(HW_VER)"
                             [, (list of compatible devices), ...];
                reg = <(baseaddr) (size)>;
-@@ -2286,6 +2338,9 @@
+@@ -2286,6 +2338,9 @@ platforms are moved over to use the flat
                xlnx,(parameter2) = <(int-value)>;
        };
  
        (ip-core-name): the name of the ip block (given after the BEGIN
                        directive in system.mhs).  Should be in lowercase
                        and all underscores '_' converted to dashes '-'.
-@@ -2294,9 +2349,9 @@
+@@ -2294,9 +2349,9 @@ platforms are moved over to use the flat
                        dropped from the parameter name, the name is converted
                        to lowercase and all underscore '_' characters are
                        converted to dashes '-'.
  
     Typically, the compatible list will include the exact IP core version
     followed by an older IP core version which implements the same
-@@ -2326,11 +2381,11 @@
+@@ -2326,11 +2381,11 @@ platforms are moved over to use the flat
  
     becomes the following device tree node:
  
                interrupts = <1 0>; // got this from the opb_intc parameters
                current-speed = <d#115200>;     // standard serial device prop
                clock-frequency = <d#50000000>; // standard serial device prop
-@@ -2339,16 +2394,19 @@
+@@ -2339,16 +2394,19 @@ platforms are moved over to use the flat
                xlnx,use-parity = <0>;
        };
  
  
        BEGIN opb_ps2_dual_ref
                PARAMETER INSTANCE = opb_ps2_dual_ref_0
-@@ -2370,21 +2428,24 @@
+@@ -2370,21 +2428,24 @@ platforms are moved over to use the flat
  
     It would result in the following device tree nodes:
  
                        interrupts = <3 0>;
                        cell-index = <0>;
                };
-@@ -2447,17 +2508,18 @@
+@@ -2447,17 +2508,18 @@ platforms are moved over to use the flat
  
     Gives this device tree (some properties removed for clarity):
  
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges = <20000000 20000000 20000000
-@@ -2465,11 +2527,11 @@
+@@ -2465,11 +2527,11 @@ platforms are moved over to use the flat
                                  80000000 80000000 40000000
                                  c0000000 c0000000 20000000>;
  
                                reg = <d1000fc0 20>;
                        };
                };
-@@ -2514,6 +2576,46 @@
+@@ -2514,6 +2576,46 @@ platforms are moved over to use the flat
        Requred properties:
         - current-speed : Baud rate of uartlite
  
 +distributed by Freescale can be found on http://opensource.freescale.com.
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -140,6 +140,9 @@
+@@ -140,6 +140,9 @@ config DEFAULT_UIMAGE
          Used to allow a board to specify it wants a uImage built by default
        default n
  
  config PPC64_SWSUSP
        bool
        depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
-@@ -160,11 +163,13 @@
+@@ -160,11 +163,13 @@ config PPC_DCR
  
  config PPC_OF_PLATFORM_PCI
        bool
  source "arch/powerpc/platforms/Kconfig"
  
  menu "Kernel options"
-@@ -417,7 +422,7 @@
+@@ -417,7 +422,7 @@ endmenu
  
  config ISA_DMA_API
        bool
  
  menu "Bus options"
  
-@@ -467,7 +472,7 @@
+@@ -467,7 +472,7 @@ config MCA
  config PCI
        bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
                || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
 --- a/arch/powerpc/Kconfig.debug
 +++ b/arch/powerpc/Kconfig.debug
-@@ -151,6 +151,13 @@
+@@ -151,6 +151,13 @@ config BOOTX_TEXT
  
  config PPC_EARLY_DEBUG
        bool "Early debugging (dangerous)"
  
  choice
        prompt "Early debugging console"
-@@ -218,7 +225,16 @@
+@@ -218,7 +225,16 @@ config PPC_EARLY_DEBUG_44x
        depends on 44x
        help
          Select this to enable early debugging for IBM 44x chips via the
  
  config PPC_EARLY_DEBUG_CPM
        bool "Early serial debugging for Freescale CPM-based serial ports"
-@@ -235,12 +251,20 @@
+@@ -235,12 +251,20 @@ config PPC_EARLY_DEBUG_44x_PHYSLOW
        hex "Low 32 bits of early debug UART physical address"
        depends on PPC_EARLY_DEBUG_44x
        default "0x40000200"
        depends on PPC_EARLY_DEBUG_CPM
 --- a/arch/powerpc/Makefile
 +++ b/arch/powerpc/Makefile
-@@ -167,6 +167,9 @@
+@@ -167,6 +167,9 @@ boot := arch/$(ARCH)/boot
  $(BOOT_TARGETS): vmlinux
        $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
  
                if (bank_config & SDRAM_CONFIG_BANK_ENABLE)
                        memsize += SDRAM_CONFIG_BANK_SIZE(bank_config);
        }
-@@ -39,6 +37,69 @@
+@@ -39,6 +37,69 @@ void ibm4xx_fixup_memsize(void)
        dt_fixup_memory(0, memsize);
  }
  
  /* 4xx DDR1/2 Denali memory controller support */
  /* DDR0 registers */
  #define DDR0_02                       2
-@@ -77,19 +138,13 @@
+@@ -77,19 +138,13 @@ void ibm4xx_fixup_memsize(void)
  
  #define DDR_GET_VAL(val, mask, shift) (((val) >> (shift)) & (mask))
  
        if (!DDR_GET_VAL(val, DDR_START, DDR_START_SHIFT))
                fatal("DDR controller is not initialized\n");
  
-@@ -99,12 +154,12 @@
+@@ -99,12 +154,12 @@ void ibm4xx_denali_fixup_memsize(void)
        max_row = DDR_GET_VAL(val, DDR_MAX_ROW_REG, DDR_MAX_ROW_REG_SHIFT);
  
        /* get CS value */
                        cs++;
                val = val >> 1;
        }
-@@ -115,15 +170,15 @@
+@@ -115,15 +170,15 @@ void ibm4xx_denali_fixup_memsize(void)
                fatal("DDR wrong CS configuration\n");
  
        /* get data path bytes */
  
        row = DDR_GET_VAL(val, DDR_APIN, DDR_APIN_SHIFT);
        if (row > max_row)
-@@ -131,7 +186,7 @@
+@@ -131,7 +186,7 @@ void ibm4xx_denali_fixup_memsize(void)
        row = max_row - row;
  
        /* get collomn size and banks */
  
        col = DDR_GET_VAL(val, DDR_COL_SZ, DDR_COL_SZ_SHIFT);
        if (col > max_col)
-@@ -179,13 +234,17 @@
+@@ -179,13 +234,17 @@ void ibm40x_dbcr_reset(void)
  #define EMAC_RESET 0x20000000
  void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1)
  {
  }
  
  /* Read 4xx EBC bus bridge registers to get mappings of the peripheral
-@@ -217,84 +276,335 @@
+@@ -217,84 +276,335 @@ void ibm4xx_fixup_ebc_ranges(const char 
        setprop(devp, "ranges", ranges, (p - ranges) * sizeof(u32));
  }
  
  #endif /* _POWERPC_BOOT_4XX_H_ */
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -33,12 +33,15 @@
+@@ -33,12 +33,15 @@ ifeq ($(call cc-option-yn, -fstack-prote
  BOOTCFLAGS    += -fno-stack-protector
  endif
  
  zlib       := inffast.c inflate.c inftrees.c
  zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h
  zliblinuxheader := zlib.h zconf.h zutil.h
-@@ -46,17 +49,21 @@
+@@ -46,17 +49,21 @@ zliblinuxheader := zlib.h zconf.h zutil.
  $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \
        $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
  
  src-boot := $(src-wlib) $(src-plat) empty.c
  
  src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -101,24 +108,61 @@
+@@ -101,24 +108,61 @@ quiet_cmd_bootar = BOOTAR  $@
        cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
  
  $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE
  # Bits for building various flavours of zImage
  
  ifneq ($(CROSS32_COMPILE),)
-@@ -150,15 +194,26 @@
+@@ -150,15 +194,26 @@ image-$(CONFIG_DEFAULT_UIMAGE)           += uImag
  ifneq ($(CONFIG_DEVICE_TREE),"")
  image-$(CONFIG_PPC_8xx)                       += cuImage.8xx
  image-$(CONFIG_PPC_EP88XC)            += zImage.ep88xc
  endif
  
  # For 32-bit powermacs, build the COFF and miboot images
-@@ -243,3 +298,51 @@
+@@ -243,3 +298,51 @@ clean-kernel := vmlinux.strip vmlinux.bi
  clean-kernel += $(addsuffix .gz,$(clean-kernel))
  # If not absolute clean-files are relative to $(obj).
  clean-files += $(addprefix $(objtree)/, $(clean-kernel))
 +
 --- a/arch/powerpc/boot/bamboo.c
 +++ b/arch/powerpc/boot/bamboo.c
-@@ -30,8 +30,8 @@
+@@ -30,8 +30,8 @@ static void bamboo_fixups(void)
  {
        unsigned long sysclk = 33333333;
  
        ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
        dt_fixup_mac_addresses(bamboo_mac0, bamboo_mac1);
  }
-@@ -42,6 +42,6 @@
+@@ -42,6 +42,6 @@ void bamboo_init(void *mac0, void *mac1)
        platform_ops.exit = ibm44x_dbcr_reset;
        bamboo_mac0 = mac0;
        bamboo_mac1 = mac1;
  }
 --- a/arch/powerpc/boot/cuboot-52xx.c
 +++ b/arch/powerpc/boot/cuboot-52xx.c
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ void platform_init(unsigned long r3, uns
                     unsigned long r6, unsigned long r7)
  {
        CUBOOT_INIT();
 +}
 --- a/arch/powerpc/boot/cuboot-83xx.c
 +++ b/arch/powerpc/boot/cuboot-83xx.c
-@@ -24,7 +24,8 @@
+@@ -24,7 +24,8 @@ static void platform_fixups(void)
        void *soc;
  
        dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
        dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 4, bd.bi_busfreq);
  
        /* Unfortunately, the specific model number is encoded in the
-@@ -52,7 +53,7 @@
+@@ -52,7 +53,7 @@ void platform_init(unsigned long r3, uns
                     unsigned long r6, unsigned long r7)
  {
        CUBOOT_INIT();
  }
 --- a/arch/powerpc/boot/cuboot-85xx.c
 +++ b/arch/powerpc/boot/cuboot-85xx.c
-@@ -24,8 +24,9 @@
+@@ -24,8 +24,9 @@ static void platform_fixups(void)
        void *soc;
  
        dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
        dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 8, bd.bi_busfreq);
  
        /* Unfortunately, the specific model number is encoded in the
-@@ -53,7 +54,7 @@
+@@ -53,7 +54,7 @@ void platform_init(unsigned long r3, uns
                     unsigned long r6, unsigned long r7)
  {
        CUBOOT_INIT();
  }
 --- a/arch/powerpc/boot/cuboot-8xx.c
 +++ b/arch/powerpc/boot/cuboot-8xx.c
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ void platform_init(unsigned long r3, uns
                     unsigned long r6, unsigned long r7)
  {
        CUBOOT_INIT();
  }
 --- a/arch/powerpc/boot/cuboot-hpc2.c
 +++ b/arch/powerpc/boot/cuboot-hpc2.c
-@@ -42,7 +42,7 @@
+@@ -42,7 +42,7 @@ void platform_init(unsigned long r3, uns
                unsigned long r6, unsigned long r7)
  {
        CUBOOT_INIT();
 +}
 --- a/arch/powerpc/boot/cuboot-pq2.c
 +++ b/arch/powerpc/boot/cuboot-pq2.c
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ void platform_init(unsigned long r3, uns
                     unsigned long r6, unsigned long r7)
  {
        CUBOOT_INIT();
 +}
 --- a/arch/powerpc/boot/cuboot-sequoia.c
 +++ b/arch/powerpc/boot/cuboot-sequoia.c
-@@ -39,7 +39,7 @@
+@@ -39,7 +39,7 @@ static void sequoia_fixups(void)
  {
        unsigned long sysclk = 33333333;
  
        ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
        ibm4xx_denali_fixup_memsize();
        dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
-@@ -51,6 +51,6 @@
+@@ -51,6 +51,6 @@ void platform_init(unsigned long r3, uns
        CUBOOT_INIT();
        platform_ops.fixups = sequoia_fixups;
        platform_ops.exit = ibm44x_dbcr_reset;
  
  #define                       SDRAM_CONFIG_BANK_ENABLE        0x00000001
  #define                       SDRAM_CONFIG_SIZE_MASK          0x000e0000
-@@ -138,5 +146,54 @@
+@@ -138,5 +146,54 @@ static const unsigned long sdram_bxcr[] 
  #define DCRN_CPC0_PLLMR 0xb0
  #define DCRN_405_CPC0_CR0 0xb1
  #define DCRN_405_CPC0_CR1 0xb2
  #endif        /* _PPC_BOOT_DCR_H_ */
 --- a/arch/powerpc/boot/devtree.c
 +++ b/arch/powerpc/boot/devtree.c
-@@ -88,6 +88,20 @@
+@@ -88,6 +88,20 @@ void dt_fixup_clock(const char *path, u3
        }
  }
  
  };
 --- a/arch/powerpc/boot/dts/kuroboxHD.dts
 +++ b/arch/powerpc/boot/dts/kuroboxHD.dts
-@@ -23,6 +23,12 @@
+@@ -23,6 +23,12 @@ XXXX add flash parts, rtc, ??
        #address-cells = <1>;
        #size-cells = <1>;
  
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
-@@ -60,7 +66,7 @@
+@@ -60,7 +66,7 @@ XXXX add flash parts, rtc, ??
                i2c@80003000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "fsl-i2c";
                        reg = <80003000 1000>;
                        interrupts = <5 2>;
-@@ -73,7 +79,8 @@
+@@ -73,7 +79,8 @@ XXXX add flash parts, rtc, ??
                        };
                };
  
                        device_type = "serial";
                        compatible = "ns16550";
                        reg = <80004500 8>;
-@@ -83,7 +90,8 @@
+@@ -83,7 +90,8 @@ XXXX add flash parts, rtc, ??
                        interrupt-parent = <&mpic>;
                };
  
                        device_type = "serial";
                        compatible = "ns16550";
                        reg = <80004600 8>;
-@@ -102,7 +110,7 @@
+@@ -102,7 +110,7 @@ XXXX add flash parts, rtc, ??
                        reg = <80040000 40000>;
                };
  
                        #interrupt-cells = <1>;
 --- a/arch/powerpc/boot/dts/kuroboxHG.dts
 +++ b/arch/powerpc/boot/dts/kuroboxHG.dts
-@@ -23,6 +23,12 @@
+@@ -23,6 +23,12 @@ XXXX add flash parts, rtc, ??
        #address-cells = <1>;
        #size-cells = <1>;
  
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
-@@ -60,7 +66,7 @@
+@@ -60,7 +66,7 @@ XXXX add flash parts, rtc, ??
                i2c@80003000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "fsl-i2c";
                        reg = <80003000 1000>;
                        interrupts = <5 2>;
-@@ -73,7 +79,8 @@
+@@ -73,7 +79,8 @@ XXXX add flash parts, rtc, ??
                        };
                };
  
                        device_type = "serial";
                        compatible = "ns16550";
                        reg = <80004500 8>;
-@@ -83,7 +90,8 @@
+@@ -83,7 +90,8 @@ XXXX add flash parts, rtc, ??
                        interrupt-parent = <&mpic>;
                };
  
                        device_type = "serial";
                        compatible = "ns16550";
                        reg = <80004600 8>;
-@@ -102,7 +110,7 @@
+@@ -102,7 +110,7 @@ XXXX add flash parts, rtc, ??
                        reg = <80040000 40000>;
                };
  
  #define EBONY_FPGA_PATH               "/plb/opb/ebc/fpga"
  #define       EBONY_FPGA_FLASH_SEL    0x01
  #define EBONY_SMALL_FLASH_PATH        "/plb/opb/ebc/small-flash"
-@@ -134,7 +74,7 @@
+@@ -134,7 +74,7 @@ static void ebony_fixups(void)
        unsigned long sysclk = 33000000;
  
        ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
        dt_fixup_mac_addresses(ebony_mac0, ebony_mac1);
        ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
        ebony_flashsel_fixup();
-@@ -146,6 +86,6 @@
+@@ -146,6 +86,6 @@ void ebony_init(void *mac0, void *mac1)
        platform_ops.exit = ibm44x_dbcr_reset;
        ebony_mac0 = mac0;
        ebony_mac1 = mac1;
 +}
 --- a/arch/powerpc/boot/ep88xc.c
 +++ b/arch/powerpc/boot/ep88xc.c
-@@ -45,7 +45,7 @@
+@@ -45,7 +45,7 @@ void platform_init(unsigned long r3, uns
        mem_size *= 1024 * 1024;
        simple_alloc_init(_end, mem_size - (unsigned long)_end, 32, 64);
  
 -}
 --- a/arch/powerpc/boot/holly.c
 +++ b/arch/powerpc/boot/holly.c
-@@ -28,6 +28,6 @@
+@@ -28,6 +28,6 @@ void platform_init(unsigned long r3, uns
        u32 heapsize = 0x8000000 - (u32)_end; /* 128M */
  
        simple_alloc_init(_end, heapsize, 32, 64);
  static struct gunzip_state gzstate;
 --- a/arch/powerpc/boot/ops.h
 +++ b/arch/powerpc/boot/ops.h
-@@ -79,7 +79,7 @@
+@@ -79,7 +79,7 @@ struct loader_info {
  extern struct loader_info loader_info;
  
  void start(void);
  int serial_console_init(void);
  int ns16550_console_init(void *devp, struct serial_console_data *scdp);
  int mpsc_console_init(void *devp, struct serial_console_data *scdp);
-@@ -159,9 +159,23 @@
+@@ -159,9 +159,23 @@ static inline void *find_node_by_devtype
        return find_node_by_prop_value_str(prev, "device_type", type);
  }
  
  #define dt_fixup_mac_addresses(...) \
 --- a/arch/powerpc/boot/prpmc2800.c
 +++ b/arch/powerpc/boot/prpmc2800.c
-@@ -547,8 +547,7 @@
+@@ -547,8 +547,7 @@ void platform_init(unsigned long r3, uns
        if (!dtb)
                exit();
        memmove(dtb, _dtb_start, dt_size);
  
 --- a/arch/powerpc/boot/ps3.c
 +++ b/arch/powerpc/boot/ps3.c
-@@ -131,7 +131,7 @@
+@@ -131,7 +131,7 @@ void platform_init(void)
        printf("\n-- PS3 bootwrapper --\n");
  
        simple_alloc_init(_end, heapsize, 32, 64);
 +#endif
 --- a/arch/powerpc/boot/reg.h
 +++ b/arch/powerpc/boot/reg.h
-@@ -16,6 +16,14 @@
+@@ -16,6 +16,14 @@ static inline u32 mfpvr(void)
        return pvr;
  }
  
  
 --- a/arch/powerpc/boot/serial.c
 +++ b/arch/powerpc/boot/serial.c
-@@ -128,7 +128,8 @@
+@@ -128,7 +128,8 @@ int serial_console_init(void)
                rc = cpm_console_init(devp, &serial_cd);
        else if (dt_is_compatible(devp, "mpc5200-psc-uart"))
                rc = mpc5200_psc_console_init(devp, &serial_cd);
  static void walnut_flashsel_fixup(void)
  {
        void *devp, *sram;
-@@ -112,7 +63,7 @@
+@@ -112,7 +63,7 @@ static void walnut_flashsel_fixup(void)
  #define WALNUT_OPENBIOS_MAC_OFF 0xfffffe0b
  static void walnut_fixups(void)
  {
        ibm405gp_fixup_clocks(33330000, 0xa8c000);
        ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
        ibm4xx_fixup_ebc_ranges("/plb/ebc");
-@@ -128,6 +79,6 @@
+@@ -128,6 +79,6 @@ void platform_init(void)
        simple_alloc_init(_end, avail_ram, 32, 32);
        platform_ops.fixups = walnut_fixups;
        platform_ops.exit = ibm40x_dbcr_reset;
  }
 --- a/arch/powerpc/boot/wrapper
 +++ b/arch/powerpc/boot/wrapper
-@@ -45,6 +45,7 @@
+@@ -45,6 +45,7 @@ CROSS=
  
  # directory for object and other files used by this script
  object=arch/powerpc/boot
  
  # directory for working files
  tmpdir=.
-@@ -95,6 +96,7 @@
+@@ -95,6 +96,7 @@ while [ "$#" -gt 0 ]; do
        shift
        [ "$#" -gt 0 ] || usage
        object="$1"
        ;;
      -W)
        shift
-@@ -116,10 +118,13 @@
+@@ -116,10 +118,13 @@ while [ "$#" -gt 0 ]; do
  done
  
  if [ -n "$dts" ]; then
  fi
  
  if [ -z "$kernel" ]; then
-@@ -163,7 +168,7 @@
+@@ -163,7 +168,7 @@ ps3)
      ksection=.kernel:vmlinux.bin
      isection=.kernel:initrd
      ;;
      platformo="$object/fixed-head.o $object/$platform.o"
      binary=y
      ;;
-@@ -246,11 +251,11 @@
+@@ -246,11 +251,11 @@ fi
  # post-processing needed for some platforms
  case "$platform" in
  pseries|chrp)
      ;;
  cuboot*)
      gzip -f -9 "$ofile"
-@@ -259,7 +264,7 @@
+@@ -259,7 +264,7 @@ cuboot*)
      ;;
  treeboot*)
      mv "$ofile" "$ofile.elf"
      if [ -z "$cacheit" ]; then
        rm -f "$ofile.elf"
      fi
-@@ -287,8 +292,6 @@
+@@ -287,8 +292,6 @@ ps3)
      overlay_dest="256"
      overlay_size="256"
  
      ${CROSS}objcopy -O binary "$ofile" "$ofile.bin"
  
      dd if="$ofile.bin" of="$ofile.bin" conv=notrunc   \
-@@ -299,6 +302,8 @@
+@@ -299,6 +302,8 @@ ps3)
          skip=$system_reset_overlay seek=$overlay_dest \
          count=$overlay_size bs=1
  
  #
  # CONFIG_PPC64 is not set
  
-@@ -131,6 +131,7 @@
+@@ -131,6 +131,7 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_CFQ is not set
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  
  #
  # Platform support
-@@ -143,6 +144,9 @@
+@@ -143,6 +144,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
  CONFIG_BAMBOO=y
  # CONFIG_EBONY is not set
  # CONFIG_SEQUOIA is not set
  CONFIG_440EP=y
  CONFIG_IBM440EP_ERR42=y
  # CONFIG_MPIC is not set
-@@ -372,9 +376,7 @@
+@@ -372,9 +376,7 @@ CONFIG_MISC_DEVICES=y
  # CONFIG_FIREWIRE is not set
  # CONFIG_IEEE1394 is not set
  # CONFIG_I2O is not set
  CONFIG_NETDEVICES=y
  # CONFIG_NETDEVICES_MULTIQUEUE is not set
  # CONFIG_DUMMY is not set
-@@ -736,19 +738,7 @@
+@@ -736,19 +738,7 @@ CONFIG_DEBUGGER=y
  # CONFIG_KGDB is not set
  # CONFIG_XMON is not set
  # CONFIG_BDI_SWITCH is not set
  # Security options
 --- a/arch/powerpc/configs/celleb_defconfig
 +++ b/arch/powerpc/configs/celleb_defconfig
-@@ -50,7 +50,8 @@
+@@ -50,7 +50,8 @@ CONFIG_AUDIT_ARCH=y
  CONFIG_GENERIC_BUG=y
  # CONFIG_DEFAULT_UIMAGE is not set
  # CONFIG_PPC_DCR_NATIVE is not set
  CONFIG_PPC_OF_PLATFORM_PCI=y
  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
  
-@@ -148,7 +149,7 @@
+@@ -148,7 +149,7 @@ CONFIG_PPC_MULTIPLATFORM=y
  CONFIG_PPC_CELLEB=y
  # CONFIG_PPC_PS3 is not set
  CONFIG_PPC_CELL=y
  # CONFIG_PPC_IBM_CELL_BLADE is not set
  
  #
-@@ -157,13 +158,19 @@
+@@ -157,13 +158,19 @@ CONFIG_PPC_CELL=y
  CONFIG_SPU_FS=y
  CONFIG_SPU_FS_64K_LS=y
  CONFIG_SPU_BASE=y
  # CONFIG_MMIO_NVRAM is not set
  # CONFIG_PPC_MPC106 is not set
  # CONFIG_PPC_970_NAP is not set
-@@ -593,10 +600,11 @@
+@@ -593,10 +600,11 @@ CONFIG_MII=y
  # CONFIG_NET_VENDOR_3COM is not set
  # CONFIG_NET_TULIP is not set
  # CONFIG_HP100 is not set
  # CONFIG_NET_PCI is not set
  # CONFIG_B44 is not set
  CONFIG_NETDEV_1000=y
-@@ -741,6 +749,7 @@
+@@ -741,6 +749,7 @@ CONFIG_SERIAL_TXX9_CONSOLE=y
  CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  CONFIG_HVC_DRIVER=y
  CONFIG_HVC_BEAT=y
  # CONFIG_IPMI_HANDLER is not set
  # CONFIG_HW_RANDOM is not set
-@@ -822,6 +831,7 @@
+@@ -822,6 +831,7 @@ CONFIG_WATCHDOG=y
  # Watchdog Device Drivers
  #
  # CONFIG_SOFT_WATCHDOG is not set
  
  #
  # PCI-based Watchdog Cards
-@@ -1245,17 +1255,7 @@
+@@ -1245,17 +1255,7 @@ CONFIG_XMON_DISASSEMBLY=y
  CONFIG_IRQSTACKS=y
  # CONFIG_VIRQ_DEBUG is not set
  # CONFIG_BOOTX_TEXT is not set
  #
  # CONFIG_PPC64 is not set
  
-@@ -130,6 +130,7 @@
+@@ -130,6 +130,7 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_CFQ is not set
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  
  #
  # Platform support
-@@ -142,6 +143,9 @@
+@@ -142,6 +143,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
  # CONFIG_BAMBOO is not set
  CONFIG_EBONY=y
  # CONFIG_SEQUOIA is not set
  #
  # CONFIG_PPC64 is not set
  
-@@ -40,7 +40,7 @@
+@@ -40,7 +40,7 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
  CONFIG_ARCH_MAY_HAVE_PC_FDC=y
  CONFIG_PPC_OF=y
  CONFIG_OF=y
  # CONFIG_GENERIC_TBSYNC is not set
  CONFIG_AUDIT_ARCH=y
  CONFIG_GENERIC_BUG=y
-@@ -125,6 +125,7 @@
+@@ -125,6 +125,7 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_CFQ is not set
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  
  #
  # Platform support
-@@ -134,9 +135,12 @@
+@@ -134,9 +135,12 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
  # CONFIG_PPC_CELL is not set
  # CONFIG_PPC_CELL_NATIVE is not set
  # CONFIG_PQ2ADS is not set
  # CONFIG_MPIC is not set
  # CONFIG_MPIC_WEIRD is not set
  # CONFIG_PPC_I8259 is not set
-@@ -199,11 +203,17 @@
+@@ -199,11 +203,17 @@ CONFIG_ISA_DMA_API=y
  # Bus options
  #
  CONFIG_ZONE_DMA=y
  
  #
  # Advanced setup
-@@ -368,11 +378,13 @@
+@@ -368,11 +378,13 @@ CONFIG_MTD_CFI_UTIL=y
  # CONFIG_MTD_COMPLEX_MAPPINGS is not set
  # CONFIG_MTD_PHYSMAP is not set
  CONFIG_MTD_PHYSMAP_OF=y
  # CONFIG_MTD_SLRAM is not set
  # CONFIG_MTD_PHRAM is not set
  # CONFIG_MTD_MTDRAM is not set
-@@ -395,9 +407,14 @@
+@@ -395,9 +407,14 @@ CONFIG_OF_DEVICE=y
  # CONFIG_PARPORT is not set
  CONFIG_BLK_DEV=y
  # CONFIG_BLK_DEV_FD is not set
  CONFIG_BLK_DEV_RAM=y
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=35000
-@@ -417,6 +434,14 @@
+@@ -417,6 +434,14 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
  # CONFIG_SCSI_NETLINK is not set
  # CONFIG_ATA is not set
  # CONFIG_MD is not set
  # CONFIG_MACINTOSH_DRIVERS is not set
  CONFIG_NETDEVICES=y
  # CONFIG_NETDEVICES_MULTIQUEUE is not set
-@@ -426,9 +451,33 @@
+@@ -426,9 +451,33 @@ CONFIG_NETDEVICES=y
  # CONFIG_EQUALIZER is not set
  # CONFIG_TUN is not set
  # CONFIG_VETH is not set
  
  #
  # Wireless LAN
-@@ -436,6 +485,8 @@
+@@ -436,6 +485,8 @@ CONFIG_NETDEVICES=y
  # CONFIG_WLAN_PRE80211 is not set
  # CONFIG_WLAN_80211 is not set
  # CONFIG_WAN is not set
  # CONFIG_PPP is not set
  # CONFIG_SLIP is not set
  # CONFIG_SHAPER is not set
-@@ -467,6 +518,7 @@
+@@ -467,6 +518,7 @@ CONFIG_NETDEVICES=y
  #
  CONFIG_SERIAL_8250=y
  CONFIG_SERIAL_8250_CONSOLE=y
  CONFIG_SERIAL_8250_NR_UARTS=4
  CONFIG_SERIAL_8250_RUNTIME_UARTS=4
  CONFIG_SERIAL_8250_EXTENDED=y
-@@ -481,6 +533,7 @@
+@@ -481,6 +533,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
  # CONFIG_SERIAL_UARTLITE is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
  CONFIG_SERIAL_OF_PLATFORM=y
  CONFIG_UNIX98_PTYS=y
  CONFIG_LEGACY_PTYS=y
-@@ -490,8 +543,10 @@
+@@ -490,8 +543,10 @@ CONFIG_LEGACY_PTY_COUNT=256
  # CONFIG_NVRAM is not set
  # CONFIG_GEN_RTC is not set
  # CONFIG_R3964 is not set
  # CONFIG_I2C is not set
  
  #
-@@ -525,6 +580,8 @@
+@@ -525,6 +580,8 @@ CONFIG_SSB_POSSIBLE=y
  #
  # Graphics support
  #
  # CONFIG_VGASTATE is not set
  # CONFIG_VIDEO_OUTPUT_CONTROL is not set
  # CONFIG_FB is not set
-@@ -542,6 +599,7 @@
+@@ -542,6 +599,7 @@ CONFIG_SSB_POSSIBLE=y
  # CONFIG_USB_SUPPORT is not set
  # CONFIG_MMC is not set
  # CONFIG_NEW_LEDS is not set
  #
  # CONFIG_PPC64 is not set
  
-@@ -144,6 +144,7 @@
+@@ -144,6 +144,7 @@ CONFIG_MPC8313_RDB=y
  # CONFIG_MPC834x_MDS is not set
  # CONFIG_MPC834x_ITX is not set
  # CONFIG_MPC836x_MDS is not set
  CONFIG_PPC_MPC831x=y
  # CONFIG_MPIC is not set
  # CONFIG_MPIC_WEIRD is not set
-@@ -336,15 +337,16 @@
+@@ -336,15 +337,16 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
  CONFIG_MTD=y
  # CONFIG_MTD_DEBUG is not set
  # CONFIG_MTD_CONCAT is not set
  # CONFIG_FTL is not set
  # CONFIG_NFTL is not set
  # CONFIG_INFTL is not set
-@@ -381,11 +383,8 @@
+@@ -381,11 +383,8 @@ CONFIG_MTD_CFI_UTIL=y
  # Mapping drivers for chip access
  #
  # CONFIG_MTD_COMPLEX_MAPPINGS is not set
  # CONFIG_MTD_INTEL_VR_NOR is not set
  # CONFIG_MTD_PLATRAM is not set
  
-@@ -406,7 +405,16 @@
+@@ -406,7 +405,16 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
  # CONFIG_MTD_DOC2000 is not set
  # CONFIG_MTD_DOC2001 is not set
  # CONFIG_MTD_DOC2001PLUS is not set
  # CONFIG_MTD_ONENAND is not set
  
  #
-@@ -1178,7 +1186,17 @@
+@@ -1178,7 +1186,17 @@ CONFIG_TMPFS=y
  # CONFIG_BEFS_FS is not set
  # CONFIG_BFS_FS is not set
  # CONFIG_EFS_FS is not set
  # CONFIG_CRAMFS is not set
  # CONFIG_VXFS_FS is not set
  # CONFIG_HPFS_FS is not set
-@@ -1242,6 +1260,8 @@
+@@ -1242,6 +1260,8 @@ CONFIG_BITREVERSE=y
  CONFIG_CRC32=y
  # CONFIG_CRC7 is not set
  # CONFIG_LIBCRC32C is not set
  CONFIG_HAS_IOPORT=y
 --- a/arch/powerpc/configs/mpc834x_itx_defconfig
 +++ b/arch/powerpc/configs/mpc834x_itx_defconfig
-@@ -570,7 +570,8 @@
+@@ -570,7 +570,8 @@ CONFIG_SATA_SIL=y
  # CONFIG_PATA_SIS is not set
  # CONFIG_PATA_VIA is not set
  # CONFIG_PATA_WINBOND is not set
 +CONFIG_CRYPTO_HW=y
 --- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
 +++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
-@@ -696,7 +696,7 @@
+@@ -696,7 +696,7 @@ CONFIG_SERIAL_8250_RSA=y
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
  # CONFIG_SERIAL_JSM is not set
  CONFIG_UNIX98_PTYS=y
  # CONFIG_LEGACY_PTYS is not set
  # CONFIG_IPMI_HANDLER is not set
-@@ -708,7 +708,60 @@
+@@ -708,7 +708,60 @@ CONFIG_UNIX98_PTYS=y
  # CONFIG_RAW_DRIVER is not set
  # CONFIG_TCG_TPM is not set
  CONFIG_DEVPORT=y
  
  #
  # SPI support
-@@ -763,7 +816,119 @@
+@@ -763,7 +816,119 @@ CONFIG_DUMMY_CONSOLE=y
  #
  # Sound
  #
  #
  CONFIG_PPC64=y
  
-@@ -152,7 +152,6 @@
+@@ -152,7 +152,6 @@ CONFIG_PPC_PASEMI=y
  CONFIG_PPC_PASEMI_IOMMU=y
  # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
  CONFIG_PPC_PASEMI_MDIO=y
  # CONFIG_PPC_CELLEB is not set
  # CONFIG_PPC_PS3 is not set
  # CONFIG_PPC_CELL is not set
-@@ -256,7 +255,7 @@
+@@ -256,7 +255,7 @@ CONFIG_PCI_DOMAINS=y
  CONFIG_PCI_SYSCALL=y
  # CONFIG_PCIEPORTBUS is not set
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_LEGACY=y
  # CONFIG_PCI_DEBUG is not set
  CONFIG_PCCARD=y
-@@ -663,7 +662,26 @@
+@@ -663,7 +662,26 @@ CONFIG_PATA_PCMCIA=y
  # CONFIG_PATA_VIA is not set
  # CONFIG_PATA_WINBOND is not set
  CONFIG_PATA_PLATFORM=y
  # CONFIG_FUSION is not set
  
  #
-@@ -1686,6 +1704,10 @@
+@@ -1686,6 +1704,10 @@ CONFIG_XMON_DISASSEMBLY=y
  # CONFIG_KEYS is not set
  # CONFIG_SECURITY is not set
  # CONFIG_SECURITY_FILE_CAPABILITIES is not set
  #
  CONFIG_PPC64=y
  
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ CONFIG_MMIO_NVRAM=y
  CONFIG_MPIC_U3_HT_IRQS=y
  CONFIG_MPIC_BROKEN_REGREAD=y
  CONFIG_IBMVIO=y
  # CONFIG_PPC_MPC106 is not set
  CONFIG_PPC_970_NAP=y
  CONFIG_PPC_INDIRECT_IO=y
-@@ -375,7 +375,7 @@
+@@ -375,7 +375,7 @@ CONFIG_INET_TUNNEL=y
  CONFIG_INET_XFRM_MODE_TRANSPORT=y
  CONFIG_INET_XFRM_MODE_TUNNEL=y
  CONFIG_INET_XFRM_MODE_BEET=y
  CONFIG_INET_DIAG=y
  CONFIG_INET_TCP_DIAG=y
  # CONFIG_TCP_CONG_ADVANCED is not set
-@@ -929,6 +929,7 @@
+@@ -929,6 +929,7 @@ CONFIG_SPIDER_NET=m
  CONFIG_NETDEV_10000=y
  # CONFIG_CHELSIO_T1 is not set
  # CONFIG_CHELSIO_T3 is not set
  # CONFIG_IXGBE is not set
  CONFIG_IXGB=m
  # CONFIG_IXGB_NAPI is not set
-@@ -1558,6 +1559,7 @@
+@@ -1558,6 +1559,7 @@ CONFIG_INFINIBAND_ADDR_TRANS=y
  CONFIG_INFINIBAND_MTHCA=m
  CONFIG_INFINIBAND_MTHCA_DEBUG=y
  # CONFIG_INFINIBAND_IPATH is not set
  #
  CONFIG_PPC64=y
  
-@@ -103,6 +103,7 @@
+@@ -103,6 +103,7 @@ CONFIG_VM_EVENT_COUNTERS=y
  CONFIG_SLAB=y
  # CONFIG_SLUB is not set
  # CONFIG_SLOB is not set
  CONFIG_RT_MUTEXES=y
  # CONFIG_TINY_SHMEM is not set
  CONFIG_BASE_SMALL=0
-@@ -154,7 +155,6 @@
+@@ -154,7 +155,6 @@ CONFIG_PPC_PS3=y
  # CONFIG_PS3_ADVANCED is not set
  CONFIG_PS3_HTAB_SIZE=20
  # CONFIG_PS3_DYNAMIC_DMA is not set
  CONFIG_PS3_VUART=y
  CONFIG_PS3_PS3AV=y
  CONFIG_PS3_SYS_MANAGER=y
-@@ -162,6 +162,7 @@
+@@ -162,6 +162,7 @@ CONFIG_PS3_STORAGE=y
  CONFIG_PS3_DISK=y
  CONFIG_PS3_ROM=y
  CONFIG_PS3_FLASH=y
  CONFIG_PPC_CELL=y
  # CONFIG_PPC_CELL_NATIVE is not set
  # CONFIG_PPC_IBM_CELL_BLADE is not set
-@@ -225,7 +226,7 @@
+@@ -225,7 +226,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y
  # CONFIG_SPARSEMEM_STATIC is not set
  CONFIG_SPARSEMEM_EXTREME=y
  CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
  CONFIG_MEMORY_HOTPLUG=y
  CONFIG_MEMORY_HOTPLUG_SPARSE=y
  CONFIG_SPLIT_PTLOCK_CPUS=4
-@@ -338,7 +339,26 @@
+@@ -338,7 +339,26 @@ CONFIG_IPV6_SIT=y
  # CONFIG_NET_PKTGEN is not set
  # CONFIG_HAMRADIO is not set
  # CONFIG_IRDA is not set
  # CONFIG_AF_RXRPC is not set
  
  #
-@@ -666,14 +686,14 @@
+@@ -666,14 +686,14 @@ CONFIG_LOGO_LINUX_CLUT224=y
  #
  # Sound
  #
  # CONFIG_SND_SEQUENCER is not set
  # CONFIG_SND_MIXER_OSS is not set
  # CONFIG_SND_PCM_OSS is not set
-@@ -702,7 +722,7 @@
+@@ -702,7 +722,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
  #
  # ALSA PowerPC devices
  #
  CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
  
  #
-@@ -747,7 +767,7 @@
+@@ -747,7 +767,7 @@ CONFIG_USB_SUPPORT=y
  CONFIG_USB_ARCH_HAS_HCD=y
  CONFIG_USB_ARCH_HAS_OHCI=y
  CONFIG_USB_ARCH_HAS_EHCI=y
  # CONFIG_USB_DEBUG is not set
  
  #
-@@ -761,13 +781,13 @@
+@@ -761,13 +781,13 @@ CONFIG_USB_DEVICEFS=y
  #
  # USB Host Controller Drivers
  #
  # CONFIG_USB_OHCI_HCD_PPC_OF is not set
  # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
  CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
-@@ -1033,7 +1053,8 @@
+@@ -1033,7 +1053,8 @@ CONFIG_HAS_IOMEM=y
  CONFIG_HAS_IOPORT=y
  CONFIG_HAS_DMA=y
  CONFIG_INSTRUMENTATION=y
  #
  # CONFIG_PPC64 is not set
  
-@@ -129,6 +129,7 @@
+@@ -129,6 +129,7 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_CFQ is not set
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  
  #
  # Platform support
-@@ -141,8 +142,10 @@
+@@ -141,8 +142,10 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
  # CONFIG_BAMBOO is not set
  # CONFIG_EBONY is not set
  CONFIG_SEQUOIA=y
  # CONFIG_MPIC is not set
  # CONFIG_MPIC_WEIRD is not set
  # CONFIG_PPC_I8259 is not set
-@@ -446,9 +449,7 @@
+@@ -446,9 +449,7 @@ CONFIG_MISC_DEVICES=y
  # CONFIG_FIREWIRE is not set
  # CONFIG_IEEE1394 is not set
  # CONFIG_I2O is not set
  CONFIG_NETDEVICES=y
  # CONFIG_NETDEVICES_MULTIQUEUE is not set
  # CONFIG_DUMMY is not set
-@@ -459,10 +460,28 @@
+@@ -459,10 +460,28 @@ CONFIG_NETDEVICES=y
  # CONFIG_VETH is not set
  # CONFIG_IP1000 is not set
  # CONFIG_ARCNET is not set
  CONFIG_NETDEV_1000=y
  # CONFIG_ACENIC is not set
  # CONFIG_DL2K is not set
-@@ -811,6 +830,7 @@
+@@ -811,6 +830,7 @@ CONFIG_PPC_EARLY_DEBUG=y
  # CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
  # CONFIG_PPC_EARLY_DEBUG_BEAT is not set
  CONFIG_PPC_EARLY_DEBUG_44x=y
  #
  # CONFIG_PPC64 is not set
  
-@@ -40,7 +40,7 @@
+@@ -40,7 +40,7 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
  CONFIG_ARCH_MAY_HAVE_PC_FDC=y
  CONFIG_PPC_OF=y
  CONFIG_OF=y
  # CONFIG_GENERIC_TBSYNC is not set
  CONFIG_AUDIT_ARCH=y
  CONFIG_GENERIC_BUG=y
-@@ -127,6 +127,7 @@
+@@ -127,6 +127,7 @@ CONFIG_DEFAULT_AS=y
  # CONFIG_DEFAULT_CFQ is not set
  # CONFIG_DEFAULT_NOOP is not set
  CONFIG_DEFAULT_IOSCHED="anticipatory"
  
  #
  # Platform support
-@@ -136,7 +137,9 @@
+@@ -136,7 +137,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
  # CONFIG_PPC_CELL is not set
  # CONFIG_PPC_CELL_NATIVE is not set
  # CONFIG_PQ2ADS is not set
  CONFIG_WALNUT=y
  # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
  CONFIG_405GP=y
-@@ -204,11 +207,17 @@
+@@ -204,11 +207,17 @@ CONFIG_ISA_DMA_API=y
  # Bus options
  #
  CONFIG_ZONE_DMA=y
  
  #
  # Advanced setup
-@@ -373,11 +382,13 @@
+@@ -373,11 +382,13 @@ CONFIG_MTD_CFI_UTIL=y
  # CONFIG_MTD_COMPLEX_MAPPINGS is not set
  # CONFIG_MTD_PHYSMAP is not set
  CONFIG_MTD_PHYSMAP_OF=y
  # CONFIG_MTD_SLRAM is not set
  # CONFIG_MTD_PHRAM is not set
  # CONFIG_MTD_MTDRAM is not set
-@@ -400,9 +411,14 @@
+@@ -400,9 +411,14 @@ CONFIG_OF_DEVICE=y
  # CONFIG_PARPORT is not set
  CONFIG_BLK_DEV=y
  # CONFIG_BLK_DEV_FD is not set
  CONFIG_BLK_DEV_RAM=y
  CONFIG_BLK_DEV_RAM_COUNT=16
  CONFIG_BLK_DEV_RAM_SIZE=35000
-@@ -411,7 +427,10 @@
+@@ -411,7 +427,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
  # CONFIG_ATA_OVER_ETH is not set
  # CONFIG_XILINX_SYSACE is not set
  CONFIG_MISC_DEVICES=y
  # CONFIG_IDE is not set
  
  #
-@@ -423,6 +442,14 @@
+@@ -423,6 +442,14 @@ CONFIG_MISC_DEVICES=y
  # CONFIG_SCSI_NETLINK is not set
  # CONFIG_ATA is not set
  # CONFIG_MD is not set
  # CONFIG_MACINTOSH_DRIVERS is not set
  CONFIG_NETDEVICES=y
  # CONFIG_NETDEVICES_MULTIQUEUE is not set
-@@ -432,9 +459,17 @@
+@@ -432,9 +459,17 @@ CONFIG_NETDEVICES=y
  # CONFIG_EQUALIZER is not set
  # CONFIG_TUN is not set
  # CONFIG_VETH is not set
  CONFIG_IBM_NEW_EMAC=y
  CONFIG_IBM_NEW_EMAC_RXB=128
  CONFIG_IBM_NEW_EMAC_TXB=64
-@@ -446,9 +481,38 @@
+@@ -446,9 +481,38 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
  # CONFIG_IBM_NEW_EMAC_RGMII is not set
  # CONFIG_IBM_NEW_EMAC_TAH is not set
  # CONFIG_IBM_NEW_EMAC_EMAC4 is not set
  
  #
  # Wireless LAN
-@@ -456,6 +520,8 @@
+@@ -456,6 +520,8 @@ CONFIG_NETDEV_10000=y
  # CONFIG_WLAN_PRE80211 is not set
  # CONFIG_WLAN_80211 is not set
  # CONFIG_WAN is not set
  # CONFIG_PPP is not set
  # CONFIG_SLIP is not set
  # CONFIG_SHAPER is not set
-@@ -487,6 +553,7 @@
+@@ -487,6 +553,7 @@ CONFIG_NETDEV_10000=y
  #
  CONFIG_SERIAL_8250=y
  CONFIG_SERIAL_8250_CONSOLE=y
  CONFIG_SERIAL_8250_NR_UARTS=4
  CONFIG_SERIAL_8250_RUNTIME_UARTS=4
  CONFIG_SERIAL_8250_EXTENDED=y
-@@ -501,6 +568,7 @@
+@@ -501,6 +568,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
  # CONFIG_SERIAL_UARTLITE is not set
  CONFIG_SERIAL_CORE=y
  CONFIG_SERIAL_CORE_CONSOLE=y
  CONFIG_SERIAL_OF_PLATFORM=y
  CONFIG_UNIX98_PTYS=y
  CONFIG_LEGACY_PTYS=y
-@@ -510,8 +578,10 @@
+@@ -510,8 +578,10 @@ CONFIG_LEGACY_PTY_COUNT=256
  # CONFIG_NVRAM is not set
  # CONFIG_GEN_RTC is not set
  # CONFIG_R3964 is not set
  # CONFIG_I2C is not set
  
  #
-@@ -545,6 +615,8 @@
+@@ -545,6 +615,8 @@ CONFIG_SSB_POSSIBLE=y
  #
  # Graphics support
  #
  # CONFIG_VGASTATE is not set
  CONFIG_VIDEO_OUTPUT_CONTROL=m
  # CONFIG_FB is not set
-@@ -560,9 +632,10 @@
+@@ -560,9 +632,10 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
  #
  # CONFIG_SOUND is not set
  CONFIG_USB_SUPPORT=y
  
  #
  # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-@@ -574,6 +647,7 @@
+@@ -574,6 +647,7 @@ CONFIG_USB_SUPPORT=y
  # CONFIG_USB_GADGET is not set
  # CONFIG_MMC is not set
  # CONFIG_NEW_LEDS is not set
  endif
  ifeq ($(CONFIG_PPC32),y)
  CFLAGS_prom_init.o      += -fPIC
-@@ -70,6 +70,7 @@
+@@ -70,6 +70,7 @@ pci64-$(CONFIG_PPC64)                += pci_dn.o isa-b
  obj-$(CONFIG_PCI)             += pci_$(CONFIG_WORD_SIZE).o $(pci64-y) \
                                   pci-common.o
  obj-$(CONFIG_PCI_MSI)         += msi.o
  obj-$(CONFIG_KEXEC)           += machine_kexec.o crash.o \
                                   machine_kexec_$(CONFIG_WORD_SIZE).o
  obj-$(CONFIG_AUDIT)           += audit.o
-@@ -91,3 +92,13 @@
+@@ -91,3 +92,13 @@ obj-$(CONFIG_PPC64)         += $(obj64-y)
  
  extra-$(CONFIG_PPC_FPU)               += fpu.o
  extra-$(CONFIG_PPC64)         += entry_64.o
 +      $(call cmd,systbl_chk)
 --- a/arch/powerpc/kernel/btext.c
 +++ b/arch/powerpc/kernel/btext.c
-@@ -236,7 +236,7 @@
+@@ -236,7 +236,7 @@ int __init btext_find_display(int allow_
        if (rc == 0 || !allow_nonstdout)
                return rc;
  
                        rc = btext_initialize(np);
 --- a/arch/powerpc/kernel/cpu_setup_44x.S
 +++ b/arch/powerpc/kernel/cpu_setup_44x.S
-@@ -23,11 +23,24 @@
+@@ -23,11 +23,24 @@ _GLOBAL(__setup_cpu_440epx)
        mflr    r4
        bl      __init_fpu_44x
        bl      __plb_disable_wrp
  _GLOBAL(__init_fpu_44x)
 --- a/arch/powerpc/kernel/cputable.c
 +++ b/arch/powerpc/kernel/cputable.c
-@@ -33,7 +33,9 @@
+@@ -33,7 +33,9 @@ EXPORT_SYMBOL(cur_cpu_spec);
  #ifdef CONFIG_PPC32
  extern void __setup_cpu_440ep(unsigned long offset, struct cpu_spec* spec);
  extern void __setup_cpu_440epx(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);
-@@ -85,6 +87,7 @@
+@@ -85,6 +87,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power3",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "power3",
        },
        {       /* Power3+ */
-@@ -99,6 +102,7 @@
+@@ -99,6 +102,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power3",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "power3",
        },
        {       /* Northstar */
-@@ -113,6 +117,7 @@
+@@ -113,6 +117,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
        },
        {       /* Pulsar */
-@@ -127,6 +132,7 @@
+@@ -127,6 +132,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
        },
        {       /* I-star */
-@@ -141,6 +147,7 @@
+@@ -141,6 +147,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
        },
        {       /* S-star */
-@@ -155,6 +162,7 @@
+@@ -155,6 +162,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/rs64",
                .oprofile_type          = PPC_OPROFILE_RS64,
                .platform               = "rs64",
        },
        {       /* Power4 */
-@@ -169,6 +177,7 @@
+@@ -169,6 +177,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power4",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "power4",
        },
        {       /* Power4+ */
-@@ -183,6 +192,7 @@
+@@ -183,6 +192,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/power4",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "power4",
        },
        {       /* PPC970 */
-@@ -200,6 +210,7 @@
+@@ -200,6 +210,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
        {       /* PPC970FX */
-@@ -217,6 +228,7 @@
+@@ -217,6 +228,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
        {       /* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */
-@@ -234,6 +246,7 @@
+@@ -234,6 +246,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970MP",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
        {       /* PPC970MP */
-@@ -251,6 +264,7 @@
+@@ -251,6 +264,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_restore            = __restore_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970MP",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
        {       /* PPC970GX */
-@@ -267,6 +281,7 @@
+@@ -267,6 +281,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_ppc970,
                .oprofile_cpu_type      = "ppc64/970",
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .platform               = "ppc970",
        },
        {       /* Power5 GR */
-@@ -286,6 +301,7 @@
+@@ -286,6 +301,7 @@ static struct cpu_spec __initdata cpu_sp
                 */
                .oprofile_mmcra_sihv    = MMCRA_SIHV,
                .oprofile_mmcra_sipr    = MMCRA_SIPR,
                .platform               = "power5",
        },
        {       /* Power5++ */
-@@ -301,6 +317,7 @@
+@@ -301,6 +317,7 @@ static struct cpu_spec __initdata cpu_sp
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .oprofile_mmcra_sihv    = MMCRA_SIHV,
                .oprofile_mmcra_sipr    = MMCRA_SIPR,
                .platform               = "power5+",
        },
        {       /* Power5 GS */
-@@ -317,6 +334,7 @@
+@@ -317,6 +334,7 @@ static struct cpu_spec __initdata cpu_sp
                .oprofile_type          = PPC_OPROFILE_POWER4,
                .oprofile_mmcra_sihv    = MMCRA_SIHV,
                .oprofile_mmcra_sipr    = MMCRA_SIPR,
                .platform               = "power5+",
        },
        {       /* POWER6 in P5+ mode; 2.04-compliant processor */
-@@ -327,6 +345,7 @@
+@@ -327,6 +345,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_POWER5_PLUS,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .platform               = "power5+",
        },
        {       /* Power6 */
-@@ -346,6 +365,7 @@
+@@ -346,6 +365,7 @@ static struct cpu_spec __initdata cpu_sp
                .oprofile_mmcra_sipr    = POWER6_MMCRA_SIPR,
                .oprofile_mmcra_clear   = POWER6_MMCRA_THRM |
                        POWER6_MMCRA_OTHER,
                .platform               = "power6x",
        },
        {       /* 2.05-compliant processor, i.e. Power6 "architected" mode */
-@@ -356,6 +376,7 @@
+@@ -356,6 +376,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_POWER6,
                .icache_bsize           = 128,
                .dcache_bsize           = 128,
                .platform               = "power6",
        },
        {       /* Cell Broadband Engine */
-@@ -372,6 +393,7 @@
+@@ -372,6 +393,7 @@ static struct cpu_spec __initdata cpu_sp
                .pmc_type               = PPC_PMC_IBM,
                .oprofile_cpu_type      = "ppc64/cell-be",
                .oprofile_type          = PPC_OPROFILE_CELL,
                .platform               = "ppc-cell-be",
        },
        {       /* PA Semi PA6T */
-@@ -388,6 +410,7 @@
+@@ -388,6 +410,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_restore            = __restore_cpu_pa6t,
                .oprofile_cpu_type      = "ppc64/pa6t",
                .oprofile_type          = PPC_OPROFILE_PA6T,
                .platform               = "pa6t",
        },
        {       /* default match */
-@@ -400,6 +423,7 @@
+@@ -400,6 +423,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 128,
                .num_pmcs               = 6,
                .pmc_type               = PPC_PMC_IBM,
                .platform               = "power4",
        }
  #endif        /* CONFIG_PPC64 */
-@@ -414,6 +438,7 @@
+@@ -414,6 +438,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_UNIFIED_CACHE | PPC_FEATURE_NO_TB,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc601",
        },
        {       /* 603 */
-@@ -425,6 +450,7 @@
+@@ -425,6 +450,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* 603e */
-@@ -436,6 +462,7 @@
+@@ -436,6 +462,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* 603ev */
-@@ -447,6 +474,7 @@
+@@ -447,6 +474,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* 604 */
-@@ -459,6 +487,7 @@
+@@ -459,6 +487,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 2,
                .cpu_setup              = __setup_cpu_604,
                .platform               = "ppc604",
        },
        {       /* 604e */
-@@ -471,6 +500,7 @@
+@@ -471,6 +500,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_604,
                .platform               = "ppc604",
        },
        {       /* 604r */
-@@ -483,6 +513,7 @@
+@@ -483,6 +513,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_604,
                .platform               = "ppc604",
        },
        {       /* 604ev */
-@@ -495,6 +526,7 @@
+@@ -495,6 +526,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_604,
                .platform               = "ppc604",
        },
        {       /* 740/750 (0x4202, don't support TAU ?) */
-@@ -507,6 +539,7 @@
+@@ -507,6 +539,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750,
                .platform               = "ppc750",
        },
        {       /* 750CX (80100 and 8010x?) */
-@@ -519,6 +552,7 @@
+@@ -519,6 +552,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750cx,
                .platform               = "ppc750",
        },
        {       /* 750CX (82201 and 82202) */
-@@ -531,6 +565,7 @@
+@@ -531,6 +565,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750cx,
                .platform               = "ppc750",
        },
        {       /* 750CXe (82214) */
-@@ -543,6 +578,7 @@
+@@ -543,6 +578,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750cx,
                .platform               = "ppc750",
        },
        {       /* 750CXe "Gekko" (83214) */
-@@ -555,6 +591,7 @@
+@@ -555,6 +591,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750cx,
                .platform               = "ppc750",
        },
        {       /* 750CL */
-@@ -567,6 +604,7 @@
+@@ -567,6 +604,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750,
                .platform               = "ppc750",
        },
        {       /* 745/755 */
-@@ -579,6 +617,7 @@
+@@ -579,6 +617,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750,
                .platform               = "ppc750",
        },
        {       /* 750FX rev 1.x */
-@@ -591,6 +630,7 @@
+@@ -591,6 +630,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750,
                .platform               = "ppc750",
        },
        {       /* 750FX rev 2.0 must disable HID0[DPM] */
-@@ -603,6 +643,7 @@
+@@ -603,6 +643,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750,
                .platform               = "ppc750",
        },
        {       /* 750FX (All revs except 2.0) */
-@@ -615,6 +656,7 @@
+@@ -615,6 +656,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750fx,
                .platform               = "ppc750",
        },
        {       /* 750GX */
-@@ -627,6 +669,7 @@
+@@ -627,6 +669,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750fx,
                .platform               = "ppc750",
        },
        {       /* 740/750 (L2CR bit need fixup for 740) */
-@@ -639,6 +682,7 @@
+@@ -639,6 +682,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_750,
                .platform               = "ppc750",
        },
        {       /* 7400 rev 1.1 ? (no TAU) */
-@@ -652,6 +696,7 @@
+@@ -652,6 +696,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_7400,
                .platform               = "ppc7400",
        },
        {       /* 7400 */
-@@ -665,6 +710,7 @@
+@@ -665,6 +710,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_7400,
                .platform               = "ppc7400",
        },
        {       /* 7410 */
-@@ -678,6 +724,7 @@
+@@ -678,6 +724,7 @@ static struct cpu_spec __initdata cpu_sp
                .dcache_bsize           = 32,
                .num_pmcs               = 4,
                .cpu_setup              = __setup_cpu_7410,
                .platform               = "ppc7400",
        },
        {       /* 7450 2.0 - no doze/nap */
-@@ -693,6 +740,7 @@
+@@ -693,6 +740,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7450 2.1 */
-@@ -708,6 +756,7 @@
+@@ -708,6 +756,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7450 2.3 and newer */
-@@ -723,6 +772,7 @@
+@@ -723,6 +772,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7455 rev 1.x */
-@@ -738,6 +788,7 @@
+@@ -738,6 +788,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7455 rev 2.0 */
-@@ -753,6 +804,7 @@
+@@ -753,6 +804,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7455 others */
-@@ -768,6 +820,7 @@
+@@ -768,6 +820,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7447/7457 Rev 1.0 */
-@@ -783,6 +836,7 @@
+@@ -783,6 +836,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7447/7457 Rev 1.1 */
-@@ -798,6 +852,7 @@
+@@ -798,6 +852,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7447/7457 Rev 1.2 and later */
-@@ -812,6 +867,7 @@
+@@ -812,6 +867,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7447A */
-@@ -827,6 +883,7 @@
+@@ -827,6 +883,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 7448 */
-@@ -842,6 +899,7 @@
+@@ -842,6 +899,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_745x,
                .oprofile_cpu_type      = "ppc/7450",
                .oprofile_type          = PPC_OPROFILE_G4,
                .platform               = "ppc7450",
        },
        {       /* 82xx (8240, 8245, 8260 are all 603e cores) */
-@@ -853,6 +911,7 @@
+@@ -853,6 +911,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* All G2_LE (603e core, plus some) have the same pvr */
-@@ -864,6 +923,7 @@
+@@ -864,6 +923,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* e300c1 (a 603e core, plus some) on 83xx */
-@@ -875,6 +935,7 @@
+@@ -875,6 +935,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* e300c2 (an e300c1 core, plus some, minus FPU) on 83xx */
-@@ -886,9 +947,10 @@
+@@ -886,9 +947,10 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_603,
                .pvr_mask               = 0x7fff0000,
                .pvr_value              = 0x00850000,
                .cpu_name               = "e300c3",
-@@ -899,6 +961,18 @@
+@@ -899,6 +961,18 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_setup              = __setup_cpu_603,
                .platform               = "ppc603",
        },
        {       /* default match, we assume split I/D cache & TB (non-601)... */
                .pvr_mask               = 0x00000000,
                .pvr_value              = 0x00000000,
-@@ -907,6 +981,7 @@
+@@ -907,6 +981,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc603",
        },
  #endif /* CLASSIC_PPC */
-@@ -933,6 +1008,7 @@
+@@ -933,6 +1008,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
                .icache_bsize           = 16,
                .dcache_bsize           = 16,
                .platform               = "ppc403",
        },
        {       /* 403GCX */
-@@ -944,6 +1020,7 @@
+@@ -944,6 +1020,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_NO_TB,
                .icache_bsize           = 16,
                .dcache_bsize           = 16,
                .platform               = "ppc403",
        },
        {       /* 403G ?? */
-@@ -954,6 +1031,7 @@
+@@ -954,6 +1031,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
                .icache_bsize           = 16,
                .dcache_bsize           = 16,
                .platform               = "ppc403",
        },
        {       /* 405GP */
-@@ -965,6 +1043,7 @@
+@@ -965,6 +1043,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* STB 03xxx */
-@@ -976,6 +1055,7 @@
+@@ -976,6 +1055,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* STB 04xxx */
-@@ -987,6 +1067,7 @@
+@@ -987,6 +1067,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* NP405L */
-@@ -998,6 +1079,7 @@
+@@ -998,6 +1079,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* NP4GS3 */
-@@ -1009,6 +1091,7 @@
+@@ -1009,6 +1091,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {   /* NP405H */
-@@ -1020,6 +1103,7 @@
+@@ -1020,6 +1103,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* 405GPr */
-@@ -1031,6 +1115,7 @@
+@@ -1031,6 +1115,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {   /* STBx25xx */
-@@ -1042,6 +1127,7 @@
+@@ -1042,6 +1127,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* 405LP */
-@@ -1052,6 +1138,7 @@
+@@ -1052,6 +1138,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* Xilinx Virtex-II Pro  */
-@@ -1063,6 +1150,7 @@
+@@ -1063,6 +1150,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* Xilinx Virtex-4 FX */
-@@ -1074,6 +1162,7 @@
+@@ -1074,6 +1162,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
        {       /* 405EP */
-@@ -1085,17 +1174,31 @@
+@@ -1085,17 +1174,31 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc405",
        },
  
-@@ -1109,6 +1212,7 @@
+@@ -1109,6 +1212,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
-@@ -1120,6 +1224,7 @@
+@@ -1120,6 +1224,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_440ep,
                .platform               = "ppc440",
        },
        {
-@@ -1130,6 +1235,19 @@
+@@ -1130,6 +1235,19 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
-@@ -1141,6 +1259,7 @@
+@@ -1141,6 +1259,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_440ep,
                .platform               = "ppc440",
        },
        { /* 440GRX */
-@@ -1152,6 +1271,7 @@
+@@ -1152,6 +1271,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_440grx,
                .platform               = "ppc440",
        },
        { /* Use logical PVR for 440EPx (logical pvr = pvr | 0x8) */
-@@ -1163,6 +1283,7 @@
+@@ -1163,6 +1283,7 @@ static struct cpu_spec __initdata cpu_sp
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .cpu_setup              = __setup_cpu_440epx,
                .platform               = "ppc440",
        },
        {       /* 440GP Rev. B */
-@@ -1173,6 +1294,7 @@
+@@ -1173,6 +1294,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440gp",
        },
        {       /* 440GP Rev. C */
-@@ -1183,6 +1305,7 @@
+@@ -1183,6 +1305,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440gp",
        },
        { /* 440GX Rev. A */
-@@ -1193,6 +1316,8 @@
+@@ -1193,6 +1316,8 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* 440GX Rev. B */
-@@ -1203,6 +1328,8 @@
+@@ -1203,6 +1328,8 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* 440GX Rev. C */
-@@ -1213,6 +1340,8 @@
+@@ -1213,6 +1340,8 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* 440GX Rev. F */
-@@ -1223,6 +1352,8 @@
+@@ -1223,6 +1352,8 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* 440SP Rev. A */
-@@ -1233,6 +1364,7 @@
+@@ -1233,6 +1364,7 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* 440SPe Rev. A */
-@@ -1243,6 +1375,8 @@
+@@ -1243,6 +1375,8 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
                .platform               = "ppc440",
        },
        { /* 440SPe Rev. B */
-@@ -1253,10 +1387,13 @@
+@@ -1253,10 +1387,13 @@ static struct cpu_spec __initdata cpu_sp
                .cpu_user_features      = COMMON_USER_BOOKE,
                .icache_bsize           = 32,
                .dcache_bsize           = 32,
        {       /* e200z5 */
                .pvr_mask               = 0xfff00000,
                .pvr_value              = 0x81000000,
-@@ -1267,6 +1404,7 @@
+@@ -1267,6 +1404,7 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_EFP_SINGLE |
                        PPC_FEATURE_UNIFIED_CACHE,
                .dcache_bsize           = 32,
                .platform               = "ppc5554",
        },
        {       /* e200z6 */
-@@ -1280,8 +1418,10 @@
+@@ -1280,8 +1418,10 @@ static struct cpu_spec __initdata cpu_sp
                        PPC_FEATURE_HAS_EFP_SINGLE_COMP |
                        PPC_FEATURE_UNIFIED_CACHE,
                .dcache_bsize           = 32,
        {       /* e500 */
                .pvr_mask               = 0xffff0000,
                .pvr_value              = 0x80200000,
-@@ -1296,6 +1436,7 @@
+@@ -1296,6 +1436,7 @@ static struct cpu_spec __initdata cpu_sp
                .num_pmcs               = 4,
                .oprofile_cpu_type      = "ppc/e500",
                .oprofile_type          = PPC_OPROFILE_BOOKE,
                .platform               = "ppc8540",
        },
        {       /* e500v2 */
-@@ -1313,9 +1454,11 @@
+@@ -1313,9 +1454,11 @@ static struct cpu_spec __initdata cpu_sp
                .num_pmcs               = 4,
                .oprofile_cpu_type      = "ppc/e500",
                .oprofile_type          = PPC_OPROFILE_BOOKE,
  
  #ifdef DEBUG
  #include <asm/udbg.h>
-@@ -45,6 +47,11 @@
+@@ -45,6 +47,11 @@ int crashing_cpu = -1;
  static cpumask_t cpus_in_crash = CPU_MASK_NONE;
  cpumask_t cpus_in_sr = CPU_MASK_NONE;
  
  #ifdef CONFIG_SMP
  static atomic_t enter_on_soft_reset = ATOMIC_INIT(0);
  
-@@ -285,9 +292,72 @@
+@@ -285,9 +292,72 @@ static inline void crash_kexec_stop_spus
  }
  #endif /* CONFIG_SPU_BASE */
  
  
        /*
         * This function is only called after the system
-@@ -301,15 +371,36 @@
+@@ -301,15 +371,36 @@ void default_machine_crash_shutdown(stru
         */
        hard_irq_disable();
  
         * Make a note of crashing cpu. Will be used in machine_kexec
 --- a/arch/powerpc/kernel/dma_64.c
 +++ b/arch/powerpc/kernel/dma_64.c
-@@ -112,10 +112,16 @@
+@@ -112,10 +112,16 @@ EXPORT_SYMBOL(dma_iommu_ops);
  /*
   * Generic direct DMA implementation
   *
  
  static void *dma_direct_alloc_coherent(struct device *dev, size_t size,
                                       dma_addr_t *dma_handle, gfp_t flag)
-@@ -124,13 +130,12 @@
+@@ -124,13 +130,12 @@ static void *dma_direct_alloc_coherent(s
        void *ret;
        int node = dev->archdata.numa_node;
  
  
        return ret;
  }
-@@ -145,7 +150,7 @@
+@@ -145,7 +150,7 @@ static dma_addr_t dma_direct_map_single(
                                        size_t size,
                                        enum dma_data_direction direction)
  {
  }
  
  static void dma_direct_unmap_single(struct device *dev, dma_addr_t dma_addr,
-@@ -161,7 +166,7 @@
+@@ -161,7 +166,7 @@ static int dma_direct_map_sg(struct devi
        int i;
  
        for_each_sg(sgl, sg, nents, i) {
  
 --- a/arch/powerpc/kernel/head_44x.S
 +++ b/arch/powerpc/kernel/head_44x.S
-@@ -289,11 +289,8 @@
+@@ -289,11 +289,8 @@ interrupt_base:
        CRITICAL_EXCEPTION(0x0100, CriticalInput, unknown_exception)
  
        /* Machine Check Interrupt */
  
        /* Data Storage Interrupt */
        START_EXCEPTION(DataStorage)
-@@ -674,6 +671,15 @@
+@@ -674,6 +671,15 @@ finish_tlb_load:
   */
  
  /*
   * The 44x core does not have an AltiVec unit.
 --- a/arch/powerpc/kernel/head_booke.h
 +++ b/arch/powerpc/kernel/head_booke.h
-@@ -166,7 +166,7 @@
+@@ -166,7 +166,7 @@ label:
        mfspr   r5,SPRN_ESR;                                    \
        stw     r5,_ESR(r11);                                   \
        addi    r3,r1,STACK_FRAME_OVERHEAD;                     \
  
 --- a/arch/powerpc/kernel/head_fsl_booke.S
 +++ b/arch/powerpc/kernel/head_fsl_booke.S
-@@ -73,8 +73,8 @@
+@@ -73,8 +73,8 @@ _ENTRY(_start);
  /* We try to not make any assumptions about how the boot loader
   * setup or used the TLBs.  We invalidate all mappings from the
   * boot loader and load a single entry in TLB1[0] to map the
   *
   * Requirement on bootloader:
   *  - The page we're executing in needs to reside in TLB1 and
-@@ -167,7 +167,7 @@
+@@ -167,7 +167,7 @@ skpinv:    addi    r6,r6,1                         /* Increment */
        mtspr   SPRN_MAS0,r7
        tlbre
  
        lis     r7,0x1000       /* Set MAS0(TLBSEL) = 1 */
        rlwimi  r7,r5,16,4,15   /* Setup MAS0 = TLBSEL | ESEL(r5) */
        mtspr   SPRN_MAS0,r7
-@@ -177,9 +177,12 @@
+@@ -177,9 +177,12 @@ skpinv:   addi    r6,r6,1                         /* Increment */
        ori     r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
        mtspr   SPRN_MAS1,r6
        mfspr   r6,SPRN_MAS2
        tlbwe
  
        xori    r6,r4,1
-@@ -222,11 +225,11 @@
+@@ -222,11 +225,11 @@ skpinv:  addi    r6,r6,1                         /* Increment */
        lis     r6,0x1000               /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */
        mtspr   SPRN_MAS0,r6
        lis     r6,(MAS1_VALID|MAS1_IPROT)@h
        rlwimi  r6,r7,0,20,31
        mtspr   SPRN_MAS2,r6
        li      r7,(MAS3_SX|MAS3_SW|MAS3_SR)
-@@ -234,6 +237,9 @@
+@@ -234,6 +237,9 @@ skpinv:    addi    r6,r6,1                         /* Increment */
        tlbwe
  
  /* 7. Jump to KERNELBASE mapping */
  #include <linux/of_platform.h>
  #include <asm/ibmebus.h>
  #include <asm/abs_addr.h>
-@@ -52,7 +53,7 @@
+@@ -52,7 +53,7 @@ static struct device ibmebus_bus_device 
  struct bus_type ibmebus_bus_type;
  
  /* These devices will automatically be added to the bus during init */
        { .compatible = "IBM,lhca" },
        { .compatible = "IBM,lhea" },
        {},
-@@ -171,7 +172,7 @@
+@@ -171,7 +172,7 @@ static int ibmebus_create_devices(const 
  
        root = of_find_node_by_path("/");
  
                if (!of_match_node(matches, child))
                        continue;
  
-@@ -197,16 +198,13 @@
+@@ -197,16 +198,13 @@ int ibmebus_register_driver(struct of_pl
        /* If the driver uses devices that ibmebus doesn't know, add them */
        ibmebus_create_devices(drv->match_table);
  
  
 --- a/arch/powerpc/kernel/iommu.c
 +++ b/arch/powerpc/kernel/iommu.c
-@@ -532,16 +532,14 @@
+@@ -532,16 +532,14 @@ struct iommu_table *iommu_init_table(str
        return tbl;
  }
  
                return;
        }
  
-@@ -550,7 +548,7 @@
+@@ -550,7 +548,7 @@ void iommu_free_table(struct device_node
        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/isa-bridge.c
 +++ b/arch/powerpc/kernel/isa-bridge.c
-@@ -108,7 +108,7 @@
+@@ -108,7 +108,7 @@ static void __devinit pci_process_ISA_OF
        if (size > 0x10000)
                size = 0x10000;
  
               "mapping 64k\n");
  
        __ioremap_at(phb_io_base_phys, (void *)ISA_IO_BASE,
-@@ -116,7 +116,7 @@
+@@ -116,7 +116,7 @@ static void __devinit pci_process_ISA_OF
        return;
  
  inval_range:
               "mapping 64k\n");
        __ioremap_at(phb_io_base_phys, (void *)ISA_IO_BASE,
                     0x10000, _PAGE_NO_CACHE|_PAGE_GUARDED);
-@@ -145,7 +145,7 @@
+@@ -145,7 +145,7 @@ void __init isa_bridge_find_early(struct
        for_each_node_by_type(np, "isa") {
                /* Look for our hose being a parent */
                for (parent = of_get_parent(np); parent;) {
                        }
 --- a/arch/powerpc/kernel/legacy_serial.c
 +++ b/arch/powerpc/kernel/legacy_serial.c
-@@ -307,7 +307,7 @@
+@@ -307,7 +307,7 @@ void __init find_legacy_serial_ports(voi
        }
  
        /* First fill our array with SOC ports */
                struct device_node *soc = of_get_parent(np);
                if (soc && !strcmp(soc->type, "soc")) {
                        index = add_legacy_soc_port(np, np);
-@@ -318,7 +318,7 @@
+@@ -318,7 +318,7 @@ void __init find_legacy_serial_ports(voi
        }
  
        /* First fill our array with ISA ports */
                struct device_node *isa = of_get_parent(np);
                if (isa && !strcmp(isa->name, "isa")) {
                        index = add_legacy_isa_port(np, isa);
-@@ -329,7 +329,7 @@
+@@ -329,7 +329,7 @@ void __init find_legacy_serial_ports(voi
        }
  
        /* First fill our array with tsi-bridge ports */
                struct device_node *tsi = of_get_parent(np);
                if (tsi && !strcmp(tsi->type, "tsi-bridge")) {
                        index = add_legacy_soc_port(np, np);
-@@ -340,7 +340,7 @@
+@@ -340,7 +340,7 @@ void __init find_legacy_serial_ports(voi
        }
  
        /* First fill our array with opb bus ports */
                struct device_node *opb = of_get_parent(np);
                if (opb && (!strcmp(opb->type, "opb") ||
                            of_device_is_compatible(opb, "ibm,opb"))) {
-@@ -474,7 +474,7 @@
+@@ -474,7 +474,7 @@ static int __init serial_dev_init(void)
  
        /*
         * Before we register the platfrom serial devices, we need
  
  /*
   * Track sum of all purrs across all processors. This is used to further
-@@ -595,13 +594,6 @@
+@@ -595,13 +594,6 @@ int __init lparcfg_init(void)
        ent = create_proc_entry("ppc64/lparcfg", mode, NULL);
        if (ent) {
                ent->proc_fops = &lparcfg_fops;
        } else {
                printk(KERN_ERR "Failed to create ppc64/lparcfg\n");
                return -EIO;
-@@ -613,10 +605,8 @@
+@@ -613,10 +605,8 @@ int __init lparcfg_init(void)
  
  void __exit lparcfg_cleanup(void)
  {
  
        .text
  
-@@ -43,3 +48,71 @@
+@@ -43,3 +48,71 @@ _GLOBAL(add_reloc_offset)
        add     r3,r3,r5
        mtlr    r0
        blr
 +      blr
 --- a/arch/powerpc/kernel/misc_32.S
 +++ b/arch/powerpc/kernel/misc_32.S
-@@ -206,6 +206,45 @@
+@@ -206,6 +206,45 @@ _GLOBAL(_nmask_and_or_msr)
        isync
        blr                     /* Done */
  
  
  /*
   * Flush MMU TLB
-@@ -793,13 +832,6 @@
+@@ -793,13 +832,6 @@ _GLOBAL(kernel_thread)
        addi    r1,r1,16
        blr
  
   */
 --- a/arch/powerpc/kernel/misc_64.S
 +++ b/arch/powerpc/kernel/misc_64.S
-@@ -518,13 +518,6 @@
+@@ -518,13 +518,6 @@ _GLOBAL(giveup_altivec)
  
  #endif /* CONFIG_ALTIVEC */
  
  
  #include "setup.h"
  
-@@ -54,22 +55,60 @@
+@@ -54,22 +55,60 @@ void module_free(struct module *mod, voi
     addend) */
  static unsigned int count_relocs(const Elf32_Rela *rela, unsigned int num)
  {
  }
  
  /* Get the potential trampolines size required of the init and
-@@ -100,6 +139,16 @@
+@@ -100,6 +139,16 @@ static unsigned long get_plt_size(const 
                        DEBUGP("Ptr: %p.  Number: %u\n",
                               (void *)hdr + sechdrs[i].sh_offset,
                               sechdrs[i].sh_size / sizeof(Elf32_Rela));
  
  #include "setup.h"
  
-@@ -81,25 +82,23 @@
+@@ -81,25 +82,23 @@ static struct ppc64_stub_entry ppc64_stu
     different addend) */
  static unsigned int count_relocs(const Elf64_Rela *rela, unsigned int num)
  {
  }
  
  void *module_alloc(unsigned long size)
-@@ -118,6 +117,44 @@
+@@ -118,6 +117,44 @@ void module_free(struct module *mod, voi
             table entries. */
  }
  
  /* Get size of potential trampolines required. */
  static unsigned long get_stubs_size(const Elf64_Ehdr *hdr,
                                    const Elf64_Shdr *sechdrs)
-@@ -133,6 +170,16 @@
+@@ -133,6 +170,16 @@ static unsigned long get_stubs_size(cons
                        DEBUGP("Ptr: %p.  Number: %lu\n",
                               (void *)sechdrs[i].sh_addr,
                               sechdrs[i].sh_size / sizeof(Elf64_Rela));
                        relocs += count_relocs((void *)sechdrs[i].sh_addr,
                                               sechdrs[i].sh_size
                                               / sizeof(Elf64_Rela));
-@@ -343,7 +390,7 @@
+@@ -343,7 +390,7 @@ int apply_relocate_add(Elf64_Shdr *sechd
                        /* Simply set it */
                        *(u32 *)location = value;
                        break;
                case R_PPC64_ADDR64:
                        /* Simply set it */
                        *(unsigned long *)location = value;
-@@ -399,7 +446,7 @@
+@@ -399,7 +446,7 @@ int apply_relocate_add(Elf64_Shdr *sechd
                        }
  
                        /* Only replace bits 2 through 26 */
        { .type = "soc", },
        { .compatible = "soc", },
        { .type = "spider", },
-@@ -64,26 +65,6 @@
+@@ -64,26 +65,6 @@ static int __init of_bus_driver_init(voi
  
  postcore_initcall(of_bus_driver_init);
  
  struct of_device* of_platform_device_create(struct device_node *np,
                                            const char *bus_id,
                                            struct device *parent)
-@@ -120,15 +101,15 @@
+@@ -120,15 +101,15 @@ EXPORT_SYMBOL(of_platform_device_create)
   * @matches: match table, NULL to use the default, OF_NO_DEEP_PROBE to
   * disallow recursive creation of child busses
   */
                pr_debug("   create child: %s\n", child->full_name);
                dev = of_platform_device_create(child, NULL, parent);
                if (dev == NULL)
-@@ -157,7 +138,7 @@
+@@ -157,7 +138,7 @@ static int of_platform_bus_create(struct
   */
  
  int of_platform_bus_probe(struct device_node *root,
                          struct device *parent)
  {
        struct device_node *child;
-@@ -190,7 +171,7 @@
+@@ -190,7 +171,7 @@ int of_platform_bus_probe(struct device_
                rc = of_platform_bus_create(root, matches, &dev->dev);
                goto bail;
        }
        phb->is_dynamic = mem_init_done;
  #ifdef CONFIG_PPC64
        if (dev) {
-@@ -126,15 +120,10 @@
+@@ -126,15 +120,10 @@ int pcibios_vaddr_is_ioport(void __iomem
   */
  int pci_domain_nr(struct pci_bus *bus)
  {
  EXPORT_SYMBOL(pci_domain_nr);
  
  #ifdef CONFIG_PPC_OF
-@@ -153,7 +142,7 @@
+@@ -153,7 +142,7 @@ struct pci_controller* pci_find_hose_for
        while(node) {
                struct pci_controller *hose, *tmp;
                list_for_each_entry_safe(hose, tmp, &hose_list, list_node)
                                return hose;
                node = node->parent;
        }
-@@ -201,6 +190,20 @@
+@@ -201,6 +190,20 @@ int pci_read_irq_line(struct pci_dev *pc
        struct of_irq oirq;
        unsigned int virq;
  
        DBG("Try to map irq for %s...\n", pci_name(pci_dev));
  
  #ifdef DEBUG
-@@ -222,10 +225,11 @@
+@@ -222,10 +225,11 @@ int pci_read_irq_line(struct pci_dev *pc
                if (pin == 0)
                        return -1;
                if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_LINE, &line) ||
  
                virq = irq_create_mapping(NULL, line);
                if (virq != NO_IRQ)
-@@ -475,3 +479,717 @@
+@@ -475,3 +479,717 @@ void pci_resource_to_user(const struct p
        *start = rsrc->start - offset;
        *end = rsrc->end - offset;
  }
  static void fixup_cpc710_pci64(struct pci_dev* dev);
  #ifdef CONFIG_PPC_OF
  static u8* pci_to_OF_bus_map;
-@@ -53,7 +47,7 @@
+@@ -53,7 +47,7 @@ static u8* pci_to_OF_bus_map;
  /* By default, we don't re-assign bus numbers. We do this only on
   * some pmacs
   */
  
  LIST_HEAD(hose_list);
  
-@@ -100,505 +94,6 @@
+@@ -100,505 +94,6 @@ fixup_cpc710_pci64(struct pci_dev* dev)
  }
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IBM,   PCI_DEVICE_ID_IBM_CPC710_PCI64, fixup_cpc710_pci64);
  
  #ifdef CONFIG_PPC_OF
  /*
   * Functions below are used on OpenFirmware machines.
-@@ -619,7 +114,7 @@
+@@ -619,7 +114,7 @@ make_one_node_map(struct device_node* no
        } else
                pci_to_OF_bus_map[pci_bus] = bus_range[0];
  
                struct pci_dev* dev;
                const unsigned int *class_code, *reg;
        
-@@ -662,8 +157,8 @@
+@@ -662,8 +157,8 @@ pcibios_make_OF_bus_map(void)
  
        /* For each hose, we begin searching bridges */
        list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
                if (!node)
                        continue;
                make_one_node_map(node, hose->first_busno);
-@@ -688,15 +183,18 @@
+@@ -688,15 +183,18 @@ pcibios_make_OF_bus_map(void)
  typedef int (*pci_OF_scan_iterator)(struct device_node* node, void* data);
  
  static struct device_node*
  
                /* For PCI<->PCI bridges or CardBus bridges, we go down
                 * Note: some OFs create a parent node "multifunc-device" as
-@@ -708,9 +206,11 @@
+@@ -708,9 +206,11 @@ scan_OF_pci_childs(struct device_node* n
                        (*class_code >> 8) != PCI_CLASS_BRIDGE_CARDBUS)) &&
                        strcmp(node->name, "multifunc-device"))
                        continue;
        }
        return NULL;
  }
-@@ -718,11 +218,11 @@
+@@ -718,11 +218,11 @@ scan_OF_pci_childs(struct device_node* n
  static struct device_node *scan_OF_for_pci_dev(struct device_node *parent,
                                               unsigned int devfn)
  {
                reg = of_get_property(np, "reg", &psize);
                if (reg == NULL || psize < 4)
                        continue;
-@@ -742,7 +242,7 @@
+@@ -742,7 +242,7 @@ static struct device_node *scan_OF_for_p
                struct pci_controller *hose = pci_bus_to_host(bus);
                if (hose == NULL)
                        return NULL;
        }
  
        /* not a root bus, we need to get our parent */
-@@ -812,9 +312,9 @@
+@@ -812,9 +312,9 @@ pci_device_from_OF_node(struct device_no
                return -ENODEV;
        /* Make sure it's really a PCI device */
        hose = pci_find_hose_for_OF_device(node);
                        find_OF_pci_device_filter, (void *)node))
                return -ENODEV;
        reg = of_get_property(node, "reg", NULL);
-@@ -843,120 +343,6 @@
+@@ -843,120 +343,6 @@ pci_device_from_OF_node(struct device_no
  }
  EXPORT_SYMBOL(pci_device_from_OF_node);
  
  /* We create the "pci-OF-bus-map" property now so it appears in the
   * /proc device tree
   */
-@@ -986,219 +372,7 @@
+@@ -986,219 +372,7 @@ void pcibios_make_OF_bus_map(void)
  }
  #endif /* CONFIG_PPC_OF */
  
  {
        struct pci_controller *hose, *tmp;
        struct pci_bus *bus;
-@@ -1206,6 +380,9 @@
+@@ -1206,6 +380,9 @@ pcibios_init(void)
  
        printk(KERN_INFO "PCI: Probing PCI hardware\n");
  
        /* Scan all of the recorded PCI controllers.  */
        list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
                if (pci_assign_all_buses)
-@@ -1213,9 +390,10 @@
+@@ -1213,9 +390,10 @@ pcibios_init(void)
                hose->last_busno = 0xff;
                bus = pci_scan_bus_parented(hose->parent, hose->first_busno,
                                            hose->ops, hose);
                if (pci_assign_all_buses || next_busno <= hose->last_busno)
                        next_busno = hose->last_busno + pcibios_assign_bus_offset;
        }
-@@ -1228,18 +406,8 @@
+@@ -1228,18 +406,8 @@ pcibios_init(void)
        if (pci_assign_all_buses && have_of)
                pcibios_make_OF_bus_map();
  
  
        /* Call machine dependent post-init code */
        if (ppc_md.pcibios_after_init)
-@@ -1250,14 +418,14 @@
+@@ -1250,14 +418,14 @@ pcibios_init(void)
  
  subsys_initcall(pcibios_init);
  
        io_offset = (unsigned long)hose->io_base_virt - isa_io_base;
        if (bus->parent == NULL) {
                /* This is a host bridge - fill in its resources */
-@@ -1272,8 +440,8 @@
+@@ -1272,8 +440,8 @@ void pcibios_fixup_bus(struct pci_bus *b
                        res->end = IO_SPACE_LIMIT;
                        res->flags = IORESOURCE_IO;
                }
  
                for (i = 0; i < 3; ++i) {
                        res = &hose->mem_resources[i];
-@@ -1288,35 +456,6 @@
+@@ -1288,35 +456,6 @@ void pcibios_fixup_bus(struct pci_bus *b
                        }
                        bus->resource[i+1] = res;
                }
        }
  }
  
-@@ -1328,37 +467,6 @@
+@@ -1328,37 +467,6 @@ pcibios_update_irq(struct pci_dev *dev, 
        /* XXX FIXME - update OF device tree node interrupt property */
  }
  
  static struct pci_controller*
  pci_bus_to_hose(int bus)
  {
-@@ -1381,17 +489,6 @@
+@@ -1381,17 +489,6 @@ long sys_pciconfig_iobase(long which, un
        struct pci_controller* hose;
        long result = -EOPNOTSUPP;
  
  
  /* pci_io_base -- the base address from which io bars are offsets.
   * This is the lowest I/O base address (so bar values are always positive),
-@@ -70,139 +65,31 @@
+@@ -70,139 +65,31 @@ struct dma_mapping_ops *get_pci_dma_ops(
  }
  EXPORT_SYMBOL(get_pci_dma_ops);
  
  
  static u32 get_int_prop(struct device_node *np, const char *name, u32 def)
  {
-@@ -270,7 +157,6 @@
+@@ -270,7 +157,6 @@ static void pci_parse_of_addrs(struct de
                res->end = base + size - 1;
                res->flags = flags;
                res->name = pci_name(dev);
        }
  }
  
-@@ -339,16 +225,17 @@
+@@ -339,16 +225,17 @@ struct pci_dev *of_create_pci_dev(struct
  EXPORT_SYMBOL(of_create_pci_dev);
  
  void __devinit of_scan_bus(struct device_node *node,
                DBG("  * %s\n", child->full_name);
                reg = of_get_property(child, "reg", &reglen);
                if (reg == NULL || reglen < 20)
-@@ -359,19 +246,26 @@
+@@ -359,19 +246,26 @@ void __devinit of_scan_bus(struct device
                dev = of_create_pci_dev(child, bus, devfn);
                if (!dev)
                        continue;
  {
        struct pci_bus *bus;
        const u32 *busrange, *ranges;
-@@ -441,7 +335,6 @@
+@@ -441,7 +335,6 @@ void __devinit of_scan_pci_bridge(struct
                res->start = of_read_number(&ranges[1], 2);
                res->end = res->start + size - 1;
                res->flags = flags;
        }
        sprintf(bus->name, "PCI Bus %04x:%02x", pci_domain_nr(bus),
                bus->number);
-@@ -462,12 +355,12 @@
+@@ -462,12 +355,12 @@ EXPORT_SYMBOL(of_scan_pci_bridge);
  void __devinit scan_phb(struct pci_controller *hose)
  {
        struct pci_bus *bus;
        bus = pci_create_bus(hose->parent, hose->first_busno, hose->ops, node);
        if (bus == NULL) {
                printk(KERN_ERR "Failed to create bus for PCI domain %04x\n",
-@@ -477,27 +370,27 @@
+@@ -477,27 +370,27 @@ void __devinit scan_phb(struct pci_contr
        bus->secondary = hose->first_busno;
        hose->bus = bus;
  
        if (node && ppc_md.pci_probe_mode)
                mode = ppc_md.pci_probe_mode(bus);
        DBG("    probe mode: %d\n", mode);
-@@ -514,15 +407,15 @@
+@@ -514,15 +407,15 @@ static int __init pcibios_init(void)
  {
        struct pci_controller *hose, *tmp;
  
  
        /* Scan all of the recorded PCI controllers.  */
        list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
-@@ -530,19 +423,8 @@
+@@ -530,19 +423,8 @@ static int __init pcibios_init(void)
                pci_bus_add_devices(hose->bus);
        }
  
  
        printk(KERN_DEBUG "PCI: Probing PCI hardware done\n");
  
-@@ -551,141 +433,6 @@
+@@ -551,141 +433,6 @@ static int __init pcibios_init(void)
  
  subsys_initcall(pcibios_init);
  
  #ifdef CONFIG_HOTPLUG
  
  int pcibios_unmap_io_space(struct pci_bus *bus)
-@@ -719,8 +466,7 @@
+@@ -719,8 +466,7 @@ int pcibios_unmap_io_space(struct pci_bu
        if (hose->io_base_alloc == 0)
                return 0;
  
        DBG("  alloc=0x%p\n", hose->io_base_alloc);
  
        /* This is a PHB, we fully unmap the IO area */
-@@ -779,8 +525,7 @@
+@@ -779,8 +525,7 @@ int __devinit pcibios_map_io_space(struc
        hose->io_base_virt = (void __iomem *)(area->addr +
                                              hose->io_base_phys - phys_page);
  
        DBG("  phys=0x%016lx, virt=0x%p (alloc=0x%p)\n",
            hose->io_base_phys, hose->io_base_virt, hose->io_base_alloc);
        DBG("  size=0x%016lx (alloc=0x%016lx)\n",
-@@ -803,51 +548,13 @@
+@@ -803,51 +548,13 @@ int __devinit pcibios_map_io_space(struc
  }
  EXPORT_SYMBOL_GPL(pcibios_map_io_space);
  
            sd->of_node ? sd->of_node->full_name : "<none>");
  
        sd->dma_ops = pci_dma_ops;
-@@ -861,7 +568,7 @@
+@@ -861,7 +568,7 @@ void __devinit pcibios_setup_new_device(
  }
  EXPORT_SYMBOL(pcibios_setup_new_device);
  
  {
        struct pci_dev *dev;
  
-@@ -870,42 +577,7 @@
+@@ -870,42 +577,7 @@ static void __devinit do_bus_setup(struc
  
        list_for_each_entry(dev, &bus->devices, bus_list)
                pcibios_setup_new_device(dev);
  {
 --- a/arch/powerpc/kernel/pci_dn.c
 +++ b/arch/powerpc/kernel/pci_dn.c
-@@ -56,11 +56,6 @@
+@@ -56,11 +56,6 @@ static void * __devinit update_dn_pci_in
                pdn->busno = (regs[0] >> 16) & 0xff;
                pdn->devfn = (regs[0] >> 8) & 0xff;
        }
  
        pdn->pci_ext_config_space = (type && *type == 1);
        return NULL;
-@@ -133,7 +128,7 @@
+@@ -133,7 +128,7 @@ void *traverse_pci_devices(struct device
   */
  void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb)
  {
        /* PHB nodes themselves must not match */
 --- a/arch/powerpc/kernel/ppc_ksyms.c
 +++ b/arch/powerpc/kernel/ppc_ksyms.c
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,7 @@ extern void single_step_exception(struct
  extern int sys_sigreturn(struct pt_regs *regs);
  
  EXPORT_SYMBOL(clear_pages);
  EXPORT_SYMBOL(DMA_MODE_WRITE);
 --- a/arch/powerpc/kernel/prom.c
 +++ b/arch/powerpc/kernel/prom.c
-@@ -583,6 +583,20 @@
+@@ -583,6 +583,20 @@ static void __init check_cpu_pa_features
                      ibm_pa_features, ARRAY_SIZE(ibm_pa_features));
  }
  
  static struct feature_property {
        const char *name;
        u32 min_value;
-@@ -600,6 +614,29 @@
+@@ -600,6 +614,29 @@ static struct feature_property {
  #endif /* CONFIG_PPC64 */
  };
  
  static void __init check_cpu_feature_properties(unsigned long node)
  {
        unsigned long i;
-@@ -697,22 +734,13 @@
+@@ -697,22 +734,13 @@ static int __init early_init_dt_scan_cpu
                prop = of_get_flat_dt_prop(node, "cpu-version", NULL);
                if (prop && (*prop & 0xff000000) == 0x0f000000)
                        identify_cpu(0, *prop);
        if (nthreads > 1)
 --- a/arch/powerpc/kernel/prom_parse.c
 +++ b/arch/powerpc/kernel/prom_parse.c
-@@ -273,7 +273,7 @@
+@@ -273,7 +273,7 @@ int of_irq_map_pci(struct pci_dev *pdev,
  #else
                        struct pci_controller *host;
                        host = pci_bus_to_host(pdev->bus);
  #endif
                        /* No node for host bridge ? give up */
                        if (ppnode == NULL)
-@@ -419,7 +419,7 @@
+@@ -419,7 +419,7 @@ static struct of_bus *of_match_bus(struc
  
  static int of_translate_one(struct device_node *parent, struct of_bus *bus,
                            struct of_bus *pbus, u32 *addr,
  {
        const u32 *ranges;
        unsigned int rlen;
-@@ -438,7 +438,7 @@
+@@ -438,7 +438,7 @@ static int of_translate_one(struct devic
         * to translate addresses that aren't supposed to be translated in
         * the first place. --BenH.
         */
        if (ranges == NULL || rlen == 0) {
                offset = of_read_number(addr, na);
                memset(addr, 0, pna * 4);
-@@ -481,7 +481,8 @@
+@@ -481,7 +481,8 @@ static int of_translate_one(struct devic
   * that can be mapped to a cpu physical address). This is not really specified
   * that way, but this is traditionally the way IBM at least do things
   */
  {
        struct device_node *parent = NULL;
        struct of_bus *bus, *pbus;
-@@ -540,7 +541,7 @@
+@@ -540,7 +541,7 @@ u64 of_translate_address(struct device_n
                    pbus->name, pna, pns, parent->full_name);
  
                /* Apply bus translation */
                        break;
  
                /* Complete the move up one level */
-@@ -556,8 +557,19 @@
+@@ -556,8 +557,19 @@ u64 of_translate_address(struct device_n
  
        return result;
  }
 +subsys_initcall(ppc_rio_init);
 --- a/arch/powerpc/kernel/rtas_pci.c
 +++ b/arch/powerpc/kernel/rtas_pci.c
-@@ -260,7 +260,7 @@
+@@ -260,7 +260,7 @@ static int phb_set_bus_ranges(struct dev
  
  int __devinit rtas_setup_phb(struct pci_controller *phb)
  {
  
        if (is_python(dev))
                python_countermeasures(dev);
-@@ -280,10 +280,7 @@
+@@ -280,10 +280,7 @@ void __init find_and_init_phbs(void)
        struct pci_controller *phb;
        struct device_node *root = of_find_node_by_path("/");
  
                if (node->type == NULL || (strcmp(node->type, "pci") != 0 &&
                                           strcmp(node->type, "pciex") != 0))
                        continue;
-@@ -311,10 +308,12 @@
+@@ -311,10 +308,12 @@ void __init find_and_init_phbs(void)
                if (prop)
                        pci_probe_only = *prop;
  
  
  #include "setup.h"
  
-@@ -327,6 +329,31 @@
+@@ -327,6 +329,31 @@ void __init check_for_initrd(void)
  
  #ifdef CONFIG_SMP
  
  /**
   * setup_cpu_maps - initialize the following cpu maps:
   *                  cpu_possible_map
-@@ -350,22 +377,32 @@
+@@ -350,22 +377,32 @@ void __init smp_setup_cpu_maps(void)
  {
        struct device_node *dn = NULL;
        int cpu = 0;
                        cpu_set(cpu, cpu_present_map);
                        set_hard_smp_processor_id(cpu, intserv[j]);
                        cpu_set(cpu, cpu_possible_map);
-@@ -373,6 +410,12 @@
+@@ -373,6 +410,12 @@ void __init smp_setup_cpu_maps(void)
                }
        }
  
  #ifdef CONFIG_PPC64
        /*
         * On pSeries LPAR, we need to know how many cpus
-@@ -395,7 +438,7 @@
+@@ -395,7 +438,7 @@ void __init smp_setup_cpu_maps(void)
  
                /* Double maxcpus for processors which have SMT capability */
                if (cpu_has_feature(CPU_FTR_SMT))
  
                if (maxcpus > NR_CPUS) {
                        printk(KERN_WARNING
-@@ -412,9 +455,16 @@
+@@ -412,9 +455,16 @@ void __init smp_setup_cpu_maps(void)
        out:
                of_node_put(dn);
        }
  }
  
  /*
-@@ -424,17 +474,19 @@
+@@ -424,17 +474,19 @@ void __init smp_setup_cpu_maps(void)
   */
  void __init smp_setup_cpu_sibling_map(void)
  {
  #include <linux/tty.h>
 --- a/arch/powerpc/kernel/smp.c
 +++ b/arch/powerpc/kernel/smp.c
-@@ -76,6 +76,8 @@
+@@ -76,6 +76,8 @@ void smp_call_function_interrupt(void);
  
  int smt_enabled_at_boot = 1;
  
  static void (*crash_ipi_function_ptr)(struct pt_regs *) = NULL;
  
  #ifdef CONFIG_PPC64
-@@ -181,12 +183,13 @@
+@@ -181,12 +183,13 @@ static struct call_data_struct {
   * <wait> If true, wait (atomically) until function has completed on other CPUs.
   * [RETURNS] 0 on success, else a negative status code. Does not return until
   * remote CPUs are nearly ready to execute <<func>> or are or have executed.
  {
        struct call_data_struct data;
        int ret = -1, num_cpus;
-@@ -203,8 +206,6 @@
+@@ -203,8 +206,6 @@ int smp_call_function_map(void (*func) (
        if (wait)
                atomic_set(&data.finished, 0);
  
        /* remove 'self' from the map */
        if (cpu_isset(smp_processor_id(), map))
                cpu_clear(smp_processor_id(), map);
-@@ -231,7 +232,8 @@
+@@ -231,7 +232,8 @@ int smp_call_function_map(void (*func) (
                        printk("smp_call_function on cpu %d: other cpus not "
                                "responding (%d)\n", smp_processor_id(),
                                atomic_read(&data.started));
                        goto out;
                }
        }
-@@ -258,14 +260,18 @@
+@@ -258,14 +260,18 @@ int smp_call_function_map(void (*func) (
   out:
        call_data = NULL;
        HMT_medium();
  }
  
  int smp_call_function(void (*func) (void *info), void *info, int nonatomic,
-@@ -278,8 +284,8 @@
+@@ -278,8 +284,8 @@ int smp_call_function(void (*func) (void
  }
  EXPORT_SYMBOL(smp_call_function);
  
  {
        cpumask_t map = CPU_MASK_NONE;
        int ret = 0;
-@@ -291,9 +297,11 @@
+@@ -291,9 +297,11 @@ int smp_call_function_single(int cpu, vo
                return -EINVAL;
  
        cpu_set(cpu, map);
                local_irq_disable();
                func(info);
                local_irq_enable();
-@@ -305,7 +313,22 @@
+@@ -305,7 +313,22 @@ EXPORT_SYMBOL(smp_call_function_single);
  
  void smp_send_stop(void)
  {
 +      }' "$1"
 --- a/arch/powerpc/kernel/time.c
 +++ b/arch/powerpc/kernel/time.c
-@@ -116,9 +116,12 @@
+@@ -116,9 +116,12 @@ static struct clock_event_device decreme
         .features       = CLOCK_EVT_FEAT_ONESHOT,
  };
  
  
  #ifdef CONFIG_PPC_ISERIES
  static unsigned long __initdata iSeries_recal_titan;
-@@ -216,7 +219,11 @@
+@@ -216,7 +219,11 @@ static u64 read_purr(void)
   */
  static u64 read_spurr(u64 purr)
  {
                return mfspr(SPRN_SPURR);
        return purr;
  }
-@@ -227,29 +234,30 @@
+@@ -227,29 +234,30 @@ static u64 read_spurr(u64 purr)
   */
  void account_system_vtime(struct task_struct *tsk)
  {
        get_paca()->spurrdelta = deltascaled;
        local_irq_restore(flags);
  }
-@@ -326,11 +334,9 @@
+@@ -326,11 +334,9 @@ void calculate_steal_time(void)
        s64 stolen;
        struct cpu_purr_data *pme;
  
        tb = mftb();
        purr = mfspr(SPRN_PURR);
        stolen = (tb - pme->tb) - (purr - pme->purr);
-@@ -353,7 +359,7 @@
+@@ -353,7 +359,7 @@ static void snapshot_purr(void)
        if (!cpu_has_feature(CPU_FTR_PURR))
                return;
        local_irq_save(flags);
        pme->tb = mftb();
        pme->purr = mfspr(SPRN_PURR);
        pme->initialized = 1;
-@@ -556,8 +562,8 @@
+@@ -556,8 +562,8 @@ void __init iSeries_time_init_early(void
  void timer_interrupt(struct pt_regs * regs)
  {
        struct pt_regs *old_regs;
        u64 now;
  
        /* Ensure a positive value is written to the decrementer, or else
-@@ -570,9 +576,9 @@
+@@ -570,9 +576,9 @@ void timer_interrupt(struct pt_regs * re
  #endif
  
        now = get_tb_or_rtc();
                if (now <= DECREMENTER_MAX)
                        set_dec((int)now);
                return;
-@@ -623,6 +629,45 @@
+@@ -623,6 +629,45 @@ void wakeup_decrementer(void)
        set_dec(ticks);
  }
  
  #ifdef CONFIG_SMP
  void __init smp_space_timers(unsigned int max_cpus)
  {
-@@ -811,7 +856,7 @@
+@@ -811,7 +856,7 @@ void __init clocksource_init(void)
  static int decrementer_set_next_event(unsigned long evt,
                                      struct clock_event_device *dev)
  {
        set_dec(evt);
        return 0;
  }
-@@ -825,7 +870,7 @@
+@@ -825,7 +870,7 @@ static void decrementer_set_mode(enum cl
  
  static void register_decrementer_clockevent(int cpu)
  {
  
        *dec = decrementer_clockevent;
        dec->cpumask = cpumask_of_cpu(cpu);
-@@ -836,7 +881,7 @@
+@@ -836,7 +881,7 @@ static void register_decrementer_clockev
        clockevents_register_device(dec);
  }
  
  
 --- a/arch/powerpc/kernel/traps.c
 +++ b/arch/powerpc/kernel/traps.c
-@@ -334,18 +334,25 @@
+@@ -334,18 +334,25 @@ static inline int check_io_access(struct
  #define clear_single_step(regs)       ((regs)->msr &= ~MSR_SE)
  #endif
  
        printk("Machine check in kernel mode.\n");
        if (reason & ESR_IMCP){
                printk("Instruction Synchronous Machine Check exception\n");
-@@ -375,7 +382,13 @@
+@@ -375,7 +382,13 @@ static int generic_machine_check_excepti
                /* Clear MCSR */
                mtspr(SPRN_MCSR, mcsr);
        }
        printk("Machine check in kernel mode.\n");
        printk("Caused by (from MCSR=%lx): ", reason);
  
-@@ -403,7 +416,14 @@
+@@ -403,7 +416,14 @@ static int generic_machine_check_excepti
                printk("Bus - Instruction Parity Error\n");
        if (reason & MCSR_BUS_RPERR)
                printk("Bus - Read Parity Error\n");
        printk("Machine check in kernel mode.\n");
        printk("Caused by (from MCSR=%lx): ", reason);
  
-@@ -421,7 +441,14 @@
+@@ -421,7 +441,14 @@ static int generic_machine_check_excepti
                printk("Bus - Read Bus Error on data load\n");
        if (reason & MCSR_BUS_WRERR)
                printk("Bus - Write Bus Error on buffered store or cache line push\n");
        printk("Machine check in kernel mode.\n");
        printk("Caused by (from SRR1=%lx): ", reason);
        switch (reason & 0x601F0000) {
-@@ -451,22 +478,26 @@
+@@ -451,22 +478,26 @@ static int generic_machine_check_excepti
        default:
                printk("Unknown values in msr\n");
        }
                return;
  
        if (user_mode(regs)) {
-@@ -476,7 +507,12 @@
+@@ -476,7 +507,12 @@ void machine_check_exception(struct pt_r
        }
  
  #if defined(CONFIG_8xx) && defined(CONFIG_PCI)
        bad_page_fault(regs, regs->dar, SIGBUS);
        return;
  #endif
-@@ -622,6 +658,9 @@
+@@ -622,6 +658,9 @@ static void parse_fpe(struct pt_regs *re
  #define INST_POPCNTB          0x7c0000f4
  #define INST_POPCNTB_MASK     0xfc0007fe
  
  static int emulate_string_inst(struct pt_regs *regs, u32 instword)
  {
        u8 rT = (instword >> 21) & 0x1f;
-@@ -707,6 +746,23 @@
+@@ -707,6 +746,23 @@ static int emulate_popcntb_inst(struct p
        return 0;
  }
  
  static int emulate_instruction(struct pt_regs *regs)
  {
        u32 instword;
-@@ -749,6 +805,11 @@
+@@ -749,6 +805,11 @@ static int emulate_instruction(struct pt
                return emulate_popcntb_inst(regs, instword);
        }
  
  
 --- a/arch/powerpc/kernel/udbg.c
 +++ b/arch/powerpc/kernel/udbg.c
-@@ -54,9 +54,16 @@
+@@ -54,9 +54,16 @@ void __init udbg_early_init(void)
  #elif defined(CONFIG_PPC_EARLY_DEBUG_44x)
        /* PPC44x debug */
        udbg_init_44x_as1();
  /* udbg library, used by xmon et al */
 --- a/arch/powerpc/kernel/udbg_16550.c
 +++ b/arch/powerpc/kernel/udbg_16550.c
-@@ -46,7 +46,7 @@
+@@ -46,7 +46,7 @@ struct NS16550 {
  
  #define LCR_DLAB 0x80
  
  
  static void udbg_550_putc(char c)
  {
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ unsigned int udbg_probe_uart_speed(void 
  {
        unsigned int dll, dlm, divisor, prescaler, speed;
        u8 old_lcr;
  
        old_lcr = in_8(&port->lcr);
  
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ void udbg_maple_real_putc(char c)
  
  void __init udbg_init_maple_realmode(void)
  {
  
        udbg_putc = udbg_maple_real_putc;
        udbg_getc = NULL;
-@@ -184,7 +184,7 @@
+@@ -184,7 +184,7 @@ void udbg_pas_real_putc(char c)
  
  void udbg_init_pas_realmode(void)
  {
  
        udbg_putc = udbg_pas_real_putc;
        udbg_getc = NULL;
-@@ -219,9 +219,42 @@
+@@ -219,9 +219,42 @@ static int udbg_44x_as1_getc(void)
  void __init udbg_init_44x_as1(void)
  {
        udbg_comport =
  #ifndef __FP_FRAC_ADDI_4
 --- a/arch/powerpc/mm/fault.c
 +++ b/arch/powerpc/mm/fault.c
-@@ -167,10 +167,8 @@
+@@ -167,10 +167,8 @@ int __kprobes do_page_fault(struct pt_re
        if (notify_page_fault(regs))
                return 0;
  
  
        /* On a kernel SLB miss we can only check for a valid exception entry */
        if (!user_mode(regs) && (address >= TASK_SIZE))
-@@ -189,7 +187,7 @@
+@@ -189,7 +187,7 @@ int __kprobes do_page_fault(struct pt_re
                        return SIGSEGV;
                /* in_atomic() in user mode is really bad,
                   as is current->mm == NULL. */
                       regs->nip, regs->msr);
 --- a/arch/powerpc/mm/fsl_booke_mmu.c
 +++ b/arch/powerpc/mm/fsl_booke_mmu.c
-@@ -165,15 +165,15 @@
+@@ -165,15 +165,15 @@ void invalidate_tlbcam_entry(int index)
  void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1,
                unsigned long cam2)
  {
  
 --- a/arch/powerpc/mm/hash_utils_64.c
 +++ b/arch/powerpc/mm/hash_utils_64.c
-@@ -96,6 +96,7 @@
+@@ -96,6 +96,7 @@ int mmu_vmalloc_psize = MMU_PAGE_4K;
  int mmu_io_psize = MMU_PAGE_4K;
  int mmu_kernel_ssize = MMU_SEGSIZE_256M;
  int mmu_highuser_ssize = MMU_SEGSIZE_256M;
  #ifdef CONFIG_HUGETLB_PAGE
  int mmu_huge_psize = MMU_PAGE_16M;
  unsigned int HPAGE_SHIFT;
-@@ -368,18 +369,11 @@
+@@ -368,18 +369,11 @@ static void __init htab_init_page_sizes(
         * on what is available
         */
        if (mmu_psize_defs[MMU_PAGE_16M].shift)
  #define HUGEPD_SIZE           (1UL << HUGEPD_SHIFT)
  #define HUGEPD_MASK           (~(HUGEPD_SIZE-1))
  
-@@ -82,11 +81,35 @@
+@@ -82,11 +81,35 @@ static int __hugepte_alloc(struct mm_str
        return 0;
  }
  
  
        BUG_ON(get_slice_psize(mm, addr) != mmu_huge_psize);
  
-@@ -96,14 +119,9 @@
+@@ -96,14 +119,9 @@ pte_t *huge_pte_offset(struct mm_struct 
        if (!pgd_none(*pg)) {
                pu = pud_offset(pg, addr);
                if (!pud_none(*pu)) {
                }
        }
  
-@@ -114,6 +132,7 @@
+@@ -114,6 +132,7 @@ pte_t *huge_pte_alloc(struct mm_struct *
  {
        pgd_t *pg;
        pud_t *pu;
        hugepd_t *hpdp = NULL;
  
        BUG_ON(get_slice_psize(mm, addr) != mmu_huge_psize);
-@@ -124,14 +143,9 @@
+@@ -124,14 +143,9 @@ pte_t *huge_pte_alloc(struct mm_struct *
        pu = pud_alloc(mm, pg, addr);
  
        if (pu) {
        }
  
        if (! hpdp)
-@@ -158,7 +172,6 @@
+@@ -158,7 +172,6 @@ static void free_hugepte_range(struct mm
                                                 PGF_CACHENUM_MASK));
  }
  
  static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
                                   unsigned long addr, unsigned long end,
                                   unsigned long floor, unsigned long ceiling)
-@@ -191,7 +204,6 @@
+@@ -191,7 +204,6 @@ static void hugetlb_free_pmd_range(struc
        pud_clear(pud);
        pmd_free_tlb(tlb, pmd);
  }
  
  static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
                                   unsigned long addr, unsigned long end,
-@@ -210,9 +222,15 @@
+@@ -210,9 +222,15 @@ static void hugetlb_free_pud_range(struc
                        continue;
                hugetlb_free_pmd_range(tlb, pud, addr, next, floor, ceiling);
  #else
  #endif
        } while (pud++, addr = next, addr != end);
  
-@@ -526,6 +544,57 @@
+@@ -526,6 +544,57 @@ repeat:
        return err;
  }
  
        memset(addr, 0, kmem_cache_size(cache));
 --- a/arch/powerpc/mm/lmb.c
 +++ b/arch/powerpc/mm/lmb.c
-@@ -342,3 +342,16 @@
+@@ -342,3 +342,16 @@ void __init lmb_enforce_memory_limit(uns
                }
        }
  }
 +}
 --- a/arch/powerpc/mm/mem.c
 +++ b/arch/powerpc/mm/mem.c
-@@ -213,15 +213,30 @@
+@@ -213,15 +213,30 @@ void __init do_init_bootmem(void)
         */
  #ifdef CONFIG_HIGHMEM
        free_bootmem_with_active_regions(0, total_lowmem >> PAGE_SHIFT);
        /* XXX need to clip this if using highmem? */
        sparse_memory_present_with_active_regions(0);
  
-@@ -334,11 +349,13 @@
+@@ -334,11 +349,13 @@ void __init mem_init(void)
                highmem_mapnr = total_lowmem >> PAGE_SHIFT;
                for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) {
                        struct page *page = pfn_to_page(pfn);
                printk(KERN_DEBUG "High memory: %luk\n",
 --- a/arch/powerpc/mm/slb.c
 +++ b/arch/powerpc/mm/slb.c
-@@ -256,6 +256,7 @@
+@@ -256,6 +256,7 @@ void slb_initialize(void)
        static int slb_encoding_inited;
        extern unsigned int *slb_miss_kernel_load_linear;
        extern unsigned int *slb_miss_kernel_load_io;
  
        /* Prepare our SLB miss handler based on our page size */
        linear_llp = mmu_psize_defs[mmu_linear_psize].sllp;
-@@ -269,6 +270,8 @@
+@@ -269,6 +270,8 @@ void slb_initialize(void)
                                   SLB_VSID_KERNEL | linear_llp);
                patch_slb_encoding(slb_miss_kernel_load_io,
                                   SLB_VSID_KERNEL | io_llp);
                DBG("SLB: io      LLP = %04x\n", io_llp);
 --- a/arch/powerpc/mm/slb_low.S
 +++ b/arch/powerpc/mm/slb_low.S
-@@ -227,8 +227,9 @@
+@@ -227,8 +227,9 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
  
  7:    ld      r10,PACASTABRR(r13)
        addi    r10,r10,1
        li      r10,SLB_NUM_BOLTED
 --- a/arch/powerpc/oprofile/op_model_cell.c
 +++ b/arch/powerpc/oprofile/op_model_cell.c
-@@ -61,7 +61,7 @@
+@@ -61,7 +61,7 @@ static unsigned int spu_cycle_reset;
  #define NUM_THREADS 2         /* number of physical threads in
                               * physical processor
                               */
  #define NUM_INPUT_BUS_WORDS 2
  
  #define MAX_SPU_COUNT 0xFFFFFF        /* maximum 24 bit LFSR value */
-@@ -169,7 +169,6 @@
+@@ -169,7 +169,6 @@ static DEFINE_SPINLOCK(virt_cntr_lock);
  
  static u32 ctr_enabled;
  
  static unsigned char input_bus[NUM_INPUT_BUS_WORDS];
  
  /*
-@@ -298,7 +297,7 @@
+@@ -298,7 +297,7 @@ static void set_pm_event(u32 ctr, int ev
  
        p->signal_group = event / 100;
        p->bus_word = bus_word;
  
        pm_regs.pm07_cntrl[ctr] = 0;
        pm_regs.pm07_cntrl[ctr] |= PM07_CTR_COUNT_CYCLES(count_cycles);
-@@ -334,16 +333,16 @@
+@@ -334,16 +333,16 @@ static void set_pm_event(u32 ctr, int ev
                p->bit = signal_bit;
        }
  
  
                                        break;
                                }
-@@ -450,6 +449,12 @@
+@@ -450,6 +449,12 @@ static void cell_virtual_cntr(unsigned l
        hdw_thread = 1 ^ hdw_thread;
        next_hdw_thread = hdw_thread;
  
        /*
         * There are some per thread events.  Must do the
         * set event, for the thread that is being started
-@@ -619,9 +624,6 @@
+@@ -619,9 +624,6 @@ static int cell_reg_setup(struct op_coun
                pmc_cntrl[1][i].vcntr = i;
        }
  
  #config REDWOOD_5
  #     bool "Redwood-5"
  #     depends on 40x
-@@ -65,6 +71,7 @@
+@@ -65,6 +71,7 @@ config WALNUT
        depends on 40x
        default y
        select 405GP
        help
          This option enables support for the IBM PPC405GP evaluation board.
  
-@@ -105,6 +112,11 @@
+@@ -105,6 +112,11 @@ config 405GP
  config 405EP
        bool
  
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
-@@ -29,14 +30,11 @@
+@@ -29,14 +30,11 @@ static struct of_device_id kilauea_of_bu
  
  static int __init kilauea_device_probe(void)
  {
  
  static int __init kilauea_probe(void)
  {
-@@ -45,6 +43,8 @@
+@@ -45,6 +43,8 @@ static int __init kilauea_probe(void)
        if (!of_flat_dt_is_compatible(root, "amcc,kilauea"))
                return 0;
  
        { .compatible = "ibm,plb3", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
-@@ -34,15 +35,12 @@
+@@ -34,15 +35,12 @@ static struct of_device_id walnut_of_bus
  
  static int __init walnut_device_probe(void)
  {
  
  static int __init walnut_probe(void)
  {
-@@ -51,6 +49,8 @@
+@@ -51,6 +49,8 @@ static int __init walnut_probe(void)
        if (!of_flat_dt_is_compatible(root, "ibm,walnut"))
                return 0;
  
  
 --- a/arch/powerpc/platforms/44x/Kconfig
 +++ b/arch/powerpc/platforms/44x/Kconfig
-@@ -3,6 +3,7 @@
+@@ -3,6 +3,7 @@ config BAMBOO
        depends on 44x
        default n
        select 440EP
        help
          This option enables support for the IBM PPC440EP evaluation board.
  
-@@ -11,6 +12,8 @@
+@@ -11,6 +12,8 @@ config EBONY
        depends on 44x
        default y
        select 440GP
        help
          This option enables support for the IBM PPC440GP evaluation board.
  
-@@ -22,6 +25,48 @@
+@@ -22,6 +25,48 @@ config SEQUOIA
        help
          This option enables support for the AMCC PPC440EPX evaluation board.
  
  #config LUAN
  #     bool "Luan"
  #     depends on 44x
-@@ -44,6 +89,7 @@
+@@ -44,6 +89,7 @@ config 440EP
        select PPC_FPU
        select IBM440EP_ERR42
        select IBM_NEW_EMAC_ZMII
  
  config 440EPX
        bool
-@@ -52,20 +98,29 @@
+@@ -52,20 +98,29 @@ config 440EPX
        select IBM_NEW_EMAC_RGMII
        select IBM_NEW_EMAC_ZMII
  
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
-@@ -32,14 +34,11 @@
+@@ -32,14 +34,11 @@ static struct of_device_id bamboo_of_bus
  
  static int __init bamboo_device_probe(void)
  {
  
  static int __init bamboo_probe(void)
  {
-@@ -48,6 +47,8 @@
+@@ -48,6 +47,8 @@ static int __init bamboo_probe(void)
        if (!of_flat_dt_is_compatible(root, "amcc,bamboo"))
                return 0;
  
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
-@@ -36,14 +38,12 @@
+@@ -36,14 +38,12 @@ static struct of_device_id ebony_of_bus[
  
  static int __init ebony_device_probe(void)
  {
  
  /*
   * Called very early, MMU is off, device-tree isn't unflattened
-@@ -55,6 +55,8 @@
+@@ -55,6 +55,8 @@ static int __init ebony_probe(void)
        if (!of_flat_dt_is_compatible(root, "ibm,ebony"))
                return 0;
  
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
-@@ -32,14 +34,11 @@
+@@ -32,14 +34,11 @@ static struct of_device_id sequoia_of_bu
  
  static int __init sequoia_device_probe(void)
  {
  
  static int __init sequoia_probe(void)
  {
-@@ -48,6 +47,8 @@
+@@ -48,6 +47,8 @@ static int __init sequoia_probe(void)
        if (!of_flat_dt_is_compatible(root, "amcc,sequoia"))
                return 0;
  
 +#endif
 --- a/arch/powerpc/platforms/52xx/Kconfig
 +++ b/arch/powerpc/platforms/52xx/Kconfig
-@@ -19,6 +19,28 @@
+@@ -19,6 +19,28 @@ config PPC_MPC5200_BUGFIX
  
          It is safe to say 'Y' here
  
  config PPC_EFIKA
        bool "bPlan Efika 5k2. MPC5200B based computer"
        depends on PPC_MULTIPLATFORM && PPC32
-@@ -31,8 +53,7 @@
+@@ -31,8 +53,7 @@ config PPC_EFIKA
  config PPC_LITE5200
        bool "Freescale Lite5200 Eval Board"
        depends on PPC_MULTIPLATFORM && PPC32
 -
 --- a/arch/powerpc/platforms/52xx/Makefile
 +++ b/arch/powerpc/platforms/52xx/Makefile
-@@ -6,6 +6,7 @@
+@@ -6,6 +6,7 @@ obj-y                          += mpc52xx_pic.o mpc52xx_common
  obj-$(CONFIG_PCI)             += mpc52xx_pci.o
  endif
  
        if (!cdm) {
                printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
                       __FUNCTION__);
-@@ -74,10 +77,13 @@
+@@ -74,10 +77,13 @@ lite5200_fix_clock_config(void)
  static void __init
  lite5200_fix_port_config(void)
  {
        if (!gpio) {
                printk(KERN_ERR "%s() failed. expect abnormal behavior\n",
                       __FUNCTION__);
-@@ -131,10 +137,6 @@
+@@ -131,10 +137,6 @@ static void lite5200_resume_finish(void 
  
  static void __init lite5200_setup_arch(void)
  {
        if (ppc_md.progress)
                ppc_md.progress("lite5200_setup_arch()", 0);
  
-@@ -154,13 +156,7 @@
+@@ -154,13 +156,7 @@ static void __init lite5200_setup_arch(v
        lite5200_pm_init();
  #endif
  
  /*
 --- a/arch/powerpc/platforms/52xx/lite5200_pm.c
 +++ b/arch/powerpc/platforms/52xx/lite5200_pm.c
-@@ -42,6 +42,8 @@
+@@ -42,6 +42,8 @@ static int lite5200_pm_set_target(suspen
  
  static int lite5200_pm_prepare(void)
  {
        /* deep sleep? let mpc52xx code handle that */
        if (lite5200_pm_target_state == PM_SUSPEND_STANDBY)
                return mpc52xx_pm_prepare();
-@@ -50,7 +52,9 @@
+@@ -50,7 +52,9 @@ static int lite5200_pm_prepare(void)
                return -EINVAL;
  
        /* map registers */
  /**
   *    mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
   *    @node:  device node
-@@ -101,9 +62,12 @@
+@@ -101,9 +62,12 @@ EXPORT_SYMBOL(mpc52xx_find_ipb_freq);
  void __init
  mpc5200_setup_xlb_arbiter(void)
  {
        if (!xlb) {
                printk(KERN_ERR __FILE__ ": "
                        "Error mapping XLB in mpc52xx_setup_cpu().  "
-@@ -124,11 +88,21 @@
+@@ -124,11 +88,21 @@ mpc5200_setup_xlb_arbiter(void)
        iounmap(xlb);
  }
  
                printk(KERN_ERR __FILE__ ": "
                        "Error while probing of_platform bus\n");
  }
-@@ -146,16 +120,19 @@
+@@ -146,16 +120,19 @@ mpc52xx_map_wdt(void)
        for_each_compatible_node(np, NULL, "fsl,mpc5200-gpt") {
                has_wdt = of_get_property(np, "fsl,has-wdt", NULL);
                if (has_wdt) {
  
 --- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
 +++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
-@@ -363,7 +363,7 @@
+@@ -363,7 +363,7 @@ mpc52xx_add_bridge(struct device_node *n
  
        pr_debug("Adding MPC52xx PCI host bridge %s\n", node->full_name);
  
  
        if (of_address_to_resource(node, 0, &rsrc) != 0) {
                printk(KERN_ERR "Can't get %s resources\n", node->full_name);
-@@ -406,3 +406,17 @@
+@@ -406,3 +406,17 @@ mpc52xx_add_bridge(struct device_node *n
  
        return 0;
  }
 +}
 --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c
 +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
-@@ -364,16 +364,18 @@
+@@ -364,16 +364,18 @@ void __init mpc52xx_init_irq(void)
  {
        u32 intr_ctrl;
        struct device_node *picnode;
                                "Check node !");
 --- a/arch/powerpc/platforms/52xx/mpc52xx_pm.c
 +++ b/arch/powerpc/platforms/52xx/mpc52xx_pm.c
-@@ -59,10 +59,14 @@
+@@ -59,10 +59,14 @@ int mpc52xx_set_wakeup_gpio(u8 pin, u8 l
  
  int mpc52xx_pm_prepare(void)
  {
        /* these offsets are from mpc5200 users manual */
 --- a/arch/powerpc/platforms/82xx/Kconfig
 +++ b/arch/powerpc/platforms/82xx/Kconfig
-@@ -26,6 +26,19 @@
+@@ -26,6 +26,19 @@ config PQ2FADS
        help
          This option enables support for the PQ2FADS board
  
  config PQ2ADS
 --- a/arch/powerpc/platforms/82xx/Makefile
 +++ b/arch/powerpc/platforms/82xx/Makefile
-@@ -5,3 +5,4 @@
+@@ -5,3 +5,4 @@ obj-$(CONFIG_MPC8272_ADS) += mpc8272_ads
  obj-$(CONFIG_CPM2) += pq2.o
  obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o
  obj-$(CONFIG_PQ2FADS) += pq2fads.o
 +};
 --- a/arch/powerpc/platforms/82xx/pq2.c
 +++ b/arch/powerpc/platforms/82xx/pq2.c
-@@ -53,13 +53,13 @@
+@@ -53,13 +53,13 @@ static void __init pq2_pci_add_bridge(st
        if (of_address_to_resource(np, 0, &r) || r.end - r.start < 0x10b)
                goto err;
  
  #include <sysdev/fsl_soc.h>
 --- a/arch/powerpc/platforms/83xx/Kconfig
 +++ b/arch/powerpc/platforms/83xx/Kconfig
-@@ -50,6 +50,11 @@
+@@ -50,6 +50,11 @@ config MPC836x_MDS
        help
          This option enables support for the MPC836x MDS Processor Board.
  
  endchoice
  
  config PPC_MPC831x
-@@ -75,3 +80,9 @@
+@@ -75,3 +80,9 @@ config PPC_MPC836x
        select PPC_UDBG_16550
        select PPC_INDIRECT_PCI
        default y if MPC836x_MDS
 +      default y if MPC837x_MDS
 --- a/arch/powerpc/platforms/83xx/Makefile
 +++ b/arch/powerpc/platforms/83xx/Makefile
-@@ -9,3 +9,4 @@
+@@ -9,3 +9,4 @@ obj-$(CONFIG_MPC834x_MDS)      += mpc834x_mds
  obj-$(CONFIG_MPC834x_ITX)     += mpc834x_itx.o
  obj-$(CONFIG_MPC836x_MDS)     += mpc836x_mds.o
  obj-$(CONFIG_MPC832x_MDS)     += mpc832x_mds.o
  
  #include <asm/time.h>
  #include <asm/ipic.h>
-@@ -70,11 +71,23 @@
+@@ -70,11 +71,23 @@ void __init mpc8313_rdb_init_IRQ(void)
   */
  static int __init mpc8313_rdb_probe(void)
  {
  #include <asm/system.h>
  #include <asm/atomic.h>
  #include <asm/time.h>
-@@ -110,15 +110,12 @@
+@@ -110,15 +110,12 @@ static struct of_device_id mpc832x_ids[]
  
  static int __init mpc832x_declare_of_platform_devices(void)
  {
  #include <asm/time.h>
  #include <asm/ipic.h>
  #include <asm/udbg.h>
-@@ -63,9 +63,6 @@
+@@ -63,9 +63,6 @@ static struct spi_board_info mpc832x_spi
  
  static int __init mpc832x_spi_init(void)
  {
        par_io_config_pin(3,  0, 3, 0, 1, 0); /* SPI1 MOSI, I/O */
        par_io_config_pin(3,  1, 3, 0, 1, 0); /* SPI1 MISO, I/O */
        par_io_config_pin(3,  2, 3, 0, 1, 0); /* SPI1 CLK,  I/O */
-@@ -80,7 +77,7 @@
+@@ -80,7 +77,7 @@ static int __init mpc832x_spi_init(void)
                            mpc83xx_spi_deactivate_cs);
  }
  
  
  /* ************************************************************************
   *
-@@ -123,15 +120,12 @@
+@@ -123,15 +120,12 @@ static struct of_device_id mpc832x_ids[]
  
  static int __init mpc832x_declare_of_platform_devices(void)
  {
  
  #include <asm/system.h>
  #include <asm/atomic.h>
-@@ -106,14 +107,27 @@
+@@ -106,14 +107,27 @@ static void __init mpc834x_mds_init_IRQ(
        ipic_set_default_priority();
  }
  
  #include <asm/system.h>
  #include <asm/atomic.h>
  #include <asm/time.h>
-@@ -141,15 +141,12 @@
+@@ -141,15 +141,12 @@ static struct of_device_id mpc836x_ids[]
  
  static int __init mpc836x_declare_of_platform_devices(void)
  {
  #define MPC83XX_SICRH_OFFS         0x118
 --- a/arch/powerpc/platforms/83xx/pci.c
 +++ b/arch/powerpc/platforms/83xx/pci.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ int __init mpc83xx_add_bridge(struct dev
                       " bus 0\n", dev->full_name);
        }
  
                return -ENOMEM;
 --- a/arch/powerpc/platforms/83xx/usb.c
 +++ b/arch/powerpc/platforms/83xx/usb.c
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ int mpc834x_usb_cfg(void)
        sicrl = in_be32(immap + MPC83XX_SICRL_OFFS) & ~MPC834X_SICRL_USB_MASK;
        sicrh = in_be32(immap + MPC83XX_SICRH_OFFS) & ~MPC834X_SICRH_USB_UTMI;
  
        if (np) {
                sccr |= MPC83XX_SCCR_USB_DRCM_11;  /* 1:3 */
  
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ int mpc834x_usb_cfg(void)
                port0_is_dr = 1;
                of_node_put(np);
        }
        if (np) {