kernel: bump 5.15 to 5.15.80 (#10506)

Manually rebase:
   pending-5.15/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
   ath79/patches-5.15/910-unaligned_access_hacks.patch

All other patches automatically rebased

Co-authored-by: John Audia <therealgraysky@proton.me>
Signed-off-by: Liu Linhui <liulinhui36@gmail.com>

Signed-off-by: Liu Linhui <liulinhui36@gmail.com>
Co-authored-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
lovehackintosh 2022-11-26 23:39:10 +08:00 committed by GitHub
parent 07df792ae7
commit 21bab22afa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 112 additions and 88 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.15 = .79 LINUX_VERSION-5.15 = .80
LINUX_KERNEL_HASH-5.15.79 = cba39031dbc0eed0785b8afdc8c58cf23df83e47001b2354fa44486ae699c154 LINUX_KERNEL_HASH-5.15.80 = 3b321a6466d2021f60ed8d4e33bba21db2f23efc2ddd2d9fb775393d9afdfd4d

View File

@ -1,3 +1,47 @@
From: Felix Fietkau <nbd@openwrt.org>
Subject: [PATCH] ar71xx: fix unaligned access in a few more places
SVN-Revision: 35130
---
arch/mips/include/asm/checksum.h | 83 +++---------------
include/uapi/linux/ip.h | 2 +-
include/uapi/linux/ipv6.h | 2 +-
include/uapi/linux/tcp.h | 4 ++--
include/uapi/linux/udp.h | 2 +-
net/netfilter/nf_conntrack_core.c | 4 ++--
include/uapi/linux/icmp.h | 2 +-
include/uapi/linux/in6.h | 2 +-
net/ipv6/tcp_ipv6.c | 9 +++--
net/ipv6/datagram.c | 6 ++--
net/ipv6/exthdrs.c | 2 +-
include/linux/types.h | 5 +++
net/ipv4/af_inet.c | 4 ++--
net/ipv4/tcp_output.c | 69 +++++++++--------
include/uapi/linux/igmp.h | 8 +++---
net/core/flow_dissector.c | 2 +-
include/uapi/linux/icmpv6.h | 2 +-
include/net/ndisc.h | 10 ++++----
net/sched/cls_u32.c | 6 +++---
net/ipv6/ip6_offload.c | 2 +-
include/net/addrconf.h | 2 +-
include/net/inet_ecn.h | 4 ++--
include/net/ipv6.h | 23 +++++----
include/net/secure_seq.h | 1 +
include/uapi/linux/in.h | 2 +-
net/ipv6/ip6_fib.h | 2 +-
net/netfilter/nf_conntrack_proto_tcp.c | 2 +-
net/xfrm/xfrm_input.c | 4 ++--
net/ipv4/tcp_input.c | 12 ++++---
include/uapi/linux/if_pppox.h | 1 +
net/ipv6/netfilter/nf_log_ipv6.c | 4 ++--
include/net/neighbour.h | 6 +++--
include/uapi/linux/netfilter_arp/arp_tables.h | 2 +-
net/core/utils.c | 10 +++++--
include/linux/etherdevice.h | 11 ++++---
net/ipv4/tcp_offload.c | 6 +++---
net/ipv6/netfilter/ip6table_mangle.c | 4 ++--
37 file changed, 171 insertions(+), 141 deletions(-)
--- a/arch/mips/include/asm/checksum.h --- a/arch/mips/include/asm/checksum.h
+++ b/arch/mips/include/asm/checksum.h +++ b/arch/mips/include/asm/checksum.h
@@ -100,26 +100,30 @@ static inline __sum16 ip_fast_csum(const @@ -100,26 +100,30 @@ static inline __sum16 ip_fast_csum(const
@ -118,9 +162,9 @@
--- a/include/uapi/linux/ip.h --- a/include/uapi/linux/ip.h
+++ b/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h
@@ -103,7 +103,7 @@ struct iphdr { @@ -105,7 +105,7 @@ struct iphdr {
__be32 saddr; __be32 daddr;
__be32 daddr; );
/*The options start here. */ /*The options start here. */
-}; -};
+} __attribute__((packed, aligned(2))); +} __attribute__((packed, aligned(2)));
@ -129,10 +173,10 @@
struct ip_auth_hdr { struct ip_auth_hdr {
--- a/include/uapi/linux/ipv6.h --- a/include/uapi/linux/ipv6.h
+++ b/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h
@@ -132,7 +132,7 @@ struct ipv6hdr { @@ -134,7 +134,7 @@ struct ipv6hdr {
struct in6_addr saddr;
struct in6_addr saddr; struct in6_addr daddr;
struct in6_addr daddr; );
-}; -};
+} __attribute__((packed, aligned(2))); +} __attribute__((packed, aligned(2)));

