kernel: bump 4.19 to 4.19.106

Refreshed all patches.

Remove upstreamed:
- 950-0786-leds-pca963x-Fix-open-drain-initialization.patch

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
Koen Vandeputte 2020-02-24 16:11:02 +01:00
parent fc65fae304
commit 7ae2523323
10 changed files with 40 additions and 105 deletions

View File

@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
endif endif
LINUX_VERSION-4.14 = .171 LINUX_VERSION-4.14 = .171
LINUX_VERSION-4.19 = .105 LINUX_VERSION-4.19 = .106
LINUX_KERNEL_HASH-4.14.171 = 4fe02489e4b4a187eccf0ef87df6100534c9d485e76d876b1fa247c7635332a0 LINUX_KERNEL_HASH-4.14.171 = 4fe02489e4b4a187eccf0ef87df6100534c9d485e76d876b1fa247c7635332a0
LINUX_KERNEL_HASH-4.19.105 = f82c778ab404feb3dce6c08bff089fe2e1d86b62fc40cf2950112ea7aa22bf12 LINUX_KERNEL_HASH-4.19.106 = 63c8bd76a9b282e18112f8ff9e3fd41e3d1df9f9b7248ea1a370b05a827e9cda
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -22,7 +22,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
--- a/drivers/base/platform.c --- a/drivers/base/platform.c
+++ b/drivers/base/platform.c +++ b/drivers/base/platform.c
@@ -80,6 +80,24 @@ struct resource *platform_get_resource(s @@ -81,6 +81,24 @@ struct resource *platform_get_resource(s
EXPORT_SYMBOL_GPL(platform_get_resource); EXPORT_SYMBOL_GPL(platform_get_resource);
/** /**

View File

@ -32,11 +32,9 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
drivers/tty/serial/ar933x_uart.c | 113 +++++++++++++++++++++++++++++-- drivers/tty/serial/ar933x_uart.c | 113 +++++++++++++++++++++++++++++--
2 files changed, 108 insertions(+), 6 deletions(-) 2 files changed, 108 insertions(+), 6 deletions(-)
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 52eaac21ff9f..b675924138e0 100644
--- a/drivers/tty/serial/Kconfig --- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig
@@ -1279,6 +1279,7 @@ config SERIAL_AR933X @@ -1296,6 +1296,7 @@ config SERIAL_AR933X
tristate "AR933X serial port support" tristate "AR933X serial port support"
depends on HAVE_CLK && ATH79 depends on HAVE_CLK && ATH79
select SERIAL_CORE select SERIAL_CORE
@ -44,8 +42,6 @@ index 52eaac21ff9f..b675924138e0 100644
help help
If you have an Atheros AR933X SOC based board and want to use the If you have an Atheros AR933X SOC based board and want to use the
built-in UART of the SoC, say Y to this option. built-in UART of the SoC, say Y to this option.
diff --git a/drivers/tty/serial/ar933x_uart.c b/drivers/tty/serial/ar933x_uart.c
index ea12f10610b6..7e7f1398019f 100644
--- a/drivers/tty/serial/ar933x_uart.c --- a/drivers/tty/serial/ar933x_uart.c
+++ b/drivers/tty/serial/ar933x_uart.c +++ b/drivers/tty/serial/ar933x_uart.c
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
@ -74,7 +70,7 @@ index ea12f10610b6..7e7f1398019f 100644
}; };
static inline unsigned int ar933x_uart_read(struct ar933x_uart_port *up, static inline unsigned int ar933x_uart_read(struct ar933x_uart_port *up,
@@ -100,6 +105,18 @@ static inline void ar933x_uart_stop_tx_interrupt(struct ar933x_uart_port *up) @@ -100,6 +105,18 @@ static inline void ar933x_uart_stop_tx_i
ar933x_uart_write(up, AR933X_UART_INT_EN_REG, up->ier); ar933x_uart_write(up, AR933X_UART_INT_EN_REG, up->ier);
} }
@ -93,7 +89,7 @@ index ea12f10610b6..7e7f1398019f 100644
static inline void ar933x_uart_putc(struct ar933x_uart_port *up, int ch) static inline void ar933x_uart_putc(struct ar933x_uart_port *up, int ch)
{ {
unsigned int rdata; unsigned int rdata;
@@ -125,11 +142,21 @@ static unsigned int ar933x_uart_tx_empty(struct uart_port *port) @@ -125,11 +142,21 @@ static unsigned int ar933x_uart_tx_empty
static unsigned int ar933x_uart_get_mctrl(struct uart_port *port) static unsigned int ar933x_uart_get_mctrl(struct uart_port *port)
{ {
@ -116,7 +112,7 @@ index ea12f10610b6..7e7f1398019f 100644
} }
static void ar933x_uart_start_tx(struct uart_port *port) static void ar933x_uart_start_tx(struct uart_port *port)
@@ -140,6 +167,37 @@ static void ar933x_uart_start_tx(struct uart_port *port) @@ -140,6 +167,37 @@ static void ar933x_uart_start_tx(struct
ar933x_uart_start_tx_interrupt(up); ar933x_uart_start_tx_interrupt(up);
} }
@ -154,7 +150,7 @@ index ea12f10610b6..7e7f1398019f 100644
static void ar933x_uart_stop_tx(struct uart_port *port) static void ar933x_uart_stop_tx(struct uart_port *port)
{ {
struct ar933x_uart_port *up = struct ar933x_uart_port *up =
@@ -153,8 +211,7 @@ static void ar933x_uart_stop_rx(struct uart_port *port) @@ -153,8 +211,7 @@ static void ar933x_uart_stop_rx(struct u
struct ar933x_uart_port *up = struct ar933x_uart_port *up =
container_of(port, struct ar933x_uart_port, port); container_of(port, struct ar933x_uart_port, port);
@ -164,7 +160,7 @@ index ea12f10610b6..7e7f1398019f 100644
} }
static void ar933x_uart_break_ctl(struct uart_port *port, int break_state) static void ar933x_uart_break_ctl(struct uart_port *port, int break_state)
@@ -336,11 +393,20 @@ static void ar933x_uart_rx_chars(struct ar933x_uart_port *up) @@ -336,11 +393,20 @@ static void ar933x_uart_rx_chars(struct
static void ar933x_uart_tx_chars(struct ar933x_uart_port *up) static void ar933x_uart_tx_chars(struct ar933x_uart_port *up)
{ {
struct circ_buf *xmit = &up->port.state->xmit; struct circ_buf *xmit = &up->port.state->xmit;
@ -185,7 +181,7 @@ index ea12f10610b6..7e7f1398019f 100644
count = up->port.fifosize; count = up->port.fifosize;
do { do {
unsigned int rdata; unsigned int rdata;
@@ -368,8 +434,14 @@ static void ar933x_uart_tx_chars(struct ar933x_uart_port *up) @@ -368,8 +434,14 @@ static void ar933x_uart_tx_chars(struct
if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
uart_write_wakeup(&up->port); uart_write_wakeup(&up->port);
@ -201,7 +197,7 @@ index ea12f10610b6..7e7f1398019f 100644
} }
static irqreturn_t ar933x_uart_interrupt(int irq, void *dev_id) static irqreturn_t ar933x_uart_interrupt(int irq, void *dev_id)
@@ -427,8 +499,7 @@ static int ar933x_uart_startup(struct uart_port *port) @@ -427,8 +499,7 @@ static int ar933x_uart_startup(struct ua
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
/* Enable RX interrupts */ /* Enable RX interrupts */
@ -211,7 +207,7 @@ index ea12f10610b6..7e7f1398019f 100644
spin_unlock_irqrestore(&up->port.lock, flags); spin_unlock_irqrestore(&up->port.lock, flags);
@@ -511,6 +582,21 @@ static const struct uart_ops ar933x_uart_ops = { @@ -511,6 +582,21 @@ static const struct uart_ops ar933x_uart
.verify_port = ar933x_uart_verify_port, .verify_port = ar933x_uart_verify_port,
}; };
@ -233,7 +229,7 @@ index ea12f10610b6..7e7f1398019f 100644
#ifdef CONFIG_SERIAL_AR933X_CONSOLE #ifdef CONFIG_SERIAL_AR933X_CONSOLE
static struct ar933x_uart_port * static struct ar933x_uart_port *
ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS]; ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS];
@@ -680,6 +766,8 @@ static int ar933x_uart_probe(struct platform_device *pdev) @@ -680,6 +766,8 @@ static int ar933x_uart_probe(struct plat
goto err_disable_clk; goto err_disable_clk;
} }
@ -242,7 +238,7 @@ index ea12f10610b6..7e7f1398019f 100644
port->mapbase = mem_res->start; port->mapbase = mem_res->start;
port->line = id; port->line = id;
port->irq = irq_res->start; port->irq = irq_res->start;
@@ -690,6 +778,7 @@ static int ar933x_uart_probe(struct platform_device *pdev) @@ -690,6 +778,7 @@ static int ar933x_uart_probe(struct plat
port->regshift = 2; port->regshift = 2;
port->fifosize = AR933X_UART_FIFO_SIZE; port->fifosize = AR933X_UART_FIFO_SIZE;
port->ops = &ar933x_uart_ops; port->ops = &ar933x_uart_ops;
@ -250,7 +246,7 @@ index ea12f10610b6..7e7f1398019f 100644
baud = ar933x_uart_get_baud(port->uartclk, AR933X_UART_MAX_SCALE, 1); baud = ar933x_uart_get_baud(port->uartclk, AR933X_UART_MAX_SCALE, 1);
up->min_baud = max_t(unsigned int, baud, AR933X_UART_MIN_BAUD); up->min_baud = max_t(unsigned int, baud, AR933X_UART_MIN_BAUD);
@@ -697,6 +786,18 @@ static int ar933x_uart_probe(struct platform_device *pdev) @@ -697,6 +786,18 @@ static int ar933x_uart_probe(struct plat
baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP); baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP);
up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD); up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD);

