diff options
-rw-r--r-- | drivers/mtd/mtdpart.c | 18 | ||||
-rw-r--r-- | include/linux/mtd/partitions.h | 1 |
2 files changed, 4 insertions, 15 deletions
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index 63d1cd2c17be..349fcbe5cc0f 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c | |||
@@ -27,9 +27,7 @@ struct mtd_part { | |||
27 | struct mtd_info mtd; | 27 | struct mtd_info mtd; |
28 | struct mtd_info *master; | 28 | struct mtd_info *master; |
29 | uint64_t offset; | 29 | uint64_t offset; |
30 | int index; | ||
31 | struct list_head list; | 30 | struct list_head list; |
32 | int registered; | ||
33 | }; | 31 | }; |
34 | 32 | ||
35 | /* | 33 | /* |
@@ -321,8 +319,7 @@ int del_mtd_partitions(struct mtd_info *master) | |||
321 | list_for_each_entry_safe(slave, next, &mtd_partitions, list) | 319 | list_for_each_entry_safe(slave, next, &mtd_partitions, list) |
322 | if (slave->master == master) { | 320 | if (slave->master == master) { |
323 | list_del(&slave->list); | 321 | list_del(&slave->list); |
324 | if (slave->registered) | 322 | del_mtd_device(&slave->mtd); |
325 | del_mtd_device(&slave->mtd); | ||
326 | kfree(slave); | 323 | kfree(slave); |
327 | } | 324 | } |
328 | 325 | ||
@@ -412,7 +409,6 @@ static struct mtd_part *add_one_partition(struct mtd_info *master, | |||
412 | slave->mtd.erase = part_erase; | 409 | slave->mtd.erase = part_erase; |
413 | slave->master = master; | 410 | slave->master = master; |
414 | slave->offset = part->offset; | 411 | slave->offset = part->offset; |
415 | slave->index = partno; | ||
416 | 412 | ||
417 | if (slave->offset == MTDPART_OFS_APPEND) | 413 | if (slave->offset == MTDPART_OFS_APPEND) |
418 | slave->offset = cur_offset; | 414 | slave->offset = cur_offset; |
@@ -500,15 +496,9 @@ static struct mtd_part *add_one_partition(struct mtd_info *master, | |||
500 | } | 496 | } |
501 | 497 | ||
502 | out_register: | 498 | out_register: |
503 | if (part->mtdp) { | 499 | /* register our partition */ |
504 | /* store the object pointer (caller may or may not register it*/ | 500 | add_mtd_device(&slave->mtd); |
505 | *part->mtdp = &slave->mtd; | 501 | |
506 | slave->registered = 0; | ||
507 | } else { | ||
508 | /* register our partition */ | ||
509 | add_mtd_device(&slave->mtd); | ||
510 | slave->registered = 1; | ||
511 | } | ||
512 | return slave; | 502 | return slave; |
513 | } | 503 | } |
514 | 504 | ||
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h index 7535a74083b9..af6dcb992bc3 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h | |||
@@ -40,7 +40,6 @@ struct mtd_partition { | |||
40 | uint64_t offset; /* offset within the master MTD space */ | 40 | uint64_t offset; /* offset within the master MTD space */ |
41 | uint32_t mask_flags; /* master MTD flags to mask out for this partition */ | 41 | uint32_t mask_flags; /* master MTD flags to mask out for this partition */ |
42 | struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ | 42 | struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/ |
43 | struct mtd_info **mtdp; /* pointer to store the MTD object */ | ||
44 | }; | 43 | }; |
45 | 44 | ||
46 | #define MTDPART_OFS_NXTBLK (-2) | 45 | #define MTDPART_OFS_NXTBLK (-2) |