kernel: refresh 3.9 patches
authorFlorian Fainelli <florian@openwrt.org>
Sun, 17 Mar 2013 19:46:32 +0000 (19:46 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 17 Mar 2013 19:46:32 +0000 (19:46 +0000)
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36074

target/linux/generic/patches-3.9/001-mips_fix_code_non_dsp_cpu.patch
target/linux/generic/patches-3.9/100-overlayfs.patch
target/linux/generic/patches-3.9/220-gc_sections.patch
target/linux/generic/patches-3.9/530-jffs2_make_lzma_available.patch
target/linux/generic/patches-3.9/702-phy_add_aneg_done_function.patch
target/linux/generic/patches-3.9/703-phy-add-detach-callback-to-struct-phy_driver.patch
target/linux/generic/patches-3.9/863-gpiommc.patch
target/linux/generic/patches-3.9/903-debloat_direct_io.patch
target/linux/generic/patches-3.9/992-mpcore_wdt_fix_watchdog_counter_loading.patch

index be8d74e959b3fbbfe8fc49157b48371ecb2ffce4..8d3507f14309e18e56212a977b1b4bb5cde94b37 100644 (file)
@@ -112,8 +112,6 @@ This should be part of your 3.9-rc3 pull request if I may ;)
  arch/mips/kernel/Makefile        |   14 ---
  2 files changed, 190 insertions(+), 33 deletions(-)
 
-diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
-index 12b70c2..0da44d4 100644
 --- a/arch/mips/include/asm/mipsregs.h
 +++ b/arch/mips/include/asm/mipsregs.h
 @@ -1166,7 +1166,10 @@ do {                                                                    \
@@ -345,8 +343,6 @@ index 12b70c2..0da44d4 100644
  
  #else
  
-diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
-index f81d98f..2e8a9c1 100644
 --- a/arch/mips/kernel/Makefile
 +++ b/arch/mips/kernel/Makefile
 @@ -109,20 +109,6 @@ obj-$(CONFIG_JUMP_LABEL)  += jump_label.o
@@ -370,6 +366,3 @@ index f81d98f..2e8a9c1 100644
  CFLAGS_signal.o                       = $(CFLAGS_DSP)
  CFLAGS_signal32.o             = $(CFLAGS_DSP)
  CFLAGS_process.o              = $(CFLAGS_DSP)
--- 
-1.7.10.4
-
index 2eda17b2cbabac81bb57f78cddb851201fb86346..2931e04c4607e02960a9a92f2887c4b63f032ed4 100644 (file)
@@ -1,5 +1,3 @@
-diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
-index 0706d32..4331290 100644
 --- a/Documentation/filesystems/Locking
 +++ b/Documentation/filesystems/Locking
 @@ -66,6 +66,7 @@ prototypes:
@@ -18,9 +16,6 @@ index 0706d32..4331290 100644
  
        Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
  victim.
-diff --git a/Documentation/filesystems/overlayfs.txt b/Documentation/filesystems/overlayfs.txt
-new file mode 100644
-index 0000000..00dbab0
 --- /dev/null
 +++ b/Documentation/filesystems/overlayfs.txt
 @@ -0,0 +1,199 @@
@@ -223,8 +218,6 @@ index 0000000..00dbab0
 +filesystem are not allowed.  If the underlying filesystem is changed,
 +the behavior of the overlay is undefined, though it will not result in
 +a crash or deadlock.
-diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
-index bc4b06b..f64a4d1 100644
 --- a/Documentation/filesystems/vfs.txt
 +++ b/Documentation/filesystems/vfs.txt
 @@ -362,6 +362,7 @@ struct inode_operations {
@@ -248,8 +241,6 @@ index bc4b06b..f64a4d1 100644
  
    invalidatepage: If a page has PagePrivate set, then invalidatepage
          will be called when part or all of the page is to be removed
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 9561658..9ea89b8 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -5872,6 +5872,13 @@ F:      drivers/scsi/osd/
@@ -266,8 +257,6 @@ index 9561658..9ea89b8 100644
  P54 WIRELESS DRIVER
  M:    Christian Lamparter <chunkeey@googlemail.com>
  L:    linux-wireless@vger.kernel.org
-diff --git a/fs/Kconfig b/fs/Kconfig
-index 780725a..9e2ccd5 100644
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
 @@ -67,6 +67,7 @@ source "fs/quota/Kconfig"
@@ -278,8 +267,6 @@ index 780725a..9e2ccd5 100644
  
  config GENERIC_ACL
        bool
-diff --git a/fs/Makefile b/fs/Makefile
-index 9d53192..479a720 100644
 --- a/fs/Makefile
 +++ b/fs/Makefile
 @@ -107,6 +107,7 @@ obj-$(CONFIG_QNX6FS_FS)            += qnx6/
@@ -290,11 +277,9 @@ index 9d53192..479a720 100644
  obj-$(CONFIG_UDF_FS)          += udf/
  obj-$(CONFIG_SUN_OPENPROMFS)  += openpromfs/
  obj-$(CONFIG_OMFS_FS)         += omfs/
-diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
-index e924cf4..8f7551e 100644
 --- a/fs/ecryptfs/main.c
 +++ b/fs/ecryptfs/main.c
-@@ -567,6 +567,13 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
+@@ -567,6 +567,13 @@ static struct dentry *ecryptfs_mount(str
        s->s_maxbytes = path.dentry->d_sb->s_maxbytes;
        s->s_blocksize = path.dentry->d_sb->s_blocksize;
        s->s_magic = ECRYPTFS_SUPER_MAGIC;
@@ -308,11 +293,9 @@ index e924cf4..8f7551e 100644
  
        inode = ecryptfs_get_inode(path.dentry->d_inode, s);
        rc = PTR_ERR(inode);
-diff --git a/fs/internal.h b/fs/internal.h
-index 507141f..89481ac 100644
 --- a/fs/internal.h
 +++ b/fs/internal.h
-@@ -42,11 +42,6 @@ static inline int __sync_blockdev(struct block_device *bdev, int wait)
+@@ -42,11 +42,6 @@ static inline int __sync_blockdev(struct
  extern void __init chrdev_init(void);
  
  /*
@@ -324,11 +307,9 @@ index 507141f..89481ac 100644
   * namespace.c
   */
  extern int copy_mount_options(const void __user *, unsigned long *);
-diff --git a/fs/namei.c b/fs/namei.c
-index 57ae9c8..e1cffbd 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
-@@ -402,6 +402,7 @@ int __inode_permission(struct inode *inode, int mask)
+@@ -402,6 +402,7 @@ int __inode_permission(struct inode *ino
  
        return security_inode_permission(inode, mask);
  }
@@ -352,11 +333,9 @@ index 57ae9c8..e1cffbd 100644
                if (error == -EOPENSTALE)
                        goto stale_open;
                goto out;
-diff --git a/fs/namespace.c b/fs/namespace.c
-index 50ca17d..9791b4e 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
-@@ -1399,6 +1399,24 @@ void drop_collected_mounts(struct vfsmount *mnt)
+@@ -1399,6 +1399,24 @@ void drop_collected_mounts(struct vfsmou
        release_mounts(&umount_list);
  }
  
@@ -381,11 +360,9 @@ index 50ca17d..9791b4e 100644
  int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
                   struct vfsmount *root)
  {
-diff --git a/fs/open.c b/fs/open.c
-index 6835446..b9d9f9e 100644
 --- a/fs/open.c
 +++ b/fs/open.c
-@@ -828,8 +828,7 @@ struct file *dentry_open(const struct path *path, int flags,
+@@ -828,8 +828,7 @@ struct file *dentry_open(const struct pa
        f = get_empty_filp();
        if (!IS_ERR(f)) {
                f->f_flags = flags;
@@ -395,7 +372,7 @@ index 6835446..b9d9f9e 100644
                if (!error) {
                        /* from now on we need fput() to dispose of f */
                        error = open_check_o_direct(f);
-@@ -846,6 +845,26 @@ struct file *dentry_open(const struct path *path, int flags,
+@@ -846,6 +845,26 @@ struct file *dentry_open(const struct pa
  }
  EXPORT_SYMBOL(dentry_open);
  
@@ -422,9 +399,6 @@ index 6835446..b9d9f9e 100644
  static inline int build_open_flags(int flags, umode_t mode, struct open_flags *op)
  {
        int lookup_flags = 0;
-diff --git a/fs/overlayfs/Kconfig b/fs/overlayfs/Kconfig
-new file mode 100644
-index 0000000..c4517da
 --- /dev/null
 +++ b/fs/overlayfs/Kconfig
 @@ -0,0 +1,4 @@
@@ -432,9 +406,6 @@ index 0000000..c4517da
 +      tristate "Overlay filesystem support"
 +      help
 +        Add support for overlay filesystem.
-diff --git a/fs/overlayfs/Makefile b/fs/overlayfs/Makefile
-new file mode 100644
-index 0000000..8f91889
 --- /dev/null
 +++ b/fs/overlayfs/Makefile
 @@ -0,0 +1,7 @@
@@ -445,9 +416,6 @@ index 0000000..8f91889
 +obj-$(CONFIG_OVERLAYFS_FS) += overlayfs.o
 +
 +overlayfs-objs := super.o inode.o dir.o readdir.o copy_up.o
-diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
-new file mode 100644
-index 0000000..eef85e0
 --- /dev/null
 +++ b/fs/overlayfs/copy_up.c
 @@ -0,0 +1,385 @@
@@ -836,9 +804,6 @@ index 0000000..eef85e0
 +      dput(parent);
 +      return err;
 +}
-diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c
-new file mode 100644
-index 0000000..b530e56
 --- /dev/null
 +++ b/fs/overlayfs/dir.c
 @@ -0,0 +1,604 @@
@@ -1446,9 +1411,6 @@ index 0000000..b530e56
 +      .listxattr      = ovl_listxattr,
 +      .removexattr    = ovl_removexattr,
 +};
-diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c
-new file mode 100644
-index 0000000..ee37e92
 --- /dev/null
 +++ b/fs/overlayfs/inode.c
 @@ -0,0 +1,372 @@
@@ -1824,9 +1786,6 @@ index 0000000..ee37e92
 +      return inode;
 +
 +}
-diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h
-new file mode 100644
-index 0000000..1cba38f
 --- /dev/null
 +++ b/fs/overlayfs/overlayfs.h
 @@ -0,0 +1,70 @@
@@ -1900,9 +1859,6 @@ index 0000000..1cba38f
 +/* copy_up.c */
 +int ovl_copy_up(struct dentry *dentry);
 +int ovl_copy_up_truncate(struct dentry *dentry, loff_t size);
-diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c
-new file mode 100644
-index 0000000..0797efb
 --- /dev/null
 +++ b/fs/overlayfs/readdir.c
 @@ -0,0 +1,566 @@
@@ -2472,9 +2428,6 @@ index 0000000..0797efb
 +
 +      return err;
 +}
-diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
-new file mode 100644
-index 0000000..357d6e8
 --- /dev/null
 +++ b/fs/overlayfs/super.c
 @@ -0,0 +1,685 @@
@@ -3163,11 +3116,9 @@ index 0000000..357d6e8
 +
 +module_init(ovl_init);
 +module_exit(ovl_exit);
-diff --git a/fs/splice.c b/fs/splice.c
-index 718bd00..0e8f44a 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -1308,6 +1308,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
+@@ -1308,6 +1308,7 @@ long do_splice_direct(struct file *in, l
  
        return ret;
  }
@@ -3175,8 +3126,6 @@ index 718bd00..0e8f44a 100644
  
  static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
                               struct pipe_inode_info *opipe,
-diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 2c28271..3353de6 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
 @@ -244,6 +244,12 @@ struct iattr {
@@ -3212,7 +3161,7 @@ index 2c28271..3353de6 100644
  } ____cacheline_aligned;
  
  ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
-@@ -2006,6 +2018,7 @@ extern struct file *file_open_name(struct filename *, int, umode_t);
+@@ -2006,6 +2018,7 @@ extern struct file *file_open_name(struc
  extern struct file *filp_open(const char *, int, umode_t);
  extern struct file *file_open_root(struct dentry *, struct vfsmount *,
                                   const char *, int);
@@ -3220,7 +3169,7 @@ index 2c28271..3353de6 100644
  extern struct file * dentry_open(const struct path *, int, const struct cred *);
  extern int filp_close(struct file *, fl_owner_t id);
  
-@@ -2211,6 +2224,7 @@ extern sector_t bmap(struct inode *, sector_t);
+@@ -2211,6 +2224,7 @@ extern sector_t bmap(struct inode *, sec
  #endif
  extern int notify_change(struct dentry *, struct iattr *);
  extern int inode_permission(struct inode *, int);
@@ -3228,11 +3177,9 @@ index 2c28271..3353de6 100644
  extern int generic_permission(struct inode *, int);
  
  static inline bool execute_ok(struct inode *inode)
-diff --git a/include/linux/mount.h b/include/linux/mount.h
-index d7029f4..344a262 100644
 --- a/include/linux/mount.h
 +++ b/include/linux/mount.h
-@@ -66,6 +66,9 @@ extern void mnt_pin(struct vfsmount *mnt);
+@@ -66,6 +66,9 @@ extern void mnt_pin(struct vfsmount *mnt
  extern void mnt_unpin(struct vfsmount *mnt);
  extern int __mnt_is_readonly(struct vfsmount *mnt);
  
index 28a835100f72b11892df0c2fe02b905a994b810b..5b0cfa96b8ea95002b721928aa6c5816d656e513 100644 (file)
  endif
 +KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL))
  
- ccflags-y := -fpic -fno-builtin -I$(obj)
+ ccflags-y := -fpic -mno-single-pic-base -fno-builtin -I$(obj)
  asflags-y := -Wa,-march=all -DZIMAGE
index dae8092e6ad5ac46f07a1024023cc537f9369228..9cd8ec345db8c69b025e738d82dea61c3d0feb8b 100644 (file)
 +}
 --- a/fs/jffs2/super.c
 +++ b/fs/jffs2/super.c
-@@ -373,14 +373,41 @@ static int __init init_jffs2_fs(void)
+@@ -374,14 +374,41 @@ static int __init init_jffs2_fs(void)
        BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
        BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
  
index b539c8e869e138b695c0de44c46ee6eb5cc0283d..e802b0bf9cdaaf83245b6c546f47ed623f2bfc12 100644 (file)
@@ -21,7 +21,7 @@
  
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -793,6 +793,9 @@ int genphy_update_link(struct phy_device
+@@ -795,6 +795,9 @@ int genphy_update_link(struct phy_device
  {
        int status;
  
index 6ab8742da8f5f25eb71451c9e63e02f6f920b87f..5d178e627a6325380c24863b9d30345332964364 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -610,6 +610,9 @@ EXPORT_SYMBOL(phy_attach);
+@@ -612,6 +612,9 @@ EXPORT_SYMBOL(phy_attach);
   */
  void phy_detach(struct phy_device *phydev)
  {
index 84d1c409d69e0b1118b605f076907416640971b9..6c3dce21c556f205ec51497df4d9211647d2cc1d 100644 (file)
 +be done automatically.
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -3618,6 +3618,11 @@ L:      linuxppc-dev@lists.ozlabs.org
+@@ -3600,6 +3600,11 @@ L:      linuxppc-dev@lists.ozlabs.org
  S:    Odd Fixes
  F:    drivers/tty/hvc/
  
index 05721b3977094f5a50ece787e661b9ddc14b2a6c..c4a99a33b4a02042752076e8433e963296ea4b84 100644 (file)
@@ -26,7 +26,7 @@
  endif
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -2447,12 +2447,26 @@ enum {
+@@ -2449,12 +2449,26 @@ enum {
        DIO_SKIP_HOLES  = 0x02,
  };
  
index 54ca7284f329fff94c6f28649285478cefc9d392..c4734995677877a2faff19b403e01ac4fee2c51c 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
  #include <linux/clk.h>
  #include <linux/delay.h>
  #include <linux/device.h>
-@@ -360,6 +361,13 @@ int __init twd_local_timer_register(stru
+@@ -361,6 +362,13 @@ int __init twd_local_timer_register(stru
        return twd_local_timer_common_register(NULL);
  }