View File

@ -1,61 +0,0 @@
From 1738aaf187e0c8e97fbdd9661960b835f45e8985 Mon Sep 17 00:00:00 2001
From: Zahari Petkov <zahari@balena.io>
Date: Mon, 18 Nov 2019 23:02:55 +0200
Subject: [PATCH] leds: pca963x: Fix open-drain initialization
commit 697529091ac7a0a90ca349b914bb30641c13c753 upstream.
Before commit bb29b9cccd95 ("leds: pca963x: Add bindings to invert
polarity") Mode register 2 was initialized directly with either 0x01
or 0x05 for open-drain or totem pole (push-pull) configuration.
Afterwards, MODE2 initialization started using bitwise operations on
top of the default MODE2 register value (0x05). Using bitwise OR for
setting OUTDRV with 0x01 and 0x05 does not produce correct results.
When open-drain is used, instead of setting OUTDRV to 0, the driver
keeps it as 1:
Open-drain: 0x05 | 0x01 -> 0x05 (0b101 - incorrect)
Totem pole: 0x05 | 0x05 -> 0x05 (0b101 - correct but still wrong)
Now OUTDRV setting uses correct bitwise operations for initialization:
Open-drain: 0x05 & ~0x04 -> 0x01 (0b001 - correct)
Totem pole: 0x05 | 0x04 -> 0x05 (0b101 - correct)
Additional MODE2 register definitions are introduced now as well.
Fixes: bb29b9cccd95 ("leds: pca963x: Add bindings to invert polarity")
Signed-off-by: Zahari Petkov <zahari@balena.io>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
---
drivers/leds/leds-pca963x.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- a/drivers/leds/leds-pca963x.c
+++ b/drivers/leds/leds-pca963x.c
@@ -43,6 +43,8 @@
#define PCA963X_LED_PWM 0x2 /* Controlled through PWM */
#define PCA963X_LED_GRP_PWM 0x3 /* Controlled through PWM/GRPPWM */
+#define PCA963X_MODE2_OUTDRV 0x04 /* Open-drain or totem pole */
+#define PCA963X_MODE2_INVRT 0x10 /* Normal or inverted direction */
#define PCA963X_MODE2_DMBLNK 0x20 /* Enable blinking */
#define PCA963X_MODE1 0x00
@@ -462,12 +464,12 @@ static int pca963x_probe(struct i2c_clie
PCA963X_MODE2);
/* Configure output: open-drain or totem pole (push-pull) */
if (pdata->outdrv == PCA963X_OPEN_DRAIN)
- mode2 |= 0x01;
+ mode2 &= ~PCA963X_MODE2_OUTDRV;
else
- mode2 |= 0x05;
+ mode2 |= PCA963X_MODE2_OUTDRV;
/* Configure direction: normal or inverted */
if (pdata->dir == PCA963X_INVERTED)
- mode2 |= 0x10;
+ mode2 |= PCA963X_MODE2_INVRT;
i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
mode2);
}

