Refreshed all patches.
Removed upstreamed:
- 031-v5.0-MIPS-BCM47XX-Setup-struct-device-for-the-SoC.patch
- 142-jffs2-Fix-use-of-uninitialized-delayed_work-lockdep-.patch
Removed upstreamed hunk in:
- 800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_VERSION-3.18 = .133
LINUX_VERSION-4.9 = .153
LINUX_VERSION-4.14 = .96
-LINUX_VERSION-4.19 = .16
+LINUX_VERSION-4.19 = .18
LINUX_KERNEL_HASH-3.18.133 = 3ec7f47365a8a050e629a5016e90e38a800e840c844901c979e9e796f8dc6711
LINUX_KERNEL_HASH-4.9.153 = 9066929ec2550794ae107350a5f3c5b648438aa915cfc62bac5b7a54b9d7731a
LINUX_KERNEL_HASH-4.14.96 = 110daeae1a416b7e0ec8dce5e86d67552deeb4567f696c3869389be239f0ecb5
-LINUX_KERNEL_HASH-4.19.16 = d8a088381fe3e7e5484c060dabcdda4b053ef7114f91cfd56db003a89bb11bdf
+LINUX_KERNEL_HASH-4.19.18 = 5ffdc068f9bf768b7cd5a8a2271d1370c2326e967848b13e21dfdbb1ef0ff3f1
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
+++ /dev/null
-From 321c46b91550adc03054125fa7a1639390608e1a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Thu, 3 Jan 2019 08:34:17 +0100
-Subject: [PATCH] MIPS: BCM47XX: Setup struct device for the SoC
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-So far we never had any device registered for the SoC. This resulted in
-some small issues that we kept ignoring like:
-1) Not working GPIOLIB_IRQCHIP (gpiochip_irqchip_add_key() failing)
-2) Lack of proper tree in the /sys/devices/
-3) mips_dma_alloc_coherent() silently handling empty coherent_dma_mask
-
-Kernel 4.19 came with a lot of DMA changes and caused a regression on
-bcm47xx. Starting with the commit f8c55dc6e828 ("MIPS: use generic dma
-noncoherent ops for simple noncoherent platforms") DMA coherent
-allocations just fail. Example:
-[ 1.114914] bgmac_bcma bcma0:2: Allocation of TX ring 0x200 failed
-[ 1.121215] bgmac_bcma bcma0:2: Unable to alloc memory for DMA
-[ 1.127626] bgmac_bcma: probe of bcma0:2 failed with error -12
-[ 1.133838] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
-
-The bgmac driver also triggers a WARNING:
-[ 0.959486] ------------[ cut here ]------------
-[ 0.964387] WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516 bgmac_enet_probe+0x1b4/0x5c4
-[ 0.973751] Modules linked in:
-[ 0.976913] CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.9 #0
-[ 0.982750] Stack : 804a0000 804597c4 00000000 00000000 80458fd8 8381bc2c 838282d4 80481a47
-[ 0.991367] 8042e3ec 00000001 804d38f0 00000204 83980000 00000065 8381bbe0 6f55b24f
-[ 0.999975] 00000000 00000000 80520000 00002018 00000000 00000075 00000007 00000000
-[ 1.008583] 00000000 80480000 000ee811 00000000 00000000 00000000 80432c00 80248db8
-[ 1.017196] 00000009 00000204 83980000 803ad7b0 00000000 801feeec 00000000 804d0000
-[ 1.025804] ...
-[ 1.028325] Call Trace:
-[ 1.030875] [<8000aef8>] show_stack+0x58/0x100
-[ 1.035513] [<8001f8b4>] __warn+0xe4/0x118
-[ 1.039708] [<8001f9a4>] warn_slowpath_null+0x48/0x64
-[ 1.044935] [<80248db8>] bgmac_enet_probe+0x1b4/0x5c4
-[ 1.050101] [<802498e0>] bgmac_probe+0x558/0x590
-[ 1.054906] [<80252fd0>] bcma_device_probe+0x38/0x70
-[ 1.060017] [<8020e1e8>] really_probe+0x170/0x2e8
-[ 1.064891] [<8020e714>] __driver_attach+0xa4/0xec
-[ 1.069784] [<8020c1e0>] bus_for_each_dev+0x58/0xb0
-[ 1.074833] [<8020d590>] bus_add_driver+0xf8/0x218
-[ 1.079731] [<8020ef24>] driver_register+0xcc/0x11c
-[ 1.084804] [<804b54cc>] bgmac_init+0x1c/0x44
-[ 1.089258] [<8000121c>] do_one_initcall+0x7c/0x1a0
-[ 1.094343] [<804a1d34>] kernel_init_freeable+0x150/0x218
-[ 1.099886] [<803a082c>] kernel_init+0x10/0x104
-[ 1.104583] [<80005878>] ret_from_kernel_thread+0x14/0x1c
-[ 1.110107] ---[ end trace f441c0d873d1fb5b ]---
-
-This patch setups a "struct device" (and passes it to the bcma) which
-allows fixing all the mentioned problems. It'll also require a tiny bcma
-patch which will follow through the wireless tree & its maintainer.
-
-Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms")
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Signed-off-by: Paul Burton <paul.burton@mips.com>
-Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
-Cc: Christoph Hellwig <hch@lst.de>
-Cc: Linus Walleij <linus.walleij@linaro.org>
-Cc: linux-wireless@vger.kernel.org
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: James Hogan <jhogan@kernel.org>
-Cc: linux-mips@linux-mips.org
-Cc: linux-kernel@vger.kernel.org
-Cc: stable@vger.kernel.org # v4.19+
----
- arch/mips/bcm47xx/setup.c | 31 +++++++++++++++++++++++++++++++
- include/linux/bcma/bcma_soc.h | 1 +
- 2 files changed, 32 insertions(+)
-
---- a/arch/mips/bcm47xx/setup.c
-+++ b/arch/mips/bcm47xx/setup.c
-@@ -173,6 +173,31 @@ void __init plat_mem_setup(void)
- pm_power_off = bcm47xx_machine_halt;
- }
-
-+#ifdef CONFIG_BCM47XX_BCMA
-+static struct device * __init bcm47xx_setup_device(void)
-+{
-+ struct device *dev;
-+ int err;
-+
-+ dev = kzalloc(sizeof(*dev), GFP_KERNEL);
-+ if (!dev)
-+ return NULL;
-+
-+ err = dev_set_name(dev, "bcm47xx_soc");
-+ if (err) {
-+ pr_err("Failed to set SoC device name: %d\n", err);
-+ kfree(dev);
-+ return NULL;
-+ }
-+
-+ err = dma_coerce_mask_and_coherent(dev, DMA_BIT_MASK(32));
-+ if (err)
-+ pr_err("Failed to set SoC DMA mask: %d\n", err);
-+
-+ return dev;
-+}
-+#endif
-+
- /*
- * This finishes bus initialization doing things that were not possible without
- * kmalloc. Make sure to call it late enough (after mm_init).
-@@ -183,6 +208,10 @@ void __init bcm47xx_bus_setup(void)
- if (bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA) {
- int err;
-
-+ bcm47xx_bus.bcma.dev = bcm47xx_setup_device();
-+ if (!bcm47xx_bus.bcma.dev)
-+ panic("Failed to setup SoC device\n");
-+
- err = bcma_host_soc_init(&bcm47xx_bus.bcma);
- if (err)
- panic("Failed to initialize BCMA bus (err %d)", err);
-@@ -235,6 +264,8 @@ static int __init bcm47xx_register_bus_c
- #endif
- #ifdef CONFIG_BCM47XX_BCMA
- case BCM47XX_BUS_TYPE_BCMA:
-+ if (device_register(bcm47xx_bus.bcma.dev))
-+ pr_err("Failed to register SoC device\n");
- bcma_bus_register(&bcm47xx_bus.bcma.bus);
- break;
- #endif
drivers/pinctrl/pinctrl-gemini.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/pinctrl-gemini.c b/drivers/pinctrl/pinctrl-gemini.c
-index fa7d998e1d5a..1e484a36ff07 100644
--- a/drivers/pinctrl/pinctrl-gemini.c
+++ b/drivers/pinctrl/pinctrl-gemini.c
-@@ -2184,7 +2184,8 @@ static int gemini_pmx_set_mux(struct pinctrl_dev *pctldev,
+@@ -2184,7 +2184,8 @@ static int gemini_pmx_set_mux(struct pin
func->name, grp->name);
regmap_read(pmx->map, GLOBAL_MISC_CTRL, &before);
grp->value);
regmap_read(pmx->map, GLOBAL_MISC_CTRL, &after);
---
-2.19.2
-
drivers/pinctrl/pinctrl-gemini.c | 44 ++++++++++++++++++++++++++------
1 file changed, 36 insertions(+), 8 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-gemini.c b/drivers/pinctrl/pinctrl-gemini.c
-index 1e484a36ff07..3535f9841861 100644
--- a/drivers/pinctrl/pinctrl-gemini.c
+++ b/drivers/pinctrl/pinctrl-gemini.c
-@@ -591,13 +591,16 @@ static const unsigned int tvc_3512_pins[] = {
+@@ -591,13 +591,16 @@ static const unsigned int tvc_3512_pins[
319, /* TVC_DATA[1] */
301, /* TVC_DATA[2] */
283, /* TVC_DATA[3] */
/* NAND flash pins */
static const unsigned int nflash_3512_pins[] = {
199, 200, 201, 202, 216, 217, 218, 219, 220, 234, 235, 236, 237, 252,
-@@ -629,7 +632,7 @@ static const unsigned int pflash_3512_pins_extended[] = {
+@@ -629,7 +632,7 @@ static const unsigned int pflash_3512_pi
/* Serial flash pins CE0, CE1, DI, DO, CK */
static const unsigned int sflash_3512_pins[] = { 230, 231, 232, 233, 211 };
static const unsigned int gpio0a_3512_pins[] = { 265 };
/* The GPIO0B (1-4) pins overlap with TVC and ICE */
-@@ -823,7 +826,13 @@ static const struct gemini_pin_group gemini_3512_pin_groups[] = {
+@@ -823,7 +826,13 @@ static const struct gemini_pin_group gem
.num_pins = ARRAY_SIZE(tvc_3512_pins),
/* Conflict with character LCD and ICE */
.mask = LCD_PADS_ENABLE,
},
/*
* The construction is done such that it is possible to use a serial
-@@ -860,8 +869,8 @@ static const struct gemini_pin_group gemini_3512_pin_groups[] = {
+@@ -860,8 +869,8 @@ static const struct gemini_pin_group gem
.name = "gpio0agrp",
.pins = gpio0a_3512_pins,
.num_pins = ARRAY_SIZE(gpio0a_3512_pins),
},
{
.name = "gpio0bgrp",
-@@ -1531,13 +1540,16 @@ static const unsigned int tvc_3516_pins[] = {
+@@ -1531,13 +1540,16 @@ static const unsigned int tvc_3516_pins[
311, /* TVC_DATA[1] */
394, /* TVC_DATA[2] */
374, /* TVC_DATA[3] */
/* NAND flash pins */
static const unsigned int nflash_3516_pins[] = {
243, 260, 261, 224, 280, 262, 281, 264, 300, 263, 282, 301, 320, 283,
-@@ -1570,7 +1582,7 @@ static const unsigned int pflash_3516_pins_extended[] = {
+@@ -1570,7 +1582,7 @@ static const unsigned int pflash_3516_pi
static const unsigned int sflash_3516_pins[] = { 296, 338, 295, 359, 339 };
/* The GPIO0A (0-4) pins overlap with TVC and extended parallel flash */
/* The GPIO0B (5-7) pins overlap with ICE */
static const unsigned int gpio0b_3516_pins[] = { 375, 396, 376 };
-@@ -1602,6 +1614,9 @@ static const unsigned int gpio0j_3516_pins[] = { 359, 339 };
+@@ -1602,6 +1614,9 @@ static const unsigned int gpio0j_3516_pi
/* The GPIO0K (30,31) pins overlap with NAND flash */
static const unsigned int gpio0k_3516_pins[] = { 275, 298 };
/* The GPIO1A (0-4) pins that overlap with IDE and parallel flash */
static const unsigned int gpio1a_3516_pins[] = { 221, 200, 222, 201, 220 };
-@@ -1761,7 +1776,13 @@ static const struct gemini_pin_group gemini_3516_pin_groups[] = {
+@@ -1761,7 +1776,13 @@ static const struct gemini_pin_group gem
.num_pins = ARRAY_SIZE(tvc_3516_pins),
/* Conflict with character LCD */
.mask = LCD_PADS_ENABLE,
},
/*
* The construction is done such that it is possible to use a serial
-@@ -1872,6 +1893,13 @@ static const struct gemini_pin_group gemini_3516_pin_groups[] = {
- /* Conflict with parallel and NAND flash */
+@@ -1873,6 +1894,13 @@ static const struct gemini_pin_group gem
.value = PFLASH_PADS_DISABLE | NAND_PADS_DISABLE,
},
-+ {
+ {
+ .name = "gpio0lgrp",
+ .pins = gpio0l_3516_pins,
+ .num_pins = ARRAY_SIZE(gpio0l_3516_pins),
+ /* Conflict with TVE CLK */
+ .mask = TVC_CLK_PAD_ENABLE,
+ },
- {
++ {
.name = "gpio1agrp",
.pins = gpio1a_3516_pins,
---
-2.19.2
-
+ .num_pins = ARRAY_SIZE(gpio1a_3516_pins),
drivers/pinctrl/pinctrl-gemini.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-gemini.c b/drivers/pinctrl/pinctrl-gemini.c
-index 3535f9841861..f75bf6f16a2e 100644
--- a/drivers/pinctrl/pinctrl-gemini.c
+++ b/drivers/pinctrl/pinctrl-gemini.c
-@@ -2207,9 +2207,9 @@ static int gemini_pmx_set_mux(struct pinctrl_dev *pctldev,
+@@ -2207,9 +2207,9 @@ static int gemini_pmx_set_mux(struct pin
return -ENODEV;
}
regmap_read(pmx->map, GLOBAL_MISC_CTRL, &before);
regmap_update_bits(pmx->map, GLOBAL_MISC_CTRL,
-@@ -2240,10 +2240,10 @@ static int gemini_pmx_set_mux(struct pinctrl_dev *pctldev,
+@@ -2240,10 +2240,10 @@ static int gemini_pmx_set_mux(struct pin
"GLOBAL MISC CTRL before: %08x, after %08x, expected %08x\n",
before, after, expected);
} else {
}
}
-@@ -2262,10 +2262,10 @@ static int gemini_pmx_set_mux(struct pinctrl_dev *pctldev,
+@@ -2262,10 +2262,10 @@ static int gemini_pmx_set_mux(struct pin
"GLOBAL MISC CTRL before: %08x, after %08x, expected %08x\n",
before, after, expected);
} else {
}
}
-@@ -2492,9 +2492,9 @@ static int gemini_pinconf_group_set(struct pinctrl_dev *pctldev,
+@@ -2492,9 +2492,9 @@ static int gemini_pinconf_group_set(stru
regmap_update_bits(pmx->map, GLOBAL_IODRIVE,
grp->driving_mask,
val);
break;
default:
dev_err(pmx->dev, "invalid config param %04x\n", param);
-@@ -2585,8 +2585,8 @@ static int gemini_pmx_probe(struct platform_device *pdev)
+@@ -2585,8 +2585,8 @@ static int gemini_pmx_probe(struct platf
/* Print initial state */
tmp = val;
for_each_set_bit(i, &tmp, PADS_MAXBIT) {
}
/* Check if flash pin is set */
---
-2.19.2
-
arch/arm/boot/dts/gemini-sq201.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/gemini-sq201.dts b/arch/arm/boot/dts/gemini-sq201.dts
-index 3787cf3763c4..66e2845a3edb 100644
--- a/arch/arm/boot/dts/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini-sq201.dts
@@ -20,7 +20,7 @@
stdout-path = &uart0;
};
---
-2.19.2
-
drivers/mtd/maps/physmap_of_core.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
-diff --git a/drivers/mtd/maps/physmap_of_core.c b/drivers/mtd/maps/physmap_of_core.c
-index 4129535b8e46..74ad753265f3 100644
--- a/drivers/mtd/maps/physmap_of_core.c
+++ b/drivers/mtd/maps/physmap_of_core.c
-@@ -239,13 +239,6 @@ static int of_flash_probe(struct platform_device *dev)
+@@ -239,13 +239,6 @@ static int of_flash_probe(struct platfor
else if (of_property_read_bool(dp, "little-endian"))
info->list[i].map.swap = CFI_LITTLE_ENDIAN;
err = -ENOMEM;
info->list[i].map.virt = ioremap(info->list[i].map.phys,
info->list[i].map.size);
-@@ -257,6 +250,14 @@ static int of_flash_probe(struct platform_device *dev)
+@@ -257,6 +250,14 @@ static int of_flash_probe(struct platfor
simple_map_init(&info->list[i].map);
/*
* On some platforms (e.g. MPC5200) a direct 1:1 mapping
* may cause problems with JFFS2 usage, as the local bus (LPB)
---
-2.19.2
-
drivers/mtd/maps/physmap_of_gemini.c | 105 ++++++++++++++++++++++++++-
2 files changed, 105 insertions(+), 1 deletion(-)
-diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
-index afb36bff13a7..00efbf246849 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -89,6 +89,7 @@ config MTD_PHYSMAP_OF_GEMINI
help
This provides some extra DT physmap parsing for the Gemini
platforms, some detection and setting up parallel mode on the
-diff --git a/drivers/mtd/maps/physmap_of_gemini.c b/drivers/mtd/maps/physmap_of_gemini.c
-index 830b1b7e702b..7c2b67460192 100644
--- a/drivers/mtd/maps/physmap_of_gemini.c
+++ b/drivers/mtd/maps/physmap_of_gemini.c
@@ -10,9 +10,11 @@
#include "physmap_of_gemini.h"
/*
-@@ -49,6 +51,77 @@ static const struct of_device_id syscon_match[] = {
+@@ -49,6 +51,77 @@ static const struct of_device_id syscon_
{ },
};
int of_flash_probe_gemini(struct platform_device *pdev,
struct device_node *np,
struct map_info *map)
-@@ -62,6 +135,11 @@ int of_flash_probe_gemini(struct platform_device *pdev,
+@@ -62,6 +135,11 @@ int of_flash_probe_gemini(struct platfor
if (!of_device_is_compatible(np, "cortina,gemini-flash"))
return 0;
rmap = syscon_regmap_lookup_by_phandle(np, "syscon");
if (IS_ERR(rmap)) {
dev_err(dev, "no syscon\n");
-@@ -96,7 +174,32 @@ int of_flash_probe_gemini(struct platform_device *pdev,
+@@ -96,7 +174,32 @@ int of_flash_probe_gemini(struct platfor
map->bankwidth * 8);
}
return 0;
}
---
-2.19.2
-
arch/arm/boot/dts/gemini-dlink-dir-685.dts | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
-diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-index 6f258b50eb44..502a361d1fe9 100644
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
@@ -274,20 +274,16 @@
partition@1f80000 {
label = "rgdb";
reg = <0x01f80000 0x00040000>;
---
-2.19.2
-
arch/arm/boot/dts/gemini-sq201.dts | 31 ++++++++++---------
2 files changed, 41 insertions(+), 25 deletions(-)
-diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-index 502a361d1fe9..318e9b2ba7dc 100644
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
@@ -64,7 +64,6 @@
port@0 {
reg = <0>;
-diff --git a/arch/arm/boot/dts/gemini-sq201.dts b/arch/arm/boot/dts/gemini-sq201.dts
-index 66e2845a3edb..79df6ce5bc6a 100644
--- a/arch/arm/boot/dts/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini-sq201.dts
@@ -41,14 +41,12 @@
pinctrl-gmii {
mux {
function = "gmii";
---
-2.19.2
-
1 file changed, 27 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mtd/partitions/redboot-fis.txt
-diff --git a/Documentation/devicetree/bindings/mtd/partitions/redboot-fis.txt b/Documentation/devicetree/bindings/mtd/partitions/redboot-fis.txt
-new file mode 100644
-index 000000000000..fd0ebe4e3415
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/partitions/redboot-fis.txt
@@ -0,0 +1,27 @@
+ fis-index-block = <0>;
+ };
+};
---
-2.19.2
-
drivers/mtd/redboot.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
-diff --git a/drivers/mtd/redboot.c b/drivers/mtd/redboot.c
-index fe3df7437483..e9c21579ba35 100644
--- a/drivers/mtd/redboot.c
+++ b/drivers/mtd/redboot.c
@@ -25,7 +25,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/module.h>
-@@ -56,6 +56,31 @@ static inline int redboot_checksum(struct fis_image_desc *img)
+@@ -56,6 +56,31 @@ static inline int redboot_checksum(struc
return 1;
}
static int parse_redboot_partitions(struct mtd_info *master,
const struct mtd_partition **pparts,
struct mtd_part_parser_data *data)
-@@ -75,6 +100,7 @@ static int parse_redboot_partitions(struct mtd_info *master,
+@@ -75,6 +100,7 @@ static int parse_redboot_partitions(stru
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
static char nullstring[] = "unallocated";
#endif
if ( directory < 0 ) {
offset = master->size + directory * master->erasesize;
-@@ -298,6 +324,7 @@ static int parse_redboot_partitions(struct mtd_info *master,
+@@ -298,6 +324,7 @@ static int parse_redboot_partitions(stru
static const struct of_device_id redboot_parser_of_match_table[] = {
{ .compatible = "ecoscentric,redboot-fis-partitions" },
{},
};
MODULE_DEVICE_TABLE(of, redboot_parser_of_match_table);
---
-2.19.2
-
arch/arm/boot/dts/gemini-sq201.dts | 37 ++++--------------------------
1 file changed, 5 insertions(+), 32 deletions(-)
-diff --git a/arch/arm/boot/dts/gemini-sq201.dts b/arch/arm/boot/dts/gemini-sq201.dts
-index 79df6ce5bc6a..c5bb24102b75 100644
--- a/arch/arm/boot/dts/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini-sq201.dts
@@ -20,7 +20,7 @@
};
};
---
-2.19.2
-
arch/arm/boot/dts/gemini-dlink-dir-685.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-index 318e9b2ba7dc..850a605124eb 100644
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
@@ -20,7 +20,7 @@
stdout-path = "uart0:19200n8";
};
---
-2.19.2
-
drivers/usb/host/fotg210.h | 3 +++
2 files changed, 32 insertions(+), 4 deletions(-)
-diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
-index e64eb47770c8..058ff82ea789 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
@@ -31,6 +31,7 @@
#include <asm/byteorder.h>
#include <asm/irq.h>
-@@ -5596,7 +5597,7 @@ static int fotg210_hcd_probe(struct platform_device *pdev)
+@@ -5596,7 +5597,7 @@ static int fotg210_hcd_probe(struct plat
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(hcd->regs)) {
retval = PTR_ERR(hcd->regs);
}
hcd->rsrc_start = res->start;
-@@ -5606,22 +5607,42 @@ static int fotg210_hcd_probe(struct platform_device *pdev)
+@@ -5606,22 +5607,42 @@ static int fotg210_hcd_probe(struct plat
fotg210->caps = hcd->regs;
usb_put_hcd(hcd);
fail_create_hcd:
dev_err(dev, "init %s fail, %d\n", dev_name(dev), retval);
-@@ -5637,6 +5658,10 @@ static int fotg210_hcd_remove(struct platform_device *pdev)
+@@ -5637,6 +5658,10 @@ static int fotg210_hcd_remove(struct pla
{
struct device *dev = &pdev->dev;
struct usb_hcd *hcd = dev_get_drvdata(dev);
if (!hcd)
return 0;
-diff --git a/drivers/usb/host/fotg210.h b/drivers/usb/host/fotg210.h
-index 7fcd785c7bc8..28f6467c0cbf 100644
--- a/drivers/usb/host/fotg210.h
+++ b/drivers/usb/host/fotg210.h
-@@ -182,6 +182,9 @@ struct fotg210_hcd { /* one per controller */
+@@ -182,6 +182,9 @@ struct fotg210_hcd { /* one per contro
# define COUNT(x)
#endif
/* debug files */
struct dentry *debug_dir;
};
---
-2.19.2
-
1 file changed, 35 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/faraday,fotg210.txt
-diff --git a/Documentation/devicetree/bindings/usb/faraday,fotg210.txt b/Documentation/devicetree/bindings/usb/faraday,fotg210.txt
-new file mode 100644
-index 000000000000..06a2286e2054
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/faraday,fotg210.txt
@@ -0,0 +1,35 @@
+ syscon = <&syscon>;
+ wakeup-source;
+};
---
-2.19.2
-
drivers/usb/host/fotg210-hcd.c | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
-index 058ff82ea789..6e4b40cd5916 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
@@ -10,6 +10,7 @@
#include <linux/device.h>
#include <linux/dmapool.h>
#include <linux/kernel.h>
-@@ -5672,9 +5673,18 @@ static int fotg210_hcd_remove(struct platform_device *pdev)
+@@ -5672,9 +5673,18 @@ static int fotg210_hcd_remove(struct pla
return 0;
}
},
.probe = fotg210_hcd_probe,
.remove = fotg210_hcd_remove,
---
-2.19.2
-
drivers/usb/host/fotg210-hcd.c | 76 ++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index 1a4ea98cac2a..308d514c9a2a 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -372,6 +372,7 @@ config USB_ISP1362_HCD
---help---
Faraday FOTG210 is an OTG controller which can be configured as
an USB2.0 host. It is designed to meet USB2.0 EHCI specification
-diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
-index 6e4b40cd5916..5abb07f4136f 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
@@ -33,6 +33,10 @@
#include <asm/byteorder.h>
#include <asm/irq.h>
-@@ -5554,6 +5558,72 @@ static void fotg210_init(struct fotg210_hcd *fotg210)
+@@ -5554,6 +5558,72 @@ static void fotg210_init(struct fotg210_
iowrite32(value, &fotg210->regs->otgcsr);
}
/**
* fotg210_hcd_probe - initialize faraday FOTG210 HCDs
*
-@@ -5631,6 +5701,12 @@ static int fotg210_hcd_probe(struct platform_device *pdev)
+@@ -5631,6 +5701,12 @@ static int fotg210_hcd_probe(struct plat
fotg210_init(fotg210);
retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (retval) {
dev_err(dev, "failed to add hcd with err %d\n", retval);
---
-2.19.2
-
drivers/usb/host/fotg210-hcd.c | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
-index 5abb07f4136f..d15e835c4b1f 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
-@@ -1633,6 +1633,10 @@ static int fotg210_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1633,6 +1633,10 @@ static int fotg210_hub_control(struct us
/* see what we found out */
temp = check_reset_complete(fotg210, wIndex, status_reg,
fotg210_readl(fotg210, status_reg));
}
if (!(temp & (PORT_RESUME|PORT_RESET))) {
---
-2.19.2
-
arch/arm/boot/dts/gemini.dtsi | 32 ++++++++++++++++++++++
8 files changed, 100 insertions(+)
-diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-index 850a605124eb..848b16375873 100644
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
@@ -452,5 +452,13 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini-nas4220b.dts b/arch/arm/boot/dts/gemini-nas4220b.dts
-index 963ea890c87f..53b65ebe8454 100644
--- a/arch/arm/boot/dts/gemini-nas4220b.dts
+++ b/arch/arm/boot/dts/gemini-nas4220b.dts
@@ -204,5 +204,13 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini-rut1xx.dts b/arch/arm/boot/dts/gemini-rut1xx.dts
-index eb4f0bf074da..b2354c215a84 100644
--- a/arch/arm/boot/dts/gemini-rut1xx.dts
+++ b/arch/arm/boot/dts/gemini-rut1xx.dts
@@ -124,5 +124,25 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini-sl93512r.dts b/arch/arm/boot/dts/gemini-sl93512r.dts
-index ebefb7297379..2bb953440793 100644
--- a/arch/arm/boot/dts/gemini-sl93512r.dts
+++ b/arch/arm/boot/dts/gemini-sl93512r.dts
@@ -324,5 +324,13 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini-sq201.dts b/arch/arm/boot/dts/gemini-sq201.dts
-index c5bb24102b75..ecbc27d93b2d 100644
--- a/arch/arm/boot/dts/gemini-sq201.dts
+++ b/arch/arm/boot/dts/gemini-sq201.dts
@@ -292,5 +292,13 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini-wbd111.dts b/arch/arm/boot/dts/gemini-wbd111.dts
-index 29af86cd10f7..6831d2aed17a 100644
--- a/arch/arm/boot/dts/gemini-wbd111.dts
+++ b/arch/arm/boot/dts/gemini-wbd111.dts
@@ -171,5 +171,13 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini-wbd222.dts b/arch/arm/boot/dts/gemini-wbd222.dts
-index 24e6ae3616f7..ed38d48ef5f6 100644
--- a/arch/arm/boot/dts/gemini-wbd222.dts
+++ b/arch/arm/boot/dts/gemini-wbd222.dts
@@ -183,5 +183,13 @@
+ };
};
};
-diff --git a/arch/arm/boot/dts/gemini.dtsi b/arch/arm/boot/dts/gemini.dtsi
-index eb752e9495de..8cf67b11751f 100644
--- a/arch/arm/boot/dts/gemini.dtsi
+++ b/arch/arm/boot/dts/gemini.dtsi
@@ -409,5 +409,37 @@
+ };
};
};
---
-2.19.2
-
---
--- a/drivers/usb/core/ledtrig-usbport.c
+++ b/drivers/usb/core/ledtrig-usbport.c
-@@ -119,11 +119,6 @@ static const struct attribute_group ports_group = {
+@@ -119,11 +119,6 @@ static const struct attribute_group port
.attrs = ports_attrs,
};
/***************************************
* Adding & removing ports
***************************************/
-@@ -307,6 +302,7 @@ static int usbport_trig_notify(struct notifier_block *nb, unsigned long action,
+@@ -307,6 +302,7 @@ static int usbport_trig_notify(struct no
static int usbport_trig_activate(struct led_classdev *led_cdev)
{
struct usbport_trig_data *usbport_data;
usbport_data = kzalloc(sizeof(*usbport_data), GFP_KERNEL);
if (!usbport_data)
-@@ -315,6 +311,9 @@ static int usbport_trig_activate(struct led_classdev *led_cdev)
+@@ -315,6 +311,9 @@ static int usbport_trig_activate(struct
/* List of ports */
INIT_LIST_HEAD(&usbport_data->ports);
usb_for_each_dev(usbport_data, usbport_trig_add_usb_dev_ports);
usbport_trig_update_count(usbport_data);
-@@ -322,8 +321,11 @@ static int usbport_trig_activate(struct led_classdev *led_cdev)
+@@ -322,8 +321,11 @@ static int usbport_trig_activate(struct
usbport_data->nb.notifier_call = usbport_trig_notify;
led_set_trigger_data(led_cdev, usbport_data);
usb_register_notify(&usbport_data->nb);
}
static void usbport_trig_deactivate(struct led_classdev *led_cdev)
-@@ -335,6 +337,8 @@ static void usbport_trig_deactivate(struct led_classdev *led_cdev)
+@@ -335,6 +337,8 @@ static void usbport_trig_deactivate(stru
usbport_trig_remove_port(usbport_data, port);
}
usb_unregister_notify(&usbport_data->nb);
kfree(usbport_data);
-@@ -344,7 +348,6 @@ static struct led_trigger usbport_led_trigger = {
+@@ -344,7 +348,6 @@ static struct led_trigger usbport_led_tr
.name = "usbport",
.activate = usbport_trig_activate,
.deactivate = usbport_trig_deactivate,
};
static int __init usbport_trig_init(void)
---
-cgit 1.2-0.3.lf.el7
-
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1993,6 +1993,13 @@ config TRIM_UNUSED_KSYMS
+@@ -1994,6 +1994,13 @@ config TRIM_UNUSED_KSYMS
If unsure, or if you need to build out-of-tree modules, say N.
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1140,6 +1140,10 @@ config SYNC_R4K
+@@ -1143,6 +1143,10 @@ config SYNC_R4K
config MIPS_MACHINE
def_bool n
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
{
struct dst_entry *dst = __sk_dst_get(sk);
-@@ -1600,9 +1612,11 @@ static void __sk_free(struct sock *sk)
+@@ -1601,9 +1613,11 @@ static void __sk_free(struct sock *sk)
if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1);
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -3482,6 +3482,8 @@ static __net_initdata struct pernet_oper
+@@ -3483,6 +3483,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
+++ /dev/null
-From a788c5272769ddbcdbab297cf386413eeac04463 Mon Sep 17 00:00:00 2001
-From: Daniel Santos <daniel.santos@pobox.com>
-Date: Fri, 19 Oct 2018 03:30:20 -0500
-Subject: [PATCH] jffs2: Fix use of uninitialized delayed_work, lockdep
- breakage
-
-jffs2_sync_fs makes the assumption that if CONFIG_JFFS2_FS_WRITEBUFFER
-is defined then a write buffer is available and has been initialized.
-However, this does is not the case when the mtd device has no
-out-of-band buffer:
-
-int jffs2_nand_flash_setup(struct jffs2_sb_info *c)
-{
- if (!c->mtd->oobsize)
- return 0;
-...
-
-The resulting call to cancel_delayed_work_sync passing a uninitialized
-(but zeroed) delayed_work struct forces lockdep to become disabled.
-
-[ 90.050639] overlayfs: upper fs does not support tmpfile.
-[ 90.652264] INFO: trying to register non-static key.
-[ 90.662171] the code is fine but needs lockdep annotation.
-[ 90.673090] turning off the locking correctness validator.
-[ 90.684021] CPU: 0 PID: 1762 Comm: mount_root Not tainted 4.14.63 #0
-[ 90.696672] Stack : 00000000 00000000 80d8f6a2 00000038 805f0000 80444600 8fe364f4 805dfbe7
-[ 90.713349] 80563a30 000006e2 8068370c 00000001 00000000 00000001 8e2fdc48 ffffffff
-[ 90.730020] 00000000 00000000 80d90000 00000000 00000106 00000000 6465746e 312e3420
-[ 90.746690] 6b636f6c 03bf0000 f8000000 20676e69 00000000 80000000 00000000 8e2c2a90
-[ 90.763362] 80d90000 00000001 00000000 8e2c2a90 00000003 80260dc0 08052098 80680000
-[ 90.780033] ...
-[ 90.784902] Call Trace:
-[ 90.789793] [<8000f0d8>] show_stack+0xb8/0x148
-[ 90.798659] [<8005a000>] register_lock_class+0x270/0x55c
-[ 90.809247] [<8005cb64>] __lock_acquire+0x13c/0xf7c
-[ 90.818964] [<8005e314>] lock_acquire+0x194/0x1dc
-[ 90.828345] [<8003f27c>] flush_work+0x200/0x24c
-[ 90.837374] [<80041dfc>] __cancel_work_timer+0x158/0x210
-[ 90.847958] [<801a8770>] jffs2_sync_fs+0x20/0x54
-[ 90.857173] [<80125cf4>] iterate_supers+0xf4/0x120
-[ 90.866729] [<80158fc4>] sys_sync+0x44/0x9c
-[ 90.875067] [<80014424>] syscall_common+0x34/0x58
-
-Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
-Reviewed-by: Hou Tao <houtao1@huawei.com>
-Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
----
- fs/jffs2/super.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/fs/jffs2/super.c
-+++ b/fs/jffs2/super.c
-@@ -101,7 +101,8 @@ static int jffs2_sync_fs(struct super_bl
- struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
-
- #ifdef CONFIG_JFFS2_FS_WRITEBUFFER
-- cancel_delayed_work_sync(&c->wbuf_dwork);
-+ if (jffs2_is_writebuffered(c))
-+ cancel_delayed_work_sync(&c->wbuf_dwork);
- #endif
-
- mutex_lock(&c->alloc_sem);
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1145,6 +1145,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1146,6 +1146,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference
---
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1059,9 +1059,6 @@ config FW_ARC
+@@ -1062,9 +1062,6 @@ config FW_ARC
config ARCH_MAY_HAVE_PC_FDC
bool
config CEVT_BCM1480
bool
-@@ -2965,6 +2962,18 @@ choice
+@@ -2968,6 +2965,18 @@ choice
bool "Extend builtin kernel arguments with bootloader arguments"
endchoice
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2889,6 +2889,20 @@ config MIPS_O32_FP64_SUPPORT
+@@ -2892,6 +2892,20 @@ config MIPS_O32_FP64_SUPPORT
If unsure, say N.
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1113,7 +1113,6 @@ config DMA_PERDEV_COHERENT
+@@ -1116,7 +1116,6 @@ config DMA_PERDEV_COHERENT
config DMA_NONCOHERENT
bool
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
select NEED_DMA_MAP_STATE
select DMA_NONCOHERENT_MMAP
select DMA_NONCOHERENT_CACHE_SYNC
-@@ -1894,9 +1893,11 @@ config SYS_HAS_CPU_MIPS32_R3_5
+@@ -1897,9 +1896,11 @@ config SYS_HAS_CPU_MIPS32_R3_5
config SYS_HAS_CPU_MIPS32_R5
bool
config SYS_HAS_CPU_MIPS64_R1
bool
-@@ -1906,6 +1907,7 @@ config SYS_HAS_CPU_MIPS64_R2
+@@ -1909,6 +1910,7 @@ config SYS_HAS_CPU_MIPS64_R2
config SYS_HAS_CPU_MIPS64_R6
bool
config SYS_HAS_CPU_R3000
bool
-@@ -1942,6 +1944,7 @@ config SYS_HAS_CPU_R8000
+@@ -1945,6 +1947,7 @@ config SYS_HAS_CPU_R8000
config SYS_HAS_CPU_R10000
bool
config SYS_HAS_CPU_RM7000
bool
-@@ -1970,6 +1973,7 @@ config SYS_HAS_CPU_BMIPS4380
+@@ -1973,6 +1976,7 @@ config SYS_HAS_CPU_BMIPS4380
config SYS_HAS_CPU_BMIPS5000
bool
select SYS_HAS_CPU_BMIPS
switch (bus->hosttype) {
case BCMA_HOSTTYPE_PCI:
---- a/include/linux/bcma/bcma_soc.h
-+++ b/include/linux/bcma/bcma_soc.h
-@@ -6,6 +6,7 @@
-
- struct bcma_soc {
- struct bcma_bus bus;
-+ struct device *dev;
- };
-
- int __init bcma_host_soc_register(struct bcma_soc *soc);
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1527,6 +1527,15 @@ config EMBEDDED
+@@ -1528,6 +1528,15 @@ config EMBEDDED
an embedded system so certain expert options are available
for configuration.
-Index: linux-4.14.82/arch/powerpc/platforms/85xx/Kconfig
-===================================================================
---- linux-4.14.82.orig/arch/powerpc/platforms/85xx/Kconfig
-+++ linux-4.14.82/arch/powerpc/platforms/85xx/Kconfig
+--- a/arch/powerpc/platforms/85xx/Kconfig
++++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -60,6 +60,17 @@ config HIVEAP_330
This board is a Concurrent Dual-Band wireless access point with a
Freescale P1020 SoC.
config MPC8540_ADS
bool "Freescale MPC8540 ADS"
select DEFAULT_UIMAGE
-Index: linux-4.14.82/arch/powerpc/platforms/85xx/Makefile
-===================================================================
---- linux-4.14.82.orig/arch/powerpc/platforms/85xx/Makefile
-+++ linux-4.14.82/arch/powerpc/platforms/85xx/Makefile
+--- a/arch/powerpc/platforms/85xx/Makefile
++++ b/arch/powerpc/platforms/85xx/Makefile
@@ -22,6 +22,7 @@ obj-$(CONFIG_P1010_RDB) += p1010rdb.o
obj-$(CONFIG_P1022_DS) += p1022_ds.o
obj-$(CONFIG_P1022_RDK) += p1022_rdk.o
.../boot/dts/allwinner/sun50i-a64-sopine.dtsi | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
-index 6723b8695e0b..3e879fefe3d5 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
@@ -78,6 +78,28 @@
};
};
---
-2.17.1
-