diff options
Diffstat (limited to 'drivers/mtd/ubi')
-rw-r--r-- | drivers/mtd/ubi/cdev.c | 1 | ||||
-rw-r--r-- | drivers/mtd/ubi/ubi.h | 26 | ||||
-rw-r--r-- | drivers/mtd/ubi/vmt.c | 26 |
3 files changed, 2 insertions, 51 deletions
diff --git a/drivers/mtd/ubi/cdev.c b/drivers/mtd/ubi/cdev.c index 631983615f11..f237ddbb2713 100644 --- a/drivers/mtd/ubi/cdev.c +++ b/drivers/mtd/ubi/cdev.c | |||
@@ -395,7 +395,6 @@ static ssize_t vol_cdev_write(struct file *file, const char __user *buf, | |||
395 | vol->corrupted = 1; | 395 | vol->corrupted = 1; |
396 | } | 396 | } |
397 | vol->checked = 1; | 397 | vol->checked = 1; |
398 | ubi_gluebi_updated(vol); | ||
399 | ubi_volume_notify(ubi, vol, UBI_VOLUME_UPDATED); | 398 | ubi_volume_notify(ubi, vol, UBI_VOLUME_UPDATED); |
400 | revoke_exclusive(desc, UBI_READWRITE); | 399 | revoke_exclusive(desc, UBI_READWRITE); |
401 | } | 400 | } |
diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h index 86e1a4e0ab01..82da62bde413 100644 --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h | |||
@@ -231,10 +231,6 @@ struct ubi_volume_desc; | |||
231 | * @changing_leb: %1 if the atomic LEB change ioctl command is in progress | 231 | * @changing_leb: %1 if the atomic LEB change ioctl command is in progress |
232 | * @direct_writes: %1 if direct writes are enabled for this volume | 232 | * @direct_writes: %1 if direct writes are enabled for this volume |
233 | * | 233 | * |
234 | * @gluebi_desc: gluebi UBI volume descriptor | ||
235 | * @gluebi_refcount: reference count of the gluebi MTD device | ||
236 | * @gluebi_mtd: MTD device description object of the gluebi MTD device | ||
237 | * | ||
238 | * The @corrupted field indicates that the volume's contents is corrupted. | 234 | * The @corrupted field indicates that the volume's contents is corrupted. |
239 | * Since UBI protects only static volumes, this field is not relevant to | 235 | * Since UBI protects only static volumes, this field is not relevant to |
240 | * dynamic volumes - it is user's responsibility to assure their data | 236 | * dynamic volumes - it is user's responsibility to assure their data |
@@ -278,17 +274,6 @@ struct ubi_volume { | |||
278 | unsigned int updating:1; | 274 | unsigned int updating:1; |
279 | unsigned int changing_leb:1; | 275 | unsigned int changing_leb:1; |
280 | unsigned int direct_writes:1; | 276 | unsigned int direct_writes:1; |
281 | |||
282 | #ifdef CONFIG_MTD_UBI_GLUEBI | ||
283 | /* | ||
284 | * Gluebi-related stuff may be compiled out. | ||
285 | * Note: this should not be built into UBI but should be a separate | ||
286 | * ubimtd driver which works on top of UBI and emulates MTD devices. | ||
287 | */ | ||
288 | struct ubi_volume_desc *gluebi_desc; | ||
289 | int gluebi_refcount; | ||
290 | struct mtd_info gluebi_mtd; | ||
291 | #endif | ||
292 | }; | 277 | }; |
293 | 278 | ||
294 | /** | 279 | /** |
@@ -517,17 +502,6 @@ int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, | |||
517 | int ubi_check_volume(struct ubi_device *ubi, int vol_id); | 502 | int ubi_check_volume(struct ubi_device *ubi, int vol_id); |
518 | void ubi_calculate_reserved(struct ubi_device *ubi); | 503 | void ubi_calculate_reserved(struct ubi_device *ubi); |
519 | 504 | ||
520 | /* gluebi.c */ | ||
521 | #ifdef CONFIG_MTD_UBI_GLUEBI | ||
522 | int ubi_create_gluebi(struct ubi_device *ubi, struct ubi_volume *vol); | ||
523 | int ubi_destroy_gluebi(struct ubi_volume *vol); | ||
524 | void ubi_gluebi_updated(struct ubi_volume *vol); | ||
525 | #else | ||
526 | #define ubi_create_gluebi(ubi, vol) 0 | ||
527 | #define ubi_destroy_gluebi(vol) 0 | ||
528 | #define ubi_gluebi_updated(vol) | ||
529 | #endif | ||
530 | |||
531 | /* eba.c */ | 505 | /* eba.c */ |
532 | int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, | 506 | int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, |
533 | int lnum); | 507 | int lnum); |
diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index e151862a3a98..ab64cb56df6e 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c | |||
@@ -317,10 +317,6 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) | |||
317 | goto out_mapping; | 317 | goto out_mapping; |
318 | } | 318 | } |
319 | 319 | ||
320 | err = ubi_create_gluebi(ubi, vol); | ||
321 | if (err) | ||
322 | goto out_cdev; | ||
323 | |||
324 | vol->dev.release = vol_release; | 320 | vol->dev.release = vol_release; |
325 | vol->dev.parent = &ubi->dev; | 321 | vol->dev.parent = &ubi->dev; |
326 | vol->dev.devt = dev; | 322 | vol->dev.devt = dev; |
@@ -330,7 +326,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) | |||
330 | err = device_register(&vol->dev); | 326 | err = device_register(&vol->dev); |
331 | if (err) { | 327 | if (err) { |
332 | ubi_err("cannot register device"); | 328 | ubi_err("cannot register device"); |
333 | goto out_gluebi; | 329 | goto out_cdev; |
334 | } | 330 | } |
335 | 331 | ||
336 | err = volume_sysfs_init(ubi, vol); | 332 | err = volume_sysfs_init(ubi, vol); |
@@ -375,10 +371,6 @@ out_sysfs: | |||
375 | do_free = 0; | 371 | do_free = 0; |
376 | get_device(&vol->dev); | 372 | get_device(&vol->dev); |
377 | volume_sysfs_close(vol); | 373 | volume_sysfs_close(vol); |
378 | out_gluebi: | ||
379 | if (ubi_destroy_gluebi(vol)) | ||
380 | dbg_err("cannot destroy gluebi for volume %d:%d", | ||
381 | ubi->ubi_num, vol_id); | ||
382 | out_cdev: | 374 | out_cdev: |
383 | cdev_del(&vol->cdev); | 375 | cdev_del(&vol->cdev); |
384 | out_mapping: | 376 | out_mapping: |
@@ -433,10 +425,6 @@ int ubi_remove_volume(struct ubi_volume_desc *desc, int no_vtbl) | |||
433 | ubi->volumes[vol_id] = NULL; | 425 | ubi->volumes[vol_id] = NULL; |
434 | spin_unlock(&ubi->volumes_lock); | 426 | spin_unlock(&ubi->volumes_lock); |
435 | 427 | ||
436 | err = ubi_destroy_gluebi(vol); | ||
437 | if (err) | ||
438 | goto out_err; | ||
439 | |||
440 | if (!no_vtbl) { | 428 | if (!no_vtbl) { |
441 | err = ubi_change_vtbl_record(ubi, vol_id, NULL); | 429 | err = ubi_change_vtbl_record(ubi, vol_id, NULL); |
442 | if (err) | 430 | if (err) |
@@ -674,10 +662,6 @@ int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) | |||
674 | return err; | 662 | return err; |
675 | } | 663 | } |
676 | 664 | ||
677 | err = ubi_create_gluebi(ubi, vol); | ||
678 | if (err) | ||
679 | goto out_cdev; | ||
680 | |||
681 | vol->dev.release = vol_release; | 665 | vol->dev.release = vol_release; |
682 | vol->dev.parent = &ubi->dev; | 666 | vol->dev.parent = &ubi->dev; |
683 | vol->dev.devt = dev; | 667 | vol->dev.devt = dev; |
@@ -685,12 +669,11 @@ int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) | |||
685 | dev_set_name(&vol->dev, "%s_%d", ubi->ubi_name, vol->vol_id); | 669 | dev_set_name(&vol->dev, "%s_%d", ubi->ubi_name, vol->vol_id); |
686 | err = device_register(&vol->dev); | 670 | err = device_register(&vol->dev); |
687 | if (err) | 671 | if (err) |
688 | goto out_gluebi; | 672 | goto out_cdev; |
689 | 673 | ||
690 | err = volume_sysfs_init(ubi, vol); | 674 | err = volume_sysfs_init(ubi, vol); |
691 | if (err) { | 675 | if (err) { |
692 | cdev_del(&vol->cdev); | 676 | cdev_del(&vol->cdev); |
693 | err = ubi_destroy_gluebi(vol); | ||
694 | volume_sysfs_close(vol); | 677 | volume_sysfs_close(vol); |
695 | return err; | 678 | return err; |
696 | } | 679 | } |
@@ -699,8 +682,6 @@ int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) | |||
699 | dbg_err("check failed while adding volume %d", vol_id); | 682 | dbg_err("check failed while adding volume %d", vol_id); |
700 | return err; | 683 | return err; |
701 | 684 | ||
702 | out_gluebi: | ||
703 | err = ubi_destroy_gluebi(vol); | ||
704 | out_cdev: | 685 | out_cdev: |
705 | cdev_del(&vol->cdev); | 686 | cdev_del(&vol->cdev); |
706 | return err; | 687 | return err; |
@@ -716,12 +697,9 @@ out_cdev: | |||
716 | */ | 697 | */ |
717 | void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol) | 698 | void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol) |
718 | { | 699 | { |
719 | int err; | ||
720 | |||
721 | dbg_gen("free volume %d", vol->vol_id); | 700 | dbg_gen("free volume %d", vol->vol_id); |
722 | 701 | ||
723 | ubi->volumes[vol->vol_id] = NULL; | 702 | ubi->volumes[vol->vol_id] = NULL; |
724 | err = ubi_destroy_gluebi(vol); | ||
725 | cdev_del(&vol->cdev); | 703 | cdev_del(&vol->cdev); |
726 | volume_sysfs_close(vol); | 704 | volume_sysfs_close(vol); |
727 | } | 705 | } |