View File

@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
config MODULES_TREE_LOOKUP config MODULES_TREE_LOOKUP
--- a/kernel/module.c --- a/kernel/module.c
+++ b/kernel/module.c +++ b/kernel/module.c
@@ -3029,9 +3029,11 @@ static int setup_load_info(struct load_i @@ -3028,9 +3028,11 @@ static int setup_load_info(struct load_i
static int check_modinfo(struct module *mod, struct load_info *info, int flags) static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{ {
@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (flags & MODULE_INIT_IGNORE_VERMAGIC) if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL; modmagic = NULL;
@@ -3052,6 +3054,7 @@ static int check_modinfo(struct module * @@ -3051,6 +3053,7 @@ static int check_modinfo(struct module *
mod->name); mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
} }

View File

@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* The Mellanox Tavor device gives false positive parity errors. Mark this * The Mellanox Tavor device gives false positive parity errors. Mark this
* device with a broken_parity_status to allow PCI scanning code to "skip" * device with a broken_parity_status to allow PCI scanning code to "skip"
@@ -3152,6 +3153,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I @@ -3147,6 +3148,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the * To work around this, query the size it should be configured to by the
@@ -3177,6 +3180,8 @@ static void quirk_intel_ntb(struct pci_d @@ -3172,6 +3175,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even * Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never * though no one is handling them (e.g., if the i915 driver is never
@@ -3215,6 +3220,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN @@ -3210,6 +3215,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);

View File

@ -60,15 +60,15 @@
partition@100000 { partition@100000 {
- label = "zImage"; - label = "zImage";
- reg = <0x100000 0x300000>; - reg = <0x100000 0x300000>;
- };
-
- partition@540000 {
- label = "initrd";
- reg = <0x540000 0x300000>;
+ label = "second stage u-boot"; + label = "second stage u-boot";
+ reg = <0x100000 0x200000>; + reg = <0x100000 0x200000>;
}; };
- partition@540000 {
- label = "initrd";
- reg = <0x540000 0x300000>;
- };
-
- partition@980000 { - partition@980000 {
- label = "boot"; - label = "boot";
- reg = <0x980000 0x1f400000>; - reg = <0x980000 0x1f400000>;

View File

@ -66,16 +66,16 @@
- partition@500000 { - partition@500000 {
- label = "uImage2"; - label = "uImage2";
- reg = <0x00500000 0x300000>; - reg = <0x00500000 0x300000>;
- };
-
- partition@800000 {
- label = "failsafe";
- reg = <0x00800000 0x800000>;
+ partition@1c0000 { + partition@1c0000 {
+ label = "uboot_env"; + label = "uboot_env";
+ reg = <0x001c0000 0x40000>; + reg = <0x001c0000 0x40000>;
}; };
- partition@800000 {
- label = "failsafe";
- reg = <0x00800000 0x800000>;
- };
-
- partition@1000000 { - partition@1000000 {
- label = "root"; - label = "root";
- reg = <0x01000000 0x7000000>; - reg = <0x01000000 0x7000000>;

View File

@ -60,15 +60,15 @@
partition@100000 { partition@100000 {
- label = "zImage"; - label = "zImage";
- reg = <0x100000 0x300000>; - reg = <0x100000 0x300000>;
- };
-
- partition@540000 {
- label = "initrd";
- reg = <0x540000 0x300000>;
+ label = "second stage u-boot"; + label = "second stage u-boot";
+ reg = <0x100000 0x200000>; + reg = <0x100000 0x200000>;
}; };
- partition@540000 {
- label = "initrd";
- reg = <0x540000 0x300000>;
- };
-
- partition@980000 { - partition@980000 {
- label = "boot"; - label = "boot";
- reg = <0x980000 0x1f400000>; - reg = <0x980000 0x1f400000>;

View File

@ -66,16 +66,16 @@
- partition@500000 { - partition@500000 {
- label = "uImage2"; - label = "uImage2";
- reg = <0x00500000 0x300000>; - reg = <0x00500000 0x300000>;
- };
-
- partition@800000 {
- label = "failsafe";
- reg = <0x00800000 0x800000>;
+ partition@1c0000 { + partition@1c0000 {
+ label = "uboot_env"; + label = "uboot_env";
+ reg = <0x001c0000 0x40000>; + reg = <0x001c0000 0x40000>;
}; };
- partition@800000 {
- label = "failsafe";
- reg = <0x00800000 0x800000>;
- };
-
- partition@1000000 { - partition@1000000 {
- label = "root"; - label = "root";
- reg = <0x01000000 0x7000000>; - reg = <0x01000000 0x7000000>;