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 | fc79d210e0e70047309806c84aca02a00ae577b8 (patch) | |
tree | 680c5a77a8933a98ecbdf81bc598e3eee02a5106 | |
parent | 261fc738ccc74f28767ad70f0004c5c0fdcf312f (diff) | |
download | upstream-fc79d210e0e70047309806c84aca02a00ae577b8.tar.gz upstream-fc79d210e0e70047309806c84aca02a00ae577b8.tar.bz2 upstream-fc79d210e0e70047309806c84aca02a00ae577b8.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>
SVN-Revision: 38197
-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; |