-LINUX_VERSION-5.15 = .173
-LINUX_KERNEL_HASH-5.15.173 = 8a4b2a47ccc9b208b2b6ed9a216ea1a5eb12852c723bec1a04de9e671a1d7da8
+LINUX_VERSION-5.15 = .174
+LINUX_KERNEL_HASH-5.15.174 = c3e63cb864a05b6bbc886613c9e91714106b7a9ab40c31c101da0ca5b64d760a
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
-@@ -1490,8 +1490,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1488,8 +1488,8 @@ struct sk_buff *inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out;
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
-@@ -5890,6 +5890,9 @@ int __init cgroup_init_early(void)
+@@ -5893,6 +5893,9 @@ int __init cgroup_init_early(void)
return 0;
}
/**
* cgroup_init - cgroup initialization
*
-@@ -5928,6 +5931,12 @@ int __init cgroup_init(void)
+@@ -5931,6 +5934,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
-@@ -6520,6 +6529,10 @@ static int __init cgroup_disable(char *s
+@@ -6523,6 +6532,10 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name))
continue;
static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n",
ss->name);
-@@ -6538,6 +6551,31 @@ static int __init cgroup_disable(char *s
+@@ -6541,6 +6554,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2691,6 +2691,11 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2692,6 +2692,11 @@ static int lan78xx_reset(struct lan78xx_
int ret;
u32 buf;
u8 sig;
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
if (ret < 0)
-@@ -2772,6 +2777,10 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2773,6 +2778,10 @@ static int lan78xx_reset(struct lan78xx_
buf |= HW_CFG_MEF_;
ret = lan78xx_write_reg(dev, HW_CFG, buf);
if (ret < 0)
return ret;
-@@ -2871,6 +2880,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2872,6 +2881,9 @@ static int lan78xx_reset(struct lan78xx_
buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
}
}
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -2752,7 +2752,12 @@ static int pl011_setup_port(struct devic
+@@ -2759,7 +2759,12 @@ static int pl011_setup_port(struct devic
if (IS_ERR(base))
return PTR_ERR(base);
/* Clear pending error and receive interrupts */
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
-@@ -2448,7 +2465,7 @@ static int pl011_console_setup(struct co
+@@ -2455,7 +2472,7 @@ static int pl011_console_setup(struct co
plat->init();
}
if (uap->vendor->fixed_options) {
baud = uap->fixed_baud;
-@@ -2665,6 +2682,7 @@ static struct uart_driver amba_reg = {
+@@ -2672,6 +2689,7 @@ static struct uart_driver amba_reg = {
.cons = AMBA_CONSOLE,
};
static int pl011_probe_dt_alias(int index, struct device *dev)
{
struct device_node *np;
-@@ -2696,6 +2714,7 @@ static int pl011_probe_dt_alias(int inde
+@@ -2703,6 +2721,7 @@ static int pl011_probe_dt_alias(int inde
return ret;
}
- reg
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -2843,6 +2843,11 @@ static int pl011_probe(struct amba_devic
+@@ -2850,6 +2850,11 @@ static int pl011_probe(struct amba_devic
if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2936,6 +2936,22 @@ static int lan78xx_open(struct net_devic
+@@ -2937,6 +2937,22 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf;
-@@ -3265,8 +3274,14 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -3266,8 +3275,14 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_RX_CSUM_ENABLE)
dev->net->features |= NETIF_F_RXCSUM;
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2252,6 +2252,22 @@ static int lan78xx_phy_init(struct lan78
+@@ -2253,6 +2253,22 @@ static int lan78xx_phy_init(struct lan78
mii_adv_to_linkmode_adv_t(fc, mii_adv);
linkmode_or(phydev->advertising, fc, phydev->advertising);
if (phydev->mdio.dev.of_node) {
u32 reg;
int len;
-@@ -2945,22 +2961,6 @@ static int lan78xx_open(struct net_devic
+@@ -2946,22 +2962,6 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf;
-@@ -4125,7 +4130,13 @@ static int lan78xx_probe(struct usb_inte
+@@ -4128,7 +4133,13 @@ static int lan78xx_probe(struct usb_inte
netdev->max_mtu = MAX_SINGLE_PACKET_SIZE;
netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2257,7 +2257,7 @@ static int lan78xx_phy_init(struct lan78
+@@ -2258,7 +2258,7 @@ static int lan78xx_phy_init(struct lan78
mii_adv_to_linkmode_adv_t(fc, mii_adv);
linkmode_or(phydev->advertising, fc, phydev->advertising);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -3504,7 +3504,7 @@ static int rx_submit(struct lan78xx_net
+@@ -3505,7 +3505,7 @@ static int rx_submit(struct lan78xx_net
size_t size = dev->rx_urb_size;
int ret = 0;
+ if (ret == 0)
+ return 0;
+
- /* Make sure that another flush isn't already running when we
- * start this one.
- */
-@@ -61,6 +71,9 @@ static int v3d_mmu_flush_all(struct v3d_
+ V3D_WRITE(V3D_MMUC_CONTROL, V3D_MMUC_CONTROL_FLUSH |
+ V3D_MMUC_CONTROL_ENABLE);
+
+@@ -52,6 +62,9 @@ static int v3d_mmu_flush_all(struct v3d_
if (ret)
- dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n");
+ dev_err(v3d->drm.dev, "MMU TLB clear wait idle failed\n");
+ pm_runtime_mark_last_busy(v3d->dev);
+ pm_runtime_put_autosuspend(v3d->dev);
- if (ret == 0)
- return 0;
-
- /* Make sure that another flush isn't already running when we
- * start this one.
- */
-@@ -71,9 +63,6 @@ static int v3d_mmu_flush_all(struct v3d_
+ V3D_WRITE(V3D_MMUC_CONTROL, V3D_MMUC_CONTROL_FLUSH |
+ V3D_MMUC_CONTROL_ENABLE);
+
+@@ -62,9 +54,6 @@ static int v3d_mmu_flush_all(struct v3d_
if (ret)
- dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n");
+ dev_err(v3d->drm.dev, "MMU TLB clear wait idle failed\n");
- pm_runtime_mark_last_busy(v3d->dev);
- pm_runtime_put_autosuspend(v3d->dev);
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3496,6 +3496,7 @@ static int __spi_validate_bits_per_word(
+@@ -3503,6 +3503,7 @@ static int __spi_validate_bits_per_word(
*/
int spi_setup(struct spi_device *spi)
{
unsigned bad_bits, ugly_bits;
int status;
-@@ -3517,6 +3518,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3524,6 +3525,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -4673,6 +4705,9 @@ static const struct of_device_id platfor
+@@ -4698,6 +4730,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
/* The filter kernel is composed of dwords each containing 3 9-bit
* signed integers packed next to each other.
*/
-@@ -739,6 +778,8 @@ static int vc4_hvs_bind(struct device *d
+@@ -750,6 +789,8 @@ static int vc4_hvs_bind(struct device *d
vc4_debugfs_add_regset32(drm, "hvs_regs", &hvs->regset);
vc4_debugfs_add_file(drm, "hvs_underrun", vc4_hvs_debugfs_underrun,
NULL);
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
-@@ -1810,6 +1810,8 @@ static const struct usb_audio_quirk_flag
+@@ -1819,6 +1819,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_IGNORE_CTL_ERROR),
DEVICE_FLG(0x0951, 0x16ad, /* Kingston HyperX */
QUIRK_FLAG_CTL_MSG_DELAY_1M),
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4852,6 +4877,9 @@ static const struct of_device_id platfor
+@@ -4877,6 +4902,9 @@ static const struct of_device_id platfor
.compatible = "qishenglong,gopher2b-lcd",
.data = &qishenglong_gopher2b_lcd,
}, {
/* The filter kernel is composed of dwords each containing 3 9-bit
* signed integers packed next to each other.
*/
-@@ -859,6 +937,9 @@ static int vc4_hvs_bind(struct device *d
+@@ -870,6 +948,9 @@ static int vc4_hvs_bind(struct device *d
NULL);
vc4_debugfs_add_file(drm, "hvs_dlists", vc4_hvs_debugfs_dlist,
NULL);
xhci_err(xhci, "Tried to move enqueue past ring segment\n");
return;
}
-@@ -3266,7 +3269,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
+@@ -3274,7 +3277,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
* that clears the EHB.
*/
while (xhci_handle_event(xhci, ir) > 0) {
continue;
xhci_update_erst_dequeue(xhci, ir, event_ring_deq);
event_ring_deq = ir->event_ring->dequeue;
-@@ -3408,7 +3411,8 @@ static int prepare_ring(struct xhci_hcd
+@@ -3416,7 +3419,8 @@ static int prepare_ring(struct xhci_hcd
}
}
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -4715,6 +4741,9 @@ static const struct of_device_id platfor
+@@ -4740,6 +4766,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3721,14 +3721,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3729,14 +3729,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
unsigned int num_trbs;
unsigned int start_cycle, num_sgs = 0;
unsigned int enqd_len, block_len, trb_buff_len, full_len;
full_len = urb->transfer_buffer_length;
/* If we have scatter/gather list, we use it. */
if (urb->num_sgs && !(urb->transfer_flags & URB_DMA_MAP_SINGLE)) {
-@@ -3765,6 +3766,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3773,6 +3774,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
start_cycle = ring->cycle_state;
send_addr = addr;
/* Queue the TRBs, even if they are zero-length */
for (enqd_len = 0; first_trb || enqd_len < full_len;
enqd_len += trb_buff_len) {
-@@ -3777,6 +3789,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3785,6 +3797,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (enqd_len + trb_buff_len > full_len)
trb_buff_len = full_len - enqd_len;
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3721,7 +3721,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3729,7 +3729,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
unsigned int num_trbs;
unsigned int start_cycle, num_sgs = 0;
unsigned int enqd_len, block_len, trb_buff_len, full_len;
u32 field, length_field, remainder, maxpacket;
u64 addr, send_addr;
-@@ -3767,14 +3767,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3775,14 +3775,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
send_addr = addr;
if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG &&
}
/* Queue the TRBs, even if they are zero-length */
-@@ -3789,7 +3784,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3797,7 +3792,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (enqd_len + trb_buff_len > full_len)
trb_buff_len = full_len - enqd_len;
/* 48k words of 2x12-bit pixels */
drm_mm_init(&hvs->lbm_mm, 0, 48 * 1024);
else
-@@ -1019,7 +1019,7 @@ static int vc4_hvs_bind(struct device *d
+@@ -1030,7 +1030,7 @@ static int vc4_hvs_bind(struct device *d
NULL);
vc4_debugfs_add_file(drm, "hvs_dlists", vc4_hvs_debugfs_dlist,
NULL);
{
--- a/mm/internal.h
+++ b/mm/internal.h
-@@ -35,6 +35,7 @@
- void page_writeback_init(void);
+@@ -54,6 +54,7 @@ int mmap_file(struct file *file, struct
+ void vma_close(struct vm_area_struct *vma);
vm_fault_t do_swap_page(struct vm_fault *vmf);
+void activate_page(struct page *page);
static void mem_cgroup_css_free(struct cgroup_subsys_state *css)
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -7704,6 +7704,7 @@ static void __init free_area_init_node(i
+@@ -7705,6 +7705,7 @@ static void __init free_area_init_node(i
pgdat_set_deferred_range(pgdat);
free_area_init_core(pgdat);
unsigned int reg, unsigned int val);
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
-@@ -823,6 +823,7 @@ struct regmap *__regmap_init(struct devi
+@@ -834,6 +834,7 @@ struct regmap *__regmap_init(struct devi
map->format.reg_bytes = DIV_ROUND_UP(config->reg_bits, 8);
map->format.pad_bytes = config->pad_bits / 8;
map->format.val_bytes = DIV_ROUND_UP(config->val_bits, 8);
map->format.buf_size = DIV_ROUND_UP(config->reg_bits +
config->val_bits + config->pad_bits, 8);
-@@ -1750,6 +1751,7 @@ static int _regmap_raw_write_impl(struct
+@@ -1762,6 +1763,7 @@ static int _regmap_raw_write_impl(struct
return ret;
}
map->format.format_reg(map->work_buf, reg, map->reg_shift);
regmap_set_work_buf_flag_mask(map, map->format.reg_bytes,
map->write_flag_mask);
-@@ -1920,6 +1922,7 @@ static int _regmap_bus_formatted_write(v
+@@ -1932,6 +1934,7 @@ static int _regmap_bus_formatted_write(v
return ret;
}
map->format.format_write(map, reg, val);
trace_regmap_hw_write_start(map, reg, 1);
-@@ -2360,6 +2363,7 @@ static int _regmap_raw_multi_reg_write(s
+@@ -2372,6 +2375,7 @@ static int _regmap_raw_multi_reg_write(s
unsigned int reg = regs[i].reg;
unsigned int val = regs[i].def;
trace_regmap_hw_write_start(map, reg, 1);
map->format.format_reg(u8, reg, map->reg_shift);
u8 += reg_bytes + pad_bytes;
map->format.format_val(u8, val, 0);
-@@ -2685,6 +2689,7 @@ static int _regmap_raw_read(struct regma
+@@ -2697,6 +2701,7 @@ static int _regmap_raw_read(struct regma
return ret;
}
void *work_buf; /* Scratch buffer used to format I/O */
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
-@@ -821,6 +821,8 @@ struct regmap *__regmap_init(struct devi
+@@ -832,6 +832,8 @@ struct regmap *__regmap_init(struct devi
else
map->alloc_flags = GFP_KERNEL;
map->format.reg_bytes = DIV_ROUND_UP(config->reg_bits, 8);
map->format.pad_bytes = config->pad_bits / 8;
map->format.reg_downshift = config->reg_downshift;
-@@ -1751,6 +1753,7 @@ static int _regmap_raw_write_impl(struct
+@@ -1763,6 +1765,7 @@ static int _regmap_raw_write_impl(struct
return ret;
}
reg >>= map->format.reg_downshift;
map->format.format_reg(map->work_buf, reg, map->reg_shift);
regmap_set_work_buf_flag_mask(map, map->format.reg_bytes,
-@@ -1922,6 +1925,7 @@ static int _regmap_bus_formatted_write(v
+@@ -1934,6 +1937,7 @@ static int _regmap_bus_formatted_write(v
return ret;
}
reg >>= map->format.reg_downshift;
map->format.format_write(map, reg, val);
-@@ -2363,6 +2367,7 @@ static int _regmap_raw_multi_reg_write(s
+@@ -2375,6 +2379,7 @@ static int _regmap_raw_multi_reg_write(s
unsigned int reg = regs[i].reg;
unsigned int val = regs[i].def;
trace_regmap_hw_write_start(map, reg, 1);
reg >>= map->format.reg_downshift;
map->format.format_reg(u8, reg, map->reg_shift);
u8 += reg_bytes + pad_bytes;
-@@ -2689,6 +2694,7 @@ static int _regmap_raw_read(struct regma
+@@ -2701,6 +2706,7 @@ static int _regmap_raw_read(struct regma
return ret;
}
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
-@@ -1943,6 +1943,8 @@ static int _regmap_bus_reg_write(void *c
+@@ -1955,6 +1955,8 @@ static int _regmap_bus_reg_write(void *c
{
struct regmap *map = context;
return map->bus->reg_write(map->bus_context, reg, val);
}
-@@ -2715,6 +2717,8 @@ static int _regmap_bus_reg_read(void *co
+@@ -2727,6 +2729,8 @@ static int _regmap_bus_reg_read(void *co
{
struct regmap *map = context;
return map->bus->reg_read(map->bus_context, reg, val);
}
-@@ -3084,6 +3088,8 @@ static int _regmap_update_bits(struct re
+@@ -3096,6 +3100,8 @@ static int _regmap_update_bits(struct re
*change = false;
if (regmap_volatile(map, reg) && map->reg_update_bits) {
}
--- a/drivers/net/dsa/microchip/ksz8795.c
+++ b/drivers/net/dsa/microchip/ksz8795.c
-@@ -1542,15 +1542,13 @@ static void ksz8_validate(struct dsa_swi
+@@ -1550,15 +1550,13 @@ static void ksz8_validate(struct dsa_swi
phylink_set(mask, 100baseT_Half);
phylink_set(mask, 100baseT_Full);
static void mvpp2_xlg_config(struct mvpp2_port *port, unsigned int mode,
--- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
-@@ -1172,9 +1172,8 @@ static int otx2_set_link_ksettings(struc
+@@ -1182,9 +1182,8 @@ static int otx2_set_link_ksettings(struc
otx2_get_link_ksettings(netdev, &cur_ks);
/* Check requested modes against supported modes by hardware */
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
-@@ -1318,6 +1318,7 @@ static const struct usb_device_id produc
+@@ -1319,6 +1319,7 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x19d2, 0x1426, 2)}, /* ZTE MF91 */
{QMI_FIXED_INTF(0x19d2, 0x1428, 2)}, /* Telewell TW-LTE 4G v2 */
{QMI_FIXED_INTF(0x19d2, 0x1432, 3)}, /* ZTE ME3620 */
* of_find_node_by_phandle - Find a node given a phandle
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -2144,8 +2144,8 @@ of_register_spi_device(struct spi_contro
+@@ -2154,8 +2154,8 @@ of_register_spi_device(struct spi_contro
}
/* Select device driver */
#include <linux/mutex.h>
#include <linux/err.h>
#include <linux/property.h>
-@@ -3364,3 +3365,5 @@ static int __init regmap_initcall(void)
+@@ -3376,3 +3377,5 @@ static int __init regmap_initcall(void)
return 0;
}
postcore_initcall(regmap_initcall);
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
-@@ -1081,12 +1081,18 @@ static const struct usb_device_id produc
+@@ -1081,6 +1081,11 @@ static const struct usb_device_id produc
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
.driver_info = (unsigned long)&qmi_wwan_info,
},
+ .driver_info = (unsigned long)&qmi_wwan_info,
+ },
+
+ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0122)}, /* Quectel RG650V */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */
- {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */
+@@ -1088,6 +1093,7 @@ static const struct usb_device_id produc
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */
&vmalloc_op,
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
-@@ -2083,10 +2083,12 @@ void __init init_mm_internals(void)
+@@ -2084,10 +2084,12 @@ void __init init_mm_internals(void)
start_shepherd_timer();
#endif
#ifdef CONFIG_PROC_FS
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -7663,7 +7663,7 @@ static void __init alloc_node_mem_map(st
+@@ -7664,7 +7664,7 @@ static void __init alloc_node_mem_map(st
if (pgdat == NODE_DATA(0)) {
mem_map = NODE_DATA(0)->node_mem_map;
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -7838,7 +7838,7 @@ static int nft_register_flowtable_net_ho
+@@ -7840,7 +7840,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev,
FLOW_BLOCK_BIND);
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
-@@ -1167,6 +1167,8 @@ static const struct of_device_id pmic_gp
+@@ -1169,6 +1169,8 @@ static const struct of_device_id pmic_gp
{ .compatible = "qcom,pmi8998-gpio", .data = (void *) 14 },
{ .compatible = "qcom,pmk8350-gpio", .data = (void *) 4 },
{ .compatible = "qcom,pmm8155au-gpio", .data = (void *) 10 },
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1250,6 +1250,70 @@ static int spi_transfer_wait(struct spi_
+@@ -1260,6 +1260,70 @@ static int spi_transfer_wait(struct spi_
return 0;
}
static void _spi_transfer_delay_ns(u32 ns)
{
if (!ns)
-@@ -2037,6 +2101,75 @@ void spi_flush_queue(struct spi_controll
+@@ -2047,6 +2111,75 @@ void spi_flush_queue(struct spi_controll
/*-------------------------------------------------------------------------*/
#if defined(CONFIG_OF)
static int of_spi_parse_dt(struct spi_controller *ctlr, struct spi_device *spi,
struct device_node *nc)
{
-@@ -2155,6 +2288,10 @@ of_register_spi_device(struct spi_contro
+@@ -2165,6 +2298,10 @@ of_register_spi_device(struct spi_contro
if (rc)
goto err_out;
};
struct mtk_wdt_data {
-@@ -256,6 +257,8 @@ static int mtk_wdt_start(struct watchdog
+@@ -262,6 +263,8 @@ static int mtk_wdt_start(struct watchdog
reg |= (WDT_MODE_IRQ_EN | WDT_MODE_DUAL_EN);
else
reg &= ~(WDT_MODE_IRQ_EN | WDT_MODE_DUAL_EN);
reg |= (WDT_MODE_EN | WDT_MODE_KEY);
iowrite32(reg, wdt_base + WDT_MODE);
-@@ -381,6 +384,10 @@ static int mtk_wdt_probe(struct platform
+@@ -387,6 +390,10 @@ static int mtk_wdt_probe(struct platform
if (err)
return err;
}
static const struct mtk_wdt_data mt8183_data = {
.toprgu_sw_rst_num = MT8183_TOPRGU_SW_RST_NUM,
};
-@@ -418,6 +423,7 @@ static int mtk_wdt_resume(struct device
+@@ -424,6 +429,7 @@ static int mtk_wdt_resume(struct device
static const struct of_device_id mtk_wdt_dt_ids[] = {
{ .compatible = "mediatek,mt2712-wdt", .data = &mt2712_data },
{ .compatible = "mediatek,mt6589-wdt" },
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
-@@ -6008,3 +6009,34 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -6011,3 +6012,34 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0xa73f, dpc_log_size);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0xa76e, dpc_log_size);
#endif
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3168,6 +3168,18 @@ static const struct usb_device_id uvc_id
+@@ -3225,6 +3225,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },