mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
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:
parent
fc65fae304
commit
7ae2523323
@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
endif
|
||||
|
||||
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.19.105 = f82c778ab404feb3dce6c08bff089fe2e1d86b62fc40cf2950112ea7aa22bf12
|
||||
LINUX_KERNEL_HASH-4.19.106 = 63c8bd76a9b282e18112f8ff9e3fd41e3d1df9f9b7248ea1a370b05a827e9cda
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
--- a/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);
|
||||
|
||||
/**
|
||||
|
@ -32,11 +32,9 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
drivers/tty/serial/ar933x_uart.c | 113 +++++++++++++++++++++++++++++--
|
||||
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
|
||||
+++ b/drivers/tty/serial/Kconfig
|
||||
@@ -1279,6 +1279,7 @@ config SERIAL_AR933X
|
||||
@@ -1296,6 +1296,7 @@ config SERIAL_AR933X
|
||||
tristate "AR933X serial port support"
|
||||
depends on HAVE_CLK && ATH79
|
||||
select SERIAL_CORE
|
||||
@ -44,8 +42,6 @@ index 52eaac21ff9f..b675924138e0 100644
|
||||
help
|
||||
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.
|
||||
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
|
||||
+++ b/drivers/tty/serial/ar933x_uart.c
|
||||
@@ -13,6 +13,7 @@
|
||||
@ -74,7 +70,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
};
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -93,7 +89,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
static inline void ar933x_uart_putc(struct ar933x_uart_port *up, int ch)
|
||||
{
|
||||
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)
|
||||
{
|
||||
@ -116,7 +112,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -154,7 +150,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
static void ar933x_uart_stop_tx(struct uart_port *port)
|
||||
{
|
||||
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 =
|
||||
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)
|
||||
@@ -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)
|
||||
{
|
||||
struct circ_buf *xmit = &up->port.state->xmit;
|
||||
@ -185,7 +181,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
count = up->port.fifosize;
|
||||
do {
|
||||
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)
|
||||
uart_write_wakeup(&up->port);
|
||||
|
||||
@ -201,7 +197,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
/* Enable RX interrupts */
|
||||
@ -211,7 +207,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
|
||||
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,
|
||||
};
|
||||
|
||||
@ -233,7 +229,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
#ifdef CONFIG_SERIAL_AR933X_CONSOLE
|
||||
static struct ar933x_uart_port *
|
||||
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;
|
||||
}
|
||||
|
||||
@ -242,7 +238,7 @@ index ea12f10610b6..7e7f1398019f 100644
|
||||
port->mapbase = mem_res->start;
|
||||
port->line = id;
|
||||
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->fifosize = AR933X_UART_FIFO_SIZE;
|
||||
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);
|
||||
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);
|
||||
up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD);
|
||||
|
||||
|
@ -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);
|
||||
}
|
@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
config MODULES_TREE_LOOKUP
|
||||
--- a/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)
|
||||
{
|
||||
@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
|
||||
modmagic = NULL;
|
||||
|
||||
@@ -3052,6 +3054,7 @@ static int check_modinfo(struct module *
|
||||
@@ -3051,6 +3053,7 @@ static int check_modinfo(struct module *
|
||||
mod->name);
|
||||
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
||||
* 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, 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.
|
||||
* 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, 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
|
||||
* 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, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
@ -60,15 +60,15 @@
|
||||
partition@100000 {
|
||||
- label = "zImage";
|
||||
- reg = <0x100000 0x300000>;
|
||||
- };
|
||||
-
|
||||
- partition@540000 {
|
||||
- label = "initrd";
|
||||
- reg = <0x540000 0x300000>;
|
||||
+ label = "second stage u-boot";
|
||||
+ reg = <0x100000 0x200000>;
|
||||
};
|
||||
|
||||
- partition@540000 {
|
||||
- label = "initrd";
|
||||
- reg = <0x540000 0x300000>;
|
||||
- };
|
||||
-
|
||||
- partition@980000 {
|
||||
- label = "boot";
|
||||
- reg = <0x980000 0x1f400000>;
|
||||
|
@ -66,16 +66,16 @@
|
||||
- partition@500000 {
|
||||
- label = "uImage2";
|
||||
- reg = <0x00500000 0x300000>;
|
||||
- };
|
||||
-
|
||||
- partition@800000 {
|
||||
- label = "failsafe";
|
||||
- reg = <0x00800000 0x800000>;
|
||||
+ partition@1c0000 {
|
||||
+ label = "uboot_env";
|
||||
+ reg = <0x001c0000 0x40000>;
|
||||
};
|
||||
|
||||
- partition@800000 {
|
||||
- label = "failsafe";
|
||||
- reg = <0x00800000 0x800000>;
|
||||
- };
|
||||
-
|
||||
- partition@1000000 {
|
||||
- label = "root";
|
||||
- reg = <0x01000000 0x7000000>;
|
||||
|
@ -60,15 +60,15 @@
|
||||
partition@100000 {
|
||||
- label = "zImage";
|
||||
- reg = <0x100000 0x300000>;
|
||||
- };
|
||||
-
|
||||
- partition@540000 {
|
||||
- label = "initrd";
|
||||
- reg = <0x540000 0x300000>;
|
||||
+ label = "second stage u-boot";
|
||||
+ reg = <0x100000 0x200000>;
|
||||
};
|
||||
|
||||
- partition@540000 {
|
||||
- label = "initrd";
|
||||
- reg = <0x540000 0x300000>;
|
||||
- };
|
||||
-
|
||||
- partition@980000 {
|
||||
- label = "boot";
|
||||
- reg = <0x980000 0x1f400000>;
|
||||
|
@ -66,16 +66,16 @@
|
||||
- partition@500000 {
|
||||
- label = "uImage2";
|
||||
- reg = <0x00500000 0x300000>;
|
||||
- };
|
||||
-
|
||||
- partition@800000 {
|
||||
- label = "failsafe";
|
||||
- reg = <0x00800000 0x800000>;
|
||||
+ partition@1c0000 {
|
||||
+ label = "uboot_env";
|
||||
+ reg = <0x001c0000 0x40000>;
|
||||
};
|
||||
|
||||
- partition@800000 {
|
||||
- label = "failsafe";
|
||||
- reg = <0x00800000 0x800000>;
|
||||
- };
|
||||
-
|
||||
- partition@1000000 {
|
||||
- label = "root";
|
||||
- reg = <0x01000000 0x7000000>;
|
||||
|
Loading…
Reference in New Issue
Block a user