Drop upstreamed patches: 0001-v6.16-pinctrl-armada-37xx-use-correct-OUTPUT_VAL-register-.patch 0002-v6.16-pinctrl-armada-37xx-set-GPIO-output-value-before-set.patch 820-v6.11-01-dt-bindings-firmware-add-cznic-turris-omnia-mcu-bind.patch 820-v6.11-02-platform-cznic-Add-preliminary-support-for-Turris-Om.patch 820-v6.11-03-platform-cznic-turris-omnia-mcu-Add-support-for-MCU-.patch 820-v6.11-04-platform-cznic-turris-omnia-mcu-Add-support-for-powe.patch 820-v6.11-05-platform-cznic-turris-omnia-mcu-Add-support-for-MCU-.patch 820-v6.11-06-platform-cznic-turris-omnia-mcu-Add-support-for-MCU-.patch 820-v6.11-07-ARM-dts-turris-omnia-Add-MCU-system-controller-node.patch 820-v6.11-08-ARM-dts-turris-omnia-Add-GPIO-key-node-for-front-but.patch 820-v6.11-09-platform-cznic-turris-omnia-mcu-Depend-on-OF.patch 820-v6.11-10-platform-cznic-turris-omnia-mcu-Depend-on-WATCHDOG.patch 820-v6.11-11-platform-cznic-turris-omnia-mcu-fix-Kconfig-dependen.patch Manually refreshed: 310-linksys-use-eth0-as-cpu-port.patch 350-drivers-thermal-step_wise-add-support-for-hysteresis.patch 901-dt-bindings-Add-IEI-vendor-prefix-and-IEI-WT61P803-P.patch 902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch 910-drivers-leds-wt61p803-puzzle-improvements.patch All other patches automatically refreshed. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> Link: https://github.com/openwrt/openwrt/pull/18975 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
60 lines
1.7 KiB
Diff
60 lines
1.7 KiB
Diff
The WRT1900AC among other Linksys routers uses a dual-firmware layout.
|
|
Dynamically rename the active partition to "ubi".
|
|
|
|
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|
|
|
--- a/drivers/mtd/parsers/ofpart_core.c
|
|
+++ b/drivers/mtd/parsers/ofpart_core.c
|
|
@@ -38,6 +38,8 @@ static bool node_has_compatible(struct d
|
|
return of_get_property(pp, "compatible", NULL);
|
|
}
|
|
|
|
+static int mangled_rootblock;
|
|
+
|
|
static int parse_fixed_partitions(struct mtd_info *master,
|
|
const struct mtd_partition **pparts,
|
|
struct mtd_part_parser_data *data)
|
|
@@ -48,6 +50,7 @@ static int parse_fixed_partitions(struct
|
|
struct device_node *mtd_node;
|
|
struct device_node *ofpart_node;
|
|
const char *partname;
|
|
+ const char *owrtpart = "ubi";
|
|
struct device_node *pp;
|
|
int nr_parts, i, ret = 0;
|
|
bool dedicated = true;
|
|
@@ -152,9 +155,13 @@ static int parse_fixed_partitions(struct
|
|
parts[i].size = of_read_number(reg + a_cells, s_cells);
|
|
parts[i].of_node = pp;
|
|
|
|
- partname = of_get_property(pp, "label", &len);
|
|
- if (!partname)
|
|
- partname = of_get_property(pp, "name", &len);
|
|
+ if (mangled_rootblock && (i == mangled_rootblock)) {
|
|
+ partname = owrtpart;
|
|
+ } else {
|
|
+ partname = of_get_property(pp, "label", &len);
|
|
+ if (!partname)
|
|
+ partname = of_get_property(pp, "name", &len);
|
|
+ }
|
|
parts[i].name = partname;
|
|
|
|
if (of_property_read_bool(pp, "read-only"))
|
|
@@ -271,6 +278,18 @@ static int __init ofpart_parser_init(voi
|
|
return 0;
|
|
}
|
|
|
|
+static int __init active_root(char *str)
|
|
+{
|
|
+ get_option(&str, &mangled_rootblock);
|
|
+
|
|
+ if (!mangled_rootblock)
|
|
+ return 1;
|
|
+
|
|
+ return 1;
|
|
+}
|
|
+
|
|
+__setup("mangled_rootblock=", active_root);
|
|
+
|
|
static void __exit ofpart_parser_exit(void)
|
|
{
|
|
deregister_mtd_parser(&ofpart_parser);
|