kernel: bump 6.6 to 6.6.37

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.37

Added:
	generic/hack-6.6/900-fix-build-to-handle-return-value.patch[1]

Manually rebased:
	generic/pending-6.6/834-ledtrig-libata.patch

Removed upstreamed:
	bcm27xx/patches-6.6/950-0398-drm-panel-panel-ilitek9881c-Use-cansleep-methods.patch[2]

All other patches automatically rebased.

1. Patch suggested by @DragonBluep to circumvent upstream breakage of kernel 6.6.37 compilation. See comments in https://github.com/openwrt/openwrt/pull/15879 for additional discussion.
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.37&id=1618f7a875ffd916596392fd29880c0429b8af60

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/15879
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
John Audia 2024-07-05 06:04:18 -04:00 committed by Hauke Mehrtens
parent d92c42f469
commit 69dd5a788f
32 changed files with 97 additions and 115 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .36 LINUX_VERSION-6.6 = .37
LINUX_KERNEL_HASH-6.6.36 = b9676828b737e8fb8eaa5198303d35d35e8df019550be153c8a42c99afe0cdd5 LINUX_KERNEL_HASH-6.6.37 = f3976e77708694fe4a1f8d1307c315c8a36cbc58f038a38e006b91e29a1f3214

View File

@ -751,7 +751,7 @@ SVN-Revision: 35130
EXPORT_SYMBOL(xfrm_parse_spi); EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/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); const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -1993,7 +1993,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#define MAX_TUNING_LOOP 40 #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); spin_lock_irqsave(&host->lock, flags);
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@ -2002,7 +2002,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
mmc_hostname(host->mmc)); mmc_hostname(host->mmc));
sdhci_err_stats_inc(host, REQ_TIMEOUT); sdhci_err_stats_inc(host, REQ_TIMEOUT);
sdhci_dumpregs(host); 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 || if (host->data || host->data_cmd ||
(host->cmd && sdhci_data_line_cmd(host->cmd))) { (host->cmd && sdhci_data_line_cmd(host->cmd))) {

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
@@ -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, .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 },
@@ -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", .compatible = "rocktech,rk043fn48h",
.data = &rocktech_rk043fn48h, .data = &rocktech_rk043fn48h,
}, { }, {

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,
@@ -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", .compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e, .data = &friendlyarm_hd702e,
}, { }, {

View File

@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
/* /*
* A cached value of the page's pageblock's migratetype, used when the page is * 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 * 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)) { if (IS_ENABLED(CONFIG_CMA)) {
/* /*
* Balance movable allocations between regular and CMA areas by * Balance movable allocations between regular and CMA areas by

View File

@ -1,37 +0,0 @@
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;
}

View File

@ -165,7 +165,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.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,
@@ -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", .compatible = "innolux,at043tn24",
.data = &innolux_at043tn24, .data = &innolux_at043tn24,
}, { }, {

View File

@ -63,7 +63,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#include "sdhci-cqhci.h" #include "sdhci-cqhci.h"
#include "sdhci-pltfm.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_HAS_CQE BIT(0)
#define BRCMSTB_PRIV_FLAGS_GATE_CLOCK BIT(1) #define BRCMSTB_PRIV_FLAGS_GATE_CLOCK BIT(1)
@ -107,7 +107,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
struct sdhci_ops *ops; struct sdhci_ops *ops;
const unsigned int flags; 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); sdhci_enable_clk(host, clk);
} }
@ -232,7 +232,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void sdhci_brcmstb_set_uhs_signaling(struct sdhci_host *host, static void sdhci_brcmstb_set_uhs_signaling(struct sdhci_host *host,
unsigned int timing) 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); sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2);
} }
@ -379,7 +379,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void sdhci_brcmstb_dumpregs(struct mmc_host *mmc) static void sdhci_brcmstb_dumpregs(struct mmc_host *mmc)
{ {
sdhci_dumpregs(mmc_priv(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, .set_uhs_signaling = sdhci_set_uhs_signaling,
}; };
@ -401,7 +401,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static struct sdhci_ops sdhci_brcmstb_ops_7216 = { static struct sdhci_ops sdhci_brcmstb_ops_7216 = {
.set_clock = sdhci_brcmstb_set_clock, .set_clock = sdhci_brcmstb_set_clock,
.set_bus_width = sdhci_set_bus_width, .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, .ops = &sdhci_brcmstb_ops_7216,
}; };
@ -418,7 +418,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
{}, {},
}; };
@@ -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; struct sdhci_brcmstb_priv *priv;
u32 actual_clock_mhz; u32 actual_clock_mhz;
struct sdhci_host *host; struct sdhci_host *host;
@ -427,7 +427,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
struct clk *clk; struct clk *clk;
struct clk *base_clk = NULL; struct clk *base_clk = NULL;
int res; 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; match_priv->ops->irq = sdhci_brcmstb_cqhci_irq;
} }
@ -439,7 +439,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Map in the non-standard CFG registers */ /* Map in the non-standard CFG registers */
priv->cfg_regs = devm_platform_get_and_ioremap_resource(pdev, 1, NULL); priv->cfg_regs = devm_platform_get_and_ioremap_resource(pdev, 1, NULL);
if (IS_ERR(priv->cfg_regs)) { 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) if (res)
goto err; goto err;
@ -483,7 +483,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* /*
* Automatic clock gating does not work for SD cards that may * Automatic clock gating does not work for SD cards that may
* voltage switch so only enable it for non-removable devices. * 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->caps2 & MMC_CAP2_HS400_ES))
host->mmc_host_ops.hs400_enhanced_strobe = match_priv->hs400es; host->mmc_host_ops.hs400_enhanced_strobe = match_priv->hs400es;

View File

@ -26,7 +26,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv) static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
--- a/drivers/mmc/host/sdhci.c --- a/drivers/mmc/host/sdhci.c
+++ b/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); spin_unlock_irqrestore(&host->lock, flags);
} }
@ -42,7 +42,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
static const struct mmc_host_ops sdhci_ops = { static const struct mmc_host_ops sdhci_ops = {
.request = sdhci_request, .request = sdhci_request,
.post_req = sdhci_post_req, .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, .execute_tuning = sdhci_execute_tuning,
.card_event = sdhci_card_event, .card_event = sdhci_card_event,
.card_busy = sdhci_card_busy, .card_busy = sdhci_card_busy,
@ -50,7 +50,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
}; };
/*****************************************************************************\ /*****************************************************************************\
@@ -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)) !(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
mmc->caps |= MMC_CAP_UHS_DDR50; mmc->caps |= MMC_CAP_UHS_DDR50;

View File

@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
}, },
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/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
} }
} }
@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/** /**
* dwc3_core_init - Low-level initialization of DWC3 Core * dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure * @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); dwc3_set_incr_burst_type(dwc);
@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
ret = dwc3_phy_power_on(dwc); ret = dwc3_phy_power_on(dwc);
if (ret) if (ret)
goto err_exit_phy; 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); dwc3_config_threshold(dwc);
@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
return 0; return 0;
err_power_off_phy: 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_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0; u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num; u8 tx_fifo_resize_max_num;
@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
const char *usb_psy_name; const char *usb_psy_name;
int ret; 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; tx_fifo_resize_max_num = 6;
@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->maximum_speed = usb_get_maximum_speed(dev); dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev); dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(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, dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk"); "snps,dis-split-quirk");
@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis; 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_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd; dwc->tx_max_burst_prd = tx_max_burst_prd;
@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
dwc->imod_interval = 0; dwc->imod_interval = 0;
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num; 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); dwc3_get_properties(dwc);
@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @hsphy_interface: "utmi" or "ulpi" * @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise * @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs * @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_max_burst_prd;
u8 tx_fifo_resize_max_num; u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol; u8 clear_stall_protocol;

View File

@ -16,7 +16,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
@@ -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 = { static const struct drm_display_mode raspberrypi_7inch_mode = {

View File

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/drm_fb_helper.c --- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/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 drm_device *dev = fb_helper->dev;
struct fb_info *info; struct fb_info *info;
unsigned int width, height; unsigned int width, height;

View File

@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND); sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
return true; 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) { if (intmask & SDHCI_INT_TIMEOUT) {
host->cmd->error = -ETIMEDOUT; host->cmd->error = -ETIMEDOUT;
sdhci_err_stats_inc(host, CMD_TIMEOUT); sdhci_err_stats_inc(host, CMD_TIMEOUT);

View File

@ -23,7 +23,7 @@ Signed-off-by: Timon Skerutsch <kernel@diodes-delight.com>
/** /**
* struct panel_desc - Describes a simple panel. * 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, .lanes = 4,
}; };
@ -33,7 +33,7 @@ Signed-off-by: Timon Skerutsch <kernel@diodes-delight.com>
static const struct of_device_id dsi_of_match[] = { static const struct of_device_id dsi_of_match[] = {
{ {
.compatible = "auo,b080uan01", .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", .compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts .data = &osd101t2045_53ts
}, { }, {

View File

@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
default ARCH_BRCMSTB || BMIPS_GENERIC default ARCH_BRCMSTB || BMIPS_GENERIC
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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; unsigned int flags;
struct clk *base_clk; struct clk *base_clk;
u32 base_freq_hz; u32 base_freq_hz;
@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
struct regulator *sde_1v8; struct regulator *sde_1v8;
struct device_node *sde_pcie; struct device_node *sde_pcie;
void *__iomem sde_ioaddr; 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); sdhci_enable_clk(host, clk);
} }
@ -151,7 +151,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void sdhci_brcmstb_set_power(struct sdhci_host *host, unsigned char mode, static void sdhci_brcmstb_set_power(struct sdhci_host *host, unsigned char mode,
unsigned short vdd) 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 = { static struct sdhci_ops sdhci_brcmstb_ops_2712 = {

View File

@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/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) if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS; reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) && if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
(dwc->maximum_speed == USB_SPEED_HIGH || (dwc->maximum_speed == USB_SPEED_HIGH ||
dwc->maximum_speed == USB_SPEED_FULL)) 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"); "snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev, dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk"); "snps,parkmode-disable-hs-quirk");
@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
* @tx_de_emphasis: Tx de-emphasis value * @tx_de_emphasis: Tx de-emphasis value
* 0 - -6dB de-emphasis * 0 - -6dB de-emphasis
@@ -1341,6 +1344,7 @@ struct dwc3 { @@ -1342,6 +1345,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1; unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1; unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1; unsigned parkmode_disable_hs_quirk:1;

View File

@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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 0x44
#define SDIO_CFG_SD_PIN_SEL_MASK 0x3 #define SDIO_CFG_SD_PIN_SEL_MASK 0x3
@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define SDIO_CFG_MAX_50MHZ_MODE 0x1ac #define SDIO_CFG_MAX_50MHZ_MODE 0x1ac
#define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31) #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); writel(reg, host->ioaddr + SDHCI_VENDOR);
} }
@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void sdhci_brcmstb_set_clock(struct sdhci_host *host, unsigned int clock) static void sdhci_brcmstb_set_clock(struct sdhci_host *host, unsigned int clock)
{ {
u16 clk; 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_pltfm_host *pltfm_host = sdhci_priv(host);
struct sdhci_brcmstb_priv *brcmstb_priv = sdhci_pltfm_priv(pltfm_host); struct sdhci_brcmstb_priv *brcmstb_priv = sdhci_pltfm_priv(pltfm_host);
@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
reg = readl(brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE); reg = readl(brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE);
reg &= ~SDIO_CFG_MAX_50MHZ_MODE_ENABLE; reg &= ~SDIO_CFG_MAX_50MHZ_MODE_ENABLE;
reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE; 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_LEV;
reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN; reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN;
writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL); writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL);
@ -115,7 +115,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
} }
} }
@@ -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 = { static struct sdhci_ops sdhci_brcmstb_ops_2712 = {

View File

@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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_SD BIT(1)
#define SDIO_CFG_SD_PIN_SEL_MMC BIT(0) #define SDIO_CFG_SD_PIN_SEL_MMC BIT(0)
@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
#define SDIO_CFG_MAX_50MHZ_MODE 0x1ac #define SDIO_CFG_MAX_50MHZ_MODE 0x1ac
#define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31) #define SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE BIT(31)
#define SDIO_CFG_MAX_50MHZ_MODE_ENABLE BIT(0) #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 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 | 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); MMC_CAP2_HS400_1_8V | MMC_CAP2_HS400_1_2V);
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* /*
* If we support a speed that requires tuning, * 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; reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN;
writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL); writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_CTRL);
} }
@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
} }
static int bcm2712_init_sd_express(struct sdhci_host *host, struct mmc_ios *ios) 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); return PTR_ERR(host);
pltfm_host = sdhci_priv(host); pltfm_host = sdhci_priv(host);
@ -57,7 +57,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
priv = sdhci_pltfm_priv(pltfm_host); priv = sdhci_pltfm_priv(pltfm_host);
if (device_property_read_bool(&pdev->dev, "supports-cqe")) { if (device_property_read_bool(&pdev->dev, "supports-cqe")) {
priv->flags |= BRCMSTB_PRIV_FLAGS_HAS_CQE; priv->flags |= BRCMSTB_PRIV_FLAGS_HAS_CQE;
@@ -623,7 +633,6 @@ add_host: @@ -627,7 +637,6 @@ add_host:
if (res) if (res)
goto err; goto err;

View File

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/net/usb/ax88179_178a.c --- a/drivers/net/usb/ax88179_178a.c
+++ b/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); ax88179_reset(dev);

View File

@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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) static void sdhci_brcmstb_cqe_enable(struct mmc_host *mmc)
{ {
struct sdhci_host *host = mmc_priv(mmc); struct sdhci_host *host = mmc_priv(mmc);
@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
u32 reg; u32 reg;
reg = sdhci_readl(host, SDHCI_PRESENT_STATE); 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); sdhci_cqe_enable(mmc);

View File

@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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 = { static const struct brcmstb_match_priv match_priv_2712 = {

View File

@ -16,7 +16,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
@@ -3420,11 +3420,11 @@ static const struct drm_display_mode ras @@ -3421,11 +3421,11 @@ static const struct drm_display_mode ras
.hdisplay = 800, .hdisplay = 800,
.hsync_start = 800 + 59, .hsync_start = 800 + 59,
.hsync_end = 800 + 59 + 2, .hsync_end = 800 + 59 + 2,

View File

@ -21,7 +21,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
@@ -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 = { static const struct drm_display_mode raspberrypi_7inch_mode = {

View File

@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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); sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2);
} }
@ -38,7 +38,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static void sdhci_brcmstb_cfginit_2712(struct sdhci_host *host) static void sdhci_brcmstb_cfginit_2712(struct sdhci_host *host)
{ {
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(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_ENABLE;
reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE; reg |= SDIO_CFG_MAX_50MHZ_MODE_STRAP_OVERRIDE;
writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE); writel(reg, brcmstb_priv->cfg_regs + SDIO_CFG_MAX_50MHZ_MODE);

View File

@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
BUG_ON(data->blksz > host->mmc->max_blk_size); BUG_ON(data->blksz > host->mmc->max_blk_size);
BUG_ON(data->blocks > 65535); 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); spin_lock_init(&host->lock);
/* /*

View File

@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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); sdhci_cqe_enable(mmc);
@ -41,7 +41,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
} }
static const struct cqhci_host_ops sdhci_brcmstb_cqhci_ops = { 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_clock = sdhci_bcm2712_set_clock,
.set_power = sdhci_brcmstb_set_power, .set_power = sdhci_brcmstb_set_power,
.set_bus_width = sdhci_set_bus_width, .set_bus_width = sdhci_set_bus_width,

View File

@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-brcmstb.c --- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/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 = { static const struct brcmstb_match_priv match_priv_2712 = {

View File

@ -0,0 +1,19 @@
--- 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;

View File

@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!pe) if (!pe)
--- a/mm/vmalloc.c --- a/mm/vmalloc.c
+++ b/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) static int __init proc_vmalloc_init(void)
{ {

View File

@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/nf_tables_api.c --- a/net/netfilter/nf_tables_api.c
+++ b/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, err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev, hook->ops.dev,
FLOW_BLOCK_BIND); FLOW_BLOCK_BIND);

View File

@ -83,20 +83,20 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap); ata_sff_port_init(ap);
return ap; return ap;
@@ -5530,6 +5547,12 @@ static void ata_host_release(struct kref @@ -5507,6 +5524,12 @@ void ata_port_free(struct ata_port *ap)
kfree(ap->pmp_link); kfree(ap->pmp_link);
kfree(ap->slave_link); kfree(ap->slave_link);
kfree(ap->ncq_sense_buf); kfree(ap->ncq_sense_buf);
+#ifdef CONFIG_ATA_LEDS +#ifdef CONFIG_ATA_LEDS
+ if (ap->ledtrig) { + if (ap->ledtrig) {
+ led_trigger_unregister(ap->ledtrig); + led_trigger_unregister(ap->ledtrig);
+ kfree(ap->ledtrig); + kfree(ap->ledtrig);
+ }; + };
+#endif +#endif
kfree(ap); kfree(ap);
host->ports[i] = NULL; }
} EXPORT_SYMBOL_GPL(ata_port_free);
@@ -5920,7 +5943,23 @@ int ata_host_register(struct ata_host *h @@ -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]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1; host->ports[i]->local_port_no = i + 1;
} }