diff options
author | Koushik Dutta <koushd@gmail.com> | 2011-05-26 11:14:15 -0700 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2011-05-26 11:14:15 -0700 |
commit | 8a6bc7742303fee29c22694a46b6109fb46adbd6 (patch) | |
tree | 88cb2881c4acef48aeb563187648dad385d51d5b /flashutils/flashutils.c | |
parent | d79b7541f3ba5fc1c162da1aa7b28544ab85c170 (diff) | |
download | bootable_recovery-8a6bc7742303fee29c22694a46b6109fb46adbd6.zip bootable_recovery-8a6bc7742303fee29c22694a46b6109fb46adbd6.tar.gz bootable_recovery-8a6bc7742303fee29c22694a46b6109fb46adbd6.tar.bz2 |
test
Change-Id: I25bd6846aea09247459c89ba98e6ac34c3debaa3
Diffstat (limited to 'flashutils/flashutils.c')
-rw-r--r-- | flashutils/flashutils.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/flashutils/flashutils.c b/flashutils/flashutils.c index 7504e4a..7dc750c 100644 --- a/flashutils/flashutils.c +++ b/flashutils/flashutils.c @@ -69,7 +69,7 @@ __system(const char *command) return (pid == -1 ? -1 : pstat); } -static int detect_partition(const char *partition) +static int detect_partition(const char *partitionType, const char *partition) { int type = device_flash_type(); if (strstr(partition, "/dev/block/mtd") != NULL) @@ -78,12 +78,24 @@ static int detect_partition(const char *partition) type = MMC; else if (strstr(partition, "/dev/block/bml") != NULL) type = BML; - + + if (partitionType != NULL) { + if (strstr(partitionType, "mtd") != NULL) + type = MTD; + else if (strstr(partitionType, "emmc") != NULL) + type = MMC; + else if (strstr(partitionType, "bml") != NULL) + type = BML; + } + + printf("partitionType: %s\n", partitionType); + printf("partition: %s\n", partition); + printf("detected type: %d\n", type); return type; } -int restore_raw_partition(const char *partition, const char *filename) +int restore_raw_partition(const char* partitionType, const char *partition, const char *filename) { - int type = detect_partition(partition); + int type = detect_partition(partitionType, partition); switch (type) { case MTD: return cmd_mtd_restore_raw_partition(partition, filename); @@ -96,9 +108,9 @@ int restore_raw_partition(const char *partition, const char *filename) } } -int backup_raw_partition(const char *partition, const char *filename) +int backup_raw_partition(const char* partitionType, const char *partition, const char *filename) { - int type = detect_partition(partition); + int type = detect_partition(partitionType, partition); switch (type) { case MTD: return cmd_mtd_backup_raw_partition(partition, filename); @@ -112,9 +124,9 @@ int backup_raw_partition(const char *partition, const char *filename) } } -int erase_raw_partition(const char *partition) +int erase_raw_partition(const char* partitionType, const char *partition) { - int type = detect_partition(partition); + int type = detect_partition(partitionType, partition); switch (type) { case MTD: return cmd_mtd_erase_raw_partition(partition); @@ -129,7 +141,7 @@ int erase_raw_partition(const char *partition) int erase_partition(const char *partition, const char *filesystem) { - int type = detect_partition(partition); + int type = detect_partition(NULL, partition); switch (type) { case MTD: return cmd_mtd_erase_partition(partition, filesystem); @@ -144,7 +156,7 @@ int erase_partition(const char *partition, const char *filesystem) int mount_partition(const char *partition, const char *mount_point, const char *filesystem, int read_only) { - int type = detect_partition(partition); + int type = detect_partition(NULL, partition); switch (type) { case MTD: return cmd_mtd_mount_partition(partition, mount_point, filesystem, read_only); |