Refreshed all patches.
Remove upstreamed:
- 950-0434-mmc-bcm2835-Recover-from-MMC_SEND_EXT_CSD.patch
Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_VERSION-3.18 = .134
LINUX_VERSION-4.9 = .156
-LINUX_VERSION-4.14 = .98
+LINUX_VERSION-4.14 = .99
LINUX_VERSION-4.19 = .20
LINUX_KERNEL_HASH-3.18.134 = 36bdd04cab3b6c824a4b7e32ae02503f437e0916d5a4ff04c90aa22da2749c2f
LINUX_KERNEL_HASH-4.9.156 = 5eb1b9ba43370512ab637452089bb93f8c0fdd7d5399e99561d382f74517a816
-LINUX_KERNEL_HASH-4.14.98 = 8f021171b1b1efb41326e603116a45126fc030d06aaa9b0784ae612323010c5f
+LINUX_KERNEL_HASH-4.14.99 = 8ff98caed5b20b733dedcbe99559d71a0e09e239c0c2488b3fd799c96489eb0a
LINUX_KERNEL_HASH-4.19.20 = dc7d2776dad4bf738e741ed05e7d1bea685855cfb7a62d1706f5f7aeabfa04a4
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data, int in_pm)
{
-@@ -1971,7 +1975,8 @@ static int smsc95xx_rx_fixup(struct usbn
+@@ -1972,7 +1976,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(skb);
skb_trim(skb, skb->len - 4); /* remove fcs */
return 1;
}
-@@ -1989,7 +1994,8 @@ static int smsc95xx_rx_fixup(struct usbn
+@@ -1990,7 +1995,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(ax_skb);
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
struct bcm2835_dmadev {
struct dma_device ddev;
-@@ -925,6 +927,9 @@ static int bcm2835_dma_probe(struct plat
+@@ -905,6 +907,9 @@ static int bcm2835_dma_probe(struct plat
base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(base))
return PTR_ERR(base);
od->base = base;
-@@ -962,6 +967,9 @@ static int bcm2835_dma_probe(struct plat
+@@ -942,6 +947,9 @@ static int bcm2835_dma_probe(struct plat
goto err_no_dma;
}
/* get irqs for each channel that we support */
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
/* skip masked out channels */
-@@ -1036,6 +1044,7 @@ static int bcm2835_dma_remove(struct pla
+@@ -1016,6 +1024,7 @@ static int bcm2835_dma_remove(struct pla
{
struct bcm2835_dmadev *od = platform_get_drvdata(pdev);
dma_async_device_unregister(&od->ddev);
bcm2835_dma_free(od);
-@@ -1051,7 +1060,22 @@ static struct platform_driver bcm2835_dm
+@@ -1031,7 +1040,22 @@ static struct platform_driver bcm2835_dm
},
};
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5084,7 +5084,7 @@ static void port_event(struct usb_hub *h
+@@ -5094,7 +5094,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;
platform_set_drvdata(dev, fb);
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1086,6 +1086,31 @@ fb_blank(struct fb_info *info, int blank
+@@ -1090,6 +1090,31 @@ fb_blank(struct fb_info *info, int blank
}
EXPORT_SYMBOL(fb_blank);
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
unsigned long arg)
{
-@@ -1096,6 +1121,7 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1100,6 +1125,7 @@ static long do_fb_ioctl(struct fb_info *
struct fb_cmap cmap_from;
struct fb_cmap_user cmap;
struct fb_event event;
void __user *argp = (void __user *)arg;
long ret = 0;
-@@ -1213,6 +1239,15 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1217,6 +1243,15 @@ static long do_fb_ioctl(struct fb_info *
unlock_fb_info(info);
console_unlock();
break;
default:
if (!lock_fb_info(info))
return -ENODEV;
-@@ -1358,6 +1393,7 @@ static long fb_compat_ioctl(struct file
+@@ -1362,6 +1397,7 @@ static long fb_compat_ioctl(struct file
case FBIOPAN_DISPLAY:
case FBIOGET_CON2FBMAP:
case FBIOPUT_CON2FBMAP:
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
-@@ -547,14 +547,24 @@ static int vc4_plane_mode_set(struct drm
+@@ -549,14 +549,24 @@ static int vc4_plane_mode_set(struct drm
tiling = SCALER_CTL0_TILING_LINEAR;
pitch0 = VC4_SET_FIELD(fb->pitches[0], SCALER_SRC_PITCH);
break;
#include "vc4_drv.h"
#include "vc4_regs.h"
-@@ -777,21 +778,40 @@ static int vc4_prepare_fb(struct drm_pla
+@@ -779,21 +780,40 @@ static int vc4_prepare_fb(struct drm_pla
{
struct vc4_bo *bo;
struct dma_fence *fence;
},
};
-@@ -625,15 +628,8 @@ static int vc4_plane_mode_set(struct drm
+@@ -627,15 +630,8 @@ static int vc4_plane_mode_set(struct drm
* The pointers may be any byte address.
*/
vc4_state->ptr0_offset = vc4_state->dlist_count;
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
-@@ -619,13 +619,14 @@ static int vc4_plane_mode_set(struct drm
+@@ -621,13 +621,14 @@ static int vc4_plane_mode_set(struct drm
SCALER_POS1_SCL_HEIGHT));
}
};
static inline struct vc4_plane_state *
-@@ -522,6 +528,7 @@ static int vc4_plane_mode_set(struct drm
+@@ -524,6 +530,7 @@ static int vc4_plane_mode_set(struct drm
u32 ctl0_offset = vc4_state->dlist_count;
const struct hvs_format *format = vc4_get_hvs_format(fb->format->format);
int num_planes = drm_format_num_planes(format->drm);
u32 scl0, scl1, pitch0;
u32 lbm_size, tiling;
unsigned long irqflags;
-@@ -705,6 +712,16 @@ static int vc4_plane_mode_set(struct drm
+@@ -707,6 +714,16 @@ static int vc4_plane_mode_set(struct drm
vc4_state->dlist[ctl0_offset] |=
VC4_SET_FIELD(vc4_state->dlist_count, SCALER_CTL0_SIZE);
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
-@@ -868,6 +868,32 @@ out:
+@@ -870,6 +870,32 @@ out:
ctx);
}
static const struct drm_plane_funcs vc4_plane_funcs = {
.update_plane = vc4_update_plane,
.disable_plane = drm_atomic_helper_disable_plane,
-@@ -876,6 +902,7 @@ static const struct drm_plane_funcs vc4_
+@@ -878,6 +904,7 @@ static const struct drm_plane_funcs vc4_
.reset = vc4_plane_reset,
.atomic_duplicate_state = vc4_plane_duplicate_state,
.atomic_destroy_state = vc4_plane_destroy_state,
};
struct drm_plane *vc4_plane_init(struct drm_device *dev,
-@@ -887,6 +914,11 @@ struct drm_plane *vc4_plane_init(struct
+@@ -889,6 +916,11 @@ struct drm_plane *vc4_plane_init(struct
u32 num_formats = 0;
int ret = 0;
unsigned i;
vc4_plane = devm_kzalloc(dev->dev, sizeof(*vc4_plane),
GFP_KERNEL);
-@@ -907,7 +939,7 @@ struct drm_plane *vc4_plane_init(struct
+@@ -909,7 +941,7 @@ struct drm_plane *vc4_plane_init(struct
ret = drm_universal_plane_init(dev, plane, 0,
&vc4_plane_funcs,
formats, num_formats,
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
-@@ -888,7 +888,9 @@ static bool vc4_format_mod_supported(str
+@@ -890,7 +890,9 @@ static bool vc4_format_mod_supported(str
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YVU420:
case DRM_FORMAT_NV12:
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
-@@ -467,11 +467,13 @@ static int vc4_plane_mode_set(struct drm
+@@ -469,11 +469,13 @@ static int vc4_plane_mode_set(struct drm
struct drm_framebuffer *fb = state->fb;
u32 ctl0_offset = vc4_state->dlist_count;
const struct hvs_format *format = vc4_get_hvs_format(fb->format->format);
int ret, i;
ret = vc4_plane_setup_clipping_and_scaling(state);
-@@ -511,7 +513,7 @@ static int vc4_plane_mode_set(struct drm
+@@ -513,7 +515,7 @@ static int vc4_plane_mode_set(struct drm
scl1 = vc4_get_scl_field(state, 0);
}
case DRM_FORMAT_MOD_LINEAR:
tiling = SCALER_CTL0_TILING_LINEAR;
pitch0 = VC4_SET_FIELD(fb->pitches[0], SCALER_SRC_PITCH);
-@@ -534,6 +536,49 @@ static int vc4_plane_mode_set(struct drm
+@@ -536,6 +538,49 @@ static int vc4_plane_mode_set(struct drm
break;
}
default:
DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx",
(long long)fb->modifier);
-@@ -544,7 +589,7 @@ static int vc4_plane_mode_set(struct drm
+@@ -546,7 +591,7 @@ static int vc4_plane_mode_set(struct drm
vc4_dlist_write(vc4_state,
SCALER_CTL0_VALID |
(format->pixel_order << SCALER_CTL0_ORDER_SHIFT) |
VC4_SET_FIELD(tiling, SCALER_CTL0_TILING) |
(vc4_state->is_unity ? SCALER_CTL0_UNITY : 0) |
VC4_SET_FIELD(scl0, SCALER_CTL0_SCL0) |
-@@ -598,8 +643,13 @@ static int vc4_plane_mode_set(struct drm
+@@ -600,8 +645,13 @@ static int vc4_plane_mode_set(struct drm
/* Pitch word 1/2 */
for (i = 1; i < num_planes; i++) {
}
/* Colorspace conversion words */
-@@ -882,13 +932,30 @@ static bool vc4_format_mod_supported(str
+@@ -884,13 +934,30 @@ static bool vc4_format_mod_supported(str
case DRM_FORMAT_BGR565:
case DRM_FORMAT_ARGB1555:
case DRM_FORMAT_XRGB1555:
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV61:
default:
-@@ -918,6 +985,9 @@ struct drm_plane *vc4_plane_init(struct
+@@ -920,6 +987,9 @@ struct drm_plane *vc4_plane_init(struct
unsigned i;
static const uint64_t modifiers[] = {
DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
+++ /dev/null
-From c2eae29f6503cf29ac6a204c51132cfed33d203e Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Fri, 26 Oct 2018 17:40:44 +0100
-Subject: [PATCH 434/454] mmc/bcm2835: Recover from MMC_SEND_EXT_CSD
-
-If the user issues an "mmc extcsd read", the SD controller receives
-what it thinks is a SEND_IF_COND command with an unexpected data block.
-The resulting operations leave the FSM stuck in READWAIT, a state which
-persists until the MMC framework resets the controller, by which point
-the root filesystem is likely to have been unmounted.
-
-A less heavyweight solution is to detect the condition and nudge the
-FSM by asserting the (self-clearing) FORCE_DATA_MODE bit.
-
-N.B. This workaround was essentially discovered by accident and without
-a full understanding the inner workings of the controller, so it is
-fortunate that the "fix" only modifies error paths.
-
-See: https://github.com/raspberrypi/linux/issues/2728
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
----
- drivers/mmc/host/bcm2835.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/drivers/mmc/host/bcm2835.c
-+++ b/drivers/mmc/host/bcm2835.c
-@@ -772,6 +772,8 @@ static void bcm2835_finish_command(struc
-
- if (!(sdhsts & SDHSTS_CRC7_ERROR) ||
- (host->cmd->opcode != MMC_SEND_OP_COND)) {
-+ u32 edm, fsm;
-+
- if (sdhsts & SDHSTS_CMD_TIME_OUT) {
- host->cmd->error = -ETIMEDOUT;
- } else {
-@@ -780,6 +782,13 @@ static void bcm2835_finish_command(struc
- bcm2835_dumpregs(host);
- host->cmd->error = -EILSEQ;
- }
-+ edm = readl(host->ioaddr + SDEDM);
-+ fsm = edm & SDEDM_FSM_MASK;
-+ if (fsm == SDEDM_FSM_READWAIT ||
-+ fsm == SDEDM_FSM_WRITESTART1)
-+ /* Kick the FSM out of its wait */
-+ writel(edm | SDEDM_FORCE_DATA_MODE,
-+ host->ioaddr + SDEDM);
- bcm2835_finish_request(host);
- return;
- }
/* 32MB of flash */
reg = <0x30000000 0x02000000>;
-@@ -242,5 +292,16 @@
+@@ -238,5 +288,16 @@
ata@63000000 {
status = "okay";
};
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-@@ -303,5 +303,13 @@
+@@ -299,5 +299,13 @@
};
};
};
leds {
compatible = "gpio-leds";
led-wps {
-@@ -249,6 +255,47 @@
+@@ -245,6 +251,47 @@
groups = "gpio1bgrp";
};
};
};
};
-@@ -290,6 +337,18 @@
+@@ -286,6 +333,18 @@
<0x6000 0 0 4 &pci_intc 2>;
};
config MODULES_TREE_LOOKUP
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -3006,9 +3006,11 @@ static struct module *setup_load_info(st
+@@ -3008,9 +3008,11 @@ static struct module *setup_load_info(st
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL;
-@@ -3029,6 +3031,7 @@ static int check_modinfo(struct module *
+@@ -3031,6 +3033,7 @@ static int check_modinfo(struct module *
mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
}
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
-@@ -1982,7 +1982,9 @@ static void read_symbols(char *modname)
+@@ -1984,7 +1984,9 @@ static void read_symbols(char *modname)
symname = remove_dot(info.strtab + sym->st_name);
handle_modversions(mod, &info, sym, symname);
}
if (!is_vmlinux(modname) ||
(is_vmlinux(modname) && vmlinux_section_warnings))
-@@ -2143,8 +2145,10 @@ static void add_header(struct buffer *b,
+@@ -2145,8 +2147,10 @@ static void add_header(struct buffer *b,
buf_printf(b, "#include <linux/vermagic.h>\n");
buf_printf(b, "#include <linux/compiler.h>\n");
buf_printf(b, "\n");
buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__attribute__((section(\".gnu.linkonce.this_module\"))) = {\n");
-@@ -2161,8 +2165,10 @@ static void add_header(struct buffer *b,
+@@ -2163,8 +2167,10 @@ static void add_header(struct buffer *b,
static void add_intree_flag(struct buffer *b, int is_intree)
{
}
/* Cannot check for assembler */
-@@ -2175,10 +2181,12 @@ static void add_retpoline(struct buffer
+@@ -2177,10 +2183,12 @@ static void add_retpoline(struct buffer
static void add_staging_flag(struct buffer *b, const char *name)
{
}
/**
-@@ -2277,11 +2285,13 @@ static void add_depends(struct buffer *b
+@@ -2279,11 +2287,13 @@ static void add_depends(struct buffer *b
static void add_srcversion(struct buffer *b, struct module *mod)
{
}
static void write_if_changed(struct buffer *b, const char *fname)
-@@ -2518,7 +2528,9 @@ int main(int argc, char **argv)
+@@ -2520,7 +2530,9 @@ int main(int argc, char **argv)
add_staging_flag(&buf, mod->name);
err |= add_versions(&buf, mod);
add_depends(&buf, mod, modules);
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
-@@ -1277,11 +1277,13 @@ struct opp_table *dev_pm_opp_set_regulat
+@@ -1280,11 +1280,13 @@ struct opp_table *dev_pm_opp_set_regulat
if (!opp_table)
return ERR_PTR(-ENOMEM);
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
-@@ -1605,6 +1605,83 @@ put_table:
+@@ -1608,6 +1608,83 @@ put_table:
}
/**
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
-@@ -1649,6 +1649,7 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -1652,6 +1652,7 @@ int dev_pm_opp_adjust_voltage(struct dev
struct opp_table *opp_table;
struct dev_pm_opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV);
int r = 0;
/* keep the node allocated */
new_opp = kmalloc(sizeof(*new_opp), GFP_KERNEL);
-@@ -1685,6 +1686,10 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -1688,6 +1689,10 @@ int dev_pm_opp_adjust_voltage(struct dev
/* plug in new node */
new_opp->supplies[0].u_volt = u_volt;
/*
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
-@@ -170,6 +170,7 @@ extern void __iomem *ioremap_cache(phys_
+@@ -186,6 +186,7 @@ extern void __iomem *ioremap_cache(phys_
#define ioremap_nocache(addr, size) __ioremap((addr), (size), __pgprot(PROT_DEVICE_nGnRE))
#define ioremap_wc(addr, size) __ioremap((addr), (size), __pgprot(PROT_NORMAL_NC))
#define ioremap_wt(addr, size) __ioremap((addr), (size), __pgprot(PROT_DEVICE_nGnRE))
- snps,hird-threshold: HIRD threshold
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
-@@ -194,6 +194,34 @@ extern void __iomem *ioremap_cache(phys_
+@@ -210,6 +210,34 @@ extern void __iomem *ioremap_cache(phys_
#define iowrite32be(v,p) ({ __iowmb(); __raw_writel((__force __u32)cpu_to_be32(v), p); })
#define iowrite64be(v,p) ({ __iowmb(); __raw_writeq((__force __u64)cpu_to_be64(v), p); })
reg &= ~DWC3_DCTL_INITU2ENA;
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -3205,6 +3205,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3209,6 +3209,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
{
int ret;
int irq;
irq = dwc3_gadget_get_irq(dwc);
if (irq < 0) {
-@@ -3281,6 +3282,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3285,6 +3286,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
goto err4;
}
};
/**
-@@ -498,6 +543,7 @@ static void esdhc_of_set_clock(struct sd
+@@ -502,6 +547,7 @@ static void esdhc_of_set_clock(struct sd
int pre_div = 1;
int div = 1;
ktime_t timeout;
u32 temp;
host->mmc->actual_clock = 0;
-@@ -511,27 +557,14 @@ static void esdhc_of_set_clock(struct sd
+@@ -515,27 +561,14 @@ static void esdhc_of_set_clock(struct sd
if (esdhc->vendor_ver < VENDOR_V_23)
pre_div = 2;
temp = sdhci_readl(host, ESDHC_SYSTEM_CONTROL);
temp &= ~(ESDHC_CLOCK_SDCLKEN | ESDHC_CLOCK_IPGEN | ESDHC_CLOCK_HCKEN |
-@@ -789,6 +822,7 @@ static struct soc_device_attribute soc_i
+@@ -797,6 +830,7 @@ static struct soc_device_attribute soc_i
static void esdhc_init(struct platform_device *pdev, struct sdhci_host *host)
{
struct sdhci_pltfm_host *pltfm_host;
struct sdhci_esdhc *esdhc;
struct device_node *np;
-@@ -808,6 +842,9 @@ static void esdhc_init(struct platform_d
+@@ -816,6 +850,9 @@ static void esdhc_init(struct platform_d
else
esdhc->quirk_incorrect_hostver = false;
np = pdev->dev.of_node;
clk = of_clk_get(np, 0);
if (!IS_ERR(clk)) {
-@@ -907,14 +944,6 @@ static int sdhci_esdhc_probe(struct plat
+@@ -915,14 +952,6 @@ static int sdhci_esdhc_probe(struct plat
return ret;
}
#include "io-pgtable.h"
#include "arm-smmu-regs.h"
-@@ -1464,6 +1465,8 @@ static struct iommu_group *arm_smmu_devi
+@@ -1465,6 +1466,8 @@ static struct iommu_group *arm_smmu_devi
if (dev_is_pci(dev))
group = pci_device_group(dev);
else
group = generic_device_group(dev);
-@@ -2040,6 +2043,10 @@ static void arm_smmu_bus_init(void)
+@@ -2043,6 +2046,10 @@ static void arm_smmu_bus_init(void)
bus_set_iommu(&pci_bus_type, &arm_smmu_ops);
}
#endif
struct lpuart_port {
struct uart_port port;
struct clk *clk;
-@@ -2149,13 +2151,13 @@ static int lpuart_probe(struct platform_
+@@ -2153,13 +2155,13 @@ static int lpuart_probe(struct platform_
ret = of_alias_get_id(np, "serial");
if (ret < 0) {
sport->port.line = ret;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
sport->port.membase = devm_ioremap_resource(&pdev->dev, res);
-@@ -2246,6 +2248,7 @@ static int lpuart_remove(struct platform
+@@ -2250,6 +2252,7 @@ static int lpuart_remove(struct platform
struct lpuart_port *sport = platform_get_drvdata(pdev);
uart_remove_one_port(&lpuart_reg, &sport->port);
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
-@@ -650,6 +650,7 @@ static void esdhc_reset(struct sdhci_hos
+@@ -658,6 +658,7 @@ static void esdhc_reset(struct sdhci_hos
static const struct of_device_id scfg_device_ids[] = {
{ .compatible = "fsl,t1040-scfg", },
{ .compatible = "fsl,ls1012a-scfg", },
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
-@@ -1263,7 +1263,7 @@ int dsa_slave_create(struct dsa_port *po
+@@ -1267,7 +1267,7 @@ int dsa_slave_create(struct dsa_port *po
int ret;
cpu_dp = ds->dst->cpu_dp;
if (!ds->num_tx_queues)
ds->num_tx_queues = 1;
-@@ -1301,6 +1301,7 @@ int dsa_slave_create(struct dsa_port *po
+@@ -1305,6 +1305,7 @@ int dsa_slave_create(struct dsa_port *po
p->dp = port;
INIT_LIST_HEAD(&p->mall_tc_list);
p->xmit = dst->tag_ops->xmit;
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of_address.h>
-@@ -759,7 +760,31 @@ static void mtu3_hw_exit(struct mtu3 *mt
+@@ -761,7 +762,31 @@ static void mtu3_hw_exit(struct mtu3 *mt
mtu3_mem_free(mtu);
}
int ssusb_gadget_init(struct ssusb_mtk *ssusb)
{
-@@ -820,6 +845,12 @@ int ssusb_gadget_init(struct ssusb_mtk *
+@@ -822,6 +847,12 @@ int ssusb_gadget_init(struct ssusb_mtk *
return ret;
}
ret = devm_request_irq(dev, mtu->irq, mtu3_irq, 0, dev_name(dev), mtu);
if (ret) {
dev_err(dev, "request irq %d failed!\n", mtu->irq);
-@@ -845,6 +876,7 @@ int ssusb_gadget_init(struct ssusb_mtk *
+@@ -847,6 +878,7 @@ int ssusb_gadget_init(struct ssusb_mtk *
gadget_err:
device_init_wakeup(dev, false);
}
dev_info(mtu->dev, "max_speed: %s\n",
-@@ -624,6 +627,10 @@ static irqreturn_t mtu3_link_isr(struct
+@@ -626,6 +629,10 @@ static irqreturn_t mtu3_link_isr(struct
udev_speed = USB_SPEED_SUPER;
maxpkt = 512;
break;
default:
udev_speed = USB_SPEED_UNKNOWN;
break;
-@@ -825,14 +832,15 @@ int ssusb_gadget_init(struct ssusb_mtk *
+@@ -827,14 +834,15 @@ int ssusb_gadget_init(struct ssusb_mtk *
case USB_SPEED_FULL:
case USB_SPEED_HIGH:
case USB_SPEED_SUPER:
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -428,6 +428,9 @@ uart_get_baud_rate(struct uart_port *por
+@@ -431,6 +431,9 @@ uart_get_baud_rate(struct uart_port *por
break;
}
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
-@@ -57,6 +57,7 @@ choice
+@@ -58,6 +58,7 @@ choice
select COMMON_CLK
select CLKSRC_MIPS_GIC
select HW_HAS_PCI
void __iomem *sysc = (void __iomem *) KSEG1ADDR(MT7621_SYSC_BASE);
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
-@@ -58,6 +58,7 @@ choice
+@@ -59,6 +59,7 @@ choice
select CLKSRC_MIPS_GIC
select HW_HAS_PCI
select WEAK_REORDERING_BEYOND_LLSC