int get_mmc_part_info(char *device_name, int part_num, unsigned long long *block_start, unsigned long long *block_count, unsigned char *part_Id) { int rv; PartitionInfo partInfo; #if defined(CONFIG_MMC_64BIT_BUS) || defined(CONFIG_CPU_EXYNOS5410_EVT2) ALLOC_CACHE_ALIGN_BUFFER(unsigned char, mbr, 512); #else unsigned char mbr[512]; #endif rv = get_mmc_mbr(device_name, mbr); if(rv !=0) return -1; switch(part_num) { case 1: decode_partitionInfo(&mbr[0x1BE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; case 2: decode_partitionInfo(&mbr[0x1CE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; case 3: decode_partitionInfo(&mbr[0x1DE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; case 4: decode_partitionInfo(&mbr[0x1EE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; default: return -1; } return 0; }
int get_mmc_part_info(char *device_name, int part_num, unsigned long long *block_start, unsigned long long *block_count, unsigned char *part_Id) { int rv; PartitionInfo partInfo; unsigned char mbr[512]; rv = get_mmc_mbr(device_name, mbr); if(rv !=0) return -1; switch(part_num) { case 1: decode_partitionInfo(&mbr[0x1BE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; case 2: decode_partitionInfo(&mbr[0x1CE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; case 3: decode_partitionInfo(&mbr[0x1DE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; case 4: decode_partitionInfo(&mbr[0x1EE], &partInfo); *block_start = partInfo.block_start; *block_count = partInfo.block_count; *part_Id = partInfo.partitionId; break; default: return -1; } return 0; }