diff options
author | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-01-05 14:15:44 +0100 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-01-08 16:45:08 +0100 |
commit | 57a9633a2c6c3be56c794576157f057a70ac52df (patch) | |
tree | a8d76560e0cec6fdc3e2963e5a5d7232cf2bb0f4 /target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch | |
parent | 28fd4ac512ec1c08a79ac7a434b2def3cc82f1d5 (diff) | |
download | upstream-57a9633a2c6c3be56c794576157f057a70ac52df.tar.gz upstream-57a9633a2c6c3be56c794576157f057a70ac52df.tar.bz2 upstream-57a9633a2c6c3be56c794576157f057a70ac52df.zip |
kernel: remove support for kernel 4.9
No target uses kernel 4.9 anymore.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch')
-rw-r--r-- | target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch deleted file mode 100644 index c4c517f238..0000000000 --- a/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 1a0915be192606fee64830b9c5d70b7ed59426b6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> -Date: Wed, 21 Jun 2017 08:26:46 +0200 -Subject: [PATCH] mtd: partitions: add support for partition parsers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Some devices have partitions that are kind of containers with extra -subpartitions / volumes instead of e.g. a simple filesystem data. To -support such cases we need to first create normal flash device -partitions and then take care of these special ones. - -It's very common case for home routers. Depending on the vendor there -are formats like TRX, Seama, TP-Link, WRGG & more. All of them are used -to embed few partitions into a single one / single firmware file. - -Ideally all vendors would use some well documented / standardized format -like UBI (and some probably start doing so), but there are still -countless devices on the market using these poor vendor specific -formats. - -This patch extends MTD subsystem by allowing to specify list of parsers -that should be tried for a given partition. Supporting such poor formats -is highly unlikely to be the top priority so these changes try to -minimize maintenance cost to the minimum. It reuses existing code for -these new parsers and just adds a one property and one new function. - -This implementation requires setting partition parsers in a flash -parser. A proper change of bcm47xxpart will follow and in the future we -will hopefully also find a solution for doing it with ofpart -("fixed-partitions"). - -Signed-off-by: Rafał Miłecki <rafal@milecki.pl> -Signed-off-by: Brian Norris <computersforpeace@gmail.com> ---- - drivers/mtd/mtdpart.c | 31 +++++++++++++++++++++++++++++++ - include/linux/mtd/partitions.h | 7 +++++++ - 2 files changed, 38 insertions(+) - ---- a/drivers/mtd/mtdpart.c -+++ b/drivers/mtd/mtdpart.c -@@ -369,6 +369,35 @@ static inline void free_partition(struct - kfree(p); - } - -+/** -+ * mtd_parse_part - parse MTD partition looking for subpartitions -+ * -+ * @slave: part that is supposed to be a container and should be parsed -+ * @types: NULL-terminated array with names of partition parsers to try -+ * -+ * Some partitions are kind of containers with extra subpartitions (volumes). -+ * There can be various formats of such containers. This function tries to use -+ * specified parsers to analyze given partition and registers found -+ * subpartitions on success. -+ */ -+static int mtd_parse_part(struct mtd_part *slave, const char *const *types) -+{ -+ struct mtd_partitions parsed; -+ int err; -+ -+ err = parse_mtd_partitions(&slave->mtd, types, &parsed, NULL); -+ if (err) -+ return err; -+ else if (!parsed.nr_parts) -+ return -ENOENT; -+ -+ err = add_mtd_partitions(&slave->mtd, parsed.parts, parsed.nr_parts); -+ -+ mtd_part_parser_cleanup(&parsed); -+ -+ return err; -+} -+ - static struct mtd_part *allocate_partition(struct mtd_info *parent, - const struct mtd_partition *part, int partno, - uint64_t cur_offset) -@@ -778,6 +807,8 @@ int add_mtd_partitions(struct mtd_info * - } - - mtd_add_partition_attrs(slave); -+ if (parts[i].types) -+ mtd_parse_part(slave, parts[i].types); - - cur_offset = slave->offset + slave->mtd.size; - } ---- a/include/linux/mtd/partitions.h -+++ b/include/linux/mtd/partitions.h -@@ -20,6 +20,12 @@ - * - * For each partition, these fields are available: - * name: string that will be used to label the partition's MTD device. -+ * types: some partitions can be containers using specific format to describe -+ * embedded subpartitions / volumes. E.g. many home routers use "firmware" -+ * partition that contains at least kernel and rootfs. In such case an -+ * extra parser is needed that will detect these dynamic partitions and -+ * report them to the MTD subsystem. If set this property stores an array -+ * of parser names to use when looking for subpartitions. - * size: the partition size; if defined as MTDPART_SIZ_FULL, the partition - * will extend to the end of the master MTD device. - * offset: absolute starting position within the master MTD device; if -@@ -38,6 +44,7 @@ - - struct mtd_partition { - const char *name; /* identifier string */ -+ const char *const *types; /* names of parsers to use if any */ - uint64_t size; /* partition size */ - uint64_t offset; /* offset within the master MTD space */ - uint32_t mask_flags; /* master MTD flags to mask out for this partition */ |