kernel: bump 5.4 to 5.4.211

Similar version was upstreamed:
 bcm27xx/patches-5.4/950-0392-tty-amba-pl011-Add-un-throttle-support.patch

Manually adapted:
 ipq806x/patches-5.4/0063-2-tsens-support-configurable-interrupts.patch
 layerscape/patches-5.4/301-arch-0008-arm-add-new-non-shareable-ioremap.patch

Compile-tested: x86/64
Run-tested: x86/64

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2022-09-03 16:34:15 +02:00
parent 8d24ea3f31
commit bcaabe6d05
84 changed files with 192 additions and 253 deletions

View File

@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
LINUX_VERSION-5.4 = .203
LINUX_VERSION-5.4 = .211
LINUX_KERNEL_HASH-5.4.203 = fc933f5b13066cfa54aacb5e86747a167bad1d8d23972e4a03ab5ee36c29798a
LINUX_KERNEL_HASH-5.4.211 = bfb43241b72cd55797af68bea1cebe630d37664c0f9a99b6e9263a63a67e2dec
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -9,7 +9,7 @@
struct fis_image_desc {
unsigned char name[16]; // Null terminated name
uint32_t flash_base; // Address within FLASH of image
@@ -72,6 +74,7 @@ static int parse_redboot_partitions(stru
@@ -73,6 +75,7 @@ static int parse_redboot_partitions(stru
const struct mtd_partition **pparts,
struct mtd_part_parser_data *data)
{
@ -17,7 +17,7 @@
int nrparts = 0;
struct fis_image_desc *buf;
struct mtd_partition *parts;
@@ -239,14 +242,15 @@ static int parse_redboot_partitions(stru
@@ -240,14 +243,15 @@ static int parse_redboot_partitions(stru
}
}
#endif
@ -35,7 +35,7 @@
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
if (nulllen > 0) {
strcpy(nullname, nullstring);
@@ -265,6 +269,8 @@ static int parse_redboot_partitions(stru
@@ -266,6 +270,8 @@ static int parse_redboot_partitions(stru
}
#endif
for ( ; i<nrparts; i++) {
@ -44,7 +44,7 @@
parts[i].size = fl->img->size;
parts[i].offset = fl->img->flash_base;
parts[i].name = names;
@@ -298,6 +304,13 @@ static int parse_redboot_partitions(stru
@@ -299,6 +305,13 @@ static int parse_redboot_partitions(stru
fl = fl->next;
kfree(tmp_fl);
}

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
@@ -93,12 +93,18 @@ static int parse_redboot_partitions(stru
@@ -94,12 +94,18 @@ static int parse_redboot_partitions(stru
parse_redboot_of(master);
@ -19,7 +19,7 @@
return -EIO;
}
offset -= master->erasesize;
@@ -111,10 +117,6 @@ static int parse_redboot_partitions(stru
@@ -112,10 +118,6 @@ static int parse_redboot_partitions(stru
goto nogood;
}
}
@ -30,7 +30,7 @@
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
@@ -187,6 +189,11 @@ static int parse_redboot_partitions(stru
@@ -188,6 +190,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
@@ -70,6 +70,22 @@ static void parse_redboot_of(struct mtd_
@@ -71,6 +71,22 @@ static void parse_redboot_of(struct mtd_
directory = dirblock;
}
@ -23,7 +23,7 @@
static int parse_redboot_partitions(struct mtd_info *master,
const struct mtd_partition **pparts,
struct mtd_part_parser_data *data)
@@ -86,6 +102,7 @@ static int parse_redboot_partitions(stru
@@ -87,6 +103,7 @@ static int parse_redboot_partitions(stru
int namelen = 0;
int nulllen = 0;
int numslots;
@ -31,7 +31,7 @@
unsigned long offset;
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
static char nullstring[] = "unallocated";
@@ -200,7 +217,10 @@ static int parse_redboot_partitions(stru
@@ -201,7 +218,10 @@ static int parse_redboot_partitions(stru
goto out;
}
@ -43,7 +43,7 @@
struct fis_list *new_fl, **prev;
if (buf[i].name[0] == 0xff) {
@@ -276,12 +296,13 @@ static int parse_redboot_partitions(stru
@@ -277,12 +297,13 @@ static int parse_redboot_partitions(stru
}
#endif
for ( ; i<nrparts; i++) {
@ -59,7 +59,7 @@
strcpy(names, fl->img->name);
#ifdef CONFIG_MTD_REDBOOT_PARTS_READONLY
if (!memcmp(names, "RedBoot", 8) ||
@@ -311,7 +332,9 @@ static int parse_redboot_partitions(stru
@@ -312,7 +333,9 @@ static int parse_redboot_partitions(stru
fl = fl->next;
kfree(tmp_fl);
}

View File

@ -13,9 +13,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -824,6 +824,17 @@ config LEDS_LM36274
Say Y to enable the LM36274 LED driver for TI LMU devices.
This supports the LED device LM36274.
@@ -826,6 +826,17 @@ config LEDS_LM36274
source "drivers/leds/blink/Kconfig"
+config LEDS_RESET
+ tristate "LED support for reset-controller API"

View File

@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -915,3 +917,68 @@ void of_gpiochip_remove(struct gpio_chip
@@ -917,3 +919,68 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(chip->of_node);
}

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
@@ -90,12 +90,18 @@ static int parse_redboot_partitions(stru
@@ -91,12 +91,18 @@ static int parse_redboot_partitions(stru
parse_redboot_of(master);
@ -19,7 +19,7 @@
return -EIO;
}
offset -= master->erasesize;
@@ -108,10 +114,6 @@ static int parse_redboot_partitions(stru
@@ -109,10 +115,6 @@ static int parse_redboot_partitions(stru
goto nogood;
}
}
@ -30,7 +30,7 @@
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
@@ -184,6 +186,11 @@ static int parse_redboot_partitions(stru
@@ -185,6 +187,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */

View File

@ -706,7 +706,7 @@
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3980,14 +3980,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -3986,14 +3986,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -14,7 +14,7 @@ use the same logic.
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -2557,7 +2557,12 @@ static int pl011_setup_port(struct devic
@@ -2576,7 +2576,12 @@ static int pl011_setup_port(struct devic
if (IS_ERR(base))
return PTR_ERR(base);

View File

@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1653,6 +1653,23 @@ static void pl011_put_poll_char(struct u
@@ -1662,6 +1662,23 @@ static void pl011_put_poll_char(struct u
#endif /* CONFIG_CONSOLE_POLL */
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static int pl011_hwinit(struct uart_port *port)
{
struct uart_amba_port *uap =
@@ -1669,7 +1686,7 @@ static int pl011_hwinit(struct uart_port
@@ -1678,7 +1695,7 @@ static int pl011_hwinit(struct uart_port
if (retval)
return retval;
@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/* Clear pending error and receive interrupts */
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
@@ -2303,7 +2320,7 @@ static int pl011_console_setup(struct co
@@ -2322,7 +2339,7 @@ static int pl011_console_setup(struct co
plat->init();
}
@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
if (uap->vendor->fixed_options) {
baud = uap->fixed_baud;
@@ -2488,6 +2505,7 @@ static struct uart_driver amba_reg = {
@@ -2507,6 +2524,7 @@ static struct uart_driver amba_reg = {
.cons = AMBA_CONSOLE,
};
@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static int pl011_probe_dt_alias(int index, struct device *dev)
{
struct device_node *np;
@@ -2519,6 +2537,7 @@ static int pl011_probe_dt_alias(int inde
@@ -2538,6 +2556,7 @@ static int pl011_probe_dt_alias(int inde
return ret;
}

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1386,6 +1386,7 @@ static bool pl011_tx_char(struct uart_am
@@ -1395,6 +1395,7 @@ static bool pl011_tx_char(struct uart_am
return false; /* unable to transmit character */
pl011_write(c, uap, REG_DR);

View File

@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
- reg
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -2644,6 +2644,11 @@ static int pl011_probe(struct amba_devic
@@ -2663,6 +2663,11 @@ static int pl011_probe(struct amba_devic
if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk);

View File

@ -234,7 +234,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
static int bcm2708_fb_register(struct bcm2708_fb *fb)
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1080,6 +1080,30 @@ fb_blank(struct fb_info *info, int blank
@@ -1090,6 +1090,30 @@ fb_blank(struct fb_info *info, int blank
}
EXPORT_SYMBOL(fb_blank);
@ -265,7 +265,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
unsigned long arg)
{
@@ -1088,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info *
@@ -1098,6 +1122,7 @@ static long do_fb_ioctl(struct fb_info *
struct fb_fix_screeninfo fix;
struct fb_cmap cmap_from;
struct fb_cmap_user cmap;
@ -273,7 +273,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
void __user *argp = (void __user *)arg;
long ret = 0;
@@ -1163,6 +1188,15 @@ static long do_fb_ioctl(struct fb_info *
@@ -1175,6 +1200,15 @@ static long do_fb_ioctl(struct fb_info *
unlock_fb_info(info);
console_unlock();
break;
@ -289,7 +289,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
default:
lock_fb_info(info);
fb = info->fbops;
@@ -1308,6 +1342,7 @@ static long fb_compat_ioctl(struct file
@@ -1320,6 +1354,7 @@ static long fb_compat_ioctl(struct file
case FBIOPAN_DISPLAY:
case FBIOGET_CON2FBMAP:
case FBIOPUT_CON2FBMAP:

View File

@ -10,7 +10,7 @@ Subject: [PATCH] ARM64: Force hardware emulation of deprecated
--- a/arch/arm64/kernel/armv8_deprecated.c
+++ b/arch/arm64/kernel/armv8_deprecated.c
@@ -182,10 +182,15 @@ static void __init register_insn_emulati
@@ -183,10 +183,15 @@ static void __init register_insn_emulati
switch (ops->status) {
case INSN_DEPRECATED:

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5788,6 +5788,9 @@ int __init cgroup_init_early(void)
@@ -5797,6 +5797,9 @@ int __init cgroup_init_early(void)
return 0;
}
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/**
* cgroup_init - cgroup initialization
*
@@ -5826,6 +5829,12 @@ int __init cgroup_init(void)
@@ -5835,6 +5838,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
@@ -6235,6 +6244,10 @@ static int __init cgroup_disable(char *s
@@ -6244,6 +6253,10 @@ static int __init cgroup_disable(char *s
strcmp(token, ss->legacy_name))
continue;
@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static_branch_disable(cgroup_subsys_enabled_key[i]);
pr_info("Disabling %s control group subsystem\n",
ss->name);
@@ -6244,6 +6257,31 @@ static int __init cgroup_disable(char *s
@@ -6253,6 +6266,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

View File

@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1236,31 +1236,6 @@ static int bcm2835_spi_setup(struct spi_
@@ -1240,31 +1240,6 @@ static int bcm2835_spi_setup(struct spi_
return -EINVAL;
}

View File

@ -23,7 +23,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
/* Read as many bytes as possible from FIFO */
bcm2835_rd_fifo(bs);
/* Write as many bytes as possible to FIFO */
@@ -1287,7 +1291,8 @@ static int bcm2835_spi_probe(struct plat
@@ -1291,7 +1295,8 @@ static int bcm2835_spi_probe(struct plat
bcm2835_wr(bs, BCM2835_SPI_CS,
BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);

View File

@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1962,6 +1962,16 @@ reset:
@@ -1965,6 +1965,16 @@ reset:
return ret;
}
@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
extern int usb_driver_set_configuration(struct usb_device *udev, int config);
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -384,6 +384,11 @@ struct hc_driver {
@@ -385,6 +385,11 @@ struct hc_driver {
* or bandwidth constraints.
*/
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
/* Returns the hardware-chosen device address */
int (*address_device)(struct usb_hcd *, struct usb_device *udev);
/* prepares the hardware to send commands to the device */
@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
@@ -446,6 +451,8 @@ extern void usb_hcd_unmap_urb_setup_for_
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
extern void usb_hcd_flush_endpoint(struct usb_device *udev,
struct usb_host_endpoint *ep);

View File

@ -11,7 +11,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
--- a/drivers/gpu/drm/vc4/vc4_dsi.c
+++ b/drivers/gpu/drm/vc4/vc4_dsi.c
@@ -1485,9 +1485,11 @@ static int vc4_dsi_bind(struct device *d
@@ -1483,9 +1483,11 @@ static int vc4_dsi_bind(struct device *d
/* DSI1 has a broken AXI slave that doesn't respond to writes
* from the ARM. It does handle writes from the DMA engine,
* so set up a channel for talking to it.
@ -24,7 +24,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
&dsi->reg_dma_paddr,
GFP_KERNEL);
if (!dsi->reg_dma_mem) {
@@ -1506,6 +1508,8 @@ static int vc4_dsi_bind(struct device *d
@@ -1504,6 +1506,8 @@ static int vc4_dsi_bind(struct device *d
return ret;
}
@ -33,7 +33,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
/* Get the physical address of the device's registers. The
* struct resource for the regs gives us the bus address
* instead.
@@ -1532,7 +1536,7 @@ static int vc4_dsi_bind(struct device *d
@@ -1530,7 +1534,7 @@ static int vc4_dsi_bind(struct device *d
if (ret) {
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get interrupt: %d\n", ret);
@ -42,7 +42,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
}
dsi->escape_clock = devm_clk_get(dev, "escape");
@@ -1540,7 +1544,7 @@ static int vc4_dsi_bind(struct device *d
@@ -1538,7 +1542,7 @@ static int vc4_dsi_bind(struct device *d
ret = PTR_ERR(dsi->escape_clock);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get escape clock: %d\n", ret);
@ -51,7 +51,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
}
dsi->pll_phy_clock = devm_clk_get(dev, "phy");
@@ -1548,7 +1552,7 @@ static int vc4_dsi_bind(struct device *d
@@ -1546,7 +1550,7 @@ static int vc4_dsi_bind(struct device *d
ret = PTR_ERR(dsi->pll_phy_clock);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get phy clock: %d\n", ret);
@ -60,7 +60,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
}
dsi->pixel_clock = devm_clk_get(dev, "pixel");
@@ -1556,7 +1560,7 @@ static int vc4_dsi_bind(struct device *d
@@ -1554,7 +1558,7 @@ static int vc4_dsi_bind(struct device *d
ret = PTR_ERR(dsi->pixel_clock);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Failed to get pixel clock: %d\n", ret);
@ -69,7 +69,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
}
ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0,
@@ -1571,26 +1575,28 @@ static int vc4_dsi_bind(struct device *d
@@ -1569,26 +1573,28 @@ static int vc4_dsi_bind(struct device *d
if (ret == -ENODEV)
return 0;
@ -103,7 +103,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
if (dsi->port == 1)
vc4->dsi1 = dsi;
@@ -1602,7 +1608,7 @@ static int vc4_dsi_bind(struct device *d
@@ -1600,7 +1606,7 @@ static int vc4_dsi_bind(struct device *d
ret = drm_bridge_attach(dsi->encoder, dsi->bridge, NULL);
if (ret) {
dev_err(dev, "bridge attach failed: %d\n", ret);
@ -112,7 +112,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
}
/* Disable the atomic helper calls into the bridge. We
* manually call the bridge pre_enable / enable / etc. calls
@@ -1619,6 +1625,11 @@ static int vc4_dsi_bind(struct device *d
@@ -1617,6 +1623,11 @@ static int vc4_dsi_bind(struct device *d
pm_runtime_enable(dev);
return 0;
@ -124,7 +124,7 @@ Signed-off-by: Chris G Miller <chris@creative-electronics.net>
}
static void vc4_dsi_unbind(struct device *dev, struct device *master,
@@ -1633,6 +1644,8 @@ static void vc4_dsi_unbind(struct device
@@ -1631,6 +1642,8 @@ static void vc4_dsi_unbind(struct device
vc4_dsi_encoder_destroy(dsi->encoder);

View File

@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spin_unlock(&uap->port.lock);
dev_vdbg(uap->port.dev,
"Took %d chars from DMA buffer and %d chars from the FIFO\n",
@@ -1350,6 +1353,7 @@ __acquires(&uap->port.lock)
@@ -1359,6 +1362,7 @@ __acquires(&uap->port.lock)
{
pl011_fifo_to_tty(uap);
@ -66,7 +66,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spin_unlock(&uap->port.lock);
tty_flip_buffer_push(&uap->port.state->port);
/*
@@ -1485,6 +1489,7 @@ static irqreturn_t pl011_int(int irq, vo
@@ -1494,6 +1498,7 @@ static irqreturn_t pl011_int(int irq, vo
int handled = 0;
spin_lock_irqsave(&uap->port.lock, flags);
@ -74,7 +74,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
status = pl011_read(uap, REG_RIS) & uap->im;
if (status) {
do {
@@ -1504,7 +1509,7 @@ static irqreturn_t pl011_int(int irq, vo
@@ -1513,7 +1518,7 @@ static irqreturn_t pl011_int(int irq, vo
UART011_CTSMIS|UART011_RIMIS))
pl011_modem_status(uap);
if (status & UART011_TXIS)

View File

@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/Makefile
+++ b/Makefile
@@ -1269,6 +1269,9 @@ ifneq ($(dtstree),)
@@ -1272,6 +1272,9 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@

View File

@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -585,6 +585,53 @@ static int vc4_plane_allocate_lbm(struct
@@ -581,6 +581,53 @@ static int vc4_plane_allocate_lbm(struct
return 0;
}
@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
/* Writes out a full display list for an active plane to the plane's
* private dlist state.
*/
@@ -864,9 +911,20 @@ static int vc4_plane_mode_set(struct drm
@@ -860,9 +907,20 @@ static int vc4_plane_mode_set(struct drm
/* Colorspace conversion words */
if (vc4_state->is_yuv) {
@ -96,7 +96,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
}
vc4_state->lbm_offset = 0;
@@ -1275,5 +1333,13 @@ struct drm_plane *vc4_plane_init(struct
@@ -1271,5 +1329,13 @@ struct drm_plane *vc4_plane_init(struct
DRM_MODE_REFLECT_X |
DRM_MODE_REFLECT_Y);

View File

@ -1,61 +0,0 @@
From a3749ee48539fa832b1832cdcae26d34e5d20f00 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 24 Jan 2020 11:38:28 +0000
Subject: [PATCH] tty: amba-pl011: Add un/throttle support
The PL011 driver lacks throttle and unthrottle methods. As a result,
sending more data to the Pi than it can immediately sink while CRTSCTS
is enabled causes a NULL pointer to be followed.
Add a throttle handler that disables the RX interrupts, and an
unthrottle handler that reenables them.
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
drivers/tty/serial/amba-pl011.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1326,6 +1326,32 @@ static void pl011_start_tx(struct uart_p
pl011_start_tx_pio(uap);
}
+static void pl011_throttle(struct uart_port *port)
+{
+ struct uart_amba_port *uap =
+ container_of(port, struct uart_amba_port, port);
+ unsigned long flags;
+
+ spin_lock_irqsave(&uap->port.lock, flags);
+ uap->im &= ~(UART011_RTIM | UART011_RXIM);
+ pl011_write(uap->im, uap, REG_IMSC);
+ spin_unlock_irqrestore(&uap->port.lock, flags);
+}
+
+static void pl011_unthrottle(struct uart_port *port)
+{
+ struct uart_amba_port *uap =
+ container_of(port, struct uart_amba_port, port);
+ unsigned long flags;
+
+ spin_lock_irqsave(&uap->port.lock, flags);
+ uap->im |= UART011_RTIM;
+ if (!pl011_dma_rx_running(uap))
+ uap->im |= UART011_RXIM;
+ pl011_write(uap->im, uap, REG_IMSC);
+ spin_unlock_irqrestore(&uap->port.lock, flags);
+}
+
static void pl011_stop_rx(struct uart_port *port)
{
struct uart_amba_port *uap =
@@ -2150,6 +2176,8 @@ static const struct uart_ops amba_pl011_
.stop_tx = pl011_stop_tx,
.start_tx = pl011_start_tx,
.stop_rx = pl011_stop_rx,
+ .throttle = pl011_throttle,
+ .unthrottle = pl011_unthrottle,
.enable_ms = pl011_enable_ms,
.break_ctl = pl011_break_ctl,
.startup = pl011_startup,

View File

@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1447,6 +1447,10 @@ static bool pl011_tx_chars(struct uart_a
@@ -1430,6 +1430,10 @@ static bool pl011_tx_chars(struct uart_a
if (likely(from_irq) && count-- == 0)
break;

View File

@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1182,7 +1182,6 @@ static int bcm2835_spi_setup(struct spi_
@@ -1186,7 +1186,6 @@ static int bcm2835_spi_setup(struct spi_
{
struct spi_controller *ctlr = spi->controller;
struct bcm2835_spi *bs = spi_controller_get_devdata(ctlr);

View File

@ -29,7 +29,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -267,6 +267,10 @@ config GENERIC_CSUM
@@ -266,6 +266,10 @@ config GENERIC_CSUM
config GENERIC_CALIBRATE_DELAY
def_bool y

View File

@ -31,7 +31,7 @@ Signed-off-by: Christoph Hellwig <hch@lst.de>
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -709,7 +709,6 @@ config X86_SUPPORTS_MEMORY_FAILURE
@@ -708,7 +708,6 @@ config X86_SUPPORTS_MEMORY_FAILURE
config STA2X11
bool "STA2X11 Companion Chip Support"
depends on X86_32_NON_STANDARD && PCI

View File

@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
--- a/Makefile
+++ b/Makefile
@@ -1269,7 +1269,7 @@ ifneq ($(dtstree),)
@@ -1272,7 +1272,7 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@

View File

@ -21,7 +21,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
--- a/drivers/media/v4l2-core/v4l2-mem2mem.c
+++ b/drivers/media/v4l2-core/v4l2-mem2mem.c
@@ -1216,6 +1216,59 @@ int v4l2_m2m_ioctl_try_decoder_cmd(struc
@@ -1248,6 +1248,59 @@ int v4l2_m2m_ioctl_try_decoder_cmd(struc
}
EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_try_decoder_cmd);

View File

@ -168,7 +168,7 @@ Signed-off-by: John Cox <jc@kynesim.co.uk>
}
schedule_next = _v4l2_m2m_job_finish(m2m_dev, m2m_ctx);
unlock:
@@ -981,12 +1072,14 @@ struct v4l2_m2m_ctx *v4l2_m2m_ctx_init(s
@@ -1013,12 +1104,14 @@ struct v4l2_m2m_ctx *v4l2_m2m_ctx_init(s
m2m_ctx->priv = drv_priv;
m2m_ctx->m2m_dev = m2m_dev;
init_waitqueue_head(&m2m_ctx->finished);

View File

@ -95,7 +95,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -500,6 +500,11 @@ static void vc4_plane_calc_load(struct d
@@ -496,6 +496,11 @@ static void vc4_plane_calc_load(struct d
struct vc4_plane_state *vc4_state;
struct drm_crtc_state *crtc_state;
unsigned int vscale_factor;

View File

@ -186,7 +186,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
.pixel_order = HVS_PIXEL_ORDER_XBGR,
},
{
@@ -836,35 +851,6 @@ static int vc4_plane_mode_set(struct drm
@@ -832,35 +847,6 @@ static int vc4_plane_mode_set(struct drm
return -EINVAL;
}
@ -222,7 +222,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* Don't waste cycles mixing with plane alpha if the set alpha
* is opaque or there is no per-pixel alpha information.
* In any case we use the alpha property value as the fixed alpha.
@@ -872,20 +858,120 @@ static int vc4_plane_mode_set(struct drm
@@ -868,20 +854,120 @@ static int vc4_plane_mode_set(struct drm
mix_plane_alpha = state->alpha != DRM_BLEND_ALPHA_OPAQUE &&
fb->format->has_alpha;
@ -356,7 +356,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* Pointer Word 0/1/2: RGB / Y / Cb / Cr Pointers
@@ -1276,6 +1362,10 @@ static bool vc4_format_mod_supported(str
@@ -1272,6 +1358,10 @@ static bool vc4_format_mod_supported(str
default:
return false;
}

View File

@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
return VC4_SCALING_NONE;
if (3 * dst >= 2 * src)
return VC4_SCALING_PPF;
@@ -377,9 +378,11 @@ static int vc4_plane_setup_clipping_and_
@@ -373,9 +374,11 @@ static int vc4_plane_setup_clipping_and_
return ret;
vc4_state->x_scaling[0] = vc4_get_scaling_mode(vc4_state->src_w[0],
@ -46,7 +46,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
vc4_state->is_unity = (vc4_state->x_scaling[0] == VC4_SCALING_NONE &&
vc4_state->y_scaling[0] == VC4_SCALING_NONE);
@@ -392,10 +395,12 @@ static int vc4_plane_setup_clipping_and_
@@ -388,10 +391,12 @@ static int vc4_plane_setup_clipping_and_
vc4_state->x_scaling[1] =
vc4_get_scaling_mode(vc4_state->src_w[1],
@ -61,7 +61,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
/* YUV conversion requires that horizontal scaling be enabled
* on the UV plane even if vc4_get_scaling_mode() returned
@@ -445,10 +450,7 @@ static void vc4_write_ppf(struct vc4_pla
@@ -441,10 +446,7 @@ static void vc4_write_ppf(struct vc4_pla
static u32 vc4_lbm_size(struct drm_plane_state *state)
{
struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
@ -73,7 +73,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
u32 lbm;
/* LBM is not needed when there's no vertical scaling. */
@@ -456,6 +458,11 @@ static u32 vc4_lbm_size(struct drm_plane
@@ -452,6 +454,11 @@ static u32 vc4_lbm_size(struct drm_plane
vc4_state->y_scaling[1] == VC4_SCALING_NONE)
return 0;
@ -85,7 +85,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
if (!vc4_state->is_yuv) {
if (vc4_state->y_scaling[0] == VC4_SCALING_TPZ)
lbm = pix_per_line * 8;
@@ -591,7 +598,9 @@ static int vc4_plane_allocate_lbm(struct
@@ -587,7 +594,9 @@ static int vc4_plane_allocate_lbm(struct
spin_lock_irqsave(&vc4->hvs->mm_lock, irqflags);
ret = drm_mm_insert_node_generic(&vc4->hvs->lbm_mm,
&vc4_state->lbm,

View File

@ -81,7 +81,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
void vc4_plane_async_set_fb(struct drm_plane *plane,
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1447,3 +1447,41 @@ struct drm_plane *vc4_plane_init(struct
@@ -1443,3 +1443,41 @@ struct drm_plane *vc4_plane_init(struct
return plane;
}

View File

@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
void vc4_plane_async_set_fb(struct drm_plane *plane,
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1448,39 +1448,41 @@ struct drm_plane *vc4_plane_init(struct
@@ -1444,39 +1444,41 @@ struct drm_plane *vc4_plane_init(struct
return plane;
}

View File

@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1454,26 +1454,27 @@ int vc4_plane_create_additional_planes(s
@@ -1450,26 +1450,27 @@ int vc4_plane_create_additional_planes(s
struct drm_crtc *crtc;
unsigned int i;

View File

@ -21,7 +21,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1463,7 +1463,7 @@ int vc4_plane_create_additional_planes(s
@@ -1459,7 +1459,7 @@ int vc4_plane_create_additional_planes(s
* modest number of planes to expose, that should hopefully
* still cover any sane usecase.
*/

View File

@ -38,7 +38,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
};
static const struct hvs_format *vc4_get_hvs_format(u32 drm_format)
@@ -809,27 +816,33 @@ static int vc4_plane_mode_set(struct drm
@@ -805,27 +812,33 @@ static int vc4_plane_mode_set(struct drm
uint32_t param = fourcc_mod_broadcom_param(fb->modifier);
u32 tile_w, tile, x_off, pix_per_tile;
@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
return -EINVAL;
}
@@ -839,6 +852,13 @@ static int vc4_plane_mode_set(struct drm
@@ -835,6 +848,13 @@ static int vc4_plane_mode_set(struct drm
/* Adjust the base pointer to the first pixel to be scanned
* out.
@ -104,7 +104,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
*/
for (i = 0; i < num_planes; i++) {
vc4_state->offsets[i] += param * tile_w * tile;
@@ -951,8 +971,8 @@ static int vc4_plane_mode_set(struct drm
@@ -947,8 +967,8 @@ static int vc4_plane_mode_set(struct drm
vc4_dlist_write(vc4_state,
VC4_SET_FIELD(state->alpha >> 4,
SCALER5_CTL2_ALPHA) |
@ -115,7 +115,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
(mix_plane_alpha ?
SCALER5_CTL2_ALPHA_MIX : 0) |
VC4_SET_FIELD(fb->format->has_alpha ?
@@ -1000,7 +1020,8 @@ static int vc4_plane_mode_set(struct drm
@@ -996,7 +1016,8 @@ static int vc4_plane_mode_set(struct drm
/* Pitch word 1/2 */
for (i = 1; i < num_planes; i++) {
@ -125,7 +125,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
vc4_dlist_write(vc4_state,
VC4_SET_FIELD(fb->pitches[i],
SCALER_SRC_PITCH));
@@ -1371,6 +1392,13 @@ static bool vc4_format_mod_supported(str
@@ -1367,6 +1388,13 @@ static bool vc4_format_mod_supported(str
default:
return false;
}
@ -139,7 +139,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
case DRM_FORMAT_RGBX1010102:
case DRM_FORMAT_BGRX1010102:
case DRM_FORMAT_RGBA1010102:
@@ -1403,8 +1431,11 @@ struct drm_plane *vc4_plane_init(struct
@@ -1399,8 +1427,11 @@ struct drm_plane *vc4_plane_init(struct
struct drm_plane *plane = NULL;
struct vc4_plane *vc4_plane;
u32 formats[ARRAY_SIZE(hvs_formats)];
@ -151,7 +151,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const uint64_t modifiers[] = {
DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
DRM_FORMAT_MOD_BROADCOM_SAND128,
@@ -1419,13 +1450,17 @@ struct drm_plane *vc4_plane_init(struct
@@ -1415,13 +1446,17 @@ struct drm_plane *vc4_plane_init(struct
if (!vc4_plane)
return ERR_PTR(-ENOMEM);

View File

@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -1451,7 +1451,7 @@ struct drm_plane *vc4_plane_init(struct
@@ -1447,7 +1447,7 @@ struct drm_plane *vc4_plane_init(struct
return ERR_PTR(-ENOMEM);
for (i = 0; i < ARRAY_SIZE(hvs_formats); i++) {

View File

@ -12,7 +12,7 @@ See: https://github.com/raspberrypi/linux/pull/3687
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1182,6 +1182,8 @@ static int bcm2835_spi_setup(struct spi_
@@ -1186,6 +1186,8 @@ static int bcm2835_spi_setup(struct spi_
{
struct spi_controller *ctlr = spi->controller;
struct bcm2835_spi *bs = spi_controller_get_devdata(ctlr);

View File

@ -13,7 +13,7 @@ See: https://github.com/raspberrypi/linux/pull/3687
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1241,6 +1241,43 @@ static int bcm2835_spi_setup(struct spi_
@@ -1245,6 +1245,43 @@ static int bcm2835_spi_setup(struct spi_
return -EINVAL;
}

View File

@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
else
offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port);
@@ -985,6 +987,30 @@ struct bcm_sf2_of_data {
@@ -990,6 +992,30 @@ struct bcm_sf2_of_data {
unsigned int num_cfp_rules;
};
@ -109,7 +109,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Register offsets for the SWITCH_REG_* block */
static const u16 bcm_sf2_7445_reg_offsets[] = {
[REG_SWITCH_CNTRL] = 0x00,
@@ -1033,6 +1059,9 @@ static const struct bcm_sf2_of_data bcm_
@@ -1038,6 +1064,9 @@ static const struct bcm_sf2_of_data bcm_
};
static const struct of_device_id bcm_sf2_of_match[] = {

View File

@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void bcm_sf2_intr_disable(struct bcm_sf2_priv *priv)
{
intrl2_0_mask_set(priv, 0xffffffff);
@@ -734,6 +772,8 @@ static int bcm_sf2_sw_resume(struct dsa_
@@ -739,6 +777,8 @@ static int bcm_sf2_sw_resume(struct dsa_
return ret;
}
@ -91,7 +91,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ret = bcm_sf2_cfp_resume(ds);
if (ret)
return ret;
@@ -996,6 +1036,7 @@ struct bcm_sf2_of_data {
@@ -1001,6 +1041,7 @@ struct bcm_sf2_of_data {
const u16 *reg_offsets;
unsigned int core_reg_align;
unsigned int num_cfp_rules;
@ -99,7 +99,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
static const u16 bcm_sf2_4908_reg_offsets[] = {
@@ -1020,6 +1061,7 @@ static const struct bcm_sf2_of_data bcm_
@@ -1025,6 +1066,7 @@ static const struct bcm_sf2_of_data bcm_
.core_reg_align = 0,
.reg_offsets = bcm_sf2_4908_reg_offsets,
.num_cfp_rules = 0, /* FIXME */
@ -107,7 +107,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
};
/* Register offsets for the SWITCH_REG_* block */
@@ -1130,6 +1172,7 @@ static int bcm_sf2_sw_probe(struct platf
@@ -1135,6 +1177,7 @@ static int bcm_sf2_sw_probe(struct platf
priv->reg_offsets = data->reg_offsets;
priv->core_reg_align = data->core_reg_align;
priv->num_cfp_rules = data->num_cfp_rules;
@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Auto-detection using standard registers will not work, so
* provide an indication of what kind of device we are for
@@ -1184,6 +1227,8 @@ static int bcm_sf2_sw_probe(struct platf
@@ -1189,6 +1232,8 @@ static int bcm_sf2_sw_probe(struct platf
return ret;
}

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -1060,7 +1060,7 @@ static const struct bcm_sf2_of_data bcm_
@@ -1065,7 +1065,7 @@ static const struct bcm_sf2_of_data bcm_
.type = BCM4908_DEVICE_ID,
.core_reg_align = 0,
.reg_offsets = bcm_sf2_4908_reg_offsets,

View File

@ -88,7 +88,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
force_link:
/* Force link settings detected from the PHY */
@@ -661,6 +689,7 @@ static void bcm_sf2_sw_mac_link_set(stru
@@ -666,6 +694,7 @@ static void bcm_sf2_sw_mac_link_set(stru
phy_interface_t interface, bool link)
{
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 reg;
if (!phy_interface_mode_is_rgmii(interface) &&
@@ -668,13 +697,15 @@ static void bcm_sf2_sw_mac_link_set(stru
@@ -673,13 +702,15 @@ static void bcm_sf2_sw_mac_link_set(stru
interface != PHY_INTERFACE_MODE_REVMII)
return;

View File

@ -33,7 +33,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
default:
switch (port) {
@@ -1079,9 +1084,7 @@ static const u16 bcm_sf2_4908_reg_offset
@@ -1084,9 +1089,7 @@ static const u16 bcm_sf2_4908_reg_offset
[REG_PHY_REVISION] = 0x14,
[REG_SPHY_CNTRL] = 0x24,
[REG_CROSSBAR] = 0xc8,

View File

@ -82,7 +82,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}
}
@@ -1085,9 +1122,14 @@ static const u16 bcm_sf2_4908_reg_offset
@@ -1090,9 +1127,14 @@ static const u16 bcm_sf2_4908_reg_offset
[REG_SPHY_CNTRL] = 0x24,
[REG_CROSSBAR] = 0xc8,
[REG_RGMII_11_CNTRL] = 0x014c,

View File

@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -1363,10 +1363,14 @@ static int bcm_sf2_sw_probe(struct platf
@@ -1368,10 +1368,14 @@ static int bcm_sf2_sw_probe(struct platf
rev = reg_readl(priv, REG_PHY_REVISION);
priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK;

View File

@ -15,7 +15,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -1377,6 +1377,12 @@ static int bcm_sf2_sw_probe(struct platf
@@ -1382,6 +1382,12 @@ static int bcm_sf2_sw_probe(struct platf
priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
priv->irq0, priv->irq1);

View File

@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
ret = gpiod_hog(desc, name, lflags, dflags);
if (ret < 0) {
of_node_put(np);
@@ -904,9 +911,11 @@ int of_gpiochip_add(struct gpio_chip *ch
@@ -906,9 +913,11 @@ int of_gpiochip_add(struct gpio_chip *ch
of_node_get(chip->of_node);

View File

@ -23,7 +23,7 @@ Signed-off-by: Axel Gembe <ago@bastart.eu.org>
.width = 2,
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
@@ -84,6 +84,7 @@ static int parse_redboot_partitions(stru
@@ -85,6 +85,7 @@ static int parse_redboot_partitions(stru
int nulllen = 0;
int numslots;
unsigned long offset;
@ -31,7 +31,7 @@ Signed-off-by: Axel Gembe <ago@bastart.eu.org>
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
static char nullstring[] = "unallocated";
#endif
@@ -190,6 +191,16 @@ static int parse_redboot_partitions(stru
@@ -191,6 +192,16 @@ static int parse_redboot_partitions(stru
goto out;
}
@ -48,7 +48,7 @@ Signed-off-by: Axel Gembe <ago@bastart.eu.org>
for (i = 0; i < numslots; i++) {
struct fis_list *new_fl, **prev;
@@ -210,10 +221,10 @@ static int parse_redboot_partitions(stru
@@ -211,10 +222,10 @@ static int parse_redboot_partitions(stru
goto out;
}
new_fl->img = &buf[i];

View File

@ -26,7 +26,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
--- a/arch/arm64/crypto/Kconfig
+++ b/arch/arm64/crypto/Kconfig
@@ -103,7 +103,7 @@ config CRYPTO_CHACHA20_NEON
@@ -104,7 +104,7 @@ config CRYPTO_CHACHA20_NEON
tristate "ChaCha20, XChaCha20, and XChaCha12 stream ciphers using NEON instructions"
depends on KERNEL_MODE_NEON
select CRYPTO_BLKCIPHER

View File

@ -25,7 +25,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
--- a/arch/arm64/crypto/Kconfig
+++ b/arch/arm64/crypto/Kconfig
@@ -104,6 +104,7 @@ config CRYPTO_CHACHA20_NEON
@@ -105,6 +105,7 @@ config CRYPTO_CHACHA20_NEON
depends on KERNEL_MODE_NEON
select CRYPTO_BLKCIPHER
select CRYPTO_LIB_CHACHA_GENERIC

View File

@ -34,7 +34,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
--- a/arch/arm64/crypto/Kconfig
+++ b/arch/arm64/crypto/Kconfig
@@ -106,6 +106,12 @@ config CRYPTO_CHACHA20_NEON
@@ -107,6 +107,12 @@ config CRYPTO_CHACHA20_NEON
select CRYPTO_LIB_CHACHA_GENERIC
select CRYPTO_ARCH_HAVE_LIB_CHACHA

View File

@ -16,7 +16,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -61,20 +61,6 @@ machine-$(CONFIG_PPC64) += 64
@@ -44,20 +44,6 @@ machine-$(CONFIG_PPC64) += 64
machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le
UTS_MACHINE := $(subst $(space),,$(machine-y))

View File

@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
@@ -305,6 +305,7 @@ static int parse_redboot_partitions(stru
@@ -306,6 +306,7 @@ static int parse_redboot_partitions(stru
static const struct of_device_id mtd_parser_redboot_of_match_table[] = {
{ .compatible = "redboot-fis" },

View File

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
@@ -279,14 +279,21 @@ static int parse_redboot_partitions(stru
@@ -280,14 +280,21 @@ static int parse_redboot_partitions(stru
#endif
names += strlen(names)+1;

View File

@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5752,6 +5752,13 @@ static int nf_tables_flowtable_parse_hoo
@@ -5758,6 +5758,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0)
return err;
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops)
return -ENOMEM;
@@ -5882,10 +5889,19 @@ static int nf_tables_newflowtable(struct
@@ -5888,10 +5895,19 @@ static int nf_tables_newflowtable(struct
}
flowtable->data.type = type;
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable);
if (err < 0)
@@ -6011,7 +6027,8 @@ static int nf_tables_fill_flowtable_info
@@ -6017,7 +6033,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),

View File

@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* Allocate a dst for local (unicast / anycast) address.
*/
@@ -4933,7 +4963,8 @@ static int rtm_to_fib6_config(struct sk_
@@ -4940,7 +4970,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT ||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
@@ -6084,6 +6115,8 @@ static int ip6_route_dev_notify(struct n
@@ -6091,6 +6122,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
@@ -6095,6 +6128,7 @@ static int ip6_route_dev_notify(struct n
@@ -6102,6 +6135,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif
}
@@ -6287,6 +6321,8 @@ static int __net_init ip6_route_net_init
@@ -6294,6 +6328,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false;
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL);
@@ -6297,11 +6333,21 @@ static int __net_init ip6_route_net_init
@@ -6304,11 +6340,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
@@ -6325,6 +6371,8 @@ out:
@@ -6332,6 +6378,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
@@ -6344,6 +6392,7 @@ static void __net_exit ip6_route_net_exi
@@ -6351,6 +6399,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
@@ -6421,6 +6470,9 @@ void __init ip6_route_init_special_entri
@@ -6428,6 +6477,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View File

@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_
@@ -486,7 +486,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);

View File

@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -915,3 +917,68 @@ void of_gpiochip_remove(struct gpio_chip
@@ -917,3 +919,68 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(chip->of_node);
}

View File

@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -319,7 +319,7 @@ config ARCH_MULTIPLATFORM
@@ -318,7 +318,7 @@ config ARCH_MULTIPLATFORM
depends on MMU
select ARM_HAS_SG_CHAIN
select ARM_PATCH_PHYS_VIRT

View File

@ -27,8 +27,8 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
{
struct __thermal_zone *data = tz->devdata;
- if (!data->ops->get_temp)
+ if (!data->ops->get_temp || (data->mode == THERMAL_DEVICE_DISABLED))
- if (!data->ops || !data->ops->get_temp)
+ if (!data->ops || !data->ops->get_temp || (data->mode == THERMAL_DEVICE_DISABLED))
return -EINVAL;
return data->ops->get_temp(data->sensor_data, temp);
@ -42,9 +42,9 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EINVAL;
return data->ops->set_trips(data->sensor_data, low, high);
@@ -188,6 +189,9 @@ static int of_thermal_set_emul_temp(stru
{
struct __thermal_zone *data = tz->devdata;
@@ -191,6 +192,9 @@ static int of_thermal_set_emul_temp(stru
if (!data->ops || !data->ops->set_emul_temp)
return -EINVAL;
+ if (data->mode == THERMAL_DEVICE_DISABLED)
+ return -EINVAL;
@ -52,16 +52,16 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return data->ops->set_emul_temp(data->sensor_data, temp);
}
@@ -196,7 +200,7 @@ static int of_thermal_get_trend(struct t
@@ -199,7 +203,7 @@ static int of_thermal_get_trend(struct t
{
struct __thermal_zone *data = tz->devdata;
- if (!data->ops->get_trend)
+ if (!data->ops->get_trend || (data->mode == THERMAL_DEVICE_DISABLED))
- if (!data->ops || !data->ops->get_trend)
+ if (!data->ops || !data->ops->get_trend || (data->mode == THERMAL_DEVICE_DISABLED))
return -EINVAL;
return data->ops->get_trend(data->sensor_data, trip, trend);
@@ -297,7 +301,9 @@ static int of_thermal_set_mode(struct th
@@ -300,7 +304,9 @@ static int of_thermal_set_mode(struct th
mutex_unlock(&tz->lock);
data->mode = mode;
@ -72,7 +72,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return 0;
}
@@ -307,7 +313,8 @@ static int of_thermal_get_trip_type(stru
@@ -310,7 +316,8 @@ static int of_thermal_get_trip_type(stru
{
struct __thermal_zone *data = tz->devdata;
@ -82,7 +82,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
*type = data->trips[trip].type;
@@ -315,12 +322,39 @@ static int of_thermal_get_trip_type(stru
@@ -318,12 +325,39 @@ static int of_thermal_get_trip_type(stru
return 0;
}
@ -123,7 +123,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
*temp = data->trips[trip].temperature;
@@ -333,7 +367,8 @@ static int of_thermal_set_trip_temp(stru
@@ -336,7 +370,8 @@ static int of_thermal_set_trip_temp(stru
{
struct __thermal_zone *data = tz->devdata;
@ -132,8 +132,8 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
+ || (data->mode == THERMAL_DEVICE_DISABLED))
return -EDOM;
if (data->ops->set_trip_temp) {
@@ -355,7 +390,8 @@ static int of_thermal_get_trip_hyst(stru
if (data->ops && data->ops->set_trip_temp) {
@@ -358,7 +393,8 @@ static int of_thermal_get_trip_hyst(stru
{
struct __thermal_zone *data = tz->devdata;
@ -143,7 +143,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
*hyst = data->trips[trip].hysteresis;
@@ -368,7 +404,8 @@ static int of_thermal_set_trip_hyst(stru
@@ -371,7 +407,8 @@ static int of_thermal_set_trip_hyst(stru
{
struct __thermal_zone *data = tz->devdata;
@ -153,7 +153,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
/* thermal framework should take care of data->mask & (1 << trip) */
@@ -443,6 +480,9 @@ thermal_zone_of_add_sensor(struct device
@@ -446,6 +483,9 @@ thermal_zone_of_add_sensor(struct device
if (ops->set_emul_temp)
tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
@ -163,7 +163,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
mutex_unlock(&tzd->lock);
return tzd;
@@ -765,7 +805,10 @@ static const char * const trip_types[] =
@@ -768,7 +808,10 @@ static const char * const trip_types[] =
[THERMAL_TRIP_ACTIVE] = "active",
[THERMAL_TRIP_PASSIVE] = "passive",
[THERMAL_TRIP_HOT] = "hot",

View File

@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1824,6 +1824,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
@@ -1823,6 +1823,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.

View File

@ -1,6 +1,6 @@
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1837,6 +1837,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
@@ -1836,6 +1836,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
endchoice

View File

@ -5491,7 +5491,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
unsigned long type);
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1076,6 +1076,12 @@
@@ -1078,6 +1078,12 @@
#define PCI_DEVICE_ID_SGI_IOC3 0x0003
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002

View File

@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -915,3 +917,72 @@ void of_gpiochip_remove(struct gpio_chip
@@ -917,3 +919,72 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(chip->of_node);
}

View File

@ -63,8 +63,8 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
* address space as memory. Needed when the kernel wants to execute
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -316,6 +316,13 @@ static struct mem_type mem_types[] __ro_
.prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE,
@@ -323,6 +323,13 @@ static struct mem_type mem_types[] __ro_
.prot_sect = PMD_TYPE_SECT,
.domain = DOMAIN_KERNEL,
},
+ [MT_MEMORY_RW_NS] = {
@ -77,7 +77,7 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
[MT_ROM] = {
.prot_sect = PMD_TYPE_SECT,
.domain = DOMAIN_KERNEL,
@@ -652,6 +659,7 @@ static void __init build_mem_type_table(
@@ -663,6 +670,7 @@ static void __init build_mem_type_table(
}
kern_pgprot |= PTE_EXT_AF;
vecs_pgprot |= PTE_EXT_AF;
@ -85,11 +85,11 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
/*
* Set PXN for user mappings
@@ -680,6 +688,7 @@ static void __init build_mem_type_table(
@@ -691,6 +699,7 @@ static void __init build_mem_type_table(
mem_types[MT_MEMORY_RWX].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_RW].prot_sect |= ecc_mask | cp->pmd;
mem_types[MT_MEMORY_RW].prot_pte |= kern_pgprot;
+ mem_types[MT_MEMORY_RW_NS].prot_sect |= ecc_mask | cp->pmd;
mem_types[MT_MEMORY_RO].prot_sect |= ecc_mask | cp->pmd;
mem_types[MT_MEMORY_RO].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_DMA_READY].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_RWX_NONCACHED].prot_sect |= ecc_mask;
mem_types[MT_ROM].prot_sect |= cp->pmd;

View File

@ -27,7 +27,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
/* internal flags, do not use outside cgroup core proper */
__CFTYPE_ONLY_ON_DFL = (1 << 16), /* only on default hierarchy */
__CFTYPE_NOT_ON_DFL = (1 << 17), /* not on default hierarchy */
@@ -544,6 +546,7 @@ struct cftype {
@@ -545,6 +547,7 @@ struct cftype {
* end of cftype array.
*/
char name[MAX_CFTYPE_NAME];
@ -37,7 +37,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
/*
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -1465,8 +1465,8 @@ struct cgroup *task_cgroup_from_root(str
@@ -1467,8 +1467,8 @@ struct cgroup *task_cgroup_from_root(str
static struct kernfs_syscall_ops cgroup_kf_syscall_ops;
@ -48,7 +48,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
{
struct cgroup_subsys *ss = cft->ss;
@@ -1476,13 +1476,26 @@ static char *cgroup_file_name(struct cgr
@@ -1478,13 +1478,26 @@ static char *cgroup_file_name(struct cgr
snprintf(buf, CGROUP_FILE_NAME_MAX, "%s%s.%s",
dbg, cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name,
@ -77,7 +77,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
/**
* cgroup_file_mode - deduce file mode of a control file
* @cft: the control file in question
@@ -1641,6 +1654,9 @@ static void cgroup_rm_file(struct cgroup
@@ -1643,6 +1656,9 @@ static void cgroup_rm_file(struct cgroup
}
kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name));
@ -87,7 +87,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
}
/**
@@ -3924,6 +3940,7 @@ static int cgroup_add_file(struct cgroup
@@ -3933,6 +3949,7 @@ static int cgroup_add_file(struct cgroup
{
char name[CGROUP_FILE_NAME_MAX];
struct kernfs_node *kn;
@ -95,7 +95,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
struct lock_class_key *key = NULL;
int ret;
@@ -3954,6 +3971,14 @@ static int cgroup_add_file(struct cgroup
@@ -3963,6 +3980,14 @@ static int cgroup_add_file(struct cgroup
spin_unlock_irq(&cgroup_file_kn_lock);
}

View File

@ -29,7 +29,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
/* internal flags, do not use outside cgroup core proper */
__CFTYPE_ONLY_ON_DFL = (1 << 16), /* only on default hierarchy */
__CFTYPE_NOT_ON_DFL = (1 << 17), /* not on default hierarchy */
@@ -546,7 +544,6 @@ struct cftype {
@@ -547,7 +545,6 @@ struct cftype {
* end of cftype array.
*/
char name[MAX_CFTYPE_NAME];
@ -39,7 +39,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
/*
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -1465,8 +1465,8 @@ struct cgroup *task_cgroup_from_root(str
@@ -1467,8 +1467,8 @@ struct cgroup *task_cgroup_from_root(str
static struct kernfs_syscall_ops cgroup_kf_syscall_ops;
@ -50,7 +50,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
{
struct cgroup_subsys *ss = cft->ss;
@@ -1476,26 +1476,13 @@ static char *cgroup_fill_name(struct cgr
@@ -1478,26 +1478,13 @@ static char *cgroup_fill_name(struct cgr
snprintf(buf, CGROUP_FILE_NAME_MAX, "%s%s.%s",
dbg, cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name,
@ -79,7 +79,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
/**
* cgroup_file_mode - deduce file mode of a control file
* @cft: the control file in question
@@ -1654,9 +1641,6 @@ static void cgroup_rm_file(struct cgroup
@@ -1656,9 +1643,6 @@ static void cgroup_rm_file(struct cgroup
}
kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name));
@ -89,7 +89,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
}
/**
@@ -3940,7 +3924,6 @@ static int cgroup_add_file(struct cgroup
@@ -3949,7 +3933,6 @@ static int cgroup_add_file(struct cgroup
{
char name[CGROUP_FILE_NAME_MAX];
struct kernfs_node *kn;
@ -97,7 +97,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
struct lock_class_key *key = NULL;
int ret;
@@ -3971,14 +3954,6 @@ static int cgroup_add_file(struct cgroup
@@ -3980,14 +3963,6 @@ static int cgroup_add_file(struct cgroup
spin_unlock_irq(&cgroup_file_kn_lock);
}

View File

@ -58,7 +58,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
}
/* Wait max 20 ms */
@@ -892,10 +916,7 @@ static void esdhc_tuning_block_enable(st
@@ -893,10 +917,7 @@ static void esdhc_tuning_block_enable(st
u32 val;
esdhc_clock_enable(host, false);

View File

@ -15,7 +15,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -928,20 +928,11 @@ static void esdhc_tuning_block_enable(st
@@ -929,20 +929,11 @@ static void esdhc_tuning_block_enable(st
esdhc_clock_enable(host, true);
}
@ -37,7 +37,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
/* Write TBCTL[11:8]=4'h8 */
val = sdhci_readl(host, ESDHC_TBCTL);
val &= ~(0xf << 8);
@@ -960,6 +951,25 @@ static void esdhc_prepare_sw_tuning(stru
@@ -961,6 +952,25 @@ static void esdhc_prepare_sw_tuning(stru
val = sdhci_readl(host, ESDHC_TBSTAT);
val = sdhci_readl(host, ESDHC_TBSTAT);
@ -63,7 +63,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
/* Reset data lines by setting ESDHCCTL[RSTD] */
sdhci_reset(host, SDHCI_RESET_DATA);
/* Write 32'hFFFF_FFFF to IRQSTAT register */
@@ -970,10 +980,8 @@ static void esdhc_prepare_sw_tuning(stru
@@ -971,10 +981,8 @@ static void esdhc_prepare_sw_tuning(stru
* then program TBPTR[TB_WNDW_END_PTR] = 4 * div_ratio
* and program TBPTR[TB_WNDW_START_PTR] = 8 * div_ratio.
*/

View File

@ -20,7 +20,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
--- a/drivers/mmc/host/sdhci-of-esdhc.c
+++ b/drivers/mmc/host/sdhci-of-esdhc.c
@@ -894,20 +894,20 @@ static int esdhc_signal_voltage_switch(s
@@ -895,20 +895,20 @@ static int esdhc_signal_voltage_switch(s
}
static struct soc_device_attribute soc_tuning_erratum_type1[] = {
@ -51,7 +51,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
{ },
};
@@ -975,13 +975,13 @@ static void esdhc_prepare_sw_tuning(stru
@@ -976,13 +976,13 @@ static void esdhc_prepare_sw_tuning(stru
/* Write 32'hFFFF_FFFF to IRQSTAT register */
sdhci_writel(host, 0xFFFFFFFF, SDHCI_INT_STATUS);
@ -68,7 +68,7 @@ Acked-by: Adrian Hunter <adrian.hunter@intel.com>
*window_start = 8 * esdhc->div_ratio;
*window_end = 4 * esdhc->div_ratio;
} else {
@@ -1065,6 +1065,19 @@ static int esdhc_execute_tuning(struct m
@@ -1066,6 +1066,19 @@ static int esdhc_execute_tuning(struct m
if (ret)
break;

View File

@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
* All 3.1 IP version constants are greater than the 3.0 IP
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -3699,6 +3699,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
@@ -3701,6 +3701,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc->gadget.sg_supported = true;
dwc->gadget.name = "dwc3-gadget";
dwc->gadget.lpm_capable = true;

View File

@ -20,7 +20,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -2125,6 +2125,140 @@ int usb_hcd_get_frame_number (struct usb
@@ -2128,6 +2128,140 @@ int usb_hcd_get_frame_number (struct usb
}
/*-------------------------------------------------------------------------*/
@ -335,7 +335,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
int is_setup
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -411,7 +411,10 @@ struct hc_driver {
@@ -412,7 +412,10 @@ struct hc_driver {
int (*find_raw_port_number)(struct usb_hcd *, int);
/* Call for power on/off the port if necessary */
int (*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
@ -347,7 +347,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
};
static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
@@ -476,6 +479,14 @@ int usb_hcd_setup_local_mem(struct usb_h
@@ -477,6 +480,14 @@ int usb_hcd_setup_local_mem(struct usb_h
struct platform_device;
extern void usb_hcd_platform_shutdown(struct platform_device *dev);

View File

@ -11,7 +11,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -881,10 +881,12 @@ static int pca953x_irq_setup(struct pca9
@@ -884,10 +884,12 @@ static int pca953x_irq_setup(struct pca9
for (i = 0; i < NBANK(chip); i++)
chip->irq_stat[i] &= reg_direction[i];
mutex_init(&chip->irq_lock);

View File

@ -590,7 +590,7 @@
clk_disable_unprepare(priv->clk);
for (i = 0; i < priv->config.rings; i++)
@@ -1666,9 +1795,7 @@ static struct platform_driver crypto_sa
@@ -1668,9 +1797,7 @@ static struct platform_driver crypto_sa
.of_match_table = safexcel_of_match_table,
},
};
@ -600,7 +600,7 @@
/* PCIE devices - i.e. Inside Secure development boards */
static int safexcel_pci_probe(struct pci_dev *pdev,
@@ -1759,7 +1886,7 @@ static int safexcel_pci_probe(struct pci
@@ -1761,7 +1888,7 @@ static int safexcel_pci_probe(struct pci
return rc;
}
@ -609,7 +609,7 @@
{
struct safexcel_crypto_priv *priv = pci_get_drvdata(pdev);
int i;
@@ -1789,54 +1916,32 @@ static struct pci_driver safexcel_pci_dr
@@ -1791,54 +1918,32 @@ static struct pci_driver safexcel_pci_dr
.probe = safexcel_pci_probe,
.remove = safexcel_pci_remove,
};

View File

@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
const struct switchdev_obj_port_vlan *vlan);
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -636,7 +636,9 @@ static void bcm_sf2_sw_mac_link_down(str
@@ -641,7 +641,9 @@ static void bcm_sf2_sw_mac_link_down(str
static void bcm_sf2_sw_mac_link_up(struct dsa_switch *ds, int port,
unsigned int mode,
phy_interface_t interface,

View File

@ -1,8 +1,8 @@
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -824,6 +824,16 @@ config LEDS_LM36274
Say Y to enable the LM36274 LED driver for TI LMU devices.
This supports the LED device LM36274.
@@ -826,6 +826,16 @@ config LEDS_LM36274
source "drivers/leds/blink/Kconfig"
+config LEDS_UBNT_LEDBAR
+ tristate "LED support for Ubiquiti UniFi 6 LR"

View File

@ -28,7 +28,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1824,6 +1824,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
@@ -1823,6 +1823,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.

View File

@ -20,7 +20,7 @@
}
--- a/arch/mips/cavium-octeon/octeon-platform.c
+++ b/arch/mips/cavium-octeon/octeon-platform.c
@@ -773,7 +773,7 @@ int __init octeon_prune_device_tree(void
@@ -774,7 +774,7 @@ int __init octeon_prune_device_tree(void
if (fdt_check_header(initial_boot_params))
panic("Corrupt Device Tree.");

View File

@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
@@ -5793,3 +5794,34 @@ static void nvidia_ion_ahci_fixup(struct
@@ -5796,3 +5797,34 @@ static void nvidia_ion_ahci_fixup(struct
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);

View File

@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1824,6 +1824,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
@@ -1823,6 +1823,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.

View File

@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -915,3 +917,68 @@ void of_gpiochip_remove(struct gpio_chip
@@ -917,3 +919,68 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(chip->of_node);
}