diff options
| -rw-r--r-- | drivers/mtd/ubi/debug.c | 38 | ||||
| -rw-r--r-- | drivers/mtd/ubi/eba.c | 62 | ||||
| -rw-r--r-- | drivers/mtd/ubi/io.c | 46 | ||||
| -rw-r--r-- | drivers/mtd/ubi/scan.c | 56 | ||||
| -rw-r--r-- | drivers/mtd/ubi/vmt.c | 18 | ||||
| -rw-r--r-- | drivers/mtd/ubi/vtbl.c | 40 | ||||
| -rw-r--r-- | drivers/mtd/ubi/wl.c | 4 | ||||
| -rw-r--r-- | include/mtd/ubi-header.h | 101 |
8 files changed, 168 insertions, 197 deletions
diff --git a/drivers/mtd/ubi/debug.c b/drivers/mtd/ubi/debug.c index 86364221fafe..9a996c5280f9 100644 --- a/drivers/mtd/ubi/debug.c +++ b/drivers/mtd/ubi/debug.c | |||
| @@ -35,12 +35,12 @@ | |||
| 35 | void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr) | 35 | void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr) |
| 36 | { | 36 | { |
| 37 | dbg_msg("erase counter header dump:"); | 37 | dbg_msg("erase counter header dump:"); |
| 38 | dbg_msg("magic %#08x", ubi32_to_cpu(ec_hdr->magic)); | 38 | dbg_msg("magic %#08x", be32_to_cpu(ec_hdr->magic)); |
| 39 | dbg_msg("version %d", (int)ec_hdr->version); | 39 | dbg_msg("version %d", (int)ec_hdr->version); |
| 40 | dbg_msg("ec %llu", (long long)ubi64_to_cpu(ec_hdr->ec)); | 40 | dbg_msg("ec %llu", (long long)be64_to_cpu(ec_hdr->ec)); |
| 41 | dbg_msg("vid_hdr_offset %d", ubi32_to_cpu(ec_hdr->vid_hdr_offset)); | 41 | dbg_msg("vid_hdr_offset %d", be32_to_cpu(ec_hdr->vid_hdr_offset)); |
| 42 | dbg_msg("data_offset %d", ubi32_to_cpu(ec_hdr->data_offset)); | 42 | dbg_msg("data_offset %d", be32_to_cpu(ec_hdr->data_offset)); |
| 43 | dbg_msg("hdr_crc %#08x", ubi32_to_cpu(ec_hdr->hdr_crc)); | 43 | dbg_msg("hdr_crc %#08x", be32_to_cpu(ec_hdr->hdr_crc)); |
| 44 | dbg_msg("erase counter header hexdump:"); | 44 | dbg_msg("erase counter header hexdump:"); |
| 45 | ubi_dbg_hexdump(ec_hdr, UBI_EC_HDR_SIZE); | 45 | ubi_dbg_hexdump(ec_hdr, UBI_EC_HDR_SIZE); |
| 46 | } | 46 | } |
| @@ -52,20 +52,20 @@ void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr) | |||
| 52 | void ubi_dbg_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr) | 52 | void ubi_dbg_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr) |
| 53 | { | 53 | { |
| 54 | dbg_msg("volume identifier header dump:"); | 54 | dbg_msg("volume identifier header dump:"); |
| 55 | dbg_msg("magic %08x", ubi32_to_cpu(vid_hdr->magic)); | 55 | dbg_msg("magic %08x", be32_to_cpu(vid_hdr->magic)); |
| 56 | dbg_msg("version %d", (int)vid_hdr->version); | 56 | dbg_msg("version %d", (int)vid_hdr->version); |
| 57 | dbg_msg("vol_type %d", (int)vid_hdr->vol_type); | 57 | dbg_msg("vol_type %d", (int)vid_hdr->vol_type); |
| 58 | dbg_msg("copy_flag %d", (int)vid_hdr->copy_flag); | 58 | dbg_msg("copy_flag %d", (int)vid_hdr->copy_flag); |
| 59 | dbg_msg("compat %d", (int)vid_hdr->compat); | 59 | dbg_msg("compat %d", (int)vid_hdr->compat); |
| 60 | dbg_msg("vol_id %d", ubi32_to_cpu(vid_hdr->vol_id)); | 60 | dbg_msg("vol_id %d", be32_to_cpu(vid_hdr->vol_id)); |
| 61 | dbg_msg("lnum %d", ubi32_to_cpu(vid_hdr->lnum)); | 61 | dbg_msg("lnum %d", be32_to_cpu(vid_hdr->lnum)); |
| 62 | dbg_msg("leb_ver %u", ubi32_to_cpu(vid_hdr->leb_ver)); | 62 | dbg_msg("leb_ver %u", be32_to_cpu(vid_hdr->leb_ver)); |
| 63 | dbg_msg("data_size %d", ubi32_to_cpu(vid_hdr->data_size)); | 63 | dbg_msg("data_size %d", be32_to_cpu(vid_hdr->data_size)); |
| 64 | dbg_msg("used_ebs %d", ubi32_to_cpu(vid_hdr->used_ebs)); | 64 | dbg_msg("used_ebs %d", be32_to_cpu(vid_hdr->used_ebs)); |
| 65 | dbg_msg("data_pad %d", ubi32_to_cpu(vid_hdr->data_pad)); | 65 | dbg_msg("data_pad %d", be32_to_cpu(vid_hdr->data_pad)); |
| 66 | dbg_msg("sqnum %llu", | 66 | dbg_msg("sqnum %llu", |
| 67 | (unsigned long long)ubi64_to_cpu(vid_hdr->sqnum)); | 67 | (unsigned long long)be64_to_cpu(vid_hdr->sqnum)); |
| 68 | dbg_msg("hdr_crc %08x", ubi32_to_cpu(vid_hdr->hdr_crc)); | 68 | dbg_msg("hdr_crc %08x", be32_to_cpu(vid_hdr->hdr_crc)); |
| 69 | dbg_msg("volume identifier header hexdump:"); | 69 | dbg_msg("volume identifier header hexdump:"); |
| 70 | } | 70 | } |
| 71 | 71 | ||
| @@ -106,12 +106,12 @@ void ubi_dbg_dump_vol_info(const struct ubi_volume *vol) | |||
| 106 | */ | 106 | */ |
| 107 | void ubi_dbg_dump_vtbl_record(const struct ubi_vtbl_record *r, int idx) | 107 | void ubi_dbg_dump_vtbl_record(const struct ubi_vtbl_record *r, int idx) |
| 108 | { | 108 | { |
| 109 | int name_len = ubi16_to_cpu(r->name_len); | 109 | int name_len = be16_to_cpu(r->name_len); |
| 110 | 110 | ||
| 111 | dbg_msg("volume table record %d dump:", idx); | 111 | dbg_msg("volume table record %d dump:", idx); |
| 112 | dbg_msg("reserved_pebs %d", ubi32_to_cpu(r->reserved_pebs)); | 112 | dbg_msg("reserved_pebs %d", be32_to_cpu(r->reserved_pebs)); |
| 113 | dbg_msg("alignment %d", ubi32_to_cpu(r->alignment)); | 113 | dbg_msg("alignment %d", be32_to_cpu(r->alignment)); |
| 114 | dbg_msg("data_pad %d", ubi32_to_cpu(r->data_pad)); | 114 | dbg_msg("data_pad %d", be32_to_cpu(r->data_pad)); |
| 115 | dbg_msg("vol_type %d", (int)r->vol_type); | 115 | dbg_msg("vol_type %d", (int)r->vol_type); |
| 116 | dbg_msg("upd_marker %d", (int)r->upd_marker); | 116 | dbg_msg("upd_marker %d", (int)r->upd_marker); |
| 117 | dbg_msg("name_len %d", name_len); | 117 | dbg_msg("name_len %d", name_len); |
| @@ -129,7 +129,7 @@ void ubi_dbg_dump_vtbl_record(const struct ubi_vtbl_record *r, int idx) | |||
| 129 | r->name[0], r->name[1], r->name[2], r->name[3], | 129 | r->name[0], r->name[1], r->name[2], r->name[3], |
| 130 | r->name[4]); | 130 | r->name[4]); |
| 131 | } | 131 | } |
| 132 | dbg_msg("crc %#08x", ubi32_to_cpu(r->crc)); | 132 | dbg_msg("crc %#08x", be32_to_cpu(r->crc)); |
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | /** | 135 | /** |
diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c index 6964fe4ab41a..a1820151e9f9 100644 --- a/drivers/mtd/ubi/eba.c +++ b/drivers/mtd/ubi/eba.c | |||
| @@ -425,10 +425,10 @@ retry: | |||
| 425 | } else if (err == UBI_IO_BITFLIPS) | 425 | } else if (err == UBI_IO_BITFLIPS) |
| 426 | scrub = 1; | 426 | scrub = 1; |
| 427 | 427 | ||
| 428 | ubi_assert(lnum < ubi32_to_cpu(vid_hdr->used_ebs)); | 428 | ubi_assert(lnum < be32_to_cpu(vid_hdr->used_ebs)); |
| 429 | ubi_assert(len == ubi32_to_cpu(vid_hdr->data_size)); | 429 | ubi_assert(len == be32_to_cpu(vid_hdr->data_size)); |
| 430 | 430 | ||
| 431 | crc = ubi32_to_cpu(vid_hdr->data_crc); | 431 | crc = be32_to_cpu(vid_hdr->data_crc); |
| 432 | ubi_free_vid_hdr(ubi, vid_hdr); | 432 | ubi_free_vid_hdr(ubi, vid_hdr); |
| 433 | } | 433 | } |
| 434 | 434 | ||
| @@ -518,7 +518,7 @@ retry: | |||
| 518 | goto out_put; | 518 | goto out_put; |
| 519 | } | 519 | } |
| 520 | 520 | ||
| 521 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 521 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 522 | err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr); | 522 | err = ubi_io_write_vid_hdr(ubi, new_pnum, vid_hdr); |
| 523 | if (err) | 523 | if (err) |
| 524 | goto write_error; | 524 | goto write_error; |
| @@ -634,11 +634,11 @@ int ubi_eba_write_leb(struct ubi_device *ubi, int vol_id, int lnum, | |||
| 634 | } | 634 | } |
| 635 | 635 | ||
| 636 | vid_hdr->vol_type = UBI_VID_DYNAMIC; | 636 | vid_hdr->vol_type = UBI_VID_DYNAMIC; |
| 637 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 637 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 638 | vid_hdr->vol_id = cpu_to_ubi32(vol_id); | 638 | vid_hdr->vol_id = cpu_to_be32(vol_id); |
| 639 | vid_hdr->lnum = cpu_to_ubi32(lnum); | 639 | vid_hdr->lnum = cpu_to_be32(lnum); |
| 640 | vid_hdr->compat = ubi_get_compat(ubi, vol_id); | 640 | vid_hdr->compat = ubi_get_compat(ubi, vol_id); |
| 641 | vid_hdr->data_pad = cpu_to_ubi32(vol->data_pad); | 641 | vid_hdr->data_pad = cpu_to_be32(vol->data_pad); |
| 642 | 642 | ||
| 643 | retry: | 643 | retry: |
| 644 | pnum = ubi_wl_get_peb(ubi, dtype); | 644 | pnum = ubi_wl_get_peb(ubi, dtype); |
| @@ -692,7 +692,7 @@ write_error: | |||
| 692 | return err; | 692 | return err; |
| 693 | } | 693 | } |
| 694 | 694 | ||
| 695 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 695 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 696 | ubi_msg("try another PEB"); | 696 | ubi_msg("try another PEB"); |
| 697 | goto retry; | 697 | goto retry; |
| 698 | } | 698 | } |
| @@ -748,17 +748,17 @@ int ubi_eba_write_leb_st(struct ubi_device *ubi, int vol_id, int lnum, | |||
| 748 | return err; | 748 | return err; |
| 749 | } | 749 | } |
| 750 | 750 | ||
| 751 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 751 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 752 | vid_hdr->vol_id = cpu_to_ubi32(vol_id); | 752 | vid_hdr->vol_id = cpu_to_be32(vol_id); |
| 753 | vid_hdr->lnum = cpu_to_ubi32(lnum); | 753 | vid_hdr->lnum = cpu_to_be32(lnum); |
| 754 | vid_hdr->compat = ubi_get_compat(ubi, vol_id); | 754 | vid_hdr->compat = ubi_get_compat(ubi, vol_id); |
| 755 | vid_hdr->data_pad = cpu_to_ubi32(vol->data_pad); | 755 | vid_hdr->data_pad = cpu_to_be32(vol->data_pad); |
| 756 | 756 | ||
| 757 | crc = crc32(UBI_CRC32_INIT, buf, data_size); | 757 | crc = crc32(UBI_CRC32_INIT, buf, data_size); |
| 758 | vid_hdr->vol_type = UBI_VID_STATIC; | 758 | vid_hdr->vol_type = UBI_VID_STATIC; |
| 759 | vid_hdr->data_size = cpu_to_ubi32(data_size); | 759 | vid_hdr->data_size = cpu_to_be32(data_size); |
| 760 | vid_hdr->used_ebs = cpu_to_ubi32(used_ebs); | 760 | vid_hdr->used_ebs = cpu_to_be32(used_ebs); |
| 761 | vid_hdr->data_crc = cpu_to_ubi32(crc); | 761 | vid_hdr->data_crc = cpu_to_be32(crc); |
| 762 | 762 | ||
| 763 | retry: | 763 | retry: |
| 764 | pnum = ubi_wl_get_peb(ubi, dtype); | 764 | pnum = ubi_wl_get_peb(ubi, dtype); |
| @@ -813,7 +813,7 @@ write_error: | |||
| 813 | return err; | 813 | return err; |
| 814 | } | 814 | } |
| 815 | 815 | ||
| 816 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 816 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 817 | ubi_msg("try another PEB"); | 817 | ubi_msg("try another PEB"); |
| 818 | goto retry; | 818 | goto retry; |
| 819 | } | 819 | } |
| @@ -854,17 +854,17 @@ int ubi_eba_atomic_leb_change(struct ubi_device *ubi, int vol_id, int lnum, | |||
| 854 | return err; | 854 | return err; |
| 855 | } | 855 | } |
| 856 | 856 | ||
| 857 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 857 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 858 | vid_hdr->vol_id = cpu_to_ubi32(vol_id); | 858 | vid_hdr->vol_id = cpu_to_be32(vol_id); |
| 859 | vid_hdr->lnum = cpu_to_ubi32(lnum); | 859 | vid_hdr->lnum = cpu_to_be32(lnum); |
| 860 | vid_hdr->compat = ubi_get_compat(ubi, vol_id); | 860 | vid_hdr->compat = ubi_get_compat(ubi, vol_id); |
| 861 | vid_hdr->data_pad = cpu_to_ubi32(vol->data_pad); | 861 | vid_hdr->data_pad = cpu_to_be32(vol->data_pad); |
| 862 | 862 | ||
| 863 | crc = crc32(UBI_CRC32_INIT, buf, len); | 863 | crc = crc32(UBI_CRC32_INIT, buf, len); |
| 864 | vid_hdr->vol_type = UBI_VID_STATIC; | 864 | vid_hdr->vol_type = UBI_VID_STATIC; |
| 865 | vid_hdr->data_size = cpu_to_ubi32(len); | 865 | vid_hdr->data_size = cpu_to_be32(len); |
| 866 | vid_hdr->copy_flag = 1; | 866 | vid_hdr->copy_flag = 1; |
| 867 | vid_hdr->data_crc = cpu_to_ubi32(crc); | 867 | vid_hdr->data_crc = cpu_to_be32(crc); |
| 868 | 868 | ||
| 869 | retry: | 869 | retry: |
| 870 | pnum = ubi_wl_get_peb(ubi, dtype); | 870 | pnum = ubi_wl_get_peb(ubi, dtype); |
| @@ -924,7 +924,7 @@ write_error: | |||
| 924 | return err; | 924 | return err; |
| 925 | } | 925 | } |
| 926 | 926 | ||
| 927 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 927 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 928 | ubi_msg("try another PEB"); | 928 | ubi_msg("try another PEB"); |
| 929 | goto retry; | 929 | goto retry; |
| 930 | } | 930 | } |
| @@ -965,17 +965,17 @@ int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, | |||
| 965 | uint32_t crc; | 965 | uint32_t crc; |
| 966 | void *buf, *buf1 = NULL; | 966 | void *buf, *buf1 = NULL; |
| 967 | 967 | ||
| 968 | vol_id = ubi32_to_cpu(vid_hdr->vol_id); | 968 | vol_id = be32_to_cpu(vid_hdr->vol_id); |
| 969 | lnum = ubi32_to_cpu(vid_hdr->lnum); | 969 | lnum = be32_to_cpu(vid_hdr->lnum); |
| 970 | 970 | ||
| 971 | dbg_eba("copy LEB %d:%d, PEB %d to PEB %d", vol_id, lnum, from, to); | 971 | dbg_eba("copy LEB %d:%d, PEB %d to PEB %d", vol_id, lnum, from, to); |
| 972 | 972 | ||
| 973 | if (vid_hdr->vol_type == UBI_VID_STATIC) { | 973 | if (vid_hdr->vol_type == UBI_VID_STATIC) { |
| 974 | data_size = ubi32_to_cpu(vid_hdr->data_size); | 974 | data_size = be32_to_cpu(vid_hdr->data_size); |
| 975 | aldata_size = ALIGN(data_size, ubi->min_io_size); | 975 | aldata_size = ALIGN(data_size, ubi->min_io_size); |
| 976 | } else | 976 | } else |
| 977 | data_size = aldata_size = | 977 | data_size = aldata_size = |
| 978 | ubi->leb_size - ubi32_to_cpu(vid_hdr->data_pad); | 978 | ubi->leb_size - be32_to_cpu(vid_hdr->data_pad); |
| 979 | 979 | ||
| 980 | buf = vmalloc(aldata_size); | 980 | buf = vmalloc(aldata_size); |
| 981 | if (!buf) | 981 | if (!buf) |
| @@ -1054,10 +1054,10 @@ int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, | |||
| 1054 | */ | 1054 | */ |
| 1055 | if (data_size > 0) { | 1055 | if (data_size > 0) { |
| 1056 | vid_hdr->copy_flag = 1; | 1056 | vid_hdr->copy_flag = 1; |
| 1057 | vid_hdr->data_size = cpu_to_ubi32(data_size); | 1057 | vid_hdr->data_size = cpu_to_be32(data_size); |
| 1058 | vid_hdr->data_crc = cpu_to_ubi32(crc); | 1058 | vid_hdr->data_crc = cpu_to_be32(crc); |
| 1059 | } | 1059 | } |
| 1060 | vid_hdr->sqnum = cpu_to_ubi64(next_sqnum(ubi)); | 1060 | vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi)); |
| 1061 | 1061 | ||
| 1062 | err = ubi_io_write_vid_hdr(ubi, to, vid_hdr); | 1062 | err = ubi_io_write_vid_hdr(ubi, to, vid_hdr); |
| 1063 | if (err) | 1063 | if (err) |
diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c index 7bb473e646e3..20e297ad7f6b 100644 --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c | |||
| @@ -557,9 +557,9 @@ static int validate_ec_hdr(const struct ubi_device *ubi, | |||
| 557 | long long ec; | 557 | long long ec; |
| 558 | int vid_hdr_offset, leb_start; | 558 | int vid_hdr_offset, leb_start; |
| 559 | 559 | ||
| 560 | ec = ubi64_to_cpu(ec_hdr->ec); | 560 | ec = be64_to_cpu(ec_hdr->ec); |
| 561 | vid_hdr_offset = ubi32_to_cpu(ec_hdr->vid_hdr_offset); | 561 | vid_hdr_offset = be32_to_cpu(ec_hdr->vid_hdr_offset); |
| 562 | leb_start = ubi32_to_cpu(ec_hdr->data_offset); | 562 | leb_start = be32_to_cpu(ec_hdr->data_offset); |
| 563 | 563 | ||
| 564 | if (ec_hdr->version != UBI_VERSION) { | 564 | if (ec_hdr->version != UBI_VERSION) { |
| 565 | ubi_err("node with incompatible UBI version found: " | 565 | ubi_err("node with incompatible UBI version found: " |
| @@ -640,7 +640,7 @@ int ubi_io_read_ec_hdr(const struct ubi_device *ubi, int pnum, | |||
| 640 | read_err = err; | 640 | read_err = err; |
| 641 | } | 641 | } |
| 642 | 642 | ||
| 643 | magic = ubi32_to_cpu(ec_hdr->magic); | 643 | magic = be32_to_cpu(ec_hdr->magic); |
| 644 | if (magic != UBI_EC_HDR_MAGIC) { | 644 | if (magic != UBI_EC_HDR_MAGIC) { |
| 645 | /* | 645 | /* |
| 646 | * The magic field is wrong. Let's check if we have read all | 646 | * The magic field is wrong. Let's check if we have read all |
| @@ -684,7 +684,7 @@ int ubi_io_read_ec_hdr(const struct ubi_device *ubi, int pnum, | |||
| 684 | } | 684 | } |
| 685 | 685 | ||
| 686 | crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC); | 686 | crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC); |
| 687 | hdr_crc = ubi32_to_cpu(ec_hdr->hdr_crc); | 687 | hdr_crc = be32_to_cpu(ec_hdr->hdr_crc); |
| 688 | 688 | ||
| 689 | if (hdr_crc != crc) { | 689 | if (hdr_crc != crc) { |
| 690 | if (verbose) { | 690 | if (verbose) { |
| @@ -729,12 +729,12 @@ int ubi_io_write_ec_hdr(const struct ubi_device *ubi, int pnum, | |||
| 729 | dbg_io("write EC header to PEB %d", pnum); | 729 | dbg_io("write EC header to PEB %d", pnum); |
| 730 | ubi_assert(pnum >= 0 && pnum < ubi->peb_count); | 730 | ubi_assert(pnum >= 0 && pnum < ubi->peb_count); |
| 731 | 731 | ||
| 732 | ec_hdr->magic = cpu_to_ubi32(UBI_EC_HDR_MAGIC); | 732 | ec_hdr->magic = cpu_to_be32(UBI_EC_HDR_MAGIC); |
| 733 | ec_hdr->version = UBI_VERSION; | 733 | ec_hdr->version = UBI_VERSION; |
| 734 | ec_hdr->vid_hdr_offset = cpu_to_ubi32(ubi->vid_hdr_offset); | 734 | ec_hdr->vid_hdr_offset = cpu_to_be32(ubi->vid_hdr_offset); |
| 735 | ec_hdr->data_offset = cpu_to_ubi32(ubi->leb_start); | 735 | ec_hdr->data_offset = cpu_to_be32(ubi->leb_start); |
| 736 | crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC); | 736 | crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC); |
| 737 | ec_hdr->hdr_crc = cpu_to_ubi32(crc); | 737 | ec_hdr->hdr_crc = cpu_to_be32(crc); |
| 738 | 738 | ||
| 739 | err = paranoid_check_ec_hdr(ubi, pnum, ec_hdr); | 739 | err = paranoid_check_ec_hdr(ubi, pnum, ec_hdr); |
| 740 | if (err) | 740 | if (err) |
| @@ -757,13 +757,13 @@ static int validate_vid_hdr(const struct ubi_device *ubi, | |||
| 757 | { | 757 | { |
| 758 | int vol_type = vid_hdr->vol_type; | 758 | int vol_type = vid_hdr->vol_type; |
| 759 | int copy_flag = vid_hdr->copy_flag; | 759 | int copy_flag = vid_hdr->copy_flag; |
| 760 | int vol_id = ubi32_to_cpu(vid_hdr->vol_id); | 760 | int vol_id = be32_to_cpu(vid_hdr->vol_id); |
| 761 | int lnum = ubi32_to_cpu(vid_hdr->lnum); | 761 | int lnum = be32_to_cpu(vid_hdr->lnum); |
| 762 | int compat = vid_hdr->compat; | 762 | int compat = vid_hdr->compat; |
| 763 | int data_size = ubi32_to_cpu(vid_hdr->data_size); | 763 | int data_size = be32_to_cpu(vid_hdr->data_size); |
| 764 | int used_ebs = ubi32_to_cpu(vid_hdr->used_ebs); | 764 | int used_ebs = be32_to_cpu(vid_hdr->used_ebs); |
| 765 | int data_pad = ubi32_to_cpu(vid_hdr->data_pad); | 765 | int data_pad = be32_to_cpu(vid_hdr->data_pad); |
| 766 | int data_crc = ubi32_to_cpu(vid_hdr->data_crc); | 766 | int data_crc = be32_to_cpu(vid_hdr->data_crc); |
| 767 | int usable_leb_size = ubi->leb_size - data_pad; | 767 | int usable_leb_size = ubi->leb_size - data_pad; |
| 768 | 768 | ||
| 769 | if (copy_flag != 0 && copy_flag != 1) { | 769 | if (copy_flag != 0 && copy_flag != 1) { |
| @@ -914,7 +914,7 @@ int ubi_io_read_vid_hdr(const struct ubi_device *ubi, int pnum, | |||
| 914 | read_err = err; | 914 | read_err = err; |
| 915 | } | 915 | } |
| 916 | 916 | ||
| 917 | magic = ubi32_to_cpu(vid_hdr->magic); | 917 | magic = be32_to_cpu(vid_hdr->magic); |
| 918 | if (magic != UBI_VID_HDR_MAGIC) { | 918 | if (magic != UBI_VID_HDR_MAGIC) { |
| 919 | /* | 919 | /* |
| 920 | * If we have read all 0xFF bytes, the VID header probably does | 920 | * If we have read all 0xFF bytes, the VID header probably does |
| @@ -957,7 +957,7 @@ int ubi_io_read_vid_hdr(const struct ubi_device *ubi, int pnum, | |||
| 957 | } | 957 | } |
| 958 | 958 | ||
| 959 | crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_VID_HDR_SIZE_CRC); | 959 | crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_VID_HDR_SIZE_CRC); |
| 960 | hdr_crc = ubi32_to_cpu(vid_hdr->hdr_crc); | 960 | hdr_crc = be32_to_cpu(vid_hdr->hdr_crc); |
| 961 | 961 | ||
| 962 | if (hdr_crc != crc) { | 962 | if (hdr_crc != crc) { |
| 963 | if (verbose) { | 963 | if (verbose) { |
| @@ -1007,10 +1007,10 @@ int ubi_io_write_vid_hdr(const struct ubi_device *ubi, int pnum, | |||
| 1007 | if (err) | 1007 | if (err) |
| 1008 | return err > 0 ? -EINVAL: err; | 1008 | return err > 0 ? -EINVAL: err; |
| 1009 | 1009 | ||
| 1010 | vid_hdr->magic = cpu_to_ubi32(UBI_VID_HDR_MAGIC); | 1010 | vid_hdr->magic = cpu_to_be32(UBI_VID_HDR_MAGIC); |
| 1011 | vid_hdr->version = UBI_VERSION; | 1011 | vid_hdr->version = UBI_VERSION; |
| 1012 | crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_VID_HDR_SIZE_CRC); | 1012 | crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_VID_HDR_SIZE_CRC); |
| 1013 | vid_hdr->hdr_crc = cpu_to_ubi32(crc); | 1013 | vid_hdr->hdr_crc = cpu_to_be32(crc); |
| 1014 | 1014 | ||
| 1015 | err = paranoid_check_vid_hdr(ubi, pnum, vid_hdr); | 1015 | err = paranoid_check_vid_hdr(ubi, pnum, vid_hdr); |
| 1016 | if (err) | 1016 | if (err) |
| @@ -1060,7 +1060,7 @@ static int paranoid_check_ec_hdr(const struct ubi_device *ubi, int pnum, | |||
| 1060 | int err; | 1060 | int err; |
| 1061 | uint32_t magic; | 1061 | uint32_t magic; |
| 1062 | 1062 | ||
| 1063 | magic = ubi32_to_cpu(ec_hdr->magic); | 1063 | magic = be32_to_cpu(ec_hdr->magic); |
| 1064 | if (magic != UBI_EC_HDR_MAGIC) { | 1064 | if (magic != UBI_EC_HDR_MAGIC) { |
| 1065 | ubi_err("bad magic %#08x, must be %#08x", | 1065 | ubi_err("bad magic %#08x, must be %#08x", |
| 1066 | magic, UBI_EC_HDR_MAGIC); | 1066 | magic, UBI_EC_HDR_MAGIC); |
| @@ -1105,7 +1105,7 @@ static int paranoid_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum) | |||
| 1105 | goto exit; | 1105 | goto exit; |
| 1106 | 1106 | ||
| 1107 | crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC); | 1107 | crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC); |
| 1108 | hdr_crc = ubi32_to_cpu(ec_hdr->hdr_crc); | 1108 | hdr_crc = be32_to_cpu(ec_hdr->hdr_crc); |
| 1109 | if (hdr_crc != crc) { | 1109 | if (hdr_crc != crc) { |
| 1110 | ubi_err("bad CRC, calculated %#08x, read %#08x", crc, hdr_crc); | 1110 | ubi_err("bad CRC, calculated %#08x, read %#08x", crc, hdr_crc); |
| 1111 | ubi_err("paranoid check failed for PEB %d", pnum); | 1111 | ubi_err("paranoid check failed for PEB %d", pnum); |
| @@ -1137,7 +1137,7 @@ static int paranoid_check_vid_hdr(const struct ubi_device *ubi, int pnum, | |||
| 1137 | int err; | 1137 | int err; |
| 1138 | uint32_t magic; | 1138 | uint32_t magic; |
| 1139 | 1139 | ||
| 1140 | magic = ubi32_to_cpu(vid_hdr->magic); | 1140 | magic = be32_to_cpu(vid_hdr->magic); |
| 1141 | if (magic != UBI_VID_HDR_MAGIC) { | 1141 | if (magic != UBI_VID_HDR_MAGIC) { |
| 1142 | ubi_err("bad VID header magic %#08x at PEB %d, must be %#08x", | 1142 | ubi_err("bad VID header magic %#08x at PEB %d, must be %#08x", |
| 1143 | magic, pnum, UBI_VID_HDR_MAGIC); | 1143 | magic, pnum, UBI_VID_HDR_MAGIC); |
| @@ -1187,7 +1187,7 @@ static int paranoid_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum) | |||
| 1187 | goto exit; | 1187 | goto exit; |
| 1188 | 1188 | ||
| 1189 | crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_EC_HDR_SIZE_CRC); | 1189 | crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_EC_HDR_SIZE_CRC); |
| 1190 | hdr_crc = ubi32_to_cpu(vid_hdr->hdr_crc); | 1190 | hdr_crc = be32_to_cpu(vid_hdr->hdr_crc); |
| 1191 | if (hdr_crc != crc) { | 1191 | if (hdr_crc != crc) { |
| 1192 | ubi_err("bad VID header CRC at PEB %d, calculated %#08x, " | 1192 | ubi_err("bad VID header CRC at PEB %d, calculated %#08x, " |
| 1193 | "read %#08x", pnum, crc, hdr_crc); | 1193 | "read %#08x", pnum, crc, hdr_crc); |
diff --git a/drivers/mtd/ubi/scan.c b/drivers/mtd/ubi/scan.c index cbd588d60168..23e30ac089ce 100644 --- a/drivers/mtd/ubi/scan.c +++ b/drivers/mtd/ubi/scan.c | |||
| @@ -132,9 +132,9 @@ static int validate_vid_hdr(const struct ubi_vid_hdr *vid_hdr, | |||
| 132 | const struct ubi_scan_volume *sv, int pnum) | 132 | const struct ubi_scan_volume *sv, int pnum) |
| 133 | { | 133 | { |
| 134 | int vol_type = vid_hdr->vol_type; | 134 | int vol_type = vid_hdr->vol_type; |
| 135 | int vol_id = ubi32_to_cpu(vid_hdr->vol_id); | 135 | int vol_id = be32_to_cpu(vid_hdr->vol_id); |
| 136 | int used_ebs = ubi32_to_cpu(vid_hdr->used_ebs); | 136 | int used_ebs = be32_to_cpu(vid_hdr->used_ebs); |
| 137 | int data_pad = ubi32_to_cpu(vid_hdr->data_pad); | 137 | int data_pad = be32_to_cpu(vid_hdr->data_pad); |
| 138 | 138 | ||
| 139 | if (sv->leb_count != 0) { | 139 | if (sv->leb_count != 0) { |
| 140 | int sv_vol_type; | 140 | int sv_vol_type; |
| @@ -200,7 +200,7 @@ static struct ubi_scan_volume *add_volume(struct ubi_scan_info *si, int vol_id, | |||
| 200 | struct ubi_scan_volume *sv; | 200 | struct ubi_scan_volume *sv; |
| 201 | struct rb_node **p = &si->volumes.rb_node, *parent = NULL; | 201 | struct rb_node **p = &si->volumes.rb_node, *parent = NULL; |
| 202 | 202 | ||
| 203 | ubi_assert(vol_id == ubi32_to_cpu(vid_hdr->vol_id)); | 203 | ubi_assert(vol_id == be32_to_cpu(vid_hdr->vol_id)); |
| 204 | 204 | ||
| 205 | /* Walk the volume RB-tree to look if this volume is already present */ | 205 | /* Walk the volume RB-tree to look if this volume is already present */ |
| 206 | while (*p) { | 206 | while (*p) { |
| @@ -225,8 +225,8 @@ static struct ubi_scan_volume *add_volume(struct ubi_scan_info *si, int vol_id, | |||
| 225 | si->max_sqnum = 0; | 225 | si->max_sqnum = 0; |
| 226 | sv->vol_id = vol_id; | 226 | sv->vol_id = vol_id; |
| 227 | sv->root = RB_ROOT; | 227 | sv->root = RB_ROOT; |
| 228 | sv->used_ebs = ubi32_to_cpu(vid_hdr->used_ebs); | 228 | sv->used_ebs = be32_to_cpu(vid_hdr->used_ebs); |
| 229 | sv->data_pad = ubi32_to_cpu(vid_hdr->data_pad); | 229 | sv->data_pad = be32_to_cpu(vid_hdr->data_pad); |
| 230 | sv->compat = vid_hdr->compat; | 230 | sv->compat = vid_hdr->compat; |
| 231 | sv->vol_type = vid_hdr->vol_type == UBI_VID_DYNAMIC ? UBI_DYNAMIC_VOLUME | 231 | sv->vol_type = vid_hdr->vol_type == UBI_VID_DYNAMIC ? UBI_DYNAMIC_VOLUME |
| 232 | : UBI_STATIC_VOLUME; | 232 | : UBI_STATIC_VOLUME; |
| @@ -268,10 +268,10 @@ static int compare_lebs(const struct ubi_device *ubi, | |||
| 268 | int len, err, second_is_newer, bitflips = 0, corrupted = 0; | 268 | int len, err, second_is_newer, bitflips = 0, corrupted = 0; |
| 269 | uint32_t data_crc, crc; | 269 | uint32_t data_crc, crc; |
| 270 | struct ubi_vid_hdr *vidh = NULL; | 270 | struct ubi_vid_hdr *vidh = NULL; |
| 271 | unsigned long long sqnum2 = ubi64_to_cpu(vid_hdr->sqnum); | 271 | unsigned long long sqnum2 = be64_to_cpu(vid_hdr->sqnum); |
| 272 | 272 | ||
| 273 | if (seb->sqnum == 0 && sqnum2 == 0) { | 273 | if (seb->sqnum == 0 && sqnum2 == 0) { |
| 274 | long long abs, v1 = seb->leb_ver, v2 = ubi32_to_cpu(vid_hdr->leb_ver); | 274 | long long abs, v1 = seb->leb_ver, v2 = be32_to_cpu(vid_hdr->leb_ver); |
| 275 | 275 | ||
| 276 | /* | 276 | /* |
| 277 | * UBI constantly increases the logical eraseblock version | 277 | * UBI constantly increases the logical eraseblock version |
| @@ -355,7 +355,7 @@ static int compare_lebs(const struct ubi_device *ubi, | |||
| 355 | 355 | ||
| 356 | /* Read the data of the copy and check the CRC */ | 356 | /* Read the data of the copy and check the CRC */ |
| 357 | 357 | ||
| 358 | len = ubi32_to_cpu(vid_hdr->data_size); | 358 | len = be32_to_cpu(vid_hdr->data_size); |
| 359 | buf = vmalloc(len); | 359 | buf = vmalloc(len); |
| 360 | if (!buf) { | 360 | if (!buf) { |
| 361 | err = -ENOMEM; | 361 | err = -ENOMEM; |
| @@ -366,7 +366,7 @@ static int compare_lebs(const struct ubi_device *ubi, | |||
| 366 | if (err && err != UBI_IO_BITFLIPS) | 366 | if (err && err != UBI_IO_BITFLIPS) |
| 367 | goto out_free_buf; | 367 | goto out_free_buf; |
| 368 | 368 | ||
| 369 | data_crc = ubi32_to_cpu(vid_hdr->data_crc); | 369 | data_crc = be32_to_cpu(vid_hdr->data_crc); |
| 370 | crc = crc32(UBI_CRC32_INIT, buf, len); | 370 | crc = crc32(UBI_CRC32_INIT, buf, len); |
| 371 | if (crc != data_crc) { | 371 | if (crc != data_crc) { |
| 372 | dbg_bld("PEB %d CRC error: calculated %#08x, must be %#08x", | 372 | dbg_bld("PEB %d CRC error: calculated %#08x, must be %#08x", |
| @@ -425,10 +425,10 @@ int ubi_scan_add_used(const struct ubi_device *ubi, struct ubi_scan_info *si, | |||
| 425 | struct ubi_scan_leb *seb; | 425 | struct ubi_scan_leb *seb; |
| 426 | struct rb_node **p, *parent = NULL; | 426 | struct rb_node **p, *parent = NULL; |
| 427 | 427 | ||
| 428 | vol_id = ubi32_to_cpu(vid_hdr->vol_id); | 428 | vol_id = be32_to_cpu(vid_hdr->vol_id); |
| 429 | lnum = ubi32_to_cpu(vid_hdr->lnum); | 429 | lnum = be32_to_cpu(vid_hdr->lnum); |
| 430 | sqnum = ubi64_to_cpu(vid_hdr->sqnum); | 430 | sqnum = be64_to_cpu(vid_hdr->sqnum); |
| 431 | leb_ver = ubi32_to_cpu(vid_hdr->leb_ver); | 431 | leb_ver = be32_to_cpu(vid_hdr->leb_ver); |
| 432 | 432 | ||
| 433 | dbg_bld("PEB %d, LEB %d:%d, EC %d, sqnum %llu, ver %u, bitflips %d", | 433 | dbg_bld("PEB %d, LEB %d:%d, EC %d, sqnum %llu, ver %u, bitflips %d", |
| 434 | pnum, vol_id, lnum, ec, sqnum, leb_ver, bitflips); | 434 | pnum, vol_id, lnum, ec, sqnum, leb_ver, bitflips); |
| @@ -523,7 +523,7 @@ int ubi_scan_add_used(const struct ubi_device *ubi, struct ubi_scan_info *si, | |||
| 523 | 523 | ||
| 524 | if (sv->highest_lnum == lnum) | 524 | if (sv->highest_lnum == lnum) |
| 525 | sv->last_data_size = | 525 | sv->last_data_size = |
| 526 | ubi32_to_cpu(vid_hdr->data_size); | 526 | be32_to_cpu(vid_hdr->data_size); |
| 527 | 527 | ||
| 528 | return 0; | 528 | return 0; |
| 529 | } else { | 529 | } else { |
| @@ -560,7 +560,7 @@ int ubi_scan_add_used(const struct ubi_device *ubi, struct ubi_scan_info *si, | |||
| 560 | 560 | ||
| 561 | if (sv->highest_lnum <= lnum) { | 561 | if (sv->highest_lnum <= lnum) { |
| 562 | sv->highest_lnum = lnum; | 562 | sv->highest_lnum = lnum; |
| 563 | sv->last_data_size = ubi32_to_cpu(vid_hdr->data_size); | 563 | sv->last_data_size = be32_to_cpu(vid_hdr->data_size); |
| 564 | } | 564 | } |
| 565 | 565 | ||
| 566 | if (si->max_sqnum < sqnum) | 566 | if (si->max_sqnum < sqnum) |
| @@ -687,7 +687,7 @@ int ubi_scan_erase_peb(const struct ubi_device *ubi, | |||
| 687 | return -EINVAL; | 687 | return -EINVAL; |
| 688 | } | 688 | } |
| 689 | 689 | ||
| 690 | ec_hdr->ec = cpu_to_ubi64(ec); | 690 | ec_hdr->ec = cpu_to_be64(ec); |
| 691 | 691 | ||
| 692 | err = ubi_io_sync_erase(ubi, pnum, 0); | 692 | err = ubi_io_sync_erase(ubi, pnum, 0); |
| 693 | if (err < 0) | 693 | if (err < 0) |
| @@ -818,7 +818,7 @@ static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si, int pnum | |||
| 818 | return -EINVAL; | 818 | return -EINVAL; |
| 819 | } | 819 | } |
| 820 | 820 | ||
| 821 | ec = ubi64_to_cpu(ech->ec); | 821 | ec = be64_to_cpu(ech->ec); |
| 822 | if (ec > UBI_MAX_ERASECOUNTER) { | 822 | if (ec > UBI_MAX_ERASECOUNTER) { |
| 823 | /* | 823 | /* |
| 824 | * Erase counter overflow. The EC headers have 64 bits | 824 | * Erase counter overflow. The EC headers have 64 bits |
| @@ -856,9 +856,9 @@ static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si, int pnum | |||
| 856 | goto adjust_mean_ec; | 856 | goto adjust_mean_ec; |
| 857 | } | 857 | } |
| 858 | 858 | ||
| 859 | vol_id = ubi32_to_cpu(vidh->vol_id); | 859 | vol_id = be32_to_cpu(vidh->vol_id); |
| 860 | if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOL_ID) { | 860 | if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOL_ID) { |
| 861 | int lnum = ubi32_to_cpu(vidh->lnum); | 861 | int lnum = be32_to_cpu(vidh->lnum); |
| 862 | 862 | ||
| 863 | /* Unsupported internal volume */ | 863 | /* Unsupported internal volume */ |
| 864 | switch (vidh->compat) { | 864 | switch (vidh->compat) { |
| @@ -1261,12 +1261,12 @@ static int paranoid_check_si(const struct ubi_device *ubi, | |||
| 1261 | goto bad_vid_hdr; | 1261 | goto bad_vid_hdr; |
| 1262 | } | 1262 | } |
| 1263 | 1263 | ||
| 1264 | if (seb->sqnum != ubi64_to_cpu(vidh->sqnum)) { | 1264 | if (seb->sqnum != be64_to_cpu(vidh->sqnum)) { |
| 1265 | ubi_err("bad sqnum %llu", seb->sqnum); | 1265 | ubi_err("bad sqnum %llu", seb->sqnum); |
| 1266 | goto bad_vid_hdr; | 1266 | goto bad_vid_hdr; |
| 1267 | } | 1267 | } |
| 1268 | 1268 | ||
| 1269 | if (sv->vol_id != ubi32_to_cpu(vidh->vol_id)) { | 1269 | if (sv->vol_id != be32_to_cpu(vidh->vol_id)) { |
| 1270 | ubi_err("bad vol_id %d", sv->vol_id); | 1270 | ubi_err("bad vol_id %d", sv->vol_id); |
| 1271 | goto bad_vid_hdr; | 1271 | goto bad_vid_hdr; |
| 1272 | } | 1272 | } |
| @@ -1276,22 +1276,22 @@ static int paranoid_check_si(const struct ubi_device *ubi, | |||
| 1276 | goto bad_vid_hdr; | 1276 | goto bad_vid_hdr; |
| 1277 | } | 1277 | } |
| 1278 | 1278 | ||
| 1279 | if (seb->lnum != ubi32_to_cpu(vidh->lnum)) { | 1279 | if (seb->lnum != be32_to_cpu(vidh->lnum)) { |
| 1280 | ubi_err("bad lnum %d", seb->lnum); | 1280 | ubi_err("bad lnum %d", seb->lnum); |
| 1281 | goto bad_vid_hdr; | 1281 | goto bad_vid_hdr; |
| 1282 | } | 1282 | } |
| 1283 | 1283 | ||
| 1284 | if (sv->used_ebs != ubi32_to_cpu(vidh->used_ebs)) { | 1284 | if (sv->used_ebs != be32_to_cpu(vidh->used_ebs)) { |
| 1285 | ubi_err("bad used_ebs %d", sv->used_ebs); | 1285 | ubi_err("bad used_ebs %d", sv->used_ebs); |
| 1286 | goto bad_vid_hdr; | 1286 | goto bad_vid_hdr; |
| 1287 | } | 1287 | } |
| 1288 | 1288 | ||
| 1289 | if (sv->data_pad != ubi32_to_cpu(vidh->data_pad)) { | 1289 | if (sv->data_pad != be32_to_cpu(vidh->data_pad)) { |
| 1290 | ubi_err("bad data_pad %d", sv->data_pad); | 1290 | ubi_err("bad data_pad %d", sv->data_pad); |
| 1291 | goto bad_vid_hdr; | 1291 | goto bad_vid_hdr; |
| 1292 | } | 1292 | } |
| 1293 | 1293 | ||
| 1294 | if (seb->leb_ver != ubi32_to_cpu(vidh->leb_ver)) { | 1294 | if (seb->leb_ver != be32_to_cpu(vidh->leb_ver)) { |
| 1295 | ubi_err("bad leb_ver %u", seb->leb_ver); | 1295 | ubi_err("bad leb_ver %u", seb->leb_ver); |
| 1296 | goto bad_vid_hdr; | 1296 | goto bad_vid_hdr; |
| 1297 | } | 1297 | } |
| @@ -1300,12 +1300,12 @@ static int paranoid_check_si(const struct ubi_device *ubi, | |||
| 1300 | if (!last_seb) | 1300 | if (!last_seb) |
| 1301 | continue; | 1301 | continue; |
| 1302 | 1302 | ||
| 1303 | if (sv->highest_lnum != ubi32_to_cpu(vidh->lnum)) { | 1303 | if (sv->highest_lnum != be32_to_cpu(vidh->lnum)) { |
| 1304 | ubi_err("bad highest_lnum %d", sv->highest_lnum); | 1304 | ubi_err("bad highest_lnum %d", sv->highest_lnum); |
| 1305 | goto bad_vid_hdr; | 1305 | goto bad_vid_hdr; |
| 1306 | } | 1306 | } |
| 1307 | 1307 | ||
| 1308 | if (sv->last_data_size != ubi32_to_cpu(vidh->data_size)) { | 1308 | if (sv->last_data_size != be32_to_cpu(vidh->data_size)) { |
| 1309 | ubi_err("bad last_data_size %d", sv->last_data_size); | 1309 | ubi_err("bad last_data_size %d", sv->last_data_size); |
| 1310 | goto bad_vid_hdr; | 1310 | goto bad_vid_hdr; |
| 1311 | } | 1311 | } |
diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index 4add5c816b14..6e135996e42d 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c | |||
| @@ -319,10 +319,10 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) | |||
| 319 | 319 | ||
| 320 | /* Fill volume table record */ | 320 | /* Fill volume table record */ |
| 321 | memset(&vtbl_rec, 0, sizeof(struct ubi_vtbl_record)); | 321 | memset(&vtbl_rec, 0, sizeof(struct ubi_vtbl_record)); |
| 322 | vtbl_rec.reserved_pebs = cpu_to_ubi32(vol->reserved_pebs); | 322 | vtbl_rec.reserved_pebs = cpu_to_be32(vol->reserved_pebs); |
| 323 | vtbl_rec.alignment = cpu_to_ubi32(vol->alignment); | 323 | vtbl_rec.alignment = cpu_to_be32(vol->alignment); |
| 324 | vtbl_rec.data_pad = cpu_to_ubi32(vol->data_pad); | 324 | vtbl_rec.data_pad = cpu_to_be32(vol->data_pad); |
| 325 | vtbl_rec.name_len = cpu_to_ubi16(vol->name_len); | 325 | vtbl_rec.name_len = cpu_to_be16(vol->name_len); |
| 326 | if (vol->vol_type == UBI_DYNAMIC_VOLUME) | 326 | if (vol->vol_type == UBI_DYNAMIC_VOLUME) |
| 327 | vtbl_rec.vol_type = UBI_VID_DYNAMIC; | 327 | vtbl_rec.vol_type = UBI_VID_DYNAMIC; |
| 328 | else | 328 | else |
| @@ -502,7 +502,7 @@ int ubi_resize_volume(struct ubi_volume_desc *desc, int reserved_pebs) | |||
| 502 | 502 | ||
| 503 | /* Change volume table record */ | 503 | /* Change volume table record */ |
| 504 | memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record)); | 504 | memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record)); |
| 505 | vtbl_rec.reserved_pebs = cpu_to_ubi32(reserved_pebs); | 505 | vtbl_rec.reserved_pebs = cpu_to_be32(reserved_pebs); |
| 506 | err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec); | 506 | err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec); |
| 507 | if (err) | 507 | if (err) |
| 508 | goto out_acc; | 508 | goto out_acc; |
| @@ -650,7 +650,7 @@ static void paranoid_check_volume(const struct ubi_device *ubi, int vol_id) | |||
| 650 | long long n; | 650 | long long n; |
| 651 | const char *name; | 651 | const char *name; |
| 652 | 652 | ||
| 653 | reserved_pebs = ubi32_to_cpu(ubi->vtbl[vol_id].reserved_pebs); | 653 | reserved_pebs = be32_to_cpu(ubi->vtbl[vol_id].reserved_pebs); |
| 654 | 654 | ||
| 655 | if (!vol) { | 655 | if (!vol) { |
| 656 | if (reserved_pebs) { | 656 | if (reserved_pebs) { |
| @@ -764,9 +764,9 @@ static void paranoid_check_volume(const struct ubi_device *ubi, int vol_id) | |||
| 764 | } | 764 | } |
| 765 | } | 765 | } |
| 766 | 766 | ||
| 767 | alignment = ubi32_to_cpu(ubi->vtbl[vol_id].alignment); | 767 | alignment = be32_to_cpu(ubi->vtbl[vol_id].alignment); |
| 768 | data_pad = ubi32_to_cpu(ubi->vtbl[vol_id].data_pad); | 768 | data_pad = be32_to_cpu(ubi->vtbl[vol_id].data_pad); |
| 769 | name_len = ubi16_to_cpu(ubi->vtbl[vol_id].name_len); | 769 | name_len = be16_to_cpu(ubi->vtbl[vol_id].name_len); |
| 770 | upd_marker = ubi->vtbl[vol_id].upd_marker; | 770 | upd_marker = ubi->vtbl[vol_id].upd_marker; |
| 771 | name = &ubi->vtbl[vol_id].name[0]; | 771 | name = &ubi->vtbl[vol_id].name[0]; |
| 772 | if (ubi->vtbl[vol_id].vol_type == UBI_VID_DYNAMIC) | 772 | if (ubi->vtbl[vol_id].vol_type == UBI_VID_DYNAMIC) |
diff --git a/drivers/mtd/ubi/vtbl.c b/drivers/mtd/ubi/vtbl.c index e3557b987efd..800ce940a820 100644 --- a/drivers/mtd/ubi/vtbl.c +++ b/drivers/mtd/ubi/vtbl.c | |||
| @@ -93,7 +93,7 @@ int ubi_change_vtbl_record(struct ubi_device *ubi, int idx, | |||
| 93 | vtbl_rec = &empty_vtbl_record; | 93 | vtbl_rec = &empty_vtbl_record; |
| 94 | else { | 94 | else { |
| 95 | crc = crc32(UBI_CRC32_INIT, vtbl_rec, UBI_VTBL_RECORD_SIZE_CRC); | 95 | crc = crc32(UBI_CRC32_INIT, vtbl_rec, UBI_VTBL_RECORD_SIZE_CRC); |
| 96 | vtbl_rec->crc = cpu_to_ubi32(crc); | 96 | vtbl_rec->crc = cpu_to_be32(crc); |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | dbg_msg("change record %d", idx); | 99 | dbg_msg("change record %d", idx); |
| @@ -141,18 +141,18 @@ static int vtbl_check(const struct ubi_device *ubi, | |||
| 141 | for (i = 0; i < ubi->vtbl_slots; i++) { | 141 | for (i = 0; i < ubi->vtbl_slots; i++) { |
| 142 | cond_resched(); | 142 | cond_resched(); |
| 143 | 143 | ||
| 144 | reserved_pebs = ubi32_to_cpu(vtbl[i].reserved_pebs); | 144 | reserved_pebs = be32_to_cpu(vtbl[i].reserved_pebs); |
| 145 | alignment = ubi32_to_cpu(vtbl[i].alignment); | 145 | alignment = be32_to_cpu(vtbl[i].alignment); |
| 146 | data_pad = ubi32_to_cpu(vtbl[i].data_pad); | 146 | data_pad = be32_to_cpu(vtbl[i].data_pad); |
| 147 | upd_marker = vtbl[i].upd_marker; | 147 | upd_marker = vtbl[i].upd_marker; |
| 148 | vol_type = vtbl[i].vol_type; | 148 | vol_type = vtbl[i].vol_type; |
| 149 | name_len = ubi16_to_cpu(vtbl[i].name_len); | 149 | name_len = be16_to_cpu(vtbl[i].name_len); |
| 150 | name = &vtbl[i].name[0]; | 150 | name = &vtbl[i].name[0]; |
| 151 | 151 | ||
| 152 | crc = crc32(UBI_CRC32_INIT, &vtbl[i], UBI_VTBL_RECORD_SIZE_CRC); | 152 | crc = crc32(UBI_CRC32_INIT, &vtbl[i], UBI_VTBL_RECORD_SIZE_CRC); |
| 153 | if (ubi32_to_cpu(vtbl[i].crc) != crc) { | 153 | if (be32_to_cpu(vtbl[i].crc) != crc) { |
| 154 | ubi_err("bad CRC at record %u: %#08x, not %#08x", | 154 | ubi_err("bad CRC at record %u: %#08x, not %#08x", |
| 155 | i, crc, ubi32_to_cpu(vtbl[i].crc)); | 155 | i, crc, be32_to_cpu(vtbl[i].crc)); |
| 156 | ubi_dbg_dump_vtbl_record(&vtbl[i], i); | 156 | ubi_dbg_dump_vtbl_record(&vtbl[i], i); |
| 157 | return 1; | 157 | return 1; |
| 158 | } | 158 | } |
| @@ -225,8 +225,8 @@ static int vtbl_check(const struct ubi_device *ubi, | |||
| 225 | /* Checks that all names are unique */ | 225 | /* Checks that all names are unique */ |
| 226 | for (i = 0; i < ubi->vtbl_slots - 1; i++) { | 226 | for (i = 0; i < ubi->vtbl_slots - 1; i++) { |
| 227 | for (n = i + 1; n < ubi->vtbl_slots; n++) { | 227 | for (n = i + 1; n < ubi->vtbl_slots; n++) { |
| 228 | int len1 = ubi16_to_cpu(vtbl[i].name_len); | 228 | int len1 = be16_to_cpu(vtbl[i].name_len); |
| 229 | int len2 = ubi16_to_cpu(vtbl[n].name_len); | 229 | int len2 = be16_to_cpu(vtbl[n].name_len); |
| 230 | 230 | ||
| 231 | if (len1 > 0 && len1 == len2 && | 231 | if (len1 > 0 && len1 == len2 && |
| 232 | !strncmp(vtbl[i].name, vtbl[n].name, len1)) { | 232 | !strncmp(vtbl[i].name, vtbl[n].name, len1)) { |
| @@ -288,13 +288,13 @@ retry: | |||
| 288 | } | 288 | } |
| 289 | 289 | ||
| 290 | vid_hdr->vol_type = UBI_VID_DYNAMIC; | 290 | vid_hdr->vol_type = UBI_VID_DYNAMIC; |
| 291 | vid_hdr->vol_id = cpu_to_ubi32(UBI_LAYOUT_VOL_ID); | 291 | vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOL_ID); |
| 292 | vid_hdr->compat = UBI_LAYOUT_VOLUME_COMPAT; | 292 | vid_hdr->compat = UBI_LAYOUT_VOLUME_COMPAT; |
| 293 | vid_hdr->data_size = vid_hdr->used_ebs = | 293 | vid_hdr->data_size = vid_hdr->used_ebs = |
| 294 | vid_hdr->data_pad = cpu_to_ubi32(0); | 294 | vid_hdr->data_pad = cpu_to_be32(0); |
| 295 | vid_hdr->lnum = cpu_to_ubi32(copy); | 295 | vid_hdr->lnum = cpu_to_be32(copy); |
| 296 | vid_hdr->sqnum = cpu_to_ubi64(++si->max_sqnum); | 296 | vid_hdr->sqnum = cpu_to_be64(++si->max_sqnum); |
| 297 | vid_hdr->leb_ver = cpu_to_ubi32(old_seb ? old_seb->leb_ver + 1: 0); | 297 | vid_hdr->leb_ver = cpu_to_be32(old_seb ? old_seb->leb_ver + 1: 0); |
| 298 | 298 | ||
| 299 | /* The EC header is already there, write the VID header */ | 299 | /* The EC header is already there, write the VID header */ |
| 300 | err = ubi_io_write_vid_hdr(ubi, new_seb->pnum, vid_hdr); | 300 | err = ubi_io_write_vid_hdr(ubi, new_seb->pnum, vid_hdr); |
| @@ -503,19 +503,19 @@ static int init_volumes(struct ubi_device *ubi, const struct ubi_scan_info *si, | |||
| 503 | for (i = 0; i < ubi->vtbl_slots; i++) { | 503 | for (i = 0; i < ubi->vtbl_slots; i++) { |
| 504 | cond_resched(); | 504 | cond_resched(); |
| 505 | 505 | ||
| 506 | if (ubi32_to_cpu(vtbl[i].reserved_pebs) == 0) | 506 | if (be32_to_cpu(vtbl[i].reserved_pebs) == 0) |
| 507 | continue; /* Empty record */ | 507 | continue; /* Empty record */ |
| 508 | 508 | ||
| 509 | vol = kzalloc(sizeof(struct ubi_volume), GFP_KERNEL); | 509 | vol = kzalloc(sizeof(struct ubi_volume), GFP_KERNEL); |
| 510 | if (!vol) | 510 | if (!vol) |
| 511 | return -ENOMEM; | 511 | return -ENOMEM; |
| 512 | 512 | ||
| 513 | vol->reserved_pebs = ubi32_to_cpu(vtbl[i].reserved_pebs); | 513 | vol->reserved_pebs = be32_to_cpu(vtbl[i].reserved_pebs); |
| 514 | vol->alignment = ubi32_to_cpu(vtbl[i].alignment); | 514 | vol->alignment = be32_to_cpu(vtbl[i].alignment); |
| 515 | vol->data_pad = ubi32_to_cpu(vtbl[i].data_pad); | 515 | vol->data_pad = be32_to_cpu(vtbl[i].data_pad); |
| 516 | vol->vol_type = vtbl[i].vol_type == UBI_VID_DYNAMIC ? | 516 | vol->vol_type = vtbl[i].vol_type == UBI_VID_DYNAMIC ? |
| 517 | UBI_DYNAMIC_VOLUME : UBI_STATIC_VOLUME; | 517 | UBI_DYNAMIC_VOLUME : UBI_STATIC_VOLUME; |
| 518 | vol->name_len = ubi16_to_cpu(vtbl[i].name_len); | 518 | vol->name_len = be16_to_cpu(vtbl[i].name_len); |
| 519 | vol->usable_leb_size = ubi->leb_size - vol->data_pad; | 519 | vol->usable_leb_size = ubi->leb_size - vol->data_pad; |
| 520 | memcpy(vol->name, vtbl[i].name, vol->name_len); | 520 | memcpy(vol->name, vtbl[i].name, vol->name_len); |
| 521 | vol->name[vol->name_len] = '\0'; | 521 | vol->name[vol->name_len] = '\0'; |
| @@ -721,7 +721,7 @@ int ubi_read_volume_table(struct ubi_device *ubi, struct ubi_scan_info *si) | |||
| 721 | int i, err; | 721 | int i, err; |
| 722 | struct ubi_scan_volume *sv; | 722 | struct ubi_scan_volume *sv; |
| 723 | 723 | ||
| 724 | empty_vtbl_record.crc = cpu_to_ubi32(0xf116c36b); | 724 | empty_vtbl_record.crc = cpu_to_be32(0xf116c36b); |
| 725 | 725 | ||
| 726 | /* | 726 | /* |
| 727 | * The number of supported volumes is limited by the eraseblock size | 727 | * The number of supported volumes is limited by the eraseblock size |
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index ab2174a56bc2..d512cf16350d 100644 --- a/drivers/mtd/ubi/wl.c +++ b/drivers/mtd/ubi/wl.c | |||
| @@ -667,7 +667,7 @@ static int sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int tortur | |||
| 667 | 667 | ||
| 668 | dbg_wl("erased PEB %d, new EC %llu", e->pnum, ec); | 668 | dbg_wl("erased PEB %d, new EC %llu", e->pnum, ec); |
| 669 | 669 | ||
| 670 | ec_hdr->ec = cpu_to_ubi64(ec); | 670 | ec_hdr->ec = cpu_to_be64(ec); |
| 671 | 671 | ||
| 672 | err = ubi_io_write_ec_hdr(ubi, e->pnum, ec_hdr); | 672 | err = ubi_io_write_ec_hdr(ubi, e->pnum, ec_hdr); |
| 673 | if (err) | 673 | if (err) |
| @@ -1634,7 +1634,7 @@ static int paranoid_check_ec(const struct ubi_device *ubi, int pnum, int ec) | |||
| 1634 | goto out_free; | 1634 | goto out_free; |
| 1635 | } | 1635 | } |
| 1636 | 1636 | ||
| 1637 | read_ec = ubi64_to_cpu(ec_hdr->ec); | 1637 | read_ec = be64_to_cpu(ec_hdr->ec); |
| 1638 | if (ec != read_ec) { | 1638 | if (ec != read_ec) { |
| 1639 | ubi_err("paranoid check failed for PEB %d", pnum); | 1639 | ubi_err("paranoid check failed for PEB %d", pnum); |
| 1640 | ubi_err("read EC is %lld, should be %d", read_ec, ec); | 1640 | ubi_err("read EC is %lld, should be %d", read_ec, ec); |
diff --git a/include/mtd/ubi-header.h b/include/mtd/ubi-header.h index fa479c71aa34..74efa7763479 100644 --- a/include/mtd/ubi-header.h +++ b/include/mtd/ubi-header.h | |||
| @@ -74,42 +74,13 @@ enum { | |||
| 74 | UBI_COMPAT_REJECT = 5 | 74 | UBI_COMPAT_REJECT = 5 |
| 75 | }; | 75 | }; |
| 76 | 76 | ||
| 77 | /* | ||
| 78 | * ubi16_t/ubi32_t/ubi64_t - 16, 32, and 64-bit integers used in UBI on-flash | ||
| 79 | * data structures. | ||
| 80 | */ | ||
| 81 | typedef struct { | ||
| 82 | uint16_t int16; | ||
| 83 | } __attribute__ ((packed)) ubi16_t; | ||
| 84 | |||
| 85 | typedef struct { | ||
| 86 | uint32_t int32; | ||
| 87 | } __attribute__ ((packed)) ubi32_t; | ||
| 88 | |||
| 89 | typedef struct { | ||
| 90 | uint64_t int64; | ||
| 91 | } __attribute__ ((packed)) ubi64_t; | ||
| 92 | |||
| 93 | /* | ||
| 94 | * In this implementation of UBI uses the big-endian format for on-flash | ||
| 95 | * integers. The below are the corresponding conversion macros. | ||
| 96 | */ | ||
| 97 | #define cpu_to_ubi16(x) ((ubi16_t){__cpu_to_be16(x)}) | ||
| 98 | #define ubi16_to_cpu(x) ((uint16_t)__be16_to_cpu((x).int16)) | ||
| 99 | |||
| 100 | #define cpu_to_ubi32(x) ((ubi32_t){__cpu_to_be32(x)}) | ||
| 101 | #define ubi32_to_cpu(x) ((uint32_t)__be32_to_cpu((x).int32)) | ||
| 102 | |||
| 103 | #define cpu_to_ubi64(x) ((ubi64_t){__cpu_to_be64(x)}) | ||
| 104 | #define ubi64_to_cpu(x) ((uint64_t)__be64_to_cpu((x).int64)) | ||
| 105 | |||
| 106 | /* Sizes of UBI headers */ | 77 | /* Sizes of UBI headers */ |
| 107 | #define UBI_EC_HDR_SIZE sizeof(struct ubi_ec_hdr) | 78 | #define UBI_EC_HDR_SIZE sizeof(struct ubi_ec_hdr) |
| 108 | #define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr) | 79 | #define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr) |
| 109 | 80 | ||
| 110 | /* Sizes of UBI headers without the ending CRC */ | 81 | /* Sizes of UBI headers without the ending CRC */ |
| 111 | #define UBI_EC_HDR_SIZE_CRC (UBI_EC_HDR_SIZE - sizeof(ubi32_t)) | 82 | #define UBI_EC_HDR_SIZE_CRC (UBI_EC_HDR_SIZE - sizeof(__be32)) |
| 112 | #define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(ubi32_t)) | 83 | #define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(__be32)) |
| 113 | 84 | ||
| 114 | /** | 85 | /** |
| 115 | * struct ubi_ec_hdr - UBI erase counter header. | 86 | * struct ubi_ec_hdr - UBI erase counter header. |
| @@ -137,14 +108,14 @@ typedef struct { | |||
| 137 | * eraseblocks. | 108 | * eraseblocks. |
| 138 | */ | 109 | */ |
| 139 | struct ubi_ec_hdr { | 110 | struct ubi_ec_hdr { |
| 140 | ubi32_t magic; | 111 | __be32 magic; |
| 141 | uint8_t version; | 112 | __u8 version; |
| 142 | uint8_t padding1[3]; | 113 | __u8 padding1[3]; |
| 143 | ubi64_t ec; /* Warning: the current limit is 31-bit anyway! */ | 114 | __be64 ec; /* Warning: the current limit is 31-bit anyway! */ |
| 144 | ubi32_t vid_hdr_offset; | 115 | __be32 vid_hdr_offset; |
| 145 | ubi32_t data_offset; | 116 | __be32 data_offset; |
| 146 | uint8_t padding2[36]; | 117 | __u8 padding2[36]; |
| 147 | ubi32_t hdr_crc; | 118 | __be32 hdr_crc; |
| 148 | } __attribute__ ((packed)); | 119 | } __attribute__ ((packed)); |
| 149 | 120 | ||
| 150 | /** | 121 | /** |
| @@ -262,22 +233,22 @@ struct ubi_ec_hdr { | |||
| 262 | * software (say, cramfs) on top of the UBI volume. | 233 | * software (say, cramfs) on top of the UBI volume. |
| 263 | */ | 234 | */ |
| 264 | struct ubi_vid_hdr { | 235 | struct ubi_vid_hdr { |
| 265 | ubi32_t magic; | 236 | __be32 magic; |
| 266 | uint8_t version; | 237 | __u8 version; |
| 267 | uint8_t vol_type; | 238 | __u8 vol_type; |
| 268 | uint8_t copy_flag; | 239 | __u8 copy_flag; |
| 269 | uint8_t compat; | 240 | __u8 compat; |
| 270 | ubi32_t vol_id; | 241 | __be32 vol_id; |
| 271 | ubi32_t lnum; | 242 | __be32 lnum; |
| 272 | ubi32_t leb_ver; /* obsolete, to be removed, don't use */ | 243 | __be32 leb_ver; /* obsolete, to be removed, don't use */ |
| 273 | ubi32_t data_size; | 244 | __be32 data_size; |
| 274 | ubi32_t used_ebs; | 245 | __be32 used_ebs; |
| 275 | ubi32_t data_pad; | 246 | __be32 data_pad; |
| 276 | ubi32_t data_crc; | 247 | __be32 data_crc; |
| 277 | uint8_t padding1[4]; | 248 | __u8 padding1[4]; |
| 278 | ubi64_t sqnum; | 249 | __be64 sqnum; |
| 279 | uint8_t padding2[12]; | 250 | __u8 padding2[12]; |
| 280 | ubi32_t hdr_crc; | 251 | __be32 hdr_crc; |
| 281 | } __attribute__ ((packed)); | 252 | } __attribute__ ((packed)); |
| 282 | 253 | ||
| 283 | /* Internal UBI volumes count */ | 254 | /* Internal UBI volumes count */ |
| @@ -306,7 +277,7 @@ struct ubi_vid_hdr { | |||
| 306 | #define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record) | 277 | #define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record) |
| 307 | 278 | ||
| 308 | /* Size of the volume table record without the ending CRC */ | 279 | /* Size of the volume table record without the ending CRC */ |
| 309 | #define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(ubi32_t)) | 280 | #define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(__be32)) |
| 310 | 281 | ||
| 311 | /** | 282 | /** |
| 312 | * struct ubi_vtbl_record - a record in the volume table. | 283 | * struct ubi_vtbl_record - a record in the volume table. |
| @@ -346,15 +317,15 @@ struct ubi_vid_hdr { | |||
| 346 | * Empty records contain all zeroes and the CRC checksum of those zeroes. | 317 | * Empty records contain all zeroes and the CRC checksum of those zeroes. |
| 347 | */ | 318 | */ |
| 348 | struct ubi_vtbl_record { | 319 | struct ubi_vtbl_record { |
| 349 | ubi32_t reserved_pebs; | 320 | __be32 reserved_pebs; |
| 350 | ubi32_t alignment; | 321 | __be32 alignment; |
| 351 | ubi32_t data_pad; | 322 | __be32 data_pad; |
| 352 | uint8_t vol_type; | 323 | __u8 vol_type; |
| 353 | uint8_t upd_marker; | 324 | __u8 upd_marker; |
| 354 | ubi16_t name_len; | 325 | __be16 name_len; |
| 355 | uint8_t name[UBI_VOL_NAME_MAX+1]; | 326 | __u8 name[UBI_VOL_NAME_MAX+1]; |
| 356 | uint8_t padding2[24]; | 327 | __u8 padding2[24]; |
| 357 | ubi32_t crc; | 328 | __be32 crc; |
| 358 | } __attribute__ ((packed)); | 329 | } __attribute__ ((packed)); |
| 359 | 330 | ||
| 360 | #endif /* !__UBI_HEADER_H__ */ | 331 | #endif /* !__UBI_HEADER_H__ */ |
