-LINUX_VERSION-6.6 = .36
-LINUX_KERNEL_HASH-6.6.36 = b9676828b737e8fb8eaa5198303d35d35e8df019550be153c8a42c99afe0cdd5
+LINUX_VERSION-6.6 = .37
+LINUX_KERNEL_HASH-6.6.37 = f3976e77708694fe4a1f8d1307c315c8a36cbc58f038a38e006b91e29a1f3214
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -4188,14 +4188,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4205,14 +4205,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
#define MAX_TUNING_LOOP 40
-@@ -3209,7 +3209,7 @@ static void sdhci_timeout_timer(struct t
+@@ -3212,7 +3212,7 @@ static void sdhci_timeout_timer(struct t
spin_lock_irqsave(&host->lock, flags);
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
mmc_hostname(host->mmc));
sdhci_err_stats_inc(host, REQ_TIMEOUT);
sdhci_dumpregs(host);
-@@ -3232,7 +3232,7 @@ static void sdhci_timeout_data_timer(str
+@@ -3235,7 +3235,7 @@ static void sdhci_timeout_data_timer(str
if (host->data || host->data_cmd ||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3375,6 +3375,31 @@ static const struct panel_desc rocktech_
+@@ -3376,6 +3376,31 @@ static const struct panel_desc rocktech_
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4426,6 +4451,9 @@ static const struct of_device_id platfor
+@@ -4427,6 +4452,9 @@ static const struct of_device_id platfor
.compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h,
}, {
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -4301,6 +4327,9 @@ static const struct of_device_id platfor
+@@ -4302,6 +4328,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
/*
* A cached value of the page's pageblock's migratetype, used when the page is
* put on a pcplist. Used to avoid the pageblock migratetype lookup when
-@@ -2090,12 +2111,13 @@ __rmqueue(struct zone *zone, unsigned in
+@@ -2095,12 +2116,13 @@ __rmqueue(struct zone *zone, unsigned in
if (IS_ENABLED(CONFIG_CMA)) {
/*
* Balance movable allocations between regular and CMA areas by
+++ /dev/null
-From 79f7bcfff7a02fd32019cac8df7908dd61e1c7f7 Mon Sep 17 00:00:00 2001
-From: Mark Williams <mwp@mwp.id.au>
-Date: Wed, 7 Dec 2022 18:20:40 -0700
-Subject: [PATCH 0398/1085] drm/panel: panel-ilitek9881c: Use cansleep methods
-
-Use cansleep version of gpiod_set_value so external IO drivers (like
-via I2C) can be used.
-
-Signed-off-by: Mark Williams <mwp@mwp.id.au>
----
- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
-+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
-@@ -1107,10 +1107,10 @@ static int ili9881c_prepare(struct drm_p
- msleep(5);
-
- /* And reset it */
-- gpiod_set_value(ctx->reset, 1);
-+ gpiod_set_value_cansleep(ctx->reset, 1);
- msleep(20);
-
-- gpiod_set_value(ctx->reset, 0);
-+ gpiod_set_value_cansleep(ctx->reset, 0);
- msleep(20);
-
- for (i = 0; i < ctx->desc->init_length; i++) {
-@@ -1165,7 +1165,7 @@ static int ili9881c_unprepare(struct drm
-
- mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
- regulator_disable(ctx->power);
-- gpiod_set_value(ctx->reset, 1);
-+ gpiod_set_value_cansleep(ctx->reset, 1);
-
- return 0;
- }
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -4351,6 +4383,9 @@ static const struct of_device_id platfor
+@@ -4352,6 +4384,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
#include "sdhci-cqhci.h"
#include "sdhci-pltfm.h"
-@@ -26,18 +28,43 @@
+@@ -27,18 +29,43 @@
#define BRCMSTB_PRIV_FLAGS_HAS_CQE BIT(0)
#define BRCMSTB_PRIV_FLAGS_GATE_CLOCK BIT(1)
struct sdhci_ops *ops;
const unsigned int flags;
};
-@@ -94,6 +121,124 @@ static void sdhci_brcmstb_set_clock(stru
+@@ -95,6 +122,124 @@ static void sdhci_brcmstb_set_clock(stru
sdhci_enable_clk(host, clk);
}
static void sdhci_brcmstb_set_uhs_signaling(struct sdhci_host *host,
unsigned int timing)
{
-@@ -123,6 +268,146 @@ static void sdhci_brcmstb_set_uhs_signal
+@@ -124,6 +269,146 @@ static void sdhci_brcmstb_set_uhs_signal
sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2);
}
static void sdhci_brcmstb_dumpregs(struct mmc_host *mmc)
{
sdhci_dumpregs(mmc_priv(mmc));
-@@ -155,6 +440,21 @@ static struct sdhci_ops sdhci_brcmstb_op
+@@ -156,6 +441,21 @@ static struct sdhci_ops sdhci_brcmstb_op
.set_uhs_signaling = sdhci_set_uhs_signaling,
};
static struct sdhci_ops sdhci_brcmstb_ops_7216 = {
.set_clock = sdhci_brcmstb_set_clock,
.set_bus_width = sdhci_set_bus_width,
-@@ -179,10 +479,16 @@ static const struct brcmstb_match_priv m
+@@ -180,10 +480,16 @@ static const struct brcmstb_match_priv m
.ops = &sdhci_brcmstb_ops_7216,
};
{},
};
-@@ -255,6 +561,8 @@ static int sdhci_brcmstb_probe(struct pl
+@@ -256,6 +562,8 @@ static int sdhci_brcmstb_probe(struct pl
struct sdhci_brcmstb_priv *priv;
u32 actual_clock_mhz;
struct sdhci_host *host;
struct clk *clk;
struct clk *base_clk = NULL;
int res;
-@@ -283,6 +591,11 @@ static int sdhci_brcmstb_probe(struct pl
+@@ -284,6 +592,11 @@ static int sdhci_brcmstb_probe(struct pl
match_priv->ops->irq = sdhci_brcmstb_cqhci_irq;
}
/* Map in the non-standard CFG registers */
priv->cfg_regs = devm_platform_get_and_ioremap_resource(pdev, 1, NULL);
if (IS_ERR(priv->cfg_regs)) {
-@@ -295,6 +608,43 @@ static int sdhci_brcmstb_probe(struct pl
+@@ -296,6 +609,43 @@ static int sdhci_brcmstb_probe(struct pl
if (res)
goto err;
/*
* Automatic clock gating does not work for SD cards that may
* voltage switch so only enable it for non-removable devices.
-@@ -311,6 +661,13 @@ static int sdhci_brcmstb_probe(struct pl
+@@ -312,6 +662,13 @@ static int sdhci_brcmstb_probe(struct pl
(host->mmc->caps2 & MMC_CAP2_HS400_ES))
host->mmc_host_ops.hs400_enhanced_strobe = match_priv->hs400es;
static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
-@@ -3047,6 +3047,15 @@ static void sdhci_card_event(struct mmc_
+@@ -3050,6 +3050,15 @@ static void sdhci_card_event(struct mmc_
spin_unlock_irqrestore(&host->lock, flags);
}
static const struct mmc_host_ops sdhci_ops = {
.request = sdhci_request,
.post_req = sdhci_post_req,
-@@ -3062,6 +3071,7 @@ static const struct mmc_host_ops sdhci_o
+@@ -3065,6 +3074,7 @@ static const struct mmc_host_ops sdhci_o
.execute_tuning = sdhci_execute_tuning,
.card_event = sdhci_card_event,
.card_busy = sdhci_card_busy,
};
/*****************************************************************************\
-@@ -4580,6 +4590,15 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4583,6 +4593,15 @@ int sdhci_setup_host(struct sdhci_host *
!(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
mmc->caps |= MMC_CAP_UHS_DDR50;
},
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1163,6 +1163,24 @@ static void dwc3_config_threshold(struct
+@@ -1181,6 +1181,24 @@ static void dwc3_config_threshold(struct
}
}
/**
* dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure
-@@ -1228,6 +1246,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1246,6 +1264,8 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_set_incr_burst_type(dwc);
ret = dwc3_phy_power_on(dwc);
if (ret)
goto err_exit_phy;
-@@ -1302,6 +1322,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1320,6 +1340,24 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_config_threshold(dwc);
return 0;
err_power_off_phy:
-@@ -1445,6 +1483,7 @@ static void dwc3_get_properties(struct d
+@@ -1463,6 +1501,7 @@ static void dwc3_get_properties(struct d
u8 tx_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num;
const char *usb_psy_name;
int ret;
-@@ -1467,6 +1506,9 @@ static void dwc3_get_properties(struct d
+@@ -1485,6 +1524,9 @@ static void dwc3_get_properties(struct d
*/
tx_fifo_resize_max_num = 6;
dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1588,6 +1630,9 @@ static void dwc3_get_properties(struct d
+@@ -1606,6 +1648,9 @@ static void dwc3_get_properties(struct d
dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk");
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;
-@@ -1605,6 +1650,8 @@ static void dwc3_get_properties(struct d
+@@ -1623,6 +1668,8 @@ static void dwc3_get_properties(struct d
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd;
dwc->imod_interval = 0;
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
-@@ -1880,6 +1927,12 @@ static int dwc3_probe(struct platform_de
+@@ -1898,6 +1945,12 @@ static int dwc3_probe(struct platform_de
dwc3_get_properties(dwc);
* @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1293,6 +1297,7 @@ struct dwc3 {
+@@ -1294,6 +1298,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3437,11 +3437,11 @@ static const struct panel_desc rocktech_
+@@ -3438,11 +3438,11 @@ static const struct panel_desc rocktech_
};
static const struct drm_display_mode raspberrypi_7inch_mode = {
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
-@@ -1837,7 +1837,7 @@ __drm_fb_helper_initial_config_and_unloc
+@@ -1840,7 +1840,7 @@ __drm_fb_helper_initial_config_and_unloc
struct drm_device *dev = fb_helper->dev;
struct fb_info *info;
unsigned int width, height;
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
return true;
-@@ -3306,6 +3312,11 @@ static void sdhci_cmd_irq(struct sdhci_h
+@@ -3309,6 +3315,11 @@ static void sdhci_cmd_irq(struct sdhci_h
if (intmask & SDHCI_INT_TIMEOUT) {
host->cmd->error = -ETIMEDOUT;
sdhci_err_stats_inc(host, CMD_TIMEOUT);
/**
* struct panel_desc - Describes a simple panel.
-@@ -4874,6 +4875,9 @@ static const struct panel_desc_dsi osd10
+@@ -4875,6 +4876,9 @@ static const struct panel_desc_dsi osd10
.lanes = 4,
};
static const struct of_device_id dsi_of_match[] = {
{
.compatible = "auo,b080uan01",
-@@ -4897,20 +4901,137 @@ static const struct of_device_id dsi_of_
+@@ -4898,20 +4902,137 @@ static const struct of_device_id dsi_of_
.compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts
}, {
default ARCH_BRCMSTB || BMIPS_GENERIC
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -49,10 +49,6 @@ struct sdhci_brcmstb_priv {
+@@ -50,10 +50,6 @@ struct sdhci_brcmstb_priv {
unsigned int flags;
struct clk *base_clk;
u32 base_freq_hz;
struct regulator *sde_1v8;
struct device_node *sde_pcie;
void *__iomem sde_ioaddr;
-@@ -121,113 +117,6 @@ static void sdhci_brcmstb_set_clock(stru
+@@ -122,113 +118,6 @@ static void sdhci_brcmstb_set_clock(stru
sdhci_enable_clk(host, clk);
}
static void sdhci_brcmstb_set_power(struct sdhci_host *host, unsigned char mode,
unsigned short vdd)
{
-@@ -441,12 +330,6 @@ static struct sdhci_ops sdhci_brcmstb_op
+@@ -442,12 +331,6 @@ static struct sdhci_ops sdhci_brcmstb_op
};
static struct sdhci_ops sdhci_brcmstb_ops_2712 = {
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1312,6 +1312,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1330,6 +1330,9 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
(dwc->maximum_speed == USB_SPEED_HIGH ||
dwc->maximum_speed == USB_SPEED_FULL))
-@@ -1610,6 +1613,8 @@ static void dwc3_get_properties(struct d
+@@ -1628,6 +1631,8 @@ static void dwc3_get_properties(struct d
"snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk");
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
* @tx_de_emphasis: Tx de-emphasis value
* 0 - -6dB de-emphasis
-@@ -1341,6 +1344,7 @@ struct dwc3 {
+@@ -1342,6 +1345,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -38,7 +38,8 @@
+@@ -39,7 +39,8 @@
#define SDIO_CFG_SD_PIN_SEL 0x44
#define SDIO_CFG_SD_PIN_SEL_MASK 0x3
#define SDIO_CFG_MAX_50MHZ_MODE 0x1ac
#define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31)
-@@ -102,6 +103,42 @@ static void sdhci_brcmstb_hs400es(struct
+@@ -103,6 +104,42 @@ static void sdhci_brcmstb_hs400es(struct
writel(reg, host->ioaddr + SDHCI_VENDOR);
}
static void sdhci_brcmstb_set_clock(struct sdhci_host *host, unsigned int clock)
{
u16 clk;
-@@ -161,22 +198,16 @@ static void sdhci_brcmstb_cfginit_2712(s
+@@ -162,22 +199,16 @@ static void sdhci_brcmstb_cfginit_2712(s
{
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
struct sdhci_brcmstb_priv *brcmstb_priv = sdhci_pltfm_priv(pltfm_host);
reg = readl(brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE);
reg &= ~SDIO_CFG_MAX_50MHZ_MODE_ENABLE;
reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE;
-@@ -190,12 +221,6 @@ static void sdhci_brcmstb_cfginit_2712(s
+@@ -191,12 +222,6 @@ static void sdhci_brcmstb_cfginit_2712(s
reg &= ~SDIO_CFG_CTRL_SDCD_N_TEST_LEV;
reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN;
writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL);
}
}
-@@ -330,7 +355,7 @@ static struct sdhci_ops sdhci_brcmstb_op
+@@ -331,7 +356,7 @@ static struct sdhci_ops sdhci_brcmstb_op
};
static struct sdhci_ops sdhci_brcmstb_ops_2712 = {
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -41,6 +41,9 @@
+@@ -42,6 +42,9 @@
#define SDIO_CFG_SD_PIN_SEL_SD BIT(1)
#define SDIO_CFG_SD_PIN_SEL_MMC BIT(0)
#define SDIO_CFG_MAX_50MHZ_MODE 0x1ac
#define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31)
#define SDIO_CFG_MAX_50MHZ_MODE_ENABLE BIT(0)
-@@ -201,7 +204,7 @@ static void sdhci_brcmstb_cfginit_2712(s
+@@ -202,7 +205,7 @@ static void sdhci_brcmstb_cfginit_2712(s
u32 uhs_mask = (MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104);
u32 hsemmc_mask = (MMC_CAP2_HS200_1_8V_SDR | MMC_CAP2_HS200_1_2V_SDR |
MMC_CAP2_HS400_1_8V | MMC_CAP2_HS400_1_2V);
/*
* If we support a speed that requires tuning,
-@@ -222,6 +225,11 @@ static void sdhci_brcmstb_cfginit_2712(s
+@@ -223,6 +226,11 @@ static void sdhci_brcmstb_cfginit_2712(s
reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN;
writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL);
}
}
static int bcm2712_init_sd_express(struct sdhci_host *host, struct mmc_ios *ios)
-@@ -493,6 +501,8 @@ static int sdhci_brcmstb_probe(struct pl
+@@ -494,6 +502,8 @@ static int sdhci_brcmstb_probe(struct pl
return PTR_ERR(host);
pltfm_host = sdhci_priv(host);
priv = sdhci_pltfm_priv(pltfm_host);
if (device_property_read_bool(&pdev->dev, "supports-cqe")) {
priv->flags |= BRCMSTB_PRIV_FLAGS_HAS_CQE;
-@@ -623,7 +633,6 @@ add_host:
+@@ -627,7 +637,6 @@ add_host:
if (res)
goto err;
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
-@@ -1319,6 +1319,8 @@ static int ax88179_bind(struct usbnet *d
+@@ -1320,6 +1320,8 @@ static int ax88179_bind(struct usbnet *d
ax88179_reset(dev);
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -338,6 +338,7 @@ static void sdhci_brcmstb_dumpregs(struc
+@@ -339,6 +339,7 @@ static void sdhci_brcmstb_dumpregs(struc
static void sdhci_brcmstb_cqe_enable(struct mmc_host *mmc)
{
struct sdhci_host *host = mmc_priv(mmc);
u32 reg;
reg = sdhci_readl(host, SDHCI_PRESENT_STATE);
-@@ -347,6 +348,9 @@ static void sdhci_brcmstb_cqe_enable(str
+@@ -348,6 +349,9 @@ static void sdhci_brcmstb_cqe_enable(str
}
sdhci_cqe_enable(mmc);
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -400,6 +400,8 @@ static const struct brcmstb_match_priv m
+@@ -401,6 +401,8 @@ static const struct brcmstb_match_priv m
};
static const struct brcmstb_match_priv match_priv_2712 = {
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3420,11 +3420,11 @@ static const struct drm_display_mode ras
+@@ -3421,11 +3421,11 @@ static const struct drm_display_mode ras
.hdisplay = 800,
.hsync_start = 800 + 59,
.hsync_end = 800 + 59 + 2,
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3416,11 +3416,11 @@ static const struct panel_desc rocktech_
+@@ -3417,11 +3417,11 @@ static const struct panel_desc rocktech_
};
static const struct drm_display_mode raspberrypi_7inch_mode = {
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -197,6 +197,20 @@ static void sdhci_brcmstb_set_uhs_signal
+@@ -198,6 +198,20 @@ static void sdhci_brcmstb_set_uhs_signal
sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2);
}
static void sdhci_brcmstb_cfginit_2712(struct sdhci_host *host)
{
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-@@ -215,6 +229,8 @@ static void sdhci_brcmstb_cfginit_2712(s
+@@ -216,6 +230,8 @@ static void sdhci_brcmstb_cfginit_2712(s
reg &= ~SDIO_CFG_MAX_50MHZ_MODE_ENABLE;
reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE;
writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE);
BUG_ON(data->blksz > host->mmc->max_blk_size);
BUG_ON(data->blocks > 65535);
-@@ -4724,11 +4724,16 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4727,11 +4727,16 @@ int sdhci_setup_host(struct sdhci_host *
spin_lock_init(&host->lock);
/*
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -365,8 +365,21 @@ static void sdhci_brcmstb_cqe_enable(str
+@@ -366,8 +366,21 @@ static void sdhci_brcmstb_cqe_enable(str
sdhci_cqe_enable(mmc);
}
static const struct cqhci_host_ops sdhci_brcmstb_cqhci_ops = {
-@@ -386,7 +399,7 @@ static struct sdhci_ops sdhci_brcmstb_op
+@@ -387,7 +400,7 @@ static struct sdhci_ops sdhci_brcmstb_op
.set_clock = sdhci_bcm2712_set_clock,
.set_power = sdhci_brcmstb_set_power,
.set_bus_width = sdhci_set_bus_width,
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -429,7 +429,6 @@ static const struct brcmstb_match_priv m
+@@ -430,7 +430,6 @@ static const struct brcmstb_match_priv m
};
static const struct brcmstb_match_priv match_priv_2712 = {
--- /dev/null
+--- a/arch/arm64/net/bpf_jit_comp.c
++++ b/arch/arm64/net/bpf_jit_comp.c
+@@ -1526,6 +1526,7 @@ struct bpf_prog *bpf_int_jit_compile(str
+ bool extra_pass = false;
+ struct jit_ctx ctx;
+ u8 *image_ptr;
++ int ret;
+
+ if (!prog->jit_requested)
+ return orig_prog;
+@@ -1648,7 +1649,7 @@ skip_init_ctx:
+ prog->jited_len = 0;
+ goto out_off;
+ }
+- bpf_jit_binary_lock_ro(header);
++ ret = bpf_jit_binary_lock_ro(header);
+ } else {
+ jit_data->ctx = ctx;
+ jit_data->image = image_ptr;
if (!pe)
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -4438,6 +4438,8 @@ static const struct seq_operations vmall
+@@ -4447,6 +4447,8 @@ static const struct seq_operations vmall
static int __init proc_vmalloc_init(void)
{
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -8268,7 +8268,7 @@ static int nft_register_flowtable_net_ho
+@@ -8267,7 +8267,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev,
FLOW_BLOCK_BIND);
ata_sff_port_init(ap);
return ap;
-@@ -5530,6 +5547,12 @@ static void ata_host_release(struct kref
- kfree(ap->pmp_link);
- kfree(ap->slave_link);
- kfree(ap->ncq_sense_buf);
+@@ -5507,6 +5524,12 @@ void ata_port_free(struct ata_port *ap)
+ kfree(ap->pmp_link);
+ kfree(ap->slave_link);
+ kfree(ap->ncq_sense_buf);
+#ifdef CONFIG_ATA_LEDS
-+ if (ap->ledtrig) {
-+ led_trigger_unregister(ap->ledtrig);
-+ kfree(ap->ledtrig);
-+ };
++ if (ap->ledtrig) {
++ led_trigger_unregister(ap->ledtrig);
++ kfree(ap->ledtrig);
++ };
+#endif
- kfree(ap);
- host->ports[i] = NULL;
- }
-@@ -5920,7 +5943,23 @@ int ata_host_register(struct ata_host *h
+ kfree(ap);
+ }
+ EXPORT_SYMBOL_GPL(ata_port_free);
+@@ -5927,7 +5950,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}