mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 01:22:25 +00:00
44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
From 29da2c500a856b214e9a0eca3ccdc98a6470da48 Mon Sep 17 00:00:00 2001
|
|
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Wed, 3 Feb 2021 20:37:03 +0100
|
|
Subject: [PATCH 14/22] kernel: add support for enabling fit firmware partition
|
|
parser via cmdline
|
|
|
|
This is useful for dual-boot setups where the loader sets variables depending
|
|
on the flash boot partition.
|
|
For example the Linksys E8450 sets mtdparts=master for the first partition
|
|
and mtdparts=slave for the second one.
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
.../linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c
|
|
index 67ee33d085..5cc1658dbd 100644
|
|
--- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c
|
|
+++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c
|
|
@@ -49,6 +49,8 @@ mtdsplit_fit_parse(struct mtd_info *mtd,
|
|
const struct mtd_partition **pparts,
|
|
struct mtd_part_parser_data *data)
|
|
{
|
|
+ struct device_node *np = mtd_get_of_node(mtd);
|
|
+ const char *cmdline_match = NULL;
|
|
struct fdt_header hdr;
|
|
size_t hdr_len, retlen;
|
|
size_t offset;
|
|
@@ -57,6 +59,10 @@ mtdsplit_fit_parse(struct mtd_info *mtd,
|
|
struct mtd_partition *parts;
|
|
int ret;
|
|
|
|
+ of_property_read_string(np, "openwrt,cmdline-match", &cmdline_match);
|
|
+ if (cmdline_match && !strstr(saved_command_line, cmdline_match))
|
|
+ return -ENODEV;
|
|
+
|
|
hdr_len = sizeof(struct fdt_header);
|
|
|
|
/* Parse the MTD device & search for the FIT image location */
|
|
--
|
|
2.25.1
|
|
|