diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-09-25 20:13:12 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-09-25 20:13:12 +0000 |
commit | 63d8d86449c5b4e64d6bb71b8bacd768e356dbf2 (patch) | |
tree | cc6f6d4539454d2921e3ee0ba02e3b6ba47cef34 /target/linux/generic/files/drivers/mtd | |
parent | e51a6a6d99af6765816bf2d1e8b6be8bd0ef0377 (diff) | |
download | master-187ad058-63d8d86449c5b4e64d6bb71b8bacd768e356dbf2.tar.gz master-187ad058-63d8d86449c5b4e64d6bb71b8bacd768e356dbf2.tar.bz2 master-187ad058-63d8d86449c5b4e64d6bb71b8bacd768e356dbf2.zip |
kernel: create firmware partition from MyLoader partition parser
This is in preparation for sysupgrade support for Compex devices.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38197 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/files/drivers/mtd')
-rw-r--r-- | target/linux/generic/files/drivers/mtd/myloader.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/target/linux/generic/files/drivers/mtd/myloader.c b/target/linux/generic/files/drivers/mtd/myloader.c index 72956cdc1c..93b4a9b286 100644 --- a/target/linux/generic/files/drivers/mtd/myloader.c +++ b/target/linux/generic/files/drivers/mtd/myloader.c @@ -89,8 +89,12 @@ static int myloader_parse_partitions(struct mtd_info *master, goto out_free_buf; } - /* The MyLoader and the Partition Table is always present */ - num_parts = 2; + /* + * The MyLoader and the Partition Table is always present. + * Additionally, an extra partition is generated to cover + * everything after the bootloader. + */ + num_parts = 3; /* Detect number of used partitions */ for (i = 0; i < MYLO_MAX_PARTITIONS; i++) { @@ -121,6 +125,13 @@ static int myloader_parse_partitions(struct mtd_info *master, mtd_part++; names += PART_NAME_LEN; + strncpy(names, "firmware", PART_NAME_LEN); + mtd_part->name = names; + mtd_part->offset = offset; + mtd_part->size = master->size - offset; + mtd_part++; + names += PART_NAME_LEN; + strncpy(names, "partition_table", PART_NAME_LEN); mtd_part->name = names; mtd_part->offset = offset; |