int add_mtd_partitions(struct mtd_info *master, const struct mtd_partition *parts, int nbparts) { struct mtd_part *slave; uint64_t cur_offset = 0; int i; /* * Need to init the list here, since LIST_INIT() does not * work on platforms where relocation has problems (like MIPS * & PPC). */ if (mtd_partitions.next == NULL) INIT_LIST_HEAD(&mtd_partitions); printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); for (i = 0; i < nbparts; i++) { slave = add_one_partition(master, parts + i, i, cur_offset); if (!slave) return -ENOMEM; cur_offset = slave->offset + slave->mtd.size; } return 0; }
int add_mtd_partitions(struct mtd_info *master, const struct mtd_partition *parts, int nbparts) { struct mtd_part *slave; uint64_t cur_offset = 0; int i; printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); for (i = 0; i < nbparts; i++) { slave = add_one_partition(master, parts + i, i, cur_offset); if (!slave) return -ENOMEM; cur_offset = slave->offset + slave->mtd.size; #if defined(CONFIG_MACH_ACER_A1) /* When MTD add partition, we use the information to create a proc entry containing dinfo. */ if(strcmp("dinfo", slave->mtd.name) == 0){ if( create_srs_proc_entry(&slave->mtd) ){ printk(KERN_ERR"SRS PROC ENTRY CREATE FAILED!\n"); } } #endif } return 0; }
int add_mtd_partitions(struct mtd_info *master, const struct mtd_partition *parts, int nbparts) { struct mtd_part *slave; u_int32_t cur_offset = 0; int i; printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); for (i = 0; i < nbparts; i++) { slave = add_one_partition(master, parts + i, i, cur_offset); if (!slave) return -ENOMEM; cur_offset = slave->offset + slave->mtd.size; } return 0; }