X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=disk%2Fpart_efi.c;h=fe308d76a9bc15514bb42d2ca946094a9f07a557;hb=b38eaec53570821043c94ad44eabcb23747d9969;hp=3471b755e1560dfb09f6cbde841ca30f351e793b;hpb=96e5b03c8ab749b6547f6a3ceb4d4b9f274211aa;p=u-boot diff --git a/disk/part_efi.c b/disk/part_efi.c index 3471b755e1..fe308d76a9 100644 --- a/disk/part_efi.c +++ b/disk/part_efi.c @@ -176,7 +176,7 @@ static void prepare_backup_gpt_header(gpt_header *gpt_h) * Public Functions (include/part.h) */ -void print_part_efi(struct blk_desc *dev_desc) +void part_print_efi(struct blk_desc *dev_desc) { ALLOC_CACHE_ALIGN_BUFFER_PAD(gpt_header, gpt_head, 1, dev_desc->blksz); gpt_entry *gpt_pte = NULL; @@ -184,10 +184,6 @@ void print_part_efi(struct blk_desc *dev_desc) char uuid[37]; unsigned char *uuid_bin; - if (!dev_desc) { - printf("%s: Invalid Argument(s)\n", __func__); - return; - } /* This function validates AND fills in the GPT header and PTE */ if (is_gpt_valid(dev_desc, GPT_PRIMARY_PARTITION_TABLE_LBA, gpt_head, &gpt_pte) != 1) { @@ -237,14 +233,14 @@ void print_part_efi(struct blk_desc *dev_desc) return; } -int get_partition_info_efi(struct blk_desc *dev_desc, int part, - disk_partition_t *info) +int part_get_info_efi(struct blk_desc *dev_desc, int part, + disk_partition_t *info) { ALLOC_CACHE_ALIGN_BUFFER_PAD(gpt_header, gpt_head, 1, dev_desc->blksz); gpt_entry *gpt_pte = NULL; /* "part" argument must be at least 1 */ - if (!dev_desc || !info || part < 1) { + if (part < 1) { printf("%s: Invalid Argument(s)\n", __func__); return -1; } @@ -300,13 +296,13 @@ int get_partition_info_efi(struct blk_desc *dev_desc, int part, return 0; } -int get_partition_info_efi_by_name(struct blk_desc *dev_desc, +int part_get_info_efi_by_name(struct blk_desc *dev_desc, const char *name, disk_partition_t *info) { int ret; int i; for (i = 1; i < GPT_ENTRY_NUMBERS; i++) { - ret = get_partition_info_efi(dev_desc, i, info); + ret = part_get_info_efi(dev_desc, i, info); if (ret != 0) { /* no more entries in table */ return -1; @@ -319,12 +315,12 @@ int get_partition_info_efi_by_name(struct blk_desc *dev_desc, return -2; } -static int test_part_efi(struct blk_desc *dev_desc) +static int part_test_efi(struct blk_desc *dev_desc) { ALLOC_CACHE_ALIGN_BUFFER_PAD(legacy_mbr, legacymbr, 1, dev_desc->blksz); /* Read legacy MBR from block 0 and validate it */ - if ((dev_desc->block_read(dev_desc, 0, 1, (ulong *)legacymbr) != 1) + if ((blk_dread(dev_desc, 0, 1, (ulong *)legacymbr) != 1) || (is_pmbr_valid(legacymbr) != 1)) { return -1; } @@ -354,9 +350,9 @@ static int set_protective_mbr(struct blk_desc *dev_desc) p_mbr->partition_record[0].nr_sects = (u32) dev_desc->lba - 1; /* Write MBR sector to the MMC device */ - if (dev_desc->block_write(dev_desc, 0, 1, p_mbr) != 1) { + if (blk_dwrite(dev_desc, 0, 1, p_mbr) != 1) { printf("** Can't write to device %d **\n", - dev_desc->dev); + dev_desc->devnum); return -1; } @@ -386,31 +382,28 @@ int write_gpt_table(struct blk_desc *dev_desc, gpt_h->header_crc32 = cpu_to_le32(calc_crc32); /* Write the First GPT to the block right after the Legacy MBR */ - if (dev_desc->block_write(dev_desc, 1, 1, gpt_h) != 1) + if (blk_dwrite(dev_desc, 1, 1, gpt_h) != 1) goto err; - if (dev_desc->block_write(dev_desc, 2, pte_blk_cnt, gpt_e) + if (blk_dwrite(dev_desc, 2, pte_blk_cnt, gpt_e) != pte_blk_cnt) goto err; prepare_backup_gpt_header(gpt_h); - if (dev_desc->block_write(dev_desc, - (lbaint_t)le64_to_cpu(gpt_h->last_usable_lba) - + 1, - pte_blk_cnt, gpt_e) != pte_blk_cnt) + if (blk_dwrite(dev_desc, (lbaint_t)le64_to_cpu(gpt_h->last_usable_lba) + + 1, pte_blk_cnt, gpt_e) != pte_blk_cnt) goto err; - if (dev_desc->block_write(dev_desc, - (lbaint_t)le64_to_cpu(gpt_h->my_lba), 1, - gpt_h) != 1) + if (blk_dwrite(dev_desc, (lbaint_t)le64_to_cpu(gpt_h->my_lba), 1, + gpt_h) != 1) goto err; debug("GPT successfully written to block device!\n"); return 0; err: - printf("** Can't write to device %d **\n", dev_desc->dev); + printf("** Can't write to device %d **\n", dev_desc->devnum); return -1; } @@ -739,7 +732,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) /* write MBR */ lba = 0; /* MBR is always at 0 */ cnt = 1; /* MBR (1 block) */ - if (dev_desc->block_write(dev_desc, lba, cnt, buf) != cnt) { + if (blk_dwrite(dev_desc, lba, cnt, buf) != cnt) { printf("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n", __func__, "MBR", cnt, lba); return 1; @@ -748,7 +741,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) /* write Primary GPT */ lba = GPT_PRIMARY_PARTITION_TABLE_LBA; cnt = 1; /* GPT Header (1 block) */ - if (dev_desc->block_write(dev_desc, lba, cnt, gpt_h) != cnt) { + if (blk_dwrite(dev_desc, lba, cnt, gpt_h) != cnt) { printf("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n", __func__, "Primary GPT Header", cnt, lba); return 1; @@ -756,7 +749,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) lba = le64_to_cpu(gpt_h->partition_entry_lba); cnt = gpt_e_blk_cnt; - if (dev_desc->block_write(dev_desc, lba, cnt, gpt_e) != cnt) { + if (blk_dwrite(dev_desc, lba, cnt, gpt_e) != cnt) { printf("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n", __func__, "Primary GPT Entries", cnt, lba); return 1; @@ -767,7 +760,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) /* write Backup GPT */ lba = le64_to_cpu(gpt_h->partition_entry_lba); cnt = gpt_e_blk_cnt; - if (dev_desc->block_write(dev_desc, lba, cnt, gpt_e) != cnt) { + if (blk_dwrite(dev_desc, lba, cnt, gpt_e) != cnt) { printf("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n", __func__, "Backup GPT Entries", cnt, lba); return 1; @@ -775,7 +768,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) lba = le64_to_cpu(gpt_h->my_lba); cnt = 1; /* GPT Header (1 block) */ - if (dev_desc->block_write(dev_desc, lba, cnt, gpt_h) != cnt) { + if (blk_dwrite(dev_desc, lba, cnt, gpt_h) != cnt) { printf("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n", __func__, "Backup GPT Header", cnt, lba); return 1; @@ -845,7 +838,7 @@ static int is_gpt_valid(struct blk_desc *dev_desc, u64 lba, } /* Read GPT Header from device */ - if (dev_desc->block_read(dev_desc, (lbaint_t)lba, 1, pgpt_head) != 1) { + if (blk_dread(dev_desc, (lbaint_t)lba, 1, pgpt_head) != 1) { printf("*** ERROR: Can't read GPT header ***\n"); return 0; } @@ -913,8 +906,7 @@ static gpt_entry *alloc_read_gpt_entries(struct blk_desc *dev_desc, /* Read GPT Entries from device */ blk = le64_to_cpu(pgpt_head->partition_entry_lba); blk_cnt = BLOCK_CNT(count, dev_desc); - if (dev_desc->block_read(dev_desc, blk, (lbaint_t)blk_cnt, pte) - != blk_cnt) { + if (blk_dread(dev_desc, blk, (lbaint_t)blk_cnt, pte) != blk_cnt) { printf("*** ERROR: Can't read GPT Entries ***\n"); free(pte); return NULL; @@ -962,8 +954,8 @@ static int is_pte_valid(gpt_entry * pte) U_BOOT_PART_TYPE(a_efi) = { .name = "EFI", .part_type = PART_TYPE_EFI, - .get_info = part_get_info_ptr(get_partition_info_efi), - .print = part_print_ptr(print_part_efi), - .test = test_part_efi, + .get_info = part_get_info_ptr(part_get_info_efi), + .print = part_print_ptr(part_print_efi), + .test = part_test_efi, }; #endif