Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
23c9be4e30
@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .117
|
||||
LINUX_VERSION-5.10 = .35
|
||||
LINUX_VERSION-5.10 = .37
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.117 = 4e989b5775830092e5c76b5cca65ebff862ad0c87d0b58c3a20d415c3d4ec770
|
||||
LINUX_KERNEL_HASH-5.10.35 = ac37a19d45b77a87e58e3aae8b127a6e7eb85ed7467fc8e58474b387bfd498fd
|
||||
LINUX_KERNEL_HASH-5.10.37 = a8d5e3309dafc484eb70f94747a6efffa29a79bae651ae126333e913c00be077
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -2192,7 +2192,7 @@ config BUSYBOX_DEFAULT_FEATURE_UNIX_LOCAL
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_FEATURE_PREFER_IPV4_ADDRESS
|
||||
bool
|
||||
default y
|
||||
default n
|
||||
config BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS
|
||||
bool
|
||||
default y
|
||||
|
||||
@ -23,7 +23,7 @@ produce a noisy warning.
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -423,10 +423,14 @@ static int xhci_try_enable_msi(struct us
|
||||
@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
|
||||
free_irq(hcd->irq, hcd);
|
||||
hcd->irq = 0;
|
||||
|
||||
|
||||
@ -438,8 +438,8 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan" "2:lan"
|
||||
;;
|
||||
zbtlink,zbt-wd323|\
|
||||
xiaomi,mi-router-4q)
|
||||
xiaomi,mi-router-4q|\
|
||||
zbtlink,zbt-wd323)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "3:lan:1" "4:lan:2"
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -242,6 +242,8 @@ config ATH79
|
||||
@@ -243,6 +243,8 @@ config ATH79
|
||||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select SYS_SUPPORTS_MIPS16
|
||||
select SYS_SUPPORTS_ZBOOT_UART_PROM
|
||||
|
||||
@ -52,7 +52,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
unsigned long rate;
|
||||
int ret;
|
||||
|
||||
@@ -152,16 +150,10 @@ static int ath79_spi_probe(struct platfo
|
||||
@@ -152,15 +150,9 @@ static int ath79_spi_probe(struct platfo
|
||||
master->dev.of_node = pdev->dev.of_node;
|
||||
platform_set_drvdata(pdev, sp);
|
||||
|
||||
@ -60,8 +60,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
-
|
||||
master->use_gpio_descriptors = true;
|
||||
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
|
||||
master->setup = spi_bitbang_setup;
|
||||
master->cleanup = spi_bitbang_cleanup;
|
||||
master->flags = SPI_MASTER_GPIO_SS;
|
||||
- if (pdata) {
|
||||
- master->bus_num = pdata->bus_num;
|
||||
- master->num_chipselect = pdata->num_chipselect;
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
From b142b1beb199f62d47370c98a3dd8e13f792e9c0 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Thu, 27 Feb 2020 23:03:20 +0100
|
||||
Subject: [PATCH] spi: ath79: remove spi-master setup and cleanup assignment
|
||||
|
||||
This removes the assignment of setup and cleanup functions for the ath79
|
||||
target. Assigning the setup-method will lead to 'setup_transfer' not
|
||||
being assigned in spi_bitbang_init.
|
||||
|
||||
Also drop the redundant cleanup assignment, as this also happens in
|
||||
spi_bitbang_init.
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
drivers/spi/spi-ath79.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
--- a/drivers/spi/spi-ath79.c
|
||||
+++ b/drivers/spi/spi-ath79.c
|
||||
@@ -152,8 +152,6 @@ static int ath79_spi_probe(struct platfo
|
||||
|
||||
master->use_gpio_descriptors = true;
|
||||
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
|
||||
- master->setup = spi_bitbang_setup;
|
||||
- master->cleanup = spi_bitbang_cleanup;
|
||||
|
||||
sp->bitbang.master = master;
|
||||
sp->bitbang.chipselect = ath79_spi_chipselect;
|
||||
@ -1,89 +0,0 @@
|
||||
From 4b7d7f85abac1e7ad9e8b745694e470f0729f527 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Wed, 3 Mar 2021 17:11:34 +0100
|
||||
Subject: [PATCH] spi: sync up initial chipselect state
|
||||
|
||||
When initially probing the SPI slave device, the call for disabling an
|
||||
SPI device without the SPI_CS_HIGH flag is not applied, as the
|
||||
condition for checking whether or not the state to be applied equals the
|
||||
one currently set evaluates to true.
|
||||
|
||||
This however might not necessarily be the case, as the chipselect might
|
||||
be active.
|
||||
|
||||
Add a force flag to spi_set_cs which allows to override this
|
||||
early access condition. Set it to false everywhere except when called
|
||||
from spi_setup to sync up the initial CS state.
|
||||
|
||||
Fixes commit d40f0b6f2e21 ("spi: Avoid setting the chip select if we don't
|
||||
need to")
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
drivers/spi/spi.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/drivers/spi/spi.c
|
||||
+++ b/drivers/spi/spi.c
|
||||
@@ -787,7 +787,7 @@ int spi_register_board_info(struct spi_b
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
-static void spi_set_cs(struct spi_device *spi, bool enable)
|
||||
+static void spi_set_cs(struct spi_device *spi, bool enable, bool force)
|
||||
{
|
||||
bool enable1 = enable;
|
||||
|
||||
@@ -795,7 +795,7 @@ static void spi_set_cs(struct spi_device
|
||||
* Avoid calling into the driver (or doing delays) if the chip select
|
||||
* isn't actually changing from the last time this was called.
|
||||
*/
|
||||
- if ((spi->controller->last_cs_enable == enable) &&
|
||||
+ if (!force && (spi->controller->last_cs_enable == enable) &&
|
||||
(spi->controller->last_cs_mode_high == (spi->mode & SPI_CS_HIGH)))
|
||||
return;
|
||||
|
||||
@@ -1243,7 +1243,7 @@ static int spi_transfer_one_message(stru
|
||||
struct spi_statistics *statm = &ctlr->statistics;
|
||||
struct spi_statistics *stats = &msg->spi->statistics;
|
||||
|
||||
- spi_set_cs(msg->spi, true);
|
||||
+ spi_set_cs(msg->spi, true, false);
|
||||
|
||||
SPI_STATISTICS_INCREMENT_FIELD(statm, messages);
|
||||
SPI_STATISTICS_INCREMENT_FIELD(stats, messages);
|
||||
@@ -1311,9 +1311,9 @@ fallback_pio:
|
||||
&msg->transfers)) {
|
||||
keep_cs = true;
|
||||
} else {
|
||||
- spi_set_cs(msg->spi, false);
|
||||
+ spi_set_cs(msg->spi, false, false);
|
||||
_spi_transfer_cs_change_delay(msg, xfer);
|
||||
- spi_set_cs(msg->spi, true);
|
||||
+ spi_set_cs(msg->spi, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1322,7 +1322,7 @@ fallback_pio:
|
||||
|
||||
out:
|
||||
if (ret != 0 || !keep_cs)
|
||||
- spi_set_cs(msg->spi, false);
|
||||
+ spi_set_cs(msg->spi, false, false);
|
||||
|
||||
if (msg->status == -EINPROGRESS)
|
||||
msg->status = ret;
|
||||
@@ -3400,11 +3400,11 @@ int spi_setup(struct spi_device *spi)
|
||||
*/
|
||||
status = 0;
|
||||
|
||||
- spi_set_cs(spi, false);
|
||||
+ spi_set_cs(spi, false, true);
|
||||
pm_runtime_mark_last_busy(spi->controller->dev.parent);
|
||||
pm_runtime_put_autosuspend(spi->controller->dev.parent);
|
||||
} else {
|
||||
- spi_set_cs(spi, false);
|
||||
+ spi_set_cs(spi, false, true);
|
||||
}
|
||||
|
||||
mutex_unlock(&spi->controller->io_mutex);
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
|
||||
static int ath79_spi_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct spi_master *master;
|
||||
@@ -163,6 +197,7 @@ static int ath79_spi_probe(struct platfo
|
||||
@@ -164,6 +198,7 @@ static int ath79_spi_probe(struct platfo
|
||||
ret = PTR_ERR(sp->base);
|
||||
goto err_put_master;
|
||||
}
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
From 55e2fff639d4297ffeb478113aef6d3e26c2c4c2 Mon Sep 17 00:00:00 2001
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Wed, 17 Feb 2021 02:44:55 +0100
|
||||
Subject: [PATCH 1/2] spi: ath79: add SPI_MASTER_GPIO_SS flag
|
||||
|
||||
Add the SPI_MASTER_GPIO_SS flag for the spi-ath79 driver. Otherwise,
|
||||
the custom chipselect function is never called. This breaks hardware,
|
||||
where the three dedicated chipselect lines are used instead of generic
|
||||
GPIO pins.
|
||||
|
||||
Fixes commit 4a07b8bcd503 ("spi: bitbang: Make chipselect callback optional")
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
drivers/spi/spi-ath79.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/drivers/spi/spi-ath79.c
|
||||
+++ b/drivers/spi/spi-ath79.c
|
||||
@@ -186,6 +186,7 @@ static int ath79_spi_probe(struct platfo
|
||||
|
||||
master->use_gpio_descriptors = true;
|
||||
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
|
||||
+ master->flags = SPI_MASTER_GPIO_SS;
|
||||
|
||||
sp->bitbang.master = master;
|
||||
sp->bitbang.chipselect = ath79_spi_chipselect;
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/gpio/gpiolib-of.c
|
||||
+++ b/drivers/gpio/gpiolib-of.c
|
||||
@@ -644,23 +644,30 @@ static struct gpio_desc *of_parse_own_gp
|
||||
@@ -646,23 +646,30 @@ static struct gpio_desc *of_parse_own_gp
|
||||
* of_gpiochip_add_hog - Add all hogs in a hog device node
|
||||
* @chip: gpio chip to act on
|
||||
* @hog: device node describing the hogs
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
ret = gpiod_hog(desc, name, lflags, dflags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -676,12 +683,15 @@ static int of_gpiochip_add_hog(struct gp
|
||||
@@ -678,12 +685,15 @@ static int of_gpiochip_add_hog(struct gp
|
||||
/**
|
||||
* of_gpiochip_scan_gpios - Scan gpio-controller for gpio definitions
|
||||
* @chip: gpio chip to act on
|
||||
@ -81,7 +81,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
{
|
||||
struct device_node *np;
|
||||
int ret;
|
||||
@@ -690,7 +700,7 @@ static int of_gpiochip_scan_gpios(struct
|
||||
@@ -692,7 +702,7 @@ static int of_gpiochip_scan_gpios(struct
|
||||
if (!of_property_read_bool(np, "gpio-hog"))
|
||||
continue;
|
||||
|
||||
@ -90,7 +90,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
if (ret < 0) {
|
||||
of_node_put(np);
|
||||
return ret;
|
||||
@@ -756,7 +766,7 @@ static int of_gpio_notify(struct notifie
|
||||
@@ -758,7 +768,7 @@ static int of_gpio_notify(struct notifie
|
||||
if (chip == NULL)
|
||||
return NOTIFY_OK; /* not for us */
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
if (ret < 0) {
|
||||
pr_err("%s: failed to add hogs for %pOF\n", __func__,
|
||||
rd->dn);
|
||||
@@ -1028,9 +1038,11 @@ int of_gpiochip_add(struct gpio_chip *ch
|
||||
@@ -1030,9 +1040,11 @@ int of_gpiochip_add(struct gpio_chip *ch
|
||||
|
||||
of_node_get(chip->of_node);
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -316,6 +316,9 @@ config BCM63XX
|
||||
@@ -317,6 +317,9 @@ config BCM63XX
|
||||
select SYNC_R4K
|
||||
select DMA_NONCOHERENT
|
||||
select IRQ_MIPS_CPU
|
||||
|
||||
@ -19,9 +19,9 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -2688,6 +2688,12 @@ static int brcmnand_attach_chip(struct n
|
||||
|
||||
ret = brcmstb_choose_ecc_layout(host);
|
||||
@@ -2694,6 +2694,12 @@ static int brcmnand_attach_chip(struct n
|
||||
chip->ecc.read_oob = brcmnand_read_oob_raw;
|
||||
}
|
||||
|
||||
+ /* If OOB is written with ECC enabled it will cause ECC errors */
|
||||
+ if (is_hamming_ecc(host->ctrl, &host->hwcfg)) {
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -249,6 +249,7 @@ config ATH79
|
||||
@@ -250,6 +250,7 @@ config ATH79
|
||||
|
||||
config BMIPS_GENERIC
|
||||
bool "Broadcom Generic BMIPS kernel"
|
||||
|
||||
@ -23,9 +23,9 @@ Link: https://lore.kernel.org/linux-mtd/20210224080210.23686-1-noltari@gmail.com
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -2688,6 +2688,12 @@ static int brcmnand_attach_chip(struct n
|
||||
|
||||
ret = brcmstb_choose_ecc_layout(host);
|
||||
@@ -2694,6 +2694,12 @@ static int brcmnand_attach_chip(struct n
|
||||
chip->ecc.read_oob = brcmnand_read_oob_raw;
|
||||
}
|
||||
|
||||
+ /* If OOB is written with ECC enabled it will cause ECC errors */
|
||||
+ if (is_hamming_ecc(host->ctrl, &host->hwcfg)) {
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
From 9c7d24693d864f90b27aad5d15fbfe226c02898b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Wed, 24 Mar 2021 09:19:02 +0100
|
||||
Subject: [PATCH 01/22] gpio: guard gpiochip_irqchip_add_domain() with
|
||||
GPIOLIB_IRQCHIP
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The current code doesn't check if GPIOLIB_IRQCHIP is enabled, which results in
|
||||
a compilation error when trying to build gpio-regmap if CONFIG_GPIOLIB_IRQCHIP
|
||||
isn't enabled.
|
||||
|
||||
Fixes: 6a45b0e2589f ("gpiolib: Introduce gpiochip_irqchip_add_domain()")
|
||||
Suggested-by: Michael Walle <michael@walle.cc>
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
Reviewed-by: Michael Walle <michael@walle.cc>
|
||||
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
||||
Link: https://lore.kernel.org/r/20210324081923.20379-2-noltari@gmail.com
|
||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
---
|
||||
include/linux/gpio/driver.h | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
--- a/include/linux/gpio/driver.h
|
||||
+++ b/include/linux/gpio/driver.h
|
||||
@@ -637,8 +637,17 @@ int gpiochip_irqchip_add_key(struct gpio
|
||||
bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gc,
|
||||
unsigned int offset);
|
||||
|
||||
+#ifdef CONFIG_GPIOLIB_IRQCHIP
|
||||
int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
|
||||
struct irq_domain *domain);
|
||||
+#else
|
||||
+static inline int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
|
||||
+ struct irq_domain *domain)
|
||||
+{
|
||||
+ WARN_ON(1);
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -250,7 +250,6 @@ config ATH79
|
||||
@@ -251,7 +251,6 @@ config ATH79
|
||||
config BMIPS_GENERIC
|
||||
bool "Broadcom Generic BMIPS kernel"
|
||||
select ARCH_HAS_RESET_CONTROLLER
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -262,6 +262,7 @@ config BMIPS_GENERIC
|
||||
@@ -263,6 +263,7 @@ config BMIPS_GENERIC
|
||||
select BCM7038_L1_IRQ
|
||||
select BCM7120_L2_IRQ
|
||||
select BRCMSTB_L2_IRQ
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -2075,7 +2075,7 @@ config CPU_MIPS32
|
||||
@@ -2076,7 +2076,7 @@ config CPU_MIPS32
|
||||
config CPU_MIPS64
|
||||
bool
|
||||
default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
From: David Bauer <mail@david-bauer.net>
|
||||
Date: Wed, 17 Feb 2021 03:21:39 +0100
|
||||
Subject: [PATCH] mtd: don't lock when recursively deleting partitions
|
||||
|
||||
When recursively deleting partitions, don't acquire the masters
|
||||
partition lock twice. Otherwise the process endy up in a deadlocked
|
||||
state.
|
||||
|
||||
Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
---
|
||||
drivers/mtd/mtdpart.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/mtd/mtdpart.c
|
||||
+++ b/drivers/mtd/mtdpart.c
|
||||
@@ -331,7 +331,7 @@ static int __del_mtd_partitions(struct m
|
||||
|
||||
list_for_each_entry_safe(child, next, &mtd->partitions, part.node) {
|
||||
if (mtd_has_partitions(child))
|
||||
- del_mtd_partitions(child);
|
||||
+ __del_mtd_partitions(child);
|
||||
|
||||
pr_info("Deleting %s MTD partition\n", child->name);
|
||||
ret = del_mtd_device(child);
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1162,6 +1162,10 @@ config MIPS_MSC
|
||||
@@ -1163,6 +1163,10 @@ config MIPS_MSC
|
||||
config SYNC_R4K
|
||||
bool
|
||||
|
||||
|
||||
@ -77,7 +77,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
#include "mtdcore.h"
|
||||
|
||||
@@ -848,6 +849,8 @@ int mtd_device_parse_register(struct mtd
|
||||
@@ -851,6 +852,8 @@ int mtd_device_parse_register(struct mtd
|
||||
register_reboot_notifier(&mtd->reboot_notifier);
|
||||
}
|
||||
|
||||
|
||||
@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
--- a/net/ipv4/route.c
|
||||
+++ b/net/ipv4/route.c
|
||||
@@ -409,6 +409,9 @@ static struct pernet_operations ip_rt_pr
|
||||
@@ -410,6 +410,9 @@ static struct pernet_operations ip_rt_pr
|
||||
|
||||
static int __init ip_rt_proc_init(void)
|
||||
{
|
||||
|
||||
@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
---
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1077,9 +1077,6 @@ config FW_ARC
|
||||
@@ -1078,9 +1078,6 @@ config FW_ARC
|
||||
config ARCH_MAY_HAVE_PC_FDC
|
||||
bool
|
||||
|
||||
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
config CEVT_BCM1480
|
||||
bool
|
||||
|
||||
@@ -3169,6 +3166,18 @@ choice
|
||||
@@ -3170,6 +3167,18 @@ choice
|
||||
bool "Extend builtin kernel arguments with bootloader arguments"
|
||||
endchoice
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/macronix.c
|
||||
+++ b/drivers/mtd/spi-nor/macronix.c
|
||||
@@ -96,6 +96,7 @@ static void macronix_default_init(struct
|
||||
@@ -93,6 +93,7 @@ static void macronix_default_init(struct
|
||||
{
|
||||
nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable;
|
||||
nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode;
|
||||
|
||||
@ -17,7 +17,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
--- a/drivers/mtd/mtdcore.c
|
||||
+++ b/drivers/mtd/mtdcore.c
|
||||
@@ -1043,6 +1043,44 @@ out_unlock:
|
||||
@@ -1046,6 +1046,44 @@ out_unlock:
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(get_mtd_device_nm);
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/uapi/linux/if_packet.h
|
||||
+++ b/include/uapi/linux/if_packet.h
|
||||
@@ -32,6 +32,8 @@ struct sockaddr_ll {
|
||||
@@ -33,6 +33,8 @@ struct sockaddr_ll {
|
||||
#define PACKET_KERNEL 7 /* To kernel space */
|
||||
/* Unused, PACKET_FASTROUTE and PACKET_LOOPBACK are invisible to user space */
|
||||
#define PACKET_FASTROUTE 6 /* Fastrouted frame */
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Packet socket options */
|
||||
|
||||
@@ -58,6 +60,7 @@ struct sockaddr_ll {
|
||||
@@ -59,6 +61,7 @@ struct sockaddr_ll {
|
||||
#define PACKET_ROLLOVER_STATS 21
|
||||
#define PACKET_FANOUT_DATA 22
|
||||
#define PACKET_IGNORE_OUTGOING 23
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#define PACKET_FANOUT_LB 1
|
||||
--- a/net/packet/af_packet.c
|
||||
+++ b/net/packet/af_packet.c
|
||||
@@ -1801,6 +1801,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1817,6 +1817,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
{
|
||||
struct sock *sk;
|
||||
struct sockaddr_pkt *spkt;
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* When we registered the protocol we saved the socket in the data
|
||||
@@ -1808,6 +1809,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1824,6 +1825,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
*/
|
||||
|
||||
sk = pt->af_packet_priv;
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/*
|
||||
* Yank back the headers [hope the device set this
|
||||
@@ -1820,7 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1836,7 +1838,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
* so that this procedure is noop.
|
||||
*/
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
goto out;
|
||||
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
@@ -2058,12 +2060,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
@@ -2074,12 +2076,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
unsigned int snaplen, res;
|
||||
bool is_drop_n_account = false;
|
||||
|
||||
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -2189,12 +2191,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
@@ -2205,12 +2207,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -3293,6 +3295,7 @@ static int packet_create(struct net *net
|
||||
@@ -3309,6 +3311,7 @@ static int packet_create(struct net *net
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->rollover = NULL;
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3927,6 +3930,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3943,6 +3946,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3983,6 +3996,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3999,6 +4012,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
break;
|
||||
--- a/net/packet/internal.h
|
||||
+++ b/net/packet/internal.h
|
||||
@@ -136,6 +136,7 @@ struct packet_sock {
|
||||
@@ -137,6 +137,7 @@ struct packet_sock {
|
||||
int (*xmit)(struct sk_buff *skb);
|
||||
struct packet_type prot_hook ____cacheline_aligned_in_smp;
|
||||
atomic_t tp_drops ____cacheline_aligned_in_smp;
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -907,8 +907,25 @@
|
||||
@@ -907,8 +907,25 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
qcom-ipq4019-ap.dk04.1-c3.dtb \
|
||||
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
||||
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/drivers/firmware/qcom_scm.c
|
||||
+++ b/drivers/firmware/qcom_scm.c
|
||||
@@ -1265,6 +1265,7 @@ static const struct of_device_id qcom_sc
|
||||
@@ -1275,6 +1275,7 @@ static const struct of_device_id qcom_sc
|
||||
SCM_HAS_BUS_CLK)
|
||||
},
|
||||
{ .compatible = "qcom,scm-ipq4019" },
|
||||
|
||||
@ -229,7 +229,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3035,6 +3106,7 @@ static int qcom_nandc_remove(struct plat
|
||||
@@ -3032,6 +3103,7 @@ static int qcom_nandc_remove(struct plat
|
||||
static const struct qcom_nandc_props ipq806x_nandc_props = {
|
||||
.ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT),
|
||||
.is_bam = false,
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
#define QSGMII_PCS_CAL_LCKDT_CTL 0x120
|
||||
#define QSGMII_PCS_CAL_LCKDT_CTL_RST BIT(19)
|
||||
|
||||
@@ -241,6 +252,36 @@ static void ipq806x_gmac_fix_mac_speed(v
|
||||
@@ -242,6 +253,36 @@ static void ipq806x_gmac_fix_mac_speed(v
|
||||
ipq806x_gmac_set_speed(gmac, speed);
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
static int ipq806x_gmac_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct plat_stmmacenet_data *plat_dat;
|
||||
@@ -249,6 +290,7 @@ static int ipq806x_gmac_probe(struct pla
|
||||
@@ -250,6 +291,7 @@ static int ipq806x_gmac_probe(struct pla
|
||||
struct ipq806x_gmac *gmac;
|
||||
int val;
|
||||
int err;
|
||||
@ -63,7 +63,7 @@
|
||||
|
||||
val = stmmac_get_platform_resources(pdev, &stmmac_res);
|
||||
if (val)
|
||||
@@ -345,6 +387,17 @@ static int ipq806x_gmac_probe(struct pla
|
||||
@@ -346,6 +388,17 @@ static int ipq806x_gmac_probe(struct pla
|
||||
0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET |
|
||||
0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET |
|
||||
0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET);
|
||||
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Jonathan McDowell <noodles@earth.li>
|
||||
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
|
||||
@@ -352,6 +352,8 @@ static int ipq806x_gmac_probe(struct pla
|
||||
@@ -405,6 +405,8 @@ static int ipq806x_gmac_probe(struct pla
|
||||
plat_dat->bsp_priv = gmac;
|
||||
plat_dat->fix_mac_speed = ipq806x_gmac_fix_mac_speed;
|
||||
plat_dat->multicast_filter_bins = 0;
|
||||
|
||||
@ -4134,7 +4134,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+
|
||||
--- a/arch/mips/pci/pci-legacy.c
|
||||
+++ b/arch/mips/pci/pci-legacy.c
|
||||
@@ -308,3 +308,30 @@ char *__init pcibios_setup(char *str)
|
||||
@@ -313,3 +313,30 @@ char *__init pcibios_setup(char *str)
|
||||
return pcibios_plat_setup(str);
|
||||
return str;
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
--- a/drivers/net/phy/intel-xway.c
|
||||
+++ b/drivers/net/phy/intel-xway.c
|
||||
@@ -145,6 +145,51 @@
|
||||
@@ -157,6 +157,51 @@
|
||||
#define PHY_ID_PHY11G_VR9_1_2 0xD565A409
|
||||
#define PHY_ID_PHY22F_VR9_1_2 0xD565A419
|
||||
|
||||
@ -65,7 +65,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
static int xway_gphy_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int err;
|
||||
@@ -183,6 +228,7 @@ static int xway_gphy_config_init(struct
|
||||
@@ -204,6 +249,7 @@ static int xway_gphy_config_init(struct
|
||||
phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2H, ledxh);
|
||||
phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2L, ledxl);
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -2425,6 +2425,12 @@ config MIPS_VPE_LOADER
|
||||
@@ -2426,6 +2426,12 @@ config MIPS_VPE_LOADER
|
||||
Includes a loader for loading an elf relocatable object
|
||||
onto another VPE and running it.
|
||||
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
--- a/arch/mips/pci/pci-mt7620.c
|
||||
+++ b/arch/mips/pci/pci-mt7620.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#define PPLL_CFG1 0x9c
|
||||
|
||||
#define PPLL_DRV 0xa0
|
||||
+#define PPLL_LD BIT(23)
|
||||
#define PDRV_SW_SET BIT(31)
|
||||
#define LC_CKDRVPD BIT(19)
|
||||
#define LC_CKDRVOHZ BIT(18)
|
||||
@@ -239,8 +240,8 @@ static int mt7620_pci_hw_init(struct pla
|
||||
rt_sysc_m32(0, RALINK_PCIE0_CLK_EN, RALINK_CLKCFG1);
|
||||
mdelay(100);
|
||||
|
||||
- if (!(rt_sysc_r32(PPLL_CFG1) & PDRV_SW_SET)) {
|
||||
- dev_err(&pdev->dev, "MT7620 PPLL unlock\n");
|
||||
+ if (!(rt_sysc_r32(PPLL_CFG1) & PPLL_LD)) {
|
||||
+ dev_err(&pdev->dev, "MT7620 PPLL is unlocked, aborting init\n");
|
||||
reset_control_assert(rstpcie0);
|
||||
rt_sysc_m32(RALINK_PCIE0_CLK_EN, 0, RALINK_CLKCFG1);
|
||||
return -1;
|
||||
Loading…
Reference in New Issue
Block a user