kernel: refresh patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22252 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
3770e0e7fa
commit
5272f096fb
|
@ -18,7 +18,7 @@ Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
|
|||
|
||||
--- a/fs/squashfs/Kconfig
|
||||
+++ b/fs/squashfs/Kconfig
|
||||
@@ -26,6 +26,11 @@ config SQUASHFS
|
||||
@@ -37,6 +37,11 @@ config SQUASHFS_XATTRS
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
|
@ -210,7 +210,7 @@ Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
|
|||
+
|
||||
--- a/fs/squashfs/squashfs.h
|
||||
+++ b/fs/squashfs/squashfs.h
|
||||
@@ -94,3 +94,6 @@ extern const struct address_space_operat
|
||||
@@ -104,3 +104,6 @@ extern const struct xattr_handler *squas
|
||||
|
||||
/* zlib_wrapper.c */
|
||||
extern const struct squashfs_decompressor squashfs_zlib_comp_ops;
|
||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
|
|||
|
||||
--- a/fs/squashfs/Kconfig
|
||||
+++ b/fs/squashfs/Kconfig
|
||||
@@ -30,6 +30,7 @@ config SQUASHFS_LZMA
|
||||
@@ -41,6 +41,7 @@ config SQUASHFS_LZMA
|
||||
bool "Include support for LZMA compressed file systems"
|
||||
depends on SQUASHFS
|
||||
select DECOMPRESS_LZMA
|
||||
|
|
|
@ -206,7 +206,7 @@
|
|||
+}
|
||||
--- a/fs/jffs2/super.c
|
||||
+++ b/fs/jffs2/super.c
|
||||
@@ -254,14 +254,41 @@ static int __init init_jffs2_fs(void)
|
||||
@@ -252,14 +252,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);
|
||||
|
||||
|
@ -1081,7 +1081,7 @@
|
|||
ifdef CONFIG_FUNCTION_TRACER
|
||||
ORIG_CFLAGS := $(KBUILD_CFLAGS)
|
||||
KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS))
|
||||
@@ -66,6 +76,8 @@ obj-$(CONFIG_ZLIB_DEFLATE) += zlib_defla
|
||||
@@ -69,6 +79,8 @@ obj-$(CONFIG_ZLIB_DEFLATE) += zlib_defla
|
||||
obj-$(CONFIG_REED_SOLOMON) += reed_solomon/
|
||||
obj-$(CONFIG_LZO_COMPRESS) += lzo/
|
||||
obj-$(CONFIG_LZO_DECOMPRESS) += lzo/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -529,7 +529,7 @@ all: vmlinux
|
||||
@@ -532,7 +532,7 @@ all: vmlinux
|
||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
KBUILD_CFLAGS += -Os
|
||||
else
|
||||
|
@ -9,7 +9,7 @@
|
|||
endif
|
||||
|
||||
include $(srctree)/arch/$(SRCARCH)/Makefile
|
||||
@@ -567,6 +567,9 @@ endif
|
||||
@@ -570,6 +570,9 @@ endif
|
||||
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
||||
CHECKFLAGS += $(NOSTDINC_FLAGS)
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
|||
/* Control registers */
|
||||
|
||||
#define FPCREG_RID 0 /* $0 = revision id */
|
||||
@@ -1284,7 +1284,6 @@ int fpu_emulator_cop1Handler(struct pt_r
|
||||
@@ -1285,7 +1285,6 @@ int fpu_emulator_cop1Handler(struct pt_r
|
||||
|
||||
return sig;
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
|||
#ifdef CONFIG_DEBUG_FS
|
||||
|
||||
static int fpuemu_stat_get(void *data, u64 *val)
|
||||
@@ -1333,4 +1332,11 @@ static int __init debugfs_fpuemu(void)
|
||||
@@ -1334,4 +1333,11 @@ static int __init debugfs_fpuemu(void)
|
||||
return 0;
|
||||
}
|
||||
__initcall(debugfs_fpuemu);
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -195,16 +195,24 @@ void *__symbol_get_gpl(const char *symbo
|
||||
@@ -202,16 +202,24 @@ struct module_use {
|
||||
#define __CRC_SYMBOL(sym, sec)
|
||||
#endif
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
/* The Mellanox Tavor device gives false positive parity errors
|
||||
* Mark this device with a broken_parity_status, to allow
|
||||
* PCI scanning code to "skip" this now blacklisted device.
|
||||
@@ -1901,7 +1902,9 @@ static void __devinit fixup_rev1_53c810(
|
||||
@@ -1904,7 +1905,9 @@ static void __devinit fixup_rev1_53c810(
|
||||
}
|
||||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
|
||||
|
@ -33,11 +33,11 @@
|
|||
/* Enable 1k I/O space granularity on the Intel P64H2 */
|
||||
static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
|
||||
{
|
||||
@@ -2551,6 +2554,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -2556,6 +2559,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1518, quirk_i82576_sriov);
|
||||
|
||||
#endif /* CONFIG_PCI_IOV */
|
||||
+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */
|
||||
|
||||
/*
|
||||
* This is a quirk for the Ricoh MMC controller found as a part of
|
||||
/* Allow manual resource allocation for PCI hotplug bridges
|
||||
* via pci=hpmemsize=nnM and pci=hpiosize=nnM parameters. For
|
||||
|
|
|
@ -26,7 +26,7 @@ nice.
|
|||
|
||||
--- a/arch/powerpc/kernel/misc_32.S
|
||||
+++ b/arch/powerpc/kernel/misc_32.S
|
||||
@@ -802,3 +802,80 @@ relocate_new_kernel_end:
|
||||
@@ -822,3 +822,80 @@ relocate_new_kernel_end:
|
||||
relocate_new_kernel_size:
|
||||
.long relocate_new_kernel_end - relocate_new_kernel
|
||||
#endif
|
||||
|
@ -109,7 +109,7 @@ nice.
|
|||
+#endif
|
||||
--- a/arch/powerpc/kernel/ppc_ksyms.c
|
||||
+++ b/arch/powerpc/kernel/ppc_ksyms.c
|
||||
@@ -186,3 +186,114 @@ EXPORT_SYMBOL(__mtdcr);
|
||||
@@ -190,3 +190,114 @@ EXPORT_SYMBOL(__mtdcr);
|
||||
EXPORT_SYMBOL(__mfdcr);
|
||||
#endif
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
{
|
||||
--- a/fs/partitions/check.c
|
||||
+++ b/fs/partitions/check.c
|
||||
@@ -639,6 +639,7 @@ try_scan:
|
||||
@@ -677,6 +677,7 @@ rescan:
|
||||
kfree(state);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -534,9 +534,9 @@
|
|||
mutex_init(&dev->write_mutex);
|
||||
+ rwlock_init(&dev->bdev_mutex);
|
||||
|
||||
if (!mtdname)
|
||||
mtdname = devname;
|
||||
@@ -298,6 +392,7 @@ static struct block2mtd_dev *add_device(
|
||||
/* Setup the MTD structure */
|
||||
/* make the name contain the block device in */
|
||||
@@ -299,6 +393,7 @@ static struct block2mtd_dev *add_device(
|
||||
dev->mtd.read = block2mtd_read;
|
||||
dev->mtd.priv = dev;
|
||||
dev->mtd.owner = THIS_MODULE;
|
||||
|
@ -546,7 +546,7 @@
|
|||
part->name = dev->mtd.name;
|
||||
--- a/drivers/mtd/mtdchar.c
|
||||
+++ b/drivers/mtd/mtdchar.c
|
||||
@@ -18,6 +18,7 @@
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/compatmac.h>
|
||||
|
@ -554,7 +554,7 @@
|
|||
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
@@ -814,6 +815,13 @@ static int mtd_ioctl(struct inode *inode
|
||||
@@ -826,6 +827,13 @@ static int mtd_ioctl(struct file *file,
|
||||
file->f_pos = 0;
|
||||
break;
|
||||
}
|
||||
|
@ -570,7 +570,7 @@
|
|||
ret = -ENOTTY;
|
||||
--- a/include/linux/mtd/mtd.h
|
||||
+++ b/include/linux/mtd/mtd.h
|
||||
@@ -101,6 +101,7 @@ struct mtd_oob_ops {
|
||||
@@ -98,6 +98,7 @@ struct mtd_oob_ops {
|
||||
uint8_t *oobbuf;
|
||||
};
|
||||
|
||||
|
@ -578,7 +578,7 @@
|
|||
struct mtd_info {
|
||||
u_char type;
|
||||
uint32_t flags;
|
||||
@@ -241,6 +242,9 @@ struct mtd_info {
|
||||
@@ -238,6 +239,9 @@ struct mtd_info {
|
||||
struct device dev;
|
||||
int usecount;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/linux/mtd/nand.h
|
||||
+++ b/include/linux/mtd/nand.h
|
||||
@@ -491,6 +491,7 @@ struct platform_nand_chip {
|
||||
@@ -512,6 +512,7 @@ struct platform_nand_chip {
|
||||
int chip_delay;
|
||||
unsigned int options;
|
||||
const char **part_probe_types;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
depends on NETFILTER_ADVANCED
|
||||
help
|
||||
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
|
||||
@@ -530,7 +529,6 @@ config NETFILTER_XT_TARGET_SECMARK
|
||||
@@ -550,7 +549,6 @@ config NETFILTER_XT_TARGET_SECMARK
|
||||
|
||||
config NETFILTER_XT_TARGET_TCPMSS
|
||||
tristate '"TCPMSS" target support'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/include/asm/string.h
|
||||
+++ b/arch/mips/include/asm/string.h
|
||||
@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
|
||||
@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
|
||||
|
||||
#define __HAVE_ARCH_MEMSET
|
||||
extern void *memset(void *__s, int __c, size_t __count);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/linux/slab.h
|
||||
+++ b/include/linux/slab.h
|
||||
@@ -130,8 +130,8 @@ int kmem_ptr_validate(struct kmem_cache
|
||||
@@ -130,8 +130,8 @@ int kmem_ptr_validate(struct kmem_cache
|
||||
* to do various tricks to work around compiler limitations in order to
|
||||
* ensure proper constant folding.
|
||||
*/
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
@@ -400,7 +403,7 @@ static int jffs2_scan_xref_node(struct j
|
||||
@@ -402,7 +405,7 @@ static int jffs2_scan_xref_node(struct j
|
||||
if (!ref)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -52,7 +52,7 @@
|
|||
* and AFTER xattr_ref is marked as a dead xref,
|
||||
* ref->xid is used to store 32bit xid, xd is not used
|
||||
* ref->ino is used to store 32bit inode-number, ic is not used
|
||||
@@ -473,7 +476,7 @@ static int jffs2_scan_eraseblock (struct
|
||||
@@ -475,7 +478,7 @@ static int jffs2_scan_eraseblock (struct
|
||||
struct jffs2_sum_marker *sm;
|
||||
void *sumptr = NULL;
|
||||
uint32_t sumlen;
|
||||
|
@ -61,7 +61,7 @@
|
|||
if (!buf_size) {
|
||||
/* XIP case. Just look, point at the summary if it's there */
|
||||
sm = (void *)buf + c->sector_size - sizeof(*sm);
|
||||
@@ -489,9 +492,9 @@ static int jffs2_scan_eraseblock (struct
|
||||
@@ -491,9 +494,9 @@ static int jffs2_scan_eraseblock (struct
|
||||
buf_len = sizeof(*sm);
|
||||
|
||||
/* Read as much as we want into the _end_ of the preallocated buffer */
|
||||
|
@ -73,7 +73,7 @@
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
@@ -510,9 +513,9 @@ static int jffs2_scan_eraseblock (struct
|
||||
@@ -512,9 +515,9 @@ static int jffs2_scan_eraseblock (struct
|
||||
}
|
||||
if (buf_len < sumlen) {
|
||||
/* Need to read more so that the entire summary node is present */
|
||||
|
@ -85,7 +85,7 @@
|
|||
if (err)
|
||||
return err;
|
||||
}
|
||||
@@ -525,7 +528,7 @@ static int jffs2_scan_eraseblock (struct
|
||||
@@ -527,7 +530,7 @@ static int jffs2_scan_eraseblock (struct
|
||||
|
||||
if (buf_size && sumlen > buf_size)
|
||||
kfree(sumptr);
|
||||
|
@ -94,7 +94,7 @@
|
|||
If it returns positive, that's a block classification
|
||||
(i.e. BLK_STATE_xxx) so return that too.
|
||||
If it returns zero, fall through to full scan. */
|
||||
@@ -546,6 +549,17 @@ static int jffs2_scan_eraseblock (struct
|
||||
@@ -548,6 +551,17 @@ static int jffs2_scan_eraseblock (struct
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -112,7 +112,7 @@
|
|||
/* We temporarily use 'ofs' as a pointer into the buffer/jeb */
|
||||
ofs = 0;
|
||||
|
||||
@@ -671,7 +685,7 @@ scan_more:
|
||||
@@ -673,7 +687,7 @@ scan_more:
|
||||
scan_end = buf_len;
|
||||
goto more_empty;
|
||||
}
|
||||
|
@ -121,7 +121,7 @@
|
|||
/* See how much more there is to read in this eraseblock... */
|
||||
buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);
|
||||
if (!buf_len) {
|
||||
@@ -907,7 +921,7 @@ scan_more:
|
||||
@@ -909,7 +923,7 @@ scan_more:
|
||||
|
||||
D1(printk(KERN_DEBUG "Block at 0x%08x: free 0x%08x, dirty 0x%08x, unchecked 0x%08x, used 0x%08x, wasted 0x%08x\n",
|
||||
jeb->offset,jeb->free_size, jeb->dirty_size, jeb->unchecked_size, jeb->used_size, jeb->wasted_size));
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
|
||||
extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd);
|
||||
|
||||
@@ -501,6 +505,29 @@ static inline void double_unlock(struct
|
||||
@@ -501,6 +505,29 @@ static inline void double_unlock(struct
|
||||
#endif /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
|
@ -127,7 +127,7 @@
|
|||
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
|
||||
--- a/fs/mini_fo/aux.c
|
||||
+++ b/fs/mini_fo/aux.c
|
||||
@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb,
|
||||
@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb,
|
||||
err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd);
|
||||
|
||||
/* validate */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/fs/mini_fo/super.c
|
||||
+++ b/fs/mini_fo/super.c
|
||||
@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int
|
||||
@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int
|
||||
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
|
||||
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
if (master->block_isbad) {
|
||||
--- a/include/linux/mtd/mtd.h
|
||||
+++ b/include/linux/mtd/mtd.h
|
||||
@@ -46,6 +46,10 @@ struct erase_info {
|
||||
@@ -45,6 +45,10 @@ struct erase_info {
|
||||
u_long priv;
|
||||
u_char state;
|
||||
struct erase_info *next;
|
||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
unsigned int tp_packets;
|
||||
--- a/net/packet/af_packet.c
|
||||
+++ b/net/packet/af_packet.c
|
||||
@@ -202,6 +202,7 @@ struct packet_sock {
|
||||
@@ -203,6 +203,7 @@ struct packet_sock {
|
||||
unsigned int tp_reserve;
|
||||
unsigned int tp_loss:1;
|
||||
struct packet_type prot_hook ____cacheline_aligned_in_smp;
|
||||
|
@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
};
|
||||
|
||||
struct packet_skb_cb {
|
||||
@@ -336,6 +337,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -339,6 +340,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
{
|
||||
struct sock *sk;
|
||||
struct sockaddr_pkt *spkt;
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
/*
|
||||
* When we registered the protocol we saved the socket in the data
|
||||
@@ -343,6 +345,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -346,6 +348,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
*/
|
||||
|
||||
sk = pt->af_packet_priv;
|
||||
|
@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
/*
|
||||
* Yank back the headers [hope the device set this
|
||||
@@ -355,7 +358,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -358,7 +361,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
* so that this procedure is noop.
|
||||
*/
|
||||
|
||||
|
@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
goto out;
|
||||
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
@@ -531,12 +534,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
@@ -537,12 +540,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
int skb_len = skb->len;
|
||||
unsigned int snaplen, res;
|
||||
|
||||
|
@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -651,12 +654,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
@@ -657,12 +660,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
struct timeval tv;
|
||||
struct timespec ts;
|
||||
|
||||
|
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -1464,6 +1467,7 @@ static int packet_create(struct net *net
|
||||
@@ -1473,6 +1476,7 @@ static int packet_create(struct net *net
|
||||
spin_lock_init(&po->bind_lock);
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->prot_hook.func = packet_rcv;
|
||||
|
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -1968,6 +1972,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -2027,6 +2031,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->has_vnet_hdr = !!val;
|
||||
return 0;
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -2025,6 +2039,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -2084,6 +2098,13 @@ static int packet_getsockopt(struct sock
|
||||
|
||||
data = &val;
|
||||
break;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/pppoe.c
|
||||
+++ b/drivers/net/pppoe.c
|
||||
@@ -862,7 +862,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||
@@ -856,7 +856,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||
goto end;
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
0, GFP_KERNEL);
|
||||
if (!skb) {
|
||||
error = -ENOMEM;
|
||||
@@ -870,7 +870,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||
@@ -864,7 +864,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||
}
|
||||
|
||||
/* Reserve space for headers. */
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
struct tcrypt_result {
|
||||
struct completion completion;
|
||||
int err;
|
||||
@@ -2443,8 +2445,11 @@ static int alg_find_test(const char *alg
|
||||
@@ -2473,8 +2475,11 @@ static int alg_find_test(const char *alg
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
|||
int i;
|
||||
int j;
|
||||
int rc;
|
||||
@@ -2499,5 +2504,8 @@ notest:
|
||||
@@ -2529,5 +2534,8 @@ notest:
|
||||
return 0;
|
||||
non_fips_alg:
|
||||
return -EINVAL;
|
||||
|
@ -54,7 +54,7 @@
|
|||
#define MAX_DIGEST_SIZE 64
|
||||
#define MAX_TAP 8
|
||||
|
||||
@@ -9552,4 +9554,6 @@ static struct hash_testvec crc32c_tv_tem
|
||||
@@ -9608,4 +9610,6 @@ static struct hash_testvec crc32c_tv_tem
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/leds/Kconfig
|
||||
+++ b/drivers/leds/Kconfig
|
||||
@@ -354,4 +354,8 @@ endif # LEDS_TRIGGERS
|
||||
@@ -371,4 +371,8 @@ endif # LEDS_TRIGGERS
|
||||
|
||||
endif # LEDS_CLASS
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
endif # NEW_LEDS
|
||||
--- a/drivers/leds/Makefile
|
||||
+++ b/drivers/leds/Makefile
|
||||
@@ -46,3 +46,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) +=
|
||||
@@ -48,3 +48,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) +=
|
||||
obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o
|
||||
obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o
|
||||
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/leds/Kconfig
|
||||
+++ b/drivers/leds/Kconfig
|
||||
@@ -358,4 +358,11 @@ config LEDS_TRIGGER_MORSE
|
||||
@@ -375,4 +375,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
|
||||
@@ -47,3 +47,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) +=
|
||||
@@ -49,3 +49,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) +=
|
||||
obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o
|
||||
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
|
||||
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/input/misc/Kconfig
|
||||
+++ b/drivers/input/misc/Kconfig
|
||||
@@ -340,4 +340,20 @@ config INPUT_PCAP
|
||||
@@ -390,4 +390,20 @@ config INPUT_PCAP
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called pcap_keys.
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
|||
endif
|
||||
--- a/drivers/input/misc/Makefile
|
||||
+++ b/drivers/input/misc/Makefile
|
||||
@@ -32,4 +32,5 @@ obj-$(CONFIG_INPUT_WINBOND_CIR) += winb
|
||||
@@ -37,4 +37,5 @@ obj-$(CONFIG_INPUT_WINBOND_CIR) += winb
|
||||
obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o
|
||||
obj-$(CONFIG_INPUT_WM831X_ON) += wm831x-on.o
|
||||
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/char/Kconfig
|
||||
+++ b/drivers/char/Kconfig
|
||||
@@ -1024,6 +1024,14 @@ config CS5535_GPIO
|
||||
@@ -1032,6 +1032,14 @@ config CS5535_GPIO
|
||||
|
||||
If compiled as a module, it will be called cs5535_gpio.
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
|||
depends on BLOCK
|
||||
--- a/drivers/char/Makefile
|
||||
+++ b/drivers/char/Makefile
|
||||
@@ -95,6 +95,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio
|
||||
@@ -96,6 +96,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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/scsi/scsi.h
|
||||
+++ b/include/scsi/scsi.h
|
||||
@@ -149,10 +149,10 @@ struct scsi_cmnd;
|
||||
@@ -151,10 +151,10 @@ struct scsi_cmnd;
|
||||
|
||||
/* defined in T10 SCSI Primary Commands-2 (SPC2) */
|
||||
struct scsi_varlen_cdb_hdr {
|
||||
|
|
|
@ -601,7 +601,7 @@
|
|||
dev->checkpointBlockList[i] = -1;
|
||||
}
|
||||
|
||||
@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device
|
||||
@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device
|
||||
|
||||
static int yaffs_CheckpointFlushBuffer(yaffs_Device *dev)
|
||||
{
|
||||
|
@ -926,7 +926,7 @@
|
|||
{
|
||||
unsigned char cDelta; /* column parity delta */
|
||||
unsigned lDelta; /* line parity delta */
|
||||
@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
return 0; /* no error */
|
||||
|
||||
if (lDelta == ~lDeltaPrime &&
|
||||
|
@ -936,7 +936,7 @@
|
|||
/* Single bit (recoverable) error in data */
|
||||
|
||||
bit = 0;
|
||||
@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
if (cDelta & 0x02)
|
||||
bit |= 0x01;
|
||||
|
||||
|
@ -945,7 +945,7 @@
|
|||
return -1;
|
||||
|
||||
data[lDelta] ^= (1 << bit);
|
||||
@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
}
|
||||
|
||||
if ((yaffs_CountBits32(lDelta) + yaffs_CountBits32(lDeltaPrime) +
|
||||
|
@ -954,7 +954,7 @@
|
|||
/* Reccoverable error in ecc */
|
||||
|
||||
*read_ecc = *test_ecc;
|
||||
@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char
|
||||
/* Unrecoverable error */
|
||||
|
||||
return -1;
|
||||
|
@ -1398,7 +1398,7 @@
|
|||
{
|
||||
unsigned char *alias;
|
||||
int ret;
|
||||
@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry
|
||||
@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1560,7 +1560,7 @@
|
|||
static int yaffs_file_flush(struct file *file, fl_owner_t id)
|
||||
#else
|
||||
static int yaffs_file_flush(struct file *file)
|
||||
@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file
|
||||
@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file
|
||||
yaffs_Device *dev = obj->myDev;
|
||||
|
||||
T(YAFFS_TRACE_OS,
|
||||
|
@ -1571,7 +1571,7 @@
|
|||
|
||||
yaffs_GrossLock(dev);
|
||||
|
||||
@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct
|
||||
@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct
|
||||
|
||||
yaffs_Device *dev;
|
||||
|
||||
|
@ -1591,7 +1591,7 @@
|
|||
BUG_ON(!PageLocked(pg));
|
||||
#else
|
||||
if (!PageLocked(pg))
|
||||
@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct
|
||||
@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct
|
||||
|
||||
yaffs_GrossLock(dev);
|
||||
|
||||
|
@ -1604,7 +1604,7 @@
|
|||
|
||||
yaffs_GrossUnlock(dev);
|
||||
|
||||
@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct
|
||||
@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct
|
||||
flush_dcache_page(pg);
|
||||
kunmap(pg);
|
||||
|
||||
|
@ -3193,7 +3193,7 @@
|
|||
if (n < step) {
|
||||
n++;
|
||||
continue;
|
||||
@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file
|
||||
@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file
|
||||
char *end;
|
||||
char *mask_name;
|
||||
const char *x;
|
||||
|
@ -3202,7 +3202,7 @@
|
|||
int i;
|
||||
int done = 0;
|
||||
int add, len = 0;
|
||||
@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file
|
||||
@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file
|
||||
|
||||
while (!done && (pos < count)) {
|
||||
done = 1;
|
||||
|
@ -3213,7 +3213,7 @@
|
|||
|
||||
switch (buf[pos]) {
|
||||
case '+':
|
||||
@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file
|
||||
@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file
|
||||
mask_name = NULL;
|
||||
|
||||
mask_bitfield = simple_strtoul(buf + pos, &end, 0);
|
||||
|
@ -3240,7 +3240,7 @@
|
|||
mask_name = mask_flags[i].mask_name;
|
||||
mask_bitfield = mask_flags[i].mask_bitfield;
|
||||
done = 0;
|
||||
@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file
|
||||
@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file
|
||||
|
||||
if (mask_name != NULL) {
|
||||
done = 0;
|
||||
|
@ -3249,7 +3249,7 @@
|
|||
case '-':
|
||||
rg &= ~mask_bitfield;
|
||||
break;
|
||||
@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file
|
||||
@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file
|
||||
|
||||
yaffs_traceMask = rg | YAFFS_TRACE_ALWAYS;
|
||||
|
||||
|
@ -5691,7 +5691,7 @@
|
|||
{
|
||||
/* Get the real object in case we were fed a hard link as an equivalent object */
|
||||
equivalentObject = yaffs_GetEquivalentObject(equivalentObject);
|
||||
@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object *
|
||||
@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object *
|
||||
|
||||
}
|
||||
|
||||
|
@ -7622,7 +7622,7 @@
|
|||
int nToCopy;
|
||||
int n = nBytes;
|
||||
int nDone = 0;
|
||||
@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
dev = in->myDev;
|
||||
|
||||
while (n > 0) {
|
||||
|
@ -7657,7 +7657,7 @@
|
|||
if (dev->nShortOpCaches > 0) {
|
||||
|
||||
/* If we can't find the data in the cache, then load it up. */
|
||||
@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
|
||||
cache->locked = 1;
|
||||
|
||||
|
@ -7673,7 +7673,7 @@
|
|||
cache->locked = 0;
|
||||
} else {
|
||||
/* Read into the local buffer then copy..*/
|
||||
@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
yaffs_GetTempBuffer(dev, __LINE__);
|
||||
yaffs_ReadChunkDataFromObject(in, chunk,
|
||||
localBuffer);
|
||||
|
@ -7718,7 +7718,7 @@
|
|||
}
|
||||
|
||||
n -= nToCopy;
|
||||
@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object
|
||||
return nDone;
|
||||
}
|
||||
|
||||
|
@ -7923,7 +7923,7 @@
|
|||
int newFullChunks;
|
||||
|
||||
yaffs_Device *dev = in->myDev;
|
||||
@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in,
|
||||
@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in,
|
||||
|
||||
yaffs_CheckGarbageCollection(dev);
|
||||
|
||||
|
@ -7941,7 +7941,7 @@
|
|||
|
||||
if (newSize < oldFileSize) {
|
||||
|
||||
@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in,
|
||||
@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in,
|
||||
}
|
||||
|
||||
|
||||
|
@ -7968,7 +7968,7 @@
|
|||
{
|
||||
obj = yaffs_GetEquivalentObject(obj);
|
||||
|
||||
@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object *
|
||||
@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object *
|
||||
|
||||
|
||||
|
||||
|
@ -9789,7 +9789,7 @@
|
|||
{
|
||||
int init_failed = 0;
|
||||
unsigned x;
|
||||
@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
dev->chunkOffset = 0;
|
||||
dev->nFreeChunks = 0;
|
||||
|
||||
|
@ -9798,7 +9798,7 @@
|
|||
if (dev->startBlock == 0) {
|
||||
dev->internalStartBlock = dev->startBlock + 1;
|
||||
dev->internalEndBlock = dev->endBlock + 1;
|
||||
@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
|
||||
/* Check geometry parameters. */
|
||||
|
||||
|
@ -9823,7 +9823,7 @@
|
|||
return YAFFS_FAIL;
|
||||
}
|
||||
|
||||
@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
return YAFFS_FAIL;
|
||||
}
|
||||
|
||||
|
@ -9836,7 +9836,7 @@
|
|||
/* Got the right mix of functions? */
|
||||
if (!yaffs_CheckDevFunctions(dev)) {
|
||||
/* Function missing */
|
||||
@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
|
||||
dev->isMounted = 1;
|
||||
|
||||
|
@ -9875,7 +9875,7 @@
|
|||
|
||||
/*
|
||||
* Calculate chunkGroupBits.
|
||||
@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
bits = ShiftsGE(x);
|
||||
|
||||
/* Set up tnode width if wide tnodes are enabled. */
|
||||
|
@ -9896,7 +9896,7 @@
|
|||
dev->tnodeWidth = 16;
|
||||
|
||||
dev->tnodeMask = (1<<dev->tnodeWidth)-1;
|
||||
@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
dev->hasPendingPrioritisedGCs = 1; /* Assume the worst for now, will get fixed on first GC */
|
||||
|
||||
/* Initialise temporary buffers and caches. */
|
||||
|
@ -9905,7 +9905,7 @@
|
|||
init_failed = 1;
|
||||
|
||||
dev->srCache = NULL;
|
||||
@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
if (!init_failed &&
|
||||
dev->nShortOpCaches > 0) {
|
||||
int i;
|
||||
|
@ -9940,7 +9940,7 @@
|
|||
init_failed = 1;
|
||||
|
||||
dev->srLastUse = 0;
|
||||
@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
|
||||
dev->cacheHits = 0;
|
||||
|
||||
|
@ -9979,7 +9979,7 @@
|
|||
T(YAFFS_TRACE_ALWAYS,
|
||||
(TSTR("yaffs: restored from checkpoint" TENDSTR)));
|
||||
} else {
|
||||
@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
dev->nBackgroundDeletions = 0;
|
||||
dev->oldestDirtySequence = 0;
|
||||
|
||||
|
@ -10011,7 +10011,7 @@
|
|||
/* Clean up the mess */
|
||||
T(YAFFS_TRACE_TRACING,
|
||||
(TSTR("yaffs: yaffs_GutsInitialise() aborted.\n" TENDSTR)));
|
||||
@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device *
|
||||
|
||||
}
|
||||
|
||||
|
@ -10710,7 +10710,7 @@
|
|||
{
|
||||
if (etags) {
|
||||
memset(etags, 0, sizeof(*etags));
|
||||
@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags *
|
||||
@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags *
|
||||
* Returns YAFFS_OK or YAFFS_FAIL.
|
||||
*/
|
||||
int nandmtd1_ReadChunkWithTagsFromNAND(yaffs_Device *dev,
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
idx = phy_find_valid(idx, phydev->supported);
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -492,6 +492,7 @@ void phy_start_machine(struct phy_device
|
||||
@@ -497,6 +497,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);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -393,9 +393,18 @@ struct phy_driver {
|
||||
@@ -384,9 +384,18 @@ struct phy_driver {
|
||||
*/
|
||||
int (*config_aneg)(struct phy_device *phydev);
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
|||
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -695,6 +695,9 @@ int genphy_update_link(struct phy_device
|
||||
@@ -710,6 +710,9 @@ int genphy_update_link(struct phy_device
|
||||
{
|
||||
int status;
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
--- a/drivers/net/phy/phy.c
|
||||
+++ b/drivers/net/phy/phy.c
|
||||
@@ -107,6 +107,9 @@ static inline int phy_aneg_done(struct p
|
||||
@@ -106,6 +106,9 @@ static inline int phy_aneg_done(struct p
|
||||
{
|
||||
int retval;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
|
||||
{
|
||||
struct phy_device *dev;
|
||||
@@ -175,6 +187,8 @@ struct phy_device* phy_device_create(str
|
||||
@@ -176,6 +188,8 @@ struct phy_device* phy_device_create(str
|
||||
dev_set_name(&dev->dev, PHY_ID_FMT, bus->id, addr);
|
||||
|
||||
dev->state = PHY_DOWN;
|
||||
|
@ -30,7 +30,7 @@
|
|||
INIT_DELAYED_WORK(&dev->state_queue, phy_state_machine);
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -325,6 +325,20 @@ struct phy_device {
|
||||
@@ -330,6 +330,20 @@ struct phy_device {
|
||||
void (*adjust_link)(struct net_device *dev);
|
||||
|
||||
void (*adjust_state)(struct net_device *dev);
|
||||
|
@ -53,7 +53,7 @@
|
|||
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -863,6 +863,7 @@ struct net_device {
|
||||
@@ -932,6 +932,7 @@ struct net_device {
|
||||
void *ax25_ptr; /* AX.25 specific data */
|
||||
struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data,
|
||||
assign before registering */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
--- a/drivers/net/phy/Kconfig
|
||||
+++ b/drivers/net/phy/Kconfig
|
||||
@@ -111,6 +111,10 @@ config IP175C_PHY
|
||||
tristate "Driver for IC+ IP175C/IP178C switches"
|
||||
@@ -111,6 +111,10 @@ config IP17XX_PHY
|
||||
tristate "Driver for IC+ IP17xx switches"
|
||||
select SWCONFIG
|
||||
|
||||
+config AR8216_PHY
|
||||
|
@ -15,7 +15,7 @@
|
|||
+++ b/drivers/net/phy/Makefile
|
||||
@@ -18,6 +18,7 @@ obj-$(CONFIG_ADM6996_PHY) += adm6996.o
|
||||
obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
|
||||
obj-$(CONFIG_IP175C_PHY) += ip175c.o
|
||||
obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
|
||||
obj-$(CONFIG_REALTEK_PHY) += realtek.o
|
||||
+obj-$(CONFIG_AR8216_PHY) += ar8216.o
|
||||
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
--- a/drivers/net/phy/Makefile
|
||||
+++ b/drivers/net/phy/Makefile
|
||||
@@ -19,6 +19,7 @@ obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
|
||||
obj-$(CONFIG_IP175C_PHY) += ip175c.o
|
||||
obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
|
||||
obj-$(CONFIG_REALTEK_PHY) += realtek.o
|
||||
obj-$(CONFIG_AR8216_PHY) += ar8216.o
|
||||
+obj-$(CONFIG_RTL8306_PHY) += rtl8306.o
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
endif # PHYLIB
|
||||
--- a/drivers/net/phy/Makefile
|
||||
+++ b/drivers/net/phy/Makefile
|
||||
@@ -20,6 +20,9 @@ obj-$(CONFIG_IP175C_PHY) += ip175c.o
|
||||
@@ -20,6 +20,9 @@ obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
|
||||
obj-$(CONFIG_REALTEK_PHY) += realtek.o
|
||||
obj-$(CONFIG_AR8216_PHY) += ar8216.o
|
||||
obj-$(CONFIG_RTL8306_PHY) += rtl8306.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/rtc/Kconfig
|
||||
+++ b/drivers/rtc/Kconfig
|
||||
@@ -618,6 +618,15 @@ config RTC_DRV_NUC900
|
||||
@@ -625,6 +625,15 @@ config RTC_DRV_NUC900
|
||||
If you say yes here you get support for the RTC subsystem of the
|
||||
NUC910/NUC920 used in embedded systems.
|
||||
|
||||
|
@ -15,10 +15,10 @@
|
|||
+
|
||||
comment "on-CPU RTC drivers"
|
||||
|
||||
config RTC_DRV_OMAP
|
||||
config RTC_DRV_DAVINCI
|
||||
--- a/drivers/rtc/Makefile
|
||||
+++ b/drivers/rtc/Makefile
|
||||
@@ -74,6 +74,7 @@ obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c
|
||||
@@ -76,6 +76,7 @@ obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c
|
||||
obj-$(CONFIG_RTC_DRV_RS5C313) += rtc-rs5c313.o
|
||||
obj-$(CONFIG_RTC_DRV_RS5C348) += rtc-rs5c348.o
|
||||
obj-$(CONFIG_RTC_DRV_RS5C372) += rtc-rs5c372.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/linux/fb.h
|
||||
+++ b/include/linux/fb.h
|
||||
@@ -124,6 +124,7 @@ struct dentry;
|
||||
@@ -122,6 +122,7 @@
|
||||
#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */
|
||||
#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */
|
||||
#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -887,7 +887,7 @@ static int __init kernel_init(void * unu
|
||||
@@ -903,7 +903,7 @@ static int __init kernel_init(void * unu
|
||||
|
||||
/* Open the /dev/console on the rootfs, this should never fail */
|
||||
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
|
||||
--- a/scripts/kconfig/Makefile
|
||||
+++ b/scripts/kconfig/Makefile
|
||||
@@ -140,6 +140,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
|
||||
@@ -144,6 +144,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
|
||||
# we really need to do so. (Do not call gcc as part of make mrproper)
|
||||
HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
|
||||
HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/wireless/hostap/hostap_ap.c
|
||||
+++ b/drivers/net/wireless/hostap/hostap_ap.c
|
||||
@@ -2336,13 +2336,13 @@ int prism2_ap_get_sta_qual(local_info_t
|
||||
@@ -2336,13 +2336,13 @@ int prism2_ap_get_sta_qual(local_info_t
|
||||
addr[count].sa_family = ARPHRD_ETHER;
|
||||
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
|
||||
if (sta->last_rx_silence == 0)
|
||||
|
@ -116,7 +116,7 @@
|
|||
|
||||
return (unsigned char) tmp;
|
||||
}
|
||||
@@ -4057,3 +4054,35 @@ int hostap_ioctl(struct net_device *dev,
|
||||
@@ -4056,3 +4053,35 @@ int hostap_ioctl(struct net_device *dev,
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ Fix spi-gpio for hotplug.
|
|||
|
||||
--- a/drivers/spi/spi_gpio.c
|
||||
+++ b/drivers/spi/spi_gpio.c
|
||||
@@ -218,7 +218,7 @@ static void spi_gpio_cleanup(struct spi_
|
||||
@@ -217,7 +217,7 @@ static void spi_gpio_cleanup(struct spi_
|
||||
spi_bitbang_cleanup(spi);
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ Fix spi-gpio for hotplug.
|
|||
{
|
||||
int value;
|
||||
|
||||
@@ -232,7 +232,7 @@ static int __init spi_gpio_alloc(unsigne
|
||||
@@ -231,7 +231,7 @@ static int __init spi_gpio_alloc(unsigne
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ Fix spi-gpio for hotplug.
|
|||
spi_gpio_request(struct spi_gpio_platform_data *pdata, const char *label)
|
||||
{
|
||||
int value;
|
||||
@@ -261,7 +261,7 @@ done:
|
||||
@@ -260,7 +260,7 @@ done:
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ Fix spi-gpio for hotplug.
|
|||
{
|
||||
int status;
|
||||
struct spi_master *master;
|
||||
@@ -317,7 +317,7 @@ gpio_free:
|
||||
@@ -316,7 +316,7 @@ gpio_free:
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ Fix spi-gpio for hotplug.
|
|||
{
|
||||
struct spi_gpio *spi_gpio;
|
||||
struct spi_gpio_platform_data *pdata;
|
||||
@@ -344,12 +344,13 @@ MODULE_ALIAS("platform:" DRIVER_NAME);
|
||||
@@ -343,12 +343,13 @@ MODULE_ALIAS("platform:" DRIVER_NAME);
|
||||
static struct platform_driver spi_gpio_driver = {
|
||||
.driver.name = DRIVER_NAME,
|
||||
.driver.owner = THIS_MODULE,
|
||||
|
|
|
@ -54,5 +54,5 @@ Implement the SPI-GPIO delay function for busses that need speed limitation.
|
|||
+#endif /* NEED_SPIDELAY */
|
||||
+}
|
||||
|
||||
#define EXPAND_BITBANG_TXRX
|
||||
#include <linux/spi/spi_bitbang.h>
|
||||
#include "spi_bitbang_txrx.h"
|
||||
|
||||
|
|
|
@ -338,7 +338,7 @@ Please use the new mainline SPI-GPIO driver, as of 2.6.29.
|
|||
+MODULE_LICENSE("GPL v2");
|
||||
--- a/drivers/spi/Kconfig
|
||||
+++ b/drivers/spi/Kconfig
|
||||
@@ -133,6 +133,15 @@ config SPI_GPIO
|
||||
@@ -143,6 +143,15 @@ config SPI_GPIO
|
||||
GPIO operations, you should be able to leverage that for better
|
||||
speed with a custom version of this driver; see the source code.
|
||||
|
||||
|
@ -356,9 +356,9 @@ Please use the new mainline SPI-GPIO driver, as of 2.6.29.
|
|||
depends on ARCH_MXC
|
||||
--- a/drivers/spi/Makefile
|
||||
+++ b/drivers/spi/Makefile
|
||||
@@ -22,6 +22,7 @@ obj-$(CONFIG_SPI_DESIGNWARE) += dw_spi.
|
||||
obj-$(CONFIG_SPI_DW_PCI) += dw_spi_pci.o
|
||||
@@ -23,6 +23,7 @@ obj-$(CONFIG_SPI_DW_PCI) += dw_spi_pci.
|
||||
obj-$(CONFIG_SPI_DW_MMIO) += dw_spi_mmio.o
|
||||
obj-$(CONFIG_SPI_EP93XX) += ep93xx_spi.o
|
||||
obj-$(CONFIG_SPI_GPIO) += spi_gpio.o
|
||||
+obj-$(CONFIG_SPI_GPIO_OLD) += spi_gpio_old.o
|
||||
obj-$(CONFIG_SPI_IMX) += spi_imx.o
|
||||
|
|
|
@ -611,7 +611,7 @@
|
|||
+module_exit(gpiommc_modexit);
|
||||
--- a/drivers/mmc/host/Kconfig
|
||||
+++ b/drivers/mmc/host/Kconfig
|
||||
@@ -370,6 +370,31 @@ config MMC_TMIO
|
||||
@@ -382,6 +382,31 @@ config MMC_TMIO
|
||||
This provides support for the SD/MMC cell found in TC6393XB,
|
||||
T7L66XB and also HTC ASIC3
|
||||
|
||||
|
@ -645,14 +645,14 @@
|
|||
depends on PCI
|
||||
--- a/drivers/mmc/host/Makefile
|
||||
+++ b/drivers/mmc/host/Makefile
|
||||
@@ -33,6 +33,7 @@ obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_
|
||||
@@ -34,6 +34,7 @@ obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_
|
||||
obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o
|
||||
obj-$(CONFIG_MMC_CB710) += cb710-mmc.o
|
||||
obj-$(CONFIG_MMC_VIA_SDMMC) += via-sdmmc.o
|
||||
+obj-$(CONFIG_GPIOMMC) += gpiommc.o
|
||||
obj-$(CONFIG_SDH_BFIN) += bfin_sdh.o
|
||||
obj-$(CONFIG_MMC_SH_MMCIF) += sh_mmcif.o
|
||||
|
||||
obj-$(CONFIG_MMC_SDHCI_OF) += sdhci-of.o
|
||||
--- /dev/null
|
||||
+++ b/include/linux/mmc/gpiommc.h
|
||||
@@ -0,0 +1,71 @@
|
||||
|
@ -829,7 +829,7 @@
|
|||
+be done automatically.
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -2540,6 +2540,11 @@ T: git git://git.kernel.org/pub/scm/linu
|
||||
@@ -2591,6 +2591,11 @@ T: git git://git.kernel.org/pub/scm/linu
|
||||
S: Maintained
|
||||
F: drivers/media/video/gspca/
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include <linux/ioport.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[]
|
||||
@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[]
|
||||
MODULE_DEVICE_TABLE(pci, divil_pci);
|
||||
|
||||
static struct cdev cs5535_gpio_cdev;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -138,7 +138,7 @@ static inline bool dev_xmit_complete(int
|
||||
@@ -139,7 +139,7 @@ static inline bool dev_xmit_complete(int
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_WLAN) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
* All of these routines try to estimate how many bits of randomness a
|
||||
* particular randomness source. They do this by keeping track of the
|
||||
* first and second order deltas of the event timings.
|
||||
@@ -715,6 +725,61 @@ void add_disk_randomness(struct gendisk
|
||||
@@ -715,6 +725,61 @@ void add_disk_randomness(struct gendisk
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -88,7 +88,7 @@
|
|||
* Entropy extraction routines
|
||||
--- a/fs/fcntl.c
|
||||
+++ b/fs/fcntl.c
|
||||
@@ -141,6 +141,7 @@ SYSCALL_DEFINE1(dup, unsigned int, filde
|
||||
@@ -142,6 +142,7 @@ SYSCALL_DEFINE1(dup, unsigned int, filde
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -98,7 +98,7 @@
|
|||
|
||||
--- a/include/linux/miscdevice.h
|
||||
+++ b/include/linux/miscdevice.h
|
||||
@@ -12,6 +12,7 @@
|
||||
@@ -18,6 +18,7 @@
|
||||
#define APOLLO_MOUSE_MINOR 7
|
||||
#define PC110PAD_MINOR 9
|
||||
/*#define ADB_MOUSE_MINOR 10 FIXME OBSOLETE */
|
||||
|
@ -147,7 +147,7 @@
|
|||
struct rand_pool_info {
|
||||
int entropy_count;
|
||||
int buf_size;
|
||||
@@ -50,6 +75,10 @@ extern void add_input_randomness(unsigne
|
||||
@@ -54,6 +79,10 @@ extern void add_input_randomness(unsigne
|
||||
unsigned int value);
|
||||
extern void add_interrupt_randomness(int irq);
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
static struct vfsmount *shm_mnt;
|
||||
|
||||
@@ -2620,6 +2621,16 @@ int shmem_lock(struct file *file, int lo
|
||||
@@ -2675,6 +2676,16 @@ out:
|
||||
|
||||
/* common code */
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
|||
/**
|
||||
* shmem_file_setup - get an unlinked file living in tmpfs
|
||||
* @name: name for dentry (to be seen in /proc/<pid>/maps
|
||||
@@ -2697,9 +2708,6 @@ int shmem_zero_setup(struct vm_area_stru
|
||||
@@ -2752,9 +2763,6 @@ int shmem_zero_setup(struct vm_area_stru
|
||||
if (IS_ERR(file))
|
||||
return PTR_ERR(file);
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
|||
{
|
||||
--- a/kernel/exit.c
|
||||
+++ b/kernel/exit.c
|
||||
@@ -514,6 +514,7 @@ struct files_struct *get_files_struct(st
|
||||
@@ -506,6 +506,7 @@ struct files_struct *get_files_struct(st
|
||||
|
||||
return files;
|
||||
}
|
||||
|
@ -56,7 +56,7 @@
|
|||
|
||||
void put_files_struct(struct files_struct *files)
|
||||
{
|
||||
@@ -535,6 +536,7 @@ void put_files_struct(struct files_struc
|
||||
@@ -527,6 +528,7 @@ void put_files_struct(struct files_struc
|
||||
rcu_read_unlock();
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@
|
|||
{
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -177,6 +177,7 @@ void __put_task_struct(struct task_struc
|
||||
@@ -190,6 +190,7 @@ void __put_task_struct(struct task_struc
|
||||
if (!profile_handoff_task(tsk))
|
||||
free_task(tsk);
|
||||
}
|
||||
|
@ -76,7 +76,7 @@
|
|||
* macro override instead of weak attribute alias, to workaround
|
||||
--- a/kernel/sched.c
|
||||
+++ b/kernel/sched.c
|
||||
@@ -4367,6 +4367,7 @@ int can_nice(const struct task_struct *p
|
||||
@@ -4271,6 +4271,7 @@ int can_nice(const struct task_struct *p
|
||||
return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
|
||||
capable(CAP_SYS_NICE));
|
||||
}
|
||||
|
@ -94,7 +94,7 @@
|
|||
|
||||
/**
|
||||
* zap_vma_ptes - remove ptes mapping the vma
|
||||
@@ -2596,6 +2597,7 @@ int vmtruncate_range(struct inode *inode
|
||||
@@ -2605,6 +2606,7 @@ int vmtruncate_range(struct inode *inode
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -122,7 +122,7 @@
|
|||
void *caller)
|
||||
--- a/include/linux/mm.h
|
||||
+++ b/include/linux/mm.h
|
||||
@@ -728,6 +728,7 @@ extern void show_free_areas(void);
|
||||
@@ -732,6 +732,7 @@ extern void show_free_areas(void);
|
||||
|
||||
int shmem_lock(struct file *file, int lock, struct user_struct *user);
|
||||
struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags);
|
||||
|
@ -132,7 +132,7 @@
|
|||
#ifndef CONFIG_MMU
|
||||
--- a/kernel/signal.c
|
||||
+++ b/kernel/signal.c
|
||||
@@ -1121,6 +1121,7 @@ struct sighand_struct *lock_task_sighand
|
||||
@@ -1124,6 +1124,7 @@ struct sighand_struct *lock_task_sighand
|
||||
|
||||
return sighand;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ they still want to support gcc 3.3 -- well, we don't.
|
|||
|
||||
--- a/arch/powerpc/Makefile
|
||||
+++ b/arch/powerpc/Makefile
|
||||
@@ -123,7 +123,8 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
|
||||
@@ -130,7 +130,8 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
|
||||
KBUILD_CFLAGS += -mno-sched-epilog
|
||||
endif
|
||||
|
||||
|
@ -28,4 +28,4 @@ they still want to support gcc 3.3 -- well, we don't.
|
|||
+$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
|
||||
$(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405
|
||||
$(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
|
||||
@@ -238,7 +238,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
|
||||
|
||||
quiet_cmd_lzma = LZMA $@
|
||||
cmd_lzma = (cat $(filter-out FORCE,$^) | \
|
||||
|
@ -8,7 +8,7 @@
|
|||
+ lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
|
||||
(rm -f $@ ; false)
|
||||
|
||||
quiet_cmd_lzo = LZO $@
|
||||
quiet_cmd_lzo = LZO $@
|
||||
--- a/scripts/gen_initramfs_list.sh
|
||||
+++ b/scripts/gen_initramfs_list.sh
|
||||
@@ -226,7 +226,7 @@ cpio_list=
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -842,10 +842,7 @@ static noinline int init_post(void)
|
||||
@@ -854,10 +854,7 @@ static noinline int init_post(void)
|
||||
printk(KERN_WARNING "Failed to execute %s. Attempting "
|
||||
"defaults...\n", execute_command);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue