diff options
author | Albert Chaulk <achaulk@chromium.org> | 2013-07-19 11:12:42 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-07-24 18:08:22 -0700 |
commit | d41000ed64bb144704fcbf2db3db840de30d069d (patch) | |
tree | 6f651eebcb5d341ac7280fac59c184839cf4a381 /cgpt/cgpt.c | |
parent | f5c62bd7dc1ef3d76d6e5f9119ad73ec95a926d7 (diff) | |
download | vboot-d41000ed64bb144704fcbf2db3db840de30d069d.tar.gz |
Don't always enable MTD mode unless MTD device is specifiedfactory-4455.Bfactory-4455.228.B
On MTD devices, don't always enable MTD mode - the installer needs to
be able to access both the GPT disk and the MTD disk, so only
enable it if we install to /dev/fts
BRANCH=none
BUG=chromium:221745
TEST=make runtests
Change-Id: I7688e6bc758ef47cfb9d468c1224ef43b2043d02
Reviewed-on: https://gerrit.chromium.org/gerrit/62662
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Queue: Albert Chaulk <achaulk@chromium.org>
Tested-by: Albert Chaulk <achaulk@chromium.org>
Diffstat (limited to 'cgpt/cgpt.c')
-rw-r--r-- | cgpt/cgpt.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/cgpt/cgpt.c b/cgpt/cgpt.c index e02bf4d6..e49d430f 100644 --- a/cgpt/cgpt.c +++ b/cgpt/cgpt.c @@ -18,8 +18,6 @@ const char* progname; const char* command; void (*uuid_generator)(uint8_t* buffer); -extern struct nand_layout nand; - struct { const char *name; int (*fp)(int argc, char *argv[]); @@ -54,33 +52,37 @@ static int is_pow2(size_t v) { } static int parse_nand_option(const char *arg) { + int bytes_per_page, pages_per_block, fts_block_offset, fts_block_size; + if ('=' != arg[0]) return -1; arg++; - nand.bytes_per_page = atoi(arg); + bytes_per_page = atoi(arg); arg = strchr(arg, ','); if (!arg) return -1; arg++; - nand.pages_per_block = atoi(arg); + pages_per_block = atoi(arg); arg = strchr(arg, ','); if (!arg) return -1; arg++; - nand.fts_block_offset = atoi(arg); + fts_block_offset = atoi(arg); arg = strchr(arg, ','); if (!arg) return -1; arg++; - nand.fts_block_size = atoi(arg); - if (nand.fts_block_size == 0 || !is_pow2(nand.pages_per_block) || - !is_pow2(nand.bytes_per_page) || nand.bytes_per_page < 512) { + fts_block_size = atoi(arg); + if (fts_block_size == 0 || !is_pow2(pages_per_block) || + !is_pow2(bytes_per_page) || bytes_per_page < 512) { return -1; } + EnableNandImage(bytes_per_page, pages_per_block, fts_block_offset, + fts_block_size); return 0; } @@ -98,12 +100,10 @@ int main(int argc, char *argv[]) { progname = argv[0]; - memset(&nand, 0, sizeof(nand)); for (i = 1; i < argc; ++i) { if (0 == strncmp(argv[i], "-N", 2)) { if (!parse_nand_option(argv[i] + 2)) { int j; - nand.enabled = 1; // Remove it form the list. for (j = i; j < argc - 1; j++) @@ -118,8 +118,6 @@ int main(int argc, char *argv[]) { } } - TryInitMtd(); - if (argc < 2) { Usage(); return CGPT_FAILED; |