View File

@ -291,7 +291,7 @@ bcm2835-mmc: uninitialized_var is no more
goto out; goto out;
--- a/drivers/mmc/core/core.c --- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c
@@ -1801,7 +1801,8 @@ EXPORT_SYMBOL(mmc_erase); @@ -1807,7 +1807,8 @@ EXPORT_SYMBOL(mmc_erase);
int mmc_can_erase(struct mmc_card *card) int mmc_can_erase(struct mmc_card *card)
{ {

View File

@ -157,7 +157,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
static const struct drm_display_mode innolux_at070tn92_mode = { static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333, .clock = 33333,
.hdisplay = 800, .hdisplay = 800,
@@ -4660,6 +4692,9 @@ static const struct of_device_id platfor @@ -4662,6 +4694,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24", .compatible = "innolux,at043tn24",
.data = &innolux_at043tn24, .data = &innolux_at043tn24,
}, { }, {

View File

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/panel/panel-simple.c --- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3759,6 +3759,31 @@ static const struct panel_desc qishenglo @@ -3761,6 +3761,31 @@ static const struct panel_desc qishenglo
.connector_type = DRM_MODE_CONNECTOR_DPI, .connector_type = DRM_MODE_CONNECTOR_DPI,
}; };
@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct display_timing rocktech_rk070er9427_timing = { static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 }, .pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 }, .hactive = { 800, 800, 800 },
@@ -4839,6 +4864,9 @@ static const struct of_device_id platfor @@ -4841,6 +4866,9 @@ static const struct of_device_id platfor
.compatible = "qishenglong,gopher2b-lcd", .compatible = "qishenglong,gopher2b-lcd",
.data = &qishenglong_gopher2b_lcd, .data = &qishenglong_gopher2b_lcd,
}, { }, {

View File

@ -46,7 +46,7 @@ Acked-by: Maxime Ripard <maxime@cerno.tech>
static const struct drm_display_mode giantplus_gpg482739qs5_mode = { static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000, .clock = 9000,
.hdisplay = 480, .hdisplay = 480,
@@ -4702,6 +4728,9 @@ static const struct of_device_id platfor @@ -4704,6 +4730,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e", .compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e, .data = &friendlyarm_hd702e,
}, { }, {

View File

@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct phylink_link_state *state); struct phylink_link_state *state);
--- a/net/dsa/port.c --- a/net/dsa/port.c
+++ b/net/dsa/port.c +++ b/net/dsa/port.c
@@ -1172,6 +1172,10 @@ static int dsa_port_phylink_register(str @@ -1188,6 +1188,10 @@ static int dsa_port_phylink_register(str
dp->pl_config.type = PHYLINK_DEV; dp->pl_config.type = PHYLINK_DEV;
dp->pl_config.pcs_poll = ds->pcs_poll; dp->pl_config.pcs_poll = ds->pcs_poll;

View File

@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/dsa/dsa_priv.h --- a/net/dsa/dsa_priv.h
+++ b/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h
@@ -260,13 +260,13 @@ int dsa_port_mrp_add_ring_role(const str @@ -261,13 +261,13 @@ int dsa_port_mrp_add_ring_role(const str
const struct switchdev_obj_ring_role_mrp *mrp); const struct switchdev_obj_ring_role_mrp *mrp);
int dsa_port_mrp_del_ring_role(const struct dsa_port *dp, int dsa_port_mrp_del_ring_role(const struct dsa_port *dp,
const struct switchdev_obj_ring_role_mrp *mrp); const struct switchdev_obj_ring_role_mrp *mrp);
@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
const struct net_device *dev) const struct net_device *dev)
--- a/net/dsa/port.c --- a/net/dsa/port.c
+++ b/net/dsa/port.c +++ b/net/dsa/port.c
@@ -1076,7 +1076,7 @@ static void dsa_port_phylink_mac_link_up @@ -1092,7 +1092,7 @@ static void dsa_port_phylink_mac_link_up
speed, duplex, tx_pause, rx_pause); speed, duplex, tx_pause, rx_pause);
} }
@ -47,7 +47,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.validate = dsa_port_phylink_validate, .validate = dsa_port_phylink_validate,
.mac_pcs_get_state = dsa_port_phylink_mac_pcs_get_state, .mac_pcs_get_state = dsa_port_phylink_mac_pcs_get_state,
.mac_config = dsa_port_phylink_mac_config, .mac_config = dsa_port_phylink_mac_config,
@@ -1085,6 +1085,30 @@ const struct phylink_mac_ops dsa_port_ph @@ -1101,6 +1101,30 @@ const struct phylink_mac_ops dsa_port_ph
.mac_link_up = dsa_port_phylink_mac_link_up, .mac_link_up = dsa_port_phylink_mac_link_up,
}; };
@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static int dsa_port_setup_phy_of(struct dsa_port *dp, bool enable) static int dsa_port_setup_phy_of(struct dsa_port *dp, bool enable)
{ {
struct dsa_switch *ds = dp->ds; struct dsa_switch *ds = dp->ds;
@@ -1161,27 +1185,15 @@ static int dsa_port_phylink_register(str @@ -1177,27 +1201,15 @@ static int dsa_port_phylink_register(str
{ {
struct dsa_switch *ds = dp->ds; struct dsa_switch *ds = dp->ds;
struct device_node *port_dn = dp->dn; struct device_node *port_dn = dp->dn;

View File

@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct phylink_link_state *state); struct phylink_link_state *state);
--- a/net/dsa/port.c --- a/net/dsa/port.c
+++ b/net/dsa/port.c +++ b/net/dsa/port.c
@@ -1095,9 +1095,8 @@ int dsa_port_phylink_create(struct dsa_p @@ -1111,9 +1111,8 @@ int dsa_port_phylink_create(struct dsa_p
if (err) if (err)
mode = PHY_INTERFACE_MODE_NA; mode = PHY_INTERFACE_MODE_NA;

View File

@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
void (*phylink_mac_config)(struct dsa_switch *ds, int port, void (*phylink_mac_config)(struct dsa_switch *ds, int port,
--- a/net/dsa/port.c --- a/net/dsa/port.c
+++ b/net/dsa/port.c +++ b/net/dsa/port.c
@@ -1012,6 +1012,20 @@ static void dsa_port_phylink_mac_pcs_get @@ -1028,6 +1028,20 @@ static void dsa_port_phylink_mac_pcs_get
} }
} }
@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void dsa_port_phylink_mac_config(struct phylink_config *config, static void dsa_port_phylink_mac_config(struct phylink_config *config,
unsigned int mode, unsigned int mode,
const struct phylink_link_state *state) const struct phylink_link_state *state)
@@ -1078,6 +1092,7 @@ static void dsa_port_phylink_mac_link_up @@ -1094,6 +1108,7 @@ static void dsa_port_phylink_mac_link_up
static const struct phylink_mac_ops dsa_port_phylink_mac_ops = { static const struct phylink_mac_ops dsa_port_phylink_mac_ops = {
.validate = dsa_port_phylink_validate, .validate = dsa_port_phylink_validate,

View File

@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/dsa/port.c --- a/net/dsa/port.c
+++ b/net/dsa/port.c +++ b/net/dsa/port.c
@@ -1110,6 +1110,13 @@ int dsa_port_phylink_create(struct dsa_p @@ -1126,6 +1126,13 @@ int dsa_port_phylink_create(struct dsa_p
if (err) if (err)
mode = PHY_INTERFACE_MODE_NA; mode = PHY_INTERFACE_MODE_NA;

View File

@ -76,7 +76,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (iface == PHY_INTERFACE_MODE_MOCA) if (iface == PHY_INTERFACE_MODE_MOCA)
--- a/net/dsa/port.c --- a/net/dsa/port.c
+++ b/net/dsa/port.c +++ b/net/dsa/port.c
@@ -1017,8 +1017,8 @@ dsa_port_phylink_mac_select_pcs(struct p @@ -1033,8 +1033,8 @@ dsa_port_phylink_mac_select_pcs(struct p
phy_interface_t interface) phy_interface_t interface)
{ {
struct dsa_port *dp = container_of(config, struct dsa_port, pl_config); struct dsa_port *dp = container_of(config, struct dsa_port, pl_config);

View File

@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/dsa/master.c --- a/net/dsa/master.c
+++ b/net/dsa/master.c +++ b/net/dsa/master.c
@@ -330,28 +330,13 @@ static const struct attribute_group dsa_ @@ -329,28 +329,13 @@ static const struct attribute_group dsa_
.attrs = dsa_slave_attrs, .attrs = dsa_slave_attrs,
}; };
@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* The DSA master must use SET_NETDEV_DEV for this to work. */ /* The DSA master must use SET_NETDEV_DEV for this to work. */
consumer_link = device_link_add(ds->dev, dev->dev.parent, consumer_link = device_link_add(ds->dev, dev->dev.parent,
@@ -361,13 +346,6 @@ int dsa_master_setup(struct net_device * @@ -360,13 +345,6 @@ int dsa_master_setup(struct net_device *
"Failed to create a device link to DSA switch %s\n", "Failed to create a device link to DSA switch %s\n",
dev_name(ds->dev)); dev_name(ds->dev));
@ -81,7 +81,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* If we use a tagging format that doesn't have an ethertype /* If we use a tagging format that doesn't have an ethertype
* field, make sure that all packets from this point on get * field, make sure that all packets from this point on get
* sent to the tag format's receive function. * sent to the tag format's receive function.
@@ -405,7 +383,6 @@ void dsa_master_teardown(struct net_devi @@ -404,7 +382,6 @@ void dsa_master_teardown(struct net_devi
sysfs_remove_group(&dev->dev.kobj, &dsa_group); sysfs_remove_group(&dev->dev.kobj, &dsa_group);
dsa_netdev_ops_set(dev, NULL); dsa_netdev_ops_set(dev, NULL);
dsa_master_ethtool_teardown(dev); dsa_master_ethtool_teardown(dev);

View File

@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int dsa_tree_setup_lags(struct dsa_switch_tree *dst) static int dsa_tree_setup_lags(struct dsa_switch_tree *dst)
--- a/net/dsa/master.c --- a/net/dsa/master.c
+++ b/net/dsa/master.c +++ b/net/dsa/master.c
@@ -267,9 +267,9 @@ static void dsa_master_set_promiscuity(s @@ -266,9 +266,9 @@ static void dsa_master_set_promiscuity(s
if (!ops->promisc_on_master) if (!ops->promisc_on_master)
return; return;

View File

@ -160,7 +160,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct dsa_switchdev_event_work { struct dsa_switchdev_event_work {
struct dsa_switch *ds; struct dsa_switch *ds;
int port; int port;
@@ -548,6 +555,12 @@ int dsa_tree_change_tag_proto(struct dsa @@ -549,6 +556,12 @@ int dsa_tree_change_tag_proto(struct dsa
struct net_device *master, struct net_device *master,
const struct dsa_device_ops *tag_ops, const struct dsa_device_ops *tag_ops,
const struct dsa_device_ops *old_tag_ops); const struct dsa_device_ops *old_tag_ops);

View File

@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_clear_tx_descriptors(priv, queue); stmmac_clear_tx_descriptors(priv, queue);
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
@@ -7387,6 +7382,25 @@ int stmmac_suspend(struct device *dev) @@ -7390,6 +7385,25 @@ int stmmac_suspend(struct device *dev)
} }
EXPORT_SYMBOL_GPL(stmmac_suspend); EXPORT_SYMBOL_GPL(stmmac_suspend);
@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/** /**
* stmmac_reset_queues_param - reset queue parameters * stmmac_reset_queues_param - reset queue parameters
* @priv: device pointer * @priv: device pointer
@@ -7397,22 +7411,11 @@ static void stmmac_reset_queues_param(st @@ -7400,22 +7414,11 @@ static void stmmac_reset_queues_param(st
u32 tx_cnt = priv->plat->tx_queues_to_use; u32 tx_cnt = priv->plat->tx_queues_to_use;
u32 queue; u32 queue;

View File

@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct stmmac_channel *ch = &priv->channel[queue]; struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags; unsigned long flags;
int ret; int ret;
@@ -6493,7 +6497,7 @@ void stmmac_xdp_release(struct net_devic @@ -6496,7 +6500,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Free the IRQ lines */ /* Free the IRQ lines */
stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
@@ -6552,7 +6556,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6555,7 +6559,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA RX Channel Configuration */ /* DMA RX Channel Configuration */
for (chan = 0; chan < rx_cnt; chan++) { for (chan = 0; chan < rx_cnt; chan++) {
@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, chan); rx_q->dma_rx_phy, chan);
@@ -6570,7 +6574,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6573,7 +6577,7 @@ int stmmac_xdp_open(struct net_device *d
rx_q->queue_index); rx_q->queue_index);
} else { } else {
stmmac_set_dma_bfsize(priv, priv->ioaddr, stmmac_set_dma_bfsize(priv, priv->ioaddr,
@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->queue_index); rx_q->queue_index);
} }
@@ -6579,7 +6583,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6582,7 +6586,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA TX Channel Configuration */ /* DMA TX Channel Configuration */
for (chan = 0; chan < tx_cnt; chan++) { for (chan = 0; chan < tx_cnt; chan++) {
@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan); tx_q->dma_tx_phy, chan);
@@ -6612,7 +6616,7 @@ int stmmac_xdp_open(struct net_device *d @@ -6615,7 +6619,7 @@ int stmmac_xdp_open(struct net_device *d
irq_error: irq_error:
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@@ -6639,8 +6643,8 @@ int stmmac_xsk_wakeup(struct net_device @@ -6642,8 +6646,8 @@ int stmmac_xsk_wakeup(struct net_device
queue >= priv->plat->tx_queues_to_use) queue >= priv->plat->tx_queues_to_use)
return -EINVAL; return -EINVAL;
@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ch = &priv->channel[queue]; ch = &priv->channel[queue];
if (!rx_q->xsk_pool && !tx_q->xsk_pool) if (!rx_q->xsk_pool && !tx_q->xsk_pool)
@@ -6896,8 +6900,8 @@ int stmmac_reinit_ringparam(struct net_d @@ -6899,8 +6903,8 @@ int stmmac_reinit_ringparam(struct net_d
if (netif_running(dev)) if (netif_running(dev))
stmmac_release(dev); stmmac_release(dev);
@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (netif_running(dev)) if (netif_running(dev))
ret = stmmac_open(dev); ret = stmmac_open(dev);
@@ -7333,7 +7337,7 @@ int stmmac_suspend(struct device *dev) @@ -7336,7 +7340,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (priv->eee_enabled) { if (priv->eee_enabled) {
priv->tx_path_in_lpi_mode = false; priv->tx_path_in_lpi_mode = false;
@@ -7384,7 +7388,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); @@ -7387,7 +7391,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue) static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
{ {
@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
rx_q->cur_rx = 0; rx_q->cur_rx = 0;
rx_q->dirty_rx = 0; rx_q->dirty_rx = 0;
@@ -7392,7 +7396,7 @@ static void stmmac_reset_rx_queue(struct @@ -7395,7 +7399,7 @@ static void stmmac_reset_rx_queue(struct
static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
{ {

View File

@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, tx_q->queue_index); tx_q->dma_tx_phy, tx_q->queue_index);
@@ -6506,7 +6622,7 @@ void stmmac_xdp_release(struct net_devic @@ -6509,7 +6625,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_stop_all_dma(priv); stmmac_stop_all_dma(priv);
/* Release and free the Rx/Tx resources */ /* Release and free the Rx/Tx resources */
@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Disable the MAC Rx/Tx */ /* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false); stmmac_mac_set(priv, priv->ioaddr, false);
@@ -6531,14 +6647,14 @@ int stmmac_xdp_open(struct net_device *d @@ -6534,14 +6650,14 @@ int stmmac_xdp_open(struct net_device *d
u32 chan; u32 chan;
int ret; int ret;
@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (ret < 0) { if (ret < 0) {
netdev_err(dev, "%s: DMA descriptors initialization failed\n", netdev_err(dev, "%s: DMA descriptors initialization failed\n",
__func__); __func__);
@@ -6620,7 +6736,7 @@ irq_error: @@ -6623,7 +6739,7 @@ irq_error:
stmmac_hw_teardown(dev); stmmac_hw_teardown(dev);
init_error: init_error:
@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dma_desc_error: dma_desc_error:
return ret; return ret;
} }
@@ -7479,7 +7595,7 @@ int stmmac_resume(struct device *dev) @@ -7482,7 +7598,7 @@ int stmmac_resume(struct device *dev)
stmmac_reset_queues_param(priv); stmmac_reset_queues_param(priv);
stmmac_free_tx_skbufs(priv); stmmac_free_tx_skbufs(priv);

View File

@ -20,8 +20,8 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */ {QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
--- a/drivers/usb/serial/option.c --- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c
@@ -243,6 +243,8 @@ static void option_instat_callback(struc @@ -244,6 +244,8 @@ static void option_instat_callback(struc
#define UBLOX_PRODUCT_R6XX 0x90fa #define UBLOX_PRODUCT_R410M 0x90b2
/* These Yuga products use Qualcomm's vendor ID */ /* These Yuga products use Qualcomm's vendor ID */
#define YUGA_PRODUCT_CLM920_NC5 0x9625 #define YUGA_PRODUCT_CLM920_NC5 0x9625
+/* These MeigLink products use Qualcomm's vendor ID */ +/* These MeigLink products use Qualcomm's vendor ID */
@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
#define QUECTEL_VENDOR_ID 0x2c7c #define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */ /* These Quectel products use Quectel's vendor ID */
@@ -1143,6 +1145,11 @@ static const struct usb_device_id option @@ -1155,6 +1157,11 @@ static const struct usb_device_id option
.driver_info = ZLP }, .driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) }, .driver_info = RSVD(4) },

View File

@ -1,6 +1,6 @@
--- a/net/wireless/wext-core.c --- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c +++ b/net/wireless/wext-core.c
@@ -956,6 +956,9 @@ static int wireless_process_ioctl(struct @@ -959,6 +959,9 @@ static int wireless_process_ioctl(struct
else if (private) else if (private)
return private(dev, iwr, cmd, info, handler); return private(dev, iwr, cmd, info, handler);
} }

View File

@ -260,23 +260,22 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
/* /*
@@ -181,9 +182,15 @@ kexec_indirection_page: @@ -177,8 +178,15 @@ EXPORT(kexec_indirection_page)
PTR_WD 0 PTR_WD 0
.size kexec_indirection_page, PTRSIZE .size kexec_indirection_page, PTRSIZE
-relocate_new_kernel_end: -relocate_new_kernel_end:
+kexec_argv_buf: +kexec_argv_buf:
+ EXPORT(kexec_argv_buf) + EXPORT(kexec_argv_buf)
+ .skip KEXEC_COMMAND_LINE_SIZE + .skip KEXEC_COMMAND_LINE_SIZE
+ .size kexec_argv_buf, KEXEC_COMMAND_LINE_SIZE + .size kexec_argv_buf, KEXEC_COMMAND_LINE_SIZE
+ +
+kexec_argv: +kexec_argv:
+ EXPORT(kexec_argv) + EXPORT(kexec_argv)
+ .skip KEXEC_ARGV_SIZE + .skip KEXEC_ARGV_SIZE
+ .size kexec_argv, KEXEC_ARGV_SIZE + .size kexec_argv, KEXEC_ARGV_SIZE
-relocate_new_kernel_size: -EXPORT(relocate_new_kernel_size)
- EXPORT(relocate_new_kernel_size)
- PTR_WD relocate_new_kernel_end - relocate_new_kernel - PTR_WD relocate_new_kernel_end - relocate_new_kernel
- .size relocate_new_kernel_size, PTRSIZE - .size relocate_new_kernel_size, PTRSIZE
+kexec_relocate_new_kernel_end: +kexec_relocate_new_kernel_end:

View File

@ -19,7 +19,7 @@
}, },
[PORT_NPCM] = { [PORT_NPCM] = {
.name = "Nuvoton 16550", .name = "Nuvoton 16550",
@@ -2753,6 +2753,11 @@ serial8250_do_set_termios(struct uart_po @@ -2756,6 +2756,11 @@ serial8250_do_set_termios(struct uart_po
unsigned long flags; unsigned long flags;
unsigned int baud, quot, frac = 0; unsigned int baud, quot, frac = 0;

View File

@ -1,6 +1,6 @@
--- a/drivers/spi/spi-mt65xx.c --- a/drivers/spi/spi-mt65xx.c
+++ b/drivers/spi/spi-mt65xx.c +++ b/drivers/spi/spi-mt65xx.c
@@ -1223,10 +1223,16 @@ @@ -1223,10 +1223,16 @@ static int mtk_spi_probe(struct platform
goto err_disable_spi_hclk; goto err_disable_spi_hclk;
} }
@ -18,7 +18,7 @@
} }
mdata->spi_clk_hz = clk_get_rate(mdata->spi_clk); mdata->spi_clk_hz = clk_get_rate(mdata->spi_clk);
@@ -1277,6 +1283,8 @@ @@ -1277,6 +1283,8 @@ static int mtk_spi_probe(struct platform
err_disable_runtime_pm: err_disable_runtime_pm:
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -93,6 +93,7 @@ @@ -93,6 +93,7 @@ obj-$(CONFIG_LEDS_CR0014114) += leds-cr
obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o
obj-$(CONFIG_LEDS_EL15203000) += leds-el15203000.o obj-$(CONFIG_LEDS_EL15203000) += leds-el15203000.o
obj-$(CONFIG_LEDS_SPI_BYTE) += leds-spi-byte.o obj-$(CONFIG_LEDS_SPI_BYTE) += leds-spi-byte.o
@ -10,7 +10,7 @@
obj-$(CONFIG_LEDS_USER) += uleds.o obj-$(CONFIG_LEDS_USER) += uleds.o
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -818,6 +818,16 @@ @@ -818,6 +818,16 @@ config LEDS_SPI_BYTE
for controlling the brightness. Currently the following controller is for controlling the brightness. Currently the following controller is
supported: Ubiquiti airCube ISP microcontroller based LED controller. supported: Ubiquiti airCube ISP microcontroller based LED controller.

View File

@ -1,8 +1,6 @@
diff --git a/drivers/clk/mediatek/Kconfig b/drivers/clk/mediatek/Kconfig
index 843cea0c7a44..a558c0e1b353 100644
--- a/drivers/clk/mediatek/Kconfig --- a/drivers/clk/mediatek/Kconfig
+++ b/drivers/clk/mediatek/Kconfig +++ b/drivers/clk/mediatek/Kconfig
@@ -381,6 +381,23 @@ config COMMON_CLK_MT7629_HIFSYS @@ -344,6 +344,23 @@ config COMMON_CLK_MT7629_HIFSYS
This driver supports MediaTek MT7629 HIFSYS clocks providing This driver supports MediaTek MT7629 HIFSYS clocks providing
to PCI-E and USB. to PCI-E and USB.
@ -26,11 +24,9 @@ index 843cea0c7a44..a558c0e1b353 100644
config COMMON_CLK_MT7986 config COMMON_CLK_MT7986
bool "Clock driver for MediaTek MT7986" bool "Clock driver for MediaTek MT7986"
depends on ARCH_MEDIATEK || COMPILE_TEST depends on ARCH_MEDIATEK || COMPILE_TEST
diff --git a/drivers/clk/mediatek/Makefile b/drivers/clk/mediatek/Makefile
index ea3b73240303..be9ab51fa6d5 100644
--- a/drivers/clk/mediatek/Makefile --- a/drivers/clk/mediatek/Makefile
+++ b/drivers/clk/mediatek/Makefile +++ b/drivers/clk/mediatek/Makefile
@@ -52,6 +52,10 @@ obj-$(CONFIG_COMMON_CLK_MT7622_AUDSYS) += clk-mt7622-aud.o @@ -46,6 +46,10 @@ obj-$(CONFIG_COMMON_CLK_MT7622_AUDSYS) +
obj-$(CONFIG_COMMON_CLK_MT7629) += clk-mt7629.o obj-$(CONFIG_COMMON_CLK_MT7629) += clk-mt7629.o
obj-$(CONFIG_COMMON_CLK_MT7629_ETHSYS) += clk-mt7629-eth.o obj-$(CONFIG_COMMON_CLK_MT7629_ETHSYS) += clk-mt7629-eth.o
obj-$(CONFIG_COMMON_CLK_MT7629_HIFSYS) += clk-mt7629-hif.o obj-$(CONFIG_COMMON_CLK_MT7629_HIFSYS) += clk-mt7629-hif.o
@ -41,12 +37,9 @@ index ea3b73240303..be9ab51fa6d5 100644
obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-apmixed.o obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-apmixed.o
obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-topckgen.o obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-topckgen.o
obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-infracfg.o obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-infracfg.o
diff --git a/drivers/clk/mediatek/clk-mt7981-apmixed.c b/drivers/clk/mediatek/clk-mt7981-apmixed.c
new file mode 100644
index 000000000000..b517d20b5fde
--- /dev/null --- /dev/null
+++ b/drivers/clk/mediatek/clk-mt7981-apmixed.c +++ b/drivers/clk/mediatek/clk-mt7981-apmixed.c
@@ -0,0 +1,103 @@ @@ -0,0 +1,103 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* +/*
+ * Copyright (c) 2021 MediaTek Inc. + * Copyright (c) 2021 MediaTek Inc.
@ -150,12 +143,9 @@ index 000000000000..b517d20b5fde
+ }, + },
+}; +};
+builtin_platform_driver(clk_mt7981_apmixed_drv); +builtin_platform_driver(clk_mt7981_apmixed_drv);
diff --git a/drivers/clk/mediatek/clk-mt7981-eth.c b/drivers/clk/mediatek/clk-mt7981-eth.c
new file mode 100644
index 000000000000..36f0fa222675
--- /dev/null --- /dev/null
+++ b/drivers/clk/mediatek/clk-mt7981-eth.c +++ b/drivers/clk/mediatek/clk-mt7981-eth.c
@@ -0,0 +1,138 @@ @@ -0,0 +1,138 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* +/*
+ * Copyright (c) 2021 MediaTek Inc. + * Copyright (c) 2021 MediaTek Inc.
@ -294,12 +284,9 @@ index 000000000000..36f0fa222675
+ __func__, r); + __func__, r);
+} +}
+CLK_OF_DECLARE(mtk_ethsys, "mediatek,mt7981-ethsys", mtk_ethsys_init); +CLK_OF_DECLARE(mtk_ethsys, "mediatek,mt7981-ethsys", mtk_ethsys_init);
diff --git a/drivers/clk/mediatek/clk-mt7981-infracfg.c b/drivers/clk/mediatek/clk-mt7981-infracfg.c
new file mode 100644
index 000000000000..d483e654606f
--- /dev/null --- /dev/null
+++ b/drivers/clk/mediatek/clk-mt7981-infracfg.c +++ b/drivers/clk/mediatek/clk-mt7981-infracfg.c
@@ -0,0 +1,323 @@ @@ -0,0 +1,323 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* +/*
+ * Copyright (c) 2021 MediaTek Inc. + * Copyright (c) 2021 MediaTek Inc.
@ -623,12 +610,9 @@ index 000000000000..d483e654606f
+ }, + },
+}; +};
+builtin_platform_driver(clk_mt7981_infracfg_ao_drv); +builtin_platform_driver(clk_mt7981_infracfg_ao_drv);
diff --git a/drivers/clk/mediatek/clk-mt7981-topckgen.c b/drivers/clk/mediatek/clk-mt7981-topckgen.c
new file mode 100644
index 000000000000..a136c0b36469
--- /dev/null --- /dev/null
+++ b/drivers/clk/mediatek/clk-mt7981-topckgen.c +++ b/drivers/clk/mediatek/clk-mt7981-topckgen.c
@@ -0,0 +1,431 @@ @@ -0,0 +1,431 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* +/*
+ * Copyright (c) 2021 MediaTek Inc. + * Copyright (c) 2021 MediaTek Inc.
@ -1060,12 +1044,9 @@ index 000000000000..a136c0b36469
+ }, + },
+}; +};
+builtin_platform_driver(clk_mt7981_topckgen_drv); +builtin_platform_driver(clk_mt7981_topckgen_drv);
diff --git a/include/dt-bindings/clock/mt7981-clk.h b/include/dt-bindings/clock/mt7981-clk.h
new file mode 100644
index 000000000000..0e17a7f93272
--- /dev/null --- /dev/null
+++ b/include/dt-bindings/clock/mt7981-clk.h +++ b/include/dt-bindings/clock/mt7981-clk.h
@@ -0,0 +1,253 @@ @@ -0,0 +1,253 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/* +/*
+ * Copyright (c) 2021 MediaTek Inc. + * Copyright (c) 2021 MediaTek Inc.

View File

@ -24,7 +24,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
--- a/drivers/mmc/core/core.c --- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c
@@ -1358,6 +1358,8 @@ void mmc_power_off(struct mmc_host *host @@ -1364,6 +1364,8 @@ void mmc_power_off(struct mmc_host *host
mmc_pwrseq_power_off(host); mmc_pwrseq_power_off(host);