- parts = init_mtd_partitions(adm5120_mtd, size);
- for (i = 0; parts[i].name; i++);
- ret = add_mtd_partitions(adm5120_mtd, parts, i);
- if (ret) {
- printk(KERN_ERR "Flash: add_mtd_partitions failed\n");
- goto fail;
+
+ if (adm5120_info.boot_loader == BOOT_LOADER_CFE)
+ {
+ printk(KERN_NOTICE "adm5120 : using CFE flash mapping\n");
+ parts = init_mtd_partitions(adm5120_mtd, size);
+
+ for (i = 0; parts[i].name; i++);
+ ret = add_mtd_partitions(adm5120_mtd, parts, i);
+
+ if (ret) {
+ printk(KERN_ERR "Flash: add_mtd_partitions failed\n");
+ goto fail;
+ }
+ }
+#endif
+#ifdef CONFIG_MTD_MYLOADER_PARTS
+ if (adm5120_info.boot_loader == BOOT_LOADER_MYLOADER)
+ {
+ printk(KERN_NOTICE "adm5120 : using MyLoader flash mapping\n");
+ char *part_type;
+
+ if (parsed_nr_parts == 0) {
+ ret = parse_myloader_partitions(adm5120_mtd, &parts, 0);
+
+ if (ret > 0) {
+ part_type ="MyLoader";
+ parsed_nr_parts = ret;
+ }
+ }
+ ret = add_mtd_partitions(adm5120_mtd, parts, parsed_nr_parts);
+
+ if (ret) {
+ printk(KERN_ERR "Flash: add_mtd_partitions failed\n");
+ goto fail;
+ }