Manually rebased:
oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch
All other patches automatically rebased.
Build system: x86_64
Build-tested: ipq806x/R7800
Signed-off-by: John Audia <therealgraysky@proton.me>
35 files changed:
-LINUX_VERSION-5.10 = .120
-LINUX_KERNEL_HASH-5.10.120 = 5b7a756004158ece2f5e41795ba523ec201743a736e34ce41cbe09177f7d0e8b
+LINUX_VERSION-5.10 = .121
+LINUX_KERNEL_HASH-5.10.121 = 9044e7b4084afc636ccd7a7fe06439d8941b28613df79f16ce603ccca35292c6
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -281,6 +281,7 @@ static void xhci_pci_quirks(struct devic
+@@ -283,6 +283,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x0015) {
xhci->quirks |= XHCI_RESET_ON_RESUME;
xhci->quirks |= XHCI_ZERO_64B_REGS;
pdev->device == 0x0015) {
xhci->quirks |= XHCI_RESET_ON_RESUME;
xhci->quirks |= XHCI_ZERO_64B_REGS;
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
-@@ -1008,7 +1008,7 @@ config SND_SOC_PCM3168A_SPI
+@@ -1007,7 +1007,7 @@ config SND_SOC_PCM3168A_SPI
select REGMAP_SPI
config SND_SOC_PCM5102A
select REGMAP_SPI
config SND_SOC_PCM5102A
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -2984,7 +2984,8 @@ static int _regulator_list_voltage(struc
+@@ -2987,7 +2987,8 @@ static int _regulator_list_voltage(struc
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
return -EINVAL;
if (lock)
regulator_lock(rdev);
return -EINVAL;
if (lock)
regulator_lock(rdev);
-@@ -3135,7 +3136,8 @@ int regulator_list_hardware_vsel(struct
+@@ -3138,7 +3139,8 @@ int regulator_list_hardware_vsel(struct
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
return -EINVAL;
if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap)
return -EOPNOTSUPP;
return -EINVAL;
if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap)
return -EOPNOTSUPP;
-@@ -4058,6 +4060,9 @@ int regulator_set_voltage_time(struct re
+@@ -4061,6 +4063,9 @@ int regulator_set_voltage_time(struct re
for (i = 0; i < rdev->desc->n_voltages; i++) {
/* We only look for exact voltage matches here */
for (i = 0; i < rdev->desc->n_voltages; i++) {
/* We only look for exact voltage matches here */
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -4063,6 +4063,9 @@ int regulator_set_voltage_time(struct re
+@@ -4066,6 +4066,9 @@ int regulator_set_voltage_time(struct re
if (i < rdev->desc->linear_min_sel)
continue;
if (i < rdev->desc->linear_min_sel)
continue;
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -2984,9 +2984,10 @@ static int _regulator_list_voltage(struc
+@@ -2987,9 +2987,10 @@ static int _regulator_list_voltage(struc
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
if (lock)
regulator_lock(rdev);
ret = ops->list_voltage(rdev, selector);
if (lock)
regulator_lock(rdev);
ret = ops->list_voltage(rdev, selector);
-@@ -3136,9 +3137,10 @@ int regulator_list_hardware_vsel(struct
+@@ -3139,9 +3140,10 @@ int regulator_list_hardware_vsel(struct
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -3147,6 +3147,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3156,6 +3156,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
-@@ -3201,7 +3202,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3210,7 +3211,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret < 0) {
pr_err("%s: failed to add hogs for %pOF\n", __func__,
rd->dn);
if (ret < 0) {
pr_err("%s: failed to add hogs for %pOF\n", __func__,
rd->dn);
-@@ -1030,9 +1040,11 @@ int of_gpiochip_add(struct gpio_chip *ch
+@@ -1035,9 +1045,11 @@ int of_gpiochip_add(struct gpio_chip *ch
of_node_get(chip->of_node);
of_node_get(chip->of_node);
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -272,6 +272,10 @@ static void fixup_use_write_buffers(stru
+@@ -276,6 +276,10 @@ static void fixup_use_write_buffers(stru
{
struct map_info *map = mtd->priv;
struct cfi_private *cfi = map->fldrv_priv;
{
struct map_info *map = mtd->priv;
struct cfi_private *cfi = map->fldrv_priv;
--- a/net/core/dev.c
+++ b/net/core/dev.c
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6805,15 +6805,10 @@ void __netif_napi_del(struct napi_struct
+@@ -6809,15 +6809,10 @@ void __netif_napi_del(struct napi_struct
}
EXPORT_SYMBOL(__netif_napi_del);
}
EXPORT_SYMBOL(__netif_napi_del);
weight = n->weight;
/* This NAPI_STATE_SCHED test is for avoiding a race
weight = n->weight;
/* This NAPI_STATE_SCHED test is for avoiding a race
-@@ -6833,7 +6828,7 @@ static int napi_poll(struct napi_struct
+@@ -6837,7 +6832,7 @@ static int napi_poll(struct napi_struct
n->poll, work, weight);
if (likely(work < weight))
n->poll, work, weight);
if (likely(work < weight))
/* Drivers must not modify the NAPI state if they
* consume the entire weight. In such cases this code
/* Drivers must not modify the NAPI state if they
* consume the entire weight. In such cases this code
-@@ -6842,7 +6837,7 @@ static int napi_poll(struct napi_struct
+@@ -6846,7 +6841,7 @@ static int napi_poll(struct napi_struct
*/
if (unlikely(napi_disable_pending(n))) {
napi_complete(n);
*/
if (unlikely(napi_disable_pending(n))) {
napi_complete(n);
-@@ -6860,12 +6855,29 @@ static int napi_poll(struct napi_struct
+@@ -6864,12 +6859,29 @@ static int napi_poll(struct napi_struct
if (unlikely(!list_empty(&n->poll_list))) {
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
n->dev ? n->dev->name : "backlog");
if (unlikely(!list_empty(&n->poll_list))) {
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
n->dev ? n->dev->name : "backlog");
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
{
const struct net_device_ops *ops = dev->netdev_ops;
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
{
const struct net_device_ops *ops = dev->netdev_ops;
-@@ -4267,6 +4289,21 @@ int gro_normal_batch __read_mostly = 8;
+@@ -4271,6 +4293,21 @@ int gro_normal_batch __read_mostly = 8;
static inline void ____napi_schedule(struct softnet_data *sd,
struct napi_struct *napi)
{
static inline void ____napi_schedule(struct softnet_data *sd,
struct napi_struct *napi)
{
list_add_tail(&napi->poll_list, &sd->poll_list);
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
}
list_add_tail(&napi->poll_list, &sd->poll_list);
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
}
-@@ -6758,6 +6795,12 @@ void netif_napi_add(struct net_device *d
+@@ -6762,6 +6799,12 @@ void netif_napi_add(struct net_device *d
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi);
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi);
}
EXPORT_SYMBOL(netif_napi_add);
}
EXPORT_SYMBOL(netif_napi_add);
-@@ -6774,9 +6817,28 @@ void napi_disable(struct napi_struct *n)
+@@ -6778,9 +6821,28 @@ void napi_disable(struct napi_struct *n)
hrtimer_cancel(&n->timer);
clear_bit(NAPI_STATE_DISABLE, &n->state);
hrtimer_cancel(&n->timer);
clear_bit(NAPI_STATE_DISABLE, &n->state);
static void flush_gro_hash(struct napi_struct *napi)
{
int i;
static void flush_gro_hash(struct napi_struct *napi)
{
int i;
-@@ -6802,6 +6864,11 @@ void __netif_napi_del(struct napi_struct
+@@ -6806,6 +6868,11 @@ void __netif_napi_del(struct napi_struct
flush_gro_hash(napi);
napi->gro_bitmask = 0;
flush_gro_hash(napi);
napi->gro_bitmask = 0;
}
EXPORT_SYMBOL(__netif_napi_del);
}
EXPORT_SYMBOL(__netif_napi_del);
-@@ -6883,6 +6950,51 @@ static int napi_poll(struct napi_struct
+@@ -6887,6 +6954,51 @@ static int napi_poll(struct napi_struct
* @n: NAPI context
--- a/net/core/dev.c
+++ b/net/core/dev.c
* @n: NAPI context
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4293,8 +4293,9 @@ static inline void ____napi_schedule(str
+@@ -4297,8 +4297,9 @@ static inline void ____napi_schedule(str
if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
/* Paired with smp_mb__before_atomic() in
if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
/* Paired with smp_mb__before_atomic() in
* wake_up_process() when it's not NULL.
*/
thread = READ_ONCE(napi->thread);
* wake_up_process() when it's not NULL.
*/
thread = READ_ONCE(napi->thread);
-@@ -6768,6 +6769,49 @@ static void init_gro_hash(struct napi_st
+@@ -6772,6 +6773,49 @@ static void init_gro_hash(struct napi_st
enum gro_result {
--- a/net/core/dev.c
+++ b/net/core/dev.c
enum gro_result {
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4300,6 +4300,8 @@ static inline void ____napi_schedule(str
+@@ -4304,6 +4304,8 @@ static inline void ____napi_schedule(str
*/
thread = READ_ONCE(napi->thread);
if (thread) {
*/
thread = READ_ONCE(napi->thread);
if (thread) {
wake_up_process(thread);
return;
}
wake_up_process(thread);
return;
}
-@@ -6560,7 +6562,8 @@ bool napi_complete_done(struct napi_stru
+@@ -6564,7 +6566,8 @@ bool napi_complete_done(struct napi_stru
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
/* If STATE_MISSED was set, leave STATE_SCHED set,
* because we will call napi->poll() one more time.
/* If STATE_MISSED was set, leave STATE_SCHED set,
* because we will call napi->poll() one more time.
-@@ -6996,16 +6999,25 @@ static int napi_poll(struct napi_struct
+@@ -7000,16 +7003,25 @@ static int napi_poll(struct napi_struct
static int napi_thread_wait(struct napi_struct *napi)
{
static int napi_thread_wait(struct napi_struct *napi)
{
--- a/net/core/dev.c
+++ b/net/core/dev.c
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -7003,7 +7003,7 @@ static int napi_thread_wait(struct napi_
+@@ -7007,7 +7007,7 @@ static int napi_thread_wait(struct napi_
set_current_state(TASK_INTERRUPTIBLE);
set_current_state(TASK_INTERRUPTIBLE);
/* Testing SCHED_THREADED bit here to make sure the current
* kthread owns this napi and could poll on this napi.
* Testing SCHED bit is not enough because SCHED bit might be
/* Testing SCHED_THREADED bit here to make sure the current
* kthread owns this napi and could poll on this napi.
* Testing SCHED bit is not enough because SCHED bit might be
-@@ -7021,6 +7021,7 @@ static int napi_thread_wait(struct napi_
+@@ -7025,6 +7025,7 @@ static int napi_thread_wait(struct napi_
set_current_state(TASK_INTERRUPTIBLE);
}
__set_current_state(TASK_RUNNING);
set_current_state(TASK_INTERRUPTIBLE);
}
__set_current_state(TASK_RUNNING);
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
-@@ -2372,6 +2372,17 @@ static void mt753x_phylink_mac_link_up(s
+@@ -2366,6 +2366,17 @@ static void mt753x_phylink_mac_link_up(s
mt7530_set(priv, MT7530_PMCR_P(port), mcr);
}
mt7530_set(priv, MT7530_PMCR_P(port), mcr);
}
-@@ -2602,6 +2613,36 @@ mt753x_phy_write(struct dsa_switch *ds,
+@@ -2596,6 +2607,36 @@ mt753x_phy_write(struct dsa_switch *ds,
return priv->info->phy_write(ds, port, regnum, val);
}
return priv->info->phy_write(ds, port, regnum, val);
}
static const struct dsa_switch_ops mt7530_switch_ops = {
.get_tag_protocol = mtk_get_tag_protocol,
.setup = mt753x_setup,
static const struct dsa_switch_ops mt7530_switch_ops = {
.get_tag_protocol = mtk_get_tag_protocol,
.setup = mt753x_setup,
-@@ -2630,6 +2671,8 @@ static const struct dsa_switch_ops mt753
+@@ -2624,6 +2665,8 @@ static const struct dsa_switch_ops mt753
.phylink_mac_an_restart = mt753x_phylink_mac_an_restart,
.phylink_mac_link_down = mt753x_phylink_mac_link_down,
.phylink_mac_link_up = mt753x_phylink_mac_link_up,
.phylink_mac_an_restart = mt753x_phylink_mac_an_restart,
.phylink_mac_link_down = mt753x_phylink_mac_link_down,
.phylink_mac_link_up = mt753x_phylink_mac_link_up,
static void
mt7530_stp_state_set(struct dsa_switch *ds, int port, u8 state)
{
static void
mt7530_stp_state_set(struct dsa_switch *ds, int port, u8 state)
{
-@@ -2653,6 +2700,8 @@ static const struct dsa_switch_ops mt753
+@@ -2647,6 +2694,8 @@ static const struct dsa_switch_ops mt753
.get_sset_count = mt7530_get_sset_count,
.port_enable = mt7530_port_enable,
.port_disable = mt7530_port_disable,
.get_sset_count = mt7530_get_sset_count,
.port_enable = mt7530_port_enable,
.port_disable = mt7530_port_disable,
static void mt7530_setup_port5(struct dsa_switch *ds, phy_interface_t interface)
{
struct mt7530_priv *priv = ds->priv;
static void mt7530_setup_port5(struct dsa_switch *ds, phy_interface_t interface)
{
struct mt7530_priv *priv = ds->priv;
-@@ -2700,6 +2740,7 @@ static const struct dsa_switch_ops mt753
+@@ -2694,6 +2734,7 @@ static const struct dsa_switch_ops mt753
.phy_write = mt753x_phy_write,
.get_ethtool_stats = mt7530_get_ethtool_stats,
.get_sset_count = mt7530_get_sset_count,
.phy_write = mt753x_phy_write,
.get_ethtool_stats = mt7530_get_ethtool_stats,
.get_sset_count = mt7530_get_sset_count,
mt7530_vlan_cmd(struct mt7530_priv *priv, enum mt7530_vlan_cmd cmd, u16 vid)
{
struct mt7530_dummy_poll p;
mt7530_vlan_cmd(struct mt7530_priv *priv, enum mt7530_vlan_cmd cmd, u16 vid)
{
struct mt7530_dummy_poll p;
-@@ -2746,11 +2814,15 @@ static const struct dsa_switch_ops mt753
+@@ -2740,11 +2808,15 @@ static const struct dsa_switch_ops mt753
.port_change_mtu = mt7530_port_change_mtu,
.port_max_mtu = mt7530_port_max_mtu,
.port_stp_state_set = mt7530_stp_state_set,
.port_change_mtu = mt7530_port_change_mtu,
.port_max_mtu = mt7530_port_max_mtu,
.port_stp_state_set = mt7530_stp_state_set,
static int
mt7530_setup(struct dsa_switch *ds)
{
static int
mt7530_setup(struct dsa_switch *ds)
{
-@@ -2750,24 +2965,20 @@ static int
+@@ -2744,24 +2959,20 @@ static int
mt753x_setup(struct dsa_switch *ds)
{
struct mt7530_priv *priv = ds->priv;
mt753x_setup(struct dsa_switch *ds)
{
struct mt7530_priv *priv = ds->priv;
}
static int mt753x_get_mac_eee(struct dsa_switch *ds, int port,
}
static int mt753x_get_mac_eee(struct dsa_switch *ds, int port,
-@@ -2804,8 +3015,6 @@ static const struct dsa_switch_ops mt753
+@@ -2798,8 +3009,6 @@ static const struct dsa_switch_ops mt753
.get_tag_protocol = mtk_get_tag_protocol,
.setup = mt753x_setup,
.get_strings = mt7530_get_strings,
.get_tag_protocol = mtk_get_tag_protocol,
.setup = mt753x_setup,
.get_strings = mt7530_get_strings,
.get_ethtool_stats = mt7530_get_ethtool_stats,
.get_sset_count = mt7530_get_sset_count,
.set_ageing_time = mt7530_set_ageing_time,
.get_ethtool_stats = mt7530_get_ethtool_stats,
.get_sset_count = mt7530_get_sset_count,
.set_ageing_time = mt7530_set_ageing_time,
-@@ -2988,6 +3197,9 @@ mt7530_remove(struct mdio_device *mdiode
+@@ -2982,6 +3191,9 @@ mt7530_remove(struct mdio_device *mdiode
dev_err(priv->dev, "Failed to disable io pwr: %d\n",
ret);
dev_err(priv->dev, "Failed to disable io pwr: %d\n",
ret);
--- a/init/Kconfig
+++ b/init/Kconfig
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2347,6 +2347,13 @@ config UNUSED_KSYMS_WHITELIST
+@@ -2352,6 +2352,13 @@ config UNUSED_KSYMS_WHITELIST
one per line. The path can be absolute, or relative to the kernel
source tree.
one per line. The path can be absolute, or relative to the kernel
source tree.
--- a/init/Kconfig
+++ b/init/Kconfig
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2379,7 +2379,7 @@ config PADATA
+@@ -2384,7 +2384,7 @@ config PADATA
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3650,6 +3650,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3654,6 +3654,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
#include "gpiolib.h"
#include "gpiolib-of.h"
#include "gpiolib.h"
#include "gpiolib-of.h"
-@@ -1039,3 +1041,72 @@ void of_gpiochip_remove(struct gpio_chip
+@@ -1044,3 +1046,72 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(chip->of_node);
}
{
of_node_put(chip->of_node);
}
--- a/init/Kconfig
+++ b/init/Kconfig
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1384,6 +1384,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1389,6 +1389,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference
the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference
default y
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
default y
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -1075,6 +1075,8 @@ static u8 spi_nor_convert_3to4_erase(u8
+@@ -1084,6 +1084,8 @@ static u8 spi_nor_convert_3to4_erase(u8
static bool spi_nor_has_uniform_erase(const struct spi_nor *nor)
{
static bool spi_nor_has_uniform_erase(const struct spi_nor *nor)
{
return !!nor->params->erase_map.uniform_erase_type;
}
return !!nor->params->erase_map.uniform_erase_type;
}
-@@ -2560,6 +2562,7 @@ static int spi_nor_select_erase(struct s
+@@ -2569,6 +2571,7 @@ static int spi_nor_select_erase(struct s
{
struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL;
{
struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL;
struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size;
int i;
struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size;
int i;
-@@ -2592,8 +2595,9 @@ static int spi_nor_select_erase(struct s
+@@ -2601,8 +2604,9 @@ static int spi_nor_select_erase(struct s
*/
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) {
*/
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) {
-@@ -2601,6 +2605,8 @@ static int spi_nor_select_erase(struct s
+@@ -2610,6 +2614,8 @@ static int spi_nor_select_erase(struct s
return -EINVAL;
mtd->erasesize = erase->size;
return -EINVAL;
mtd->erasesize = erase->size;
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -913,7 +913,7 @@ static int get_chip(struct map_info *map
+@@ -906,7 +906,7 @@ static int get_chip(struct map_info *map
return 0;
case FL_ERASING:
return 0;
case FL_ERASING:
1 file changed, 1 insertion(+)
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
1 file changed, 1 insertion(+)
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2057,6 +2057,7 @@ static int __xipram do_write_buffer(stru
+@@ -2050,6 +2050,7 @@ static int __xipram do_write_buffer(stru
/* Write Buffer Load */
map_write(map, CMD(0x25), cmd_adr);
/* Write Buffer Load */
map_write(map, CMD(0x25), cmd_adr);
endif # MTD_SPI_NOR
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
endif # MTD_SPI_NOR
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -2792,6 +2792,21 @@ static void spi_nor_info_init_params(str
+@@ -2801,6 +2801,21 @@ static void spi_nor_info_init_params(str
*/
erase_mask = 0;
i = 0;
*/
erase_mask = 0;
i = 0;
if (info->flags & SECT_4K_PMC) {
erase_mask |= BIT(i);
spi_nor_set_erase_type(&map->erase_type[i], 4096u,
if (info->flags & SECT_4K_PMC) {
erase_mask |= BIT(i);
spi_nor_set_erase_type(&map->erase_type[i], 4096u,
-@@ -2803,6 +2818,7 @@ static void spi_nor_info_init_params(str
+@@ -2812,6 +2827,7 @@ static void spi_nor_info_init_params(str
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -2028,6 +2028,7 @@ static const struct spi_nor_manufacturer
+@@ -2037,6 +2037,7 @@ static const struct spi_nor_manufacturer
&spi_nor_winbond,
&spi_nor_xilinx,
&spi_nor_xmc,
&spi_nor_winbond,
&spi_nor_xilinx,
&spi_nor_xmc,
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6062,6 +6062,9 @@ static enum gro_result dev_gro_receive(s
+@@ -6066,6 +6066,9 @@ static enum gro_result dev_gro_receive(s
if (netif_elide_gro(skb->dev))
goto normal;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -8039,6 +8042,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -8043,6 +8046,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -8090,6 +8135,7 @@ static int __netdev_upper_dev_link(struc
+@@ -8094,6 +8139,7 @@ static int __netdev_upper_dev_link(struc
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -8186,6 +8232,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -8190,6 +8236,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8972,6 +9019,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8976,6 +9023,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
#endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
#endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -486,7 +486,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
--- a/init/Kconfig
+++ b/init/Kconfig
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1800,6 +1800,15 @@ config EMBEDDED
+@@ -1805,6 +1805,15 @@ config EMBEDDED
an embedded system so certain expert options are available
for configuration.
an embedded system so certain expert options are available
for configuration.
+ clocks = <&armclk>;
+ };
+
+ clocks = <&armclk>;
+ };
+
+ gic: interrupt-controller@1000 {
compatible = "arm,arm11mp-gic";
interrupt-controller;
compatible = "arm,arm11mp-gic";
interrupt-controller;
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -3147,6 +3147,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3156,6 +3156,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
-@@ -3201,7 +3202,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3210,7 +3211,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -2012,6 +2012,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
+@@ -2021,6 +2021,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
static const struct spi_nor_manufacturer *manufacturers[] = {
&spi_nor_atmel,
static const struct spi_nor_manufacturer *manufacturers[] = {
&spi_nor_atmel,