diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-09-25 20:13:12 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-09-25 20:13:12 +0000 |
commit | d244289a5bdc75acf36ba74f4b950f75ac5d7c52 (patch) | |
tree | cc6f6d4539454d2921e3ee0ba02e3b6ba47cef34 /target/linux/generic | |
parent | 010e61dadd9bb18da2f69173f47406c311b05d6f (diff) |
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')
-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; |