All patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Signed-off-by: John Audia <therealgraysky@proton.me>
-LINUX_VERSION-5.15 = .54
-LINUX_KERNEL_HASH-5.15.54 = 594f548bb0a73e9c08deef838836c984666709687257a624c5ccaf9ae056ce4d
+LINUX_VERSION-5.15 = .55
+LINUX_KERNEL_HASH-5.15.55 = 1ef6bd508b6c3af3bef2d5b337e4477254dba284c79e329aa38f9763ae3bfdcc
scripts/kconfig/conf.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
-index 5d84b44a2a2a..d279d95aac92 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -435,6 +435,8 @@ static int conf_sym(struct menu *menu)
newval = oldval;
break;
case '?':
---
-
"__kstrtabns_" #sym ": \n" \
--- a/include/asm-generic/export.h
+++ b/include/asm-generic/export.h
-@@ -26,6 +26,12 @@ struct kernel_symbol {
+@@ -26,6 +26,12 @@
#endif
.endm
/*
* note on .section use: we specify progbits since usage of the "M" (SHF_MERGE)
* section flag requires it. Use '%progbits' instead of '@progbits' since the
-@@ -42,7 +42,7 @@ struct kernel_symbol {
+@@ -39,7 +45,7 @@
__ksymtab_\name:
__put \val, __kstrtab_\name
.previous
net/ipv4/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
-index 87983e70f03f..426b44d39277 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -315,7 +315,7 @@ config NET_IPVTI
select NET_IP_TUNNEL
default n
---
-
lib/Kconfig | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/init/Kconfig b/init/Kconfig
-index 5a2514bbb11d..32ba9490a6e4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2384,7 +2384,7 @@ config PADATA
help
Build a simple ASN.1 grammar compiler that produces a bytecode output
that can be interpreted by the ASN.1 stream decoder and used to
-diff --git a/lib/Kconfig b/lib/Kconfig
-index d6c6cfd1fac9..6595c53abd3c 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -614,7 +614,7 @@ config LIBFDT
help
Enable fast lookup object identifier registry.
---
-
lib/crypto/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
-index 5056663c2aff..8a4d4e5bcd7a 100644
--- a/lib/crypto/Kconfig
+++ b/lib/crypto/Kconfig
@@ -6,7 +6,7 @@ config CRYPTO_LIB_AES
config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
bool
---
-
include/linux/msdos_partition.h | 1 +
11 files changed, 57 insertions(+)
-diff --git a/block/blk.h b/block/blk.h
-index aab72194d226..ed23a4fac950 100644
--- a/block/blk.h
+++ b/block/blk.h
-@@ -354,6 +354,8 @@ void blk_free_ext_minor(unsigned int minor);
+@@ -354,6 +354,8 @@ void blk_free_ext_minor(unsigned int min
#define ADDPART_FLAG_NONE 0
#define ADDPART_FLAG_RAID 1
#define ADDPART_FLAG_WHOLEDISK 2
int bdev_add_partition(struct gendisk *disk, int partno, sector_t start,
sector_t length);
int bdev_del_partition(struct gendisk *disk, int partno);
-diff --git a/block/partitions/Kconfig b/block/partitions/Kconfig
-index 278593b8e4e9..d4cd2f36ea95 100644
--- a/block/partitions/Kconfig
+++ b/block/partitions/Kconfig
@@ -101,6 +101,13 @@ config ATARI_PARTITION
config IBM_PARTITION
bool "IBM disk label and partition support"
depends on PARTITION_ADVANCED && S390
-diff --git a/block/partitions/Makefile b/block/partitions/Makefile
-index a7f05cdb02a8..d319eb1deba9 100644
--- a/block/partitions/Makefile
+++ b/block/partitions/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_ACORN_PARTITION) += acorn.o
obj-$(CONFIG_CMDLINE_PARTITION) += cmdline.o
obj-$(CONFIG_MAC_PARTITION) += mac.o
obj-$(CONFIG_LDM_PARTITION) += ldm.o
-diff --git a/block/partitions/check.h b/block/partitions/check.h
-index d5b28e309d64..1b2fd18b2480 100644
--- a/block/partitions/check.h
+++ b/block/partitions/check.h
-@@ -58,6 +58,7 @@ int amiga_partition(struct parsed_partitions *state);
+@@ -58,6 +58,7 @@ int amiga_partition(struct parsed_partit
int atari_partition(struct parsed_partitions *state);
int cmdline_partition(struct parsed_partitions *state);
int efi_partition(struct parsed_partitions *state);
int ibm_partition(struct parsed_partitions *);
int karma_partition(struct parsed_partitions *state);
int ldm_partition(struct parsed_partitions *state);
-@@ -68,3 +69,5 @@ int sgi_partition(struct parsed_partitions *state);
+@@ -68,3 +69,5 @@ int sgi_partition(struct parsed_partitio
int sun_partition(struct parsed_partitions *state);
int sysv68_partition(struct parsed_partitions *state);
int ultrix_partition(struct parsed_partitions *state);
+
+int parse_fit_partitions(struct parsed_partitions *state, u64 start_sector, u64 nr_sectors, int *slot, int add_remain);
-diff --git a/block/partitions/core.c b/block/partitions/core.c
-index b9e9af84f518..176f7fe79c56 100644
--- a/block/partitions/core.c
+++ b/block/partitions/core.c
@@ -12,6 +12,10 @@
#include "check.h"
static int (*check_part[])(struct parsed_partitions *) = {
-@@ -48,6 +52,9 @@ static int (*check_part[])(struct parsed_partitions *) = {
+@@ -48,6 +52,9 @@ static int (*check_part[])(struct parsed
#ifdef CONFIG_EFI_PARTITION
efi_partition, /* this must come before msdos */
#endif
#ifdef CONFIG_SGI_PARTITION
sgi_partition,
#endif
-@@ -408,6 +415,11 @@ static struct block_device *add_partition(struct gendisk *disk, int partno,
+@@ -408,6 +415,11 @@ static struct block_device *add_partitio
goto out_del;
}
/* everything is up and running, commence */
err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL);
if (err)
-@@ -598,6 +610,11 @@ static bool blk_add_partition(struct gendisk *disk,
+@@ -598,6 +610,11 @@ static bool blk_add_partition(struct gen
(state->parts[p].flags & ADDPART_FLAG_RAID))
md_autodetect_dev(part->bd_dev);
return true;
}
-diff --git a/block/partitions/efi.c b/block/partitions/efi.c
-index 7ca5c4c374d4..9ecd2b3d5674 100644
--- a/block/partitions/efi.c
+++ b/block/partitions/efi.c
-@@ -716,6 +716,9 @@ int efi_partition(struct parsed_partitions *state)
+@@ -716,6 +716,9 @@ int efi_partition(struct parsed_partitio
gpt_entry *ptes = NULL;
u32 i;
unsigned ssz = queue_logical_block_size(state->disk->queue) / 512;
if (!find_valid_gpt(state, &gpt, &ptes) || !gpt || !ptes) {
kfree(gpt);
-@@ -749,6 +752,11 @@ int efi_partition(struct parsed_partitions *state)
+@@ -749,6 +752,11 @@ int efi_partition(struct parsed_partitio
ARRAY_SIZE(ptes[i].partition_name));
utf16_le_to_7bit(ptes[i].partition_name, label_max, info->volname);
state->parts[i + 1].has_info = true;
}
kfree(ptes);
kfree(gpt);
-diff --git a/block/partitions/efi.h b/block/partitions/efi.h
-index 8cc2b88d0aa8..b5807e35bafc 100644
--- a/block/partitions/efi.h
+++ b/block/partitions/efi.h
@@ -52,6 +52,9 @@
typedef struct _gpt_header {
__le64 signature;
-diff --git a/block/partitions/msdos.c b/block/partitions/msdos.c
-index b5d5c229cc3b..ff7e74911359 100644
--- a/block/partitions/msdos.c
+++ b/block/partitions/msdos.c
-@@ -564,6 +564,15 @@ static void parse_minix(struct parsed_partitions *state,
+@@ -564,6 +564,15 @@ static void parse_minix(struct parsed_pa
#endif /* CONFIG_MINIX_SUBPARTITION */
}
{0, NULL},
};
-diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
-index 65470d1b8fc8..5dd9b54d6555 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
-@@ -345,6 +345,8 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
+@@ -345,6 +345,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt
gd->first_minor = (new->devnum) << tr->part_bits;
gd->minors = 1 << tr->part_bits;
gd->fops = &mtd_block_ops;
if (tr->part_bits)
if (new->devnum < 26)
-diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
-index 57b984dd73b4..5982070e470b 100644
--- a/drivers/mtd/ubi/block.c
+++ b/drivers/mtd/ubi/block.c
-@@ -428,6 +428,9 @@ int ubiblock_create(struct ubi_volume_info *vi)
+@@ -428,6 +428,9 @@ int ubiblock_create(struct ubi_volume_in
goto out_cleanup_disk;
}
gd->private_data = dev;
sprintf(gd->disk_name, "ubiblock%d_%d", dev->ubi_num, dev->vol_id);
set_capacity(gd, disk_capacity);
dev->gd = gd;
-diff --git a/include/linux/msdos_partition.h b/include/linux/msdos_partition.h
-index 2cb82db2a43c..c15b6c759aca 100644
--- a/include/linux/msdos_partition.h
+++ b/include/linux/msdos_partition.h
@@ -31,6 +31,7 @@ enum msdos_sys_ind {
SOLARIS_X86_PARTITION = 0x82, /* also Linux swap partitions */
NEW_SOLARIS_X86_PARTITION = 0xbf,
---
-
drivers/mtd/nand/Makefile | 1 +
2 files changed, 5 insertions(+)
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index b40455234cbd..72ef18c59cee 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -46,6 +46,10 @@ config MTD_NAND_ECC_SW_BCH
endmenu
endmenu
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index 1c0b46960eb1..b9d97626bb47 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
@@ -2,6 +2,7 @@
obj-y += onenand/
obj-y += raw/
---
-
create mode 100644 net/bridge/br_offload.c
create mode 100644 net/bridge/br_private_offload.h
-diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
-index 18d3b264b754..944630df0ec3 100644
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -59,6 +59,7 @@ struct br_ip_list {
#define BR_DEFAULT_AGEING_TIME (300 * HZ)
-diff --git a/net/bridge/Makefile b/net/bridge/Makefile
-index 7fb9a021873b..0ebf3665c216 100644
--- a/net/bridge/Makefile
+++ b/net/bridge/Makefile
@@ -5,7 +5,7 @@
br_ioctl.o br_stp.o br_stp_bpdu.o \
br_stp_if.o br_stp_timer.o br_netlink.o \
br_netlink_tunnel.o br_arp_nd_proxy.o
-diff --git a/net/bridge/br.c b/net/bridge/br.c
-index d3a32c6813e0..42e4d4fec604 100644
--- a/net/bridge/br.c
+++ b/net/bridge/br.c
@@ -18,6 +18,7 @@
err = register_pernet_subsys(&br_net_ops);
if (err)
goto err_out1;
-@@ -430,6 +435,8 @@ static int __init br_init(void)
+@@ -430,6 +435,8 @@ err_out3:
err_out2:
unregister_pernet_subsys(&br_net_ops);
err_out1:
br_fdb_fini();
}
-diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
-index 8d6bab244c4a..d69d8e9ed7aa 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
-@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev)
+@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev
br->bridge_hello_time = br->hello_time = 2 * HZ;
br->bridge_forward_delay = br->forward_delay = 15 * HZ;
br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
dev->max_mtu = ETH_MAX_MTU;
br_netfilter_rtable_init(br);
-diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
-index 46812b659710..20ea8f75d140 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -23,6 +23,7 @@
static const struct rhashtable_params br_fdb_rht_params = {
.head_offset = offsetof(struct net_bridge_fdb_entry, rhnode),
-@@ -518,6 +519,8 @@ static struct net_bridge_fdb_entry *fdb_create(struct net_bridge *br,
+@@ -518,6 +519,8 @@ static struct net_bridge_fdb_entry *fdb_
fdb->key.vlan_id = vid;
fdb->flags = flags;
fdb->updated = fdb->used = jiffies;
if (rhashtable_lookup_insert_fast(&br->fdb_hash_tbl,
&fdb->rhnode,
br_fdb_rht_params)) {
-@@ -794,6 +797,8 @@ static void fdb_notify(struct net_bridge *br,
+@@ -794,6 +797,8 @@ static void fdb_notify(struct net_bridge
struct sk_buff *skb;
int err = -ENOBUFS;
if (swdev_notify)
br_switchdev_fdb_notify(br, fdb, type);
-diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c
-index 9fe5c888f27d..6d9025106d9d 100644
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -16,6 +16,7 @@
/* Don't forward packets to originating port or forwarding disabled */
static inline int should_deliver(const struct net_bridge_port *p,
-@@ -32,6 +33,8 @@ static inline int should_deliver(const struct net_bridge_port *p,
+@@ -32,6 +33,8 @@ static inline int should_deliver(const s
int br_dev_queue_push_xmit(struct net *net, struct sock *sk, struct sk_buff *skb)
{
skb_push(skb, ETH_HLEN);
if (!is_skb_forwardable(skb->dev, skb))
goto drop;
-diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
-index 4a02f8bb278a..b1d3295b861c 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -25,6 +25,7 @@
/*
* Determine initial path cost based on speed.
-@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br,
+@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(s
p->path_cost = port_cost(dev);
p->priority = 0x8000 >> BR_PORT_BITS;
p->port_no = index;
br_init_port(p);
br_set_state(p, BR_STATE_DISABLED);
br_stp_port_timer_init(p);
-@@ -771,6 +772,9 @@ void br_port_flags_change(struct net_bridge_port *p, unsigned long mask)
+@@ -771,6 +772,9 @@ void br_port_flags_change(struct net_bri
if (mask & BR_NEIGH_SUPPRESS)
br_recalculate_neigh_suppress_enabled(br);
}
bool br_port_flag_is_set(const struct net_device *dev, unsigned long flag)
-diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
-index 65416af73714..b0601e6aed8c 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
@@ -22,6 +22,7 @@
static int
br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb)
-@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb
+@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *n
dst->used = now;
br_forward(dst->dst, skb, local_rcv, false);
} else {
if (!mcast_hit)
br_flood(br, skb, pkt_type, local_rcv, false);
else
-@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_frame(struct sk_buff **pskb)
+@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_fra
memset(skb->cb, 0, sizeof(struct br_input_skb_cb));
p = br_port_get_rcu(skb->dev);
if (p->flags & BR_VLAN_TUNNEL)
br_handle_ingress_vlan_tunnel(skb, p, nbp_vlan_group_rcu(p));
-diff --git a/net/bridge/br_offload.c b/net/bridge/br_offload.c
-new file mode 100644
-index 000000000000..88173ed11093
--- /dev/null
+++ b/net/bridge/br_offload.c
@@ -0,0 +1,438 @@
+{
+ kmem_cache_destroy(offload_cache);
+}
-diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
-index bd218c2b2cd9..951ba1d993ca 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -268,7 +268,13 @@ struct net_bridge_fdb_entry {
#ifdef CONFIG_NET_SWITCHDEV
/* Set if TX data plane offloading is used towards at least one
-diff --git a/net/bridge/br_private_offload.h b/net/bridge/br_private_offload.h
-new file mode 100644
-index 000000000000..97c13af2866b
--- /dev/null
+++ b/net/bridge/br_private_offload.h
@@ -0,0 +1,23 @@
+}
+
+#endif
-diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
-index 1d80f34a139c..b57788b53d24 100644
--- a/net/bridge/br_stp.c
+++ b/net/bridge/br_stp.c
@@ -12,6 +12,7 @@
/* since time values in bpdu are in jiffies and then scaled (1/256)
* before sending, make sure that is at least one STP tick.
-@@ -52,6 +53,8 @@ void br_set_state(struct net_bridge_port *p, unsigned int state)
+@@ -52,6 +53,8 @@ void br_set_state(struct net_bridge_port
(unsigned int) p->port_no, p->dev->name,
br_port_state_names[p->state]);
if (p->br->stp_enabled == BR_KERNEL_STP) {
switch (p->state) {
case BR_STATE_BLOCKING:
-diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
-index 7b0c19772111..814cbfb77d25 100644
--- a/net/bridge/br_sysfs_br.c
+++ b/net/bridge/br_sysfs_br.c
@@ -18,6 +18,7 @@
/* IMPORTANT: new bridge options must be added with netlink support only
* please do not add new sysfs entries
-@@ -930,6 +931,38 @@ static ssize_t vlan_stats_per_port_store(struct device *d,
+@@ -930,6 +931,38 @@ static ssize_t vlan_stats_per_port_store
static DEVICE_ATTR_RW(vlan_stats_per_port);
#endif
static struct attribute *bridge_attrs[] = {
&dev_attr_forward_delay.attr,
&dev_attr_hello_time.attr,
-@@ -984,6 +1017,8 @@ static struct attribute *bridge_attrs[] = {
+@@ -984,6 +1017,8 @@ static struct attribute *bridge_attrs[]
&dev_attr_vlan_stats_enabled.attr,
&dev_attr_vlan_stats_per_port.attr,
#endif
NULL
};
-diff --git a/net/bridge/br_sysfs_if.c b/net/bridge/br_sysfs_if.c
-index 9ee9c60738e2..2b44e5fb19e4 100644
--- a/net/bridge/br_sysfs_if.c
+++ b/net/bridge/br_sysfs_if.c
-@@ -241,6 +241,7 @@ BRPORT_ATTR_FLAG(broadcast_flood, BR_BCAST_FLOOD);
+@@ -241,6 +241,7 @@ BRPORT_ATTR_FLAG(broadcast_flood, BR_BCA
BRPORT_ATTR_FLAG(neigh_suppress, BR_NEIGH_SUPPRESS);
BRPORT_ATTR_FLAG(isolated, BR_ISOLATED);
BRPORT_ATTR_FLAG(bpdu_filter, BR_BPDU_FILTER);
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING
static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
-@@ -295,6 +296,7 @@ static const struct brport_attribute *brport_attrs[] = {
+@@ -295,6 +296,7 @@ static const struct brport_attribute *br
&brport_attr_isolated,
&brport_attr_bpdu_filter,
&brport_attr_backup_port,
NULL
};
-diff --git a/net/bridge/br_vlan_tunnel.c b/net/bridge/br_vlan_tunnel.c
-index 6399a8a69d07..ffc65dc4eea8 100644
--- a/net/bridge/br_vlan_tunnel.c
+++ b/net/bridge/br_vlan_tunnel.c
@@ -15,6 +15,7 @@
static inline int br_vlan_tunid_cmp(struct rhashtable_compare_arg *arg,
const void *ptr)
-@@ -180,6 +181,7 @@ void br_handle_ingress_vlan_tunnel(struct sk_buff *skb,
+@@ -180,6 +181,7 @@ void br_handle_ingress_vlan_tunnel(struc
skb_dst_drop(skb);
__vlan_hwaccel_put_tag(skb, p->br->vlan_proto, vlan->vid);
}
int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
-@@ -201,6 +203,7 @@ int br_handle_egress_vlan_tunnel(struct sk_buff *skb,
+@@ -201,6 +203,7 @@ int br_handle_egress_vlan_tunnel(struct
if (err)
return err;
tunnel_dst = rcu_dereference(vlan->tinfo.tunnel_dst);
if (tunnel_dst && dst_hold_safe(&tunnel_dst->dst))
skb_dst_set(skb, &tunnel_dst->dst);
---
-
drivers/net/dsa/mv88e6xxx/chip.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
-index cad98ab421d7..790e1887d73b 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -2981,6 +2981,9 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port)
+@@ -2981,6 +2981,9 @@ static int mv88e6xxx_setup_port(struct m
else
reg = 1 << port;
err = mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_ASSOC_VECTOR,
reg);
if (err)
---
-
drivers/usb/serial/option.c | 7 +++++++
2 files changed, 8 insertions(+)
-diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
-index 8f1487f41085..d992985d599e 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
-@@ -1085,6 +1085,7 @@ static const struct usb_device_id products[] = {
+@@ -1085,6 +1085,7 @@ static const struct usb_device_id produc
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
/* 3. Combined interface devices matching on interface number */
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
-diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
-index de59fa919540..9f00d047f5e9 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -243,6 +243,8 @@ static void option_instat_callback(struct urb *urb);
+@@ -243,6 +243,8 @@ static void option_instat_callback(struc
#define UBLOX_PRODUCT_R6XX 0x90fa
/* These Yuga products use Qualcomm's vendor ID */
#define YUGA_PRODUCT_CLM920_NC5 0x9625
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
-@@ -1133,6 +1135,11 @@ static const struct usb_device_id option_ids[] = {
+@@ -1133,6 +1135,11 @@ static const struct usb_device_id option
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff),
.driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 },
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) },
---
-
drivers/of/fdt.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
-index 59a7a9ee58ef..3b0b62b410dd 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
-@@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
+@@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(uns
p = of_get_flat_dt_prop(node, "bootargs", &l);
if (p != NULL && l > 0)
strlcpy(data, p, min(l, COMMAND_LINE_SIZE));
/*
* CONFIG_CMDLINE is meant to be a default in case nothing else
---
-
include/uapi/linux/swab.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h
-index 7272f85d6d6a..3736f2fe1541 100644
--- a/include/uapi/linux/swab.h
+++ b/include/uapi/linux/swab.h
@@ -3,7 +3,7 @@
#include <asm/bitsperlong.h>
#include <asm/swab.h>
---
-
include/linux/mtd/partitions.h | 7 ++
5 files changed, 197 insertions(+), 25 deletions(-)
-diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
-index 796a2eccbef0..f9ed93c4cf0f 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -12,6 +12,25 @@ menuconfig MTD
config MTD_TESTS
tristate "MTD tests support (DANGEROUS)"
depends on m
-diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
-index 593d0593a038..b14b7fe0f597 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
-@@ -9,6 +9,8 @@ mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
+@@ -9,6 +9,8 @@ mtd-y := mtdcore.o mtdsuper.o mtdconc
obj-y += parsers/
# 'Users' - code which presents functionality to userspace.
obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o
obj-$(CONFIG_MTD_BLOCK) += mtdblock.o
-diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
-index d442fa94c872..f1ed12aae1fe 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -15,11 +15,13 @@
/*
* MTD methods which simply translate the effective address and pass through
-@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struct mtd_info *new)
+@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struc
return ret;
}
int mtd_add_partition(struct mtd_info *parent, const char *name,
long long offset, long long length)
{
-@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *parent, const char *name,
+@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *p
if (ret)
goto err_remove_part;
mtd_add_partition_attrs(child);
return 0;
-@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info *parent,
+@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info *
goto err_del_partitions;
}
mtd_add_partition_attrs(child);
/* Look for subpartitions */
-@@ -438,31 +582,6 @@ int add_mtd_partitions(struct mtd_info *parent,
+@@ -438,31 +582,6 @@ err_del_partitions:
return ret;
}
/*
* Many partition parsers just expected the core to kfree() all their data in
* one chunk. Do that by default.
-diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
-index 8a2c60235ebb..b092bf6ff97d 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
-@@ -613,6 +613,24 @@ static inline void mtd_align_erase_req(struct mtd_info *mtd,
+@@ -613,6 +613,24 @@ static inline void mtd_align_erase_req(s
req->len += mtd->erasesize - mod;
}
static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd)
{
if (mtd->writesize_shift)
-@@ -685,6 +703,13 @@ extern void __put_mtd_device(struct mtd_info *mtd);
+@@ -685,6 +703,13 @@ extern void __put_mtd_device(struct mtd_
extern struct mtd_info *get_mtd_device_nm(const char *name);
extern void put_mtd_device(struct mtd_info *mtd);
struct mtd_notifier {
void (*add)(struct mtd_info *mtd);
-diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
-index b74a539ec581..65ba0dbf961d 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -75,6 +75,12 @@ struct mtd_part_parser_data {
};
/* Container for passing around a set of parsed partitions */
---
-
drivers/mtd/spi-nor/gigadevice.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/mtd/spi-nor/gigadevice.c b/drivers/mtd/spi-nor/gigadevice.c
-index e52ed19d864f..d25292ec1eb9 100644
--- a/drivers/mtd/spi-nor/gigadevice.c
+++ b/drivers/mtd/spi-nor/gigadevice.c
-@@ -53,6 +53,9 @@ static const struct flash_info gigadevice_parts[] = {
+@@ -53,6 +53,9 @@ static const struct flash_info gigadevic
SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK |
SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6)
.fixups = &gd25q256_fixups },
};
const struct spi_nor_manufacturer spi_nor_gigadevice = {
---
-
drivers/mtd/spi-nor/esmt.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/mtd/spi-nor/esmt.c b/drivers/mtd/spi-nor/esmt.c
-index cfc9218c1053..d1750807f005 100644
--- a/drivers/mtd/spi-nor/esmt.c
+++ b/drivers/mtd/spi-nor/esmt.c
@@ -10,6 +10,8 @@
{ "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64,
SECT_4K | SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE) },
{ "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64,
---
-
drivers/mtd/spi-nor/xmc.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/mtd/spi-nor/xmc.c b/drivers/mtd/spi-nor/xmc.c
-index 2c7773b68993..99ee43a654c4 100644
--- a/drivers/mtd/spi-nor/xmc.c
+++ b/drivers/mtd/spi-nor/xmc.c
-@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts[] = {
+@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
};
const struct spi_nor_manufacturer spi_nor_xmc = {
---
-
fs/udf/Kconfig | 1 +
4 files changed, 4 insertions(+)
-diff --git a/fs/hfs/Kconfig b/fs/hfs/Kconfig
-index 129926b5142d..e0d2c647aa07 100644
--- a/fs/hfs/Kconfig
+++ b/fs/hfs/Kconfig
@@ -2,6 +2,7 @@
select NLS
help
If you say Y here, you will be able to mount Macintosh-formatted
-diff --git a/fs/hfsplus/Kconfig b/fs/hfsplus/Kconfig
-index 7d4229aecec0..648d91d1881f 100644
--- a/fs/hfsplus/Kconfig
+++ b/fs/hfsplus/Kconfig
@@ -2,6 +2,7 @@
select NLS
select NLS_UTF8
help
-diff --git a/fs/isofs/Kconfig b/fs/isofs/Kconfig
-index 08ffd37b9bb8..f74680379207 100644
--- a/fs/isofs/Kconfig
+++ b/fs/isofs/Kconfig
@@ -1,6 +1,7 @@
help
This is the standard file system used on CD-ROMs. It was previously
known as "High Sierra File System" and is called "hsfs" on other
-diff --git a/fs/udf/Kconfig b/fs/udf/Kconfig
-index 26e1a49f3ba7..3f85a084d2b5 100644
--- a/fs/udf/Kconfig
+++ b/fs/udf/Kconfig
@@ -1,6 +1,7 @@
select CRC_ITU_T
select NLS
help
---
-
net/core/of_net.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
-diff --git a/net/core/of_net.c b/net/core/of_net.c
-index 71c38b532f72..43b28c8ddff9 100644
--- a/net/core/of_net.c
+++ b/net/core/of_net.c
-@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct device_node *np, u8 *addr)
+@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct
return 0;
}
/**
* of_get_mac_address()
* @np: Caller's Device Node
-@@ -175,6 +196,7 @@ int of_get_mac_address(struct device_node *np, u8 *addr)
+@@ -175,6 +196,7 @@ found:
addr[5] = (mac_val >> 0) & 0xff;
}
return ret;
}
EXPORT_SYMBOL(of_get_mac_address);
---
-