diff options
author | Ye.Li <B37916@freescale.com> | 2015-07-09 13:55:39 +0800 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2016-03-09 14:42:42 +0100 |
commit | 9603d8dc0bec4377d0fd5b8240720eeb304b8c89 (patch) | |
tree | 683addcafad2818dbb3f12234812599734458066 /drivers | |
parent | 6b4626776a08b013f42f7a42dc0e957de74efbe9 (diff) |
MLK-11228-3 android: Add "data" partition in fastboot
Enable fastboot command "fastboot flash data"
Custom may need to update data partition in fastboot mode.
This patch enable flash data partition in emmc\sd.
Signed-off-by: Zhang Sanshan <b51434@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/gadget/f_fastboot.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/usb/gadget/f_fastboot.c b/drivers/usb/gadget/f_fastboot.c index e59d0381b84..002704fa812 100644 --- a/drivers/usb/gadget/f_fastboot.c +++ b/drivers/usb/gadget/f_fastboot.c @@ -160,7 +160,8 @@ enum { PTN_KERNEL_INDEX, PTN_URAMDISK_INDEX, PTN_SYSTEM_INDEX, - PTN_RECOVERY_INDEX + PTN_RECOVERY_INDEX, + PTN_DATA_INDEX }; static unsigned int download_bytes_unpadded; @@ -810,8 +811,10 @@ static void process_flash_sata(const char *cmdbuf, char *response) #if defined(CONFIG_FASTBOOT_STORAGE_MMC) static int is_sparse_partition(struct fastboot_ptentry *ptn) { - if (ptn && !strncmp(ptn->name, - FASTBOOT_PARTITION_SYSTEM, strlen(FASTBOOT_PARTITION_SYSTEM))) { + if (ptn && (!strncmp(ptn->name, + FASTBOOT_PARTITION_SYSTEM, strlen(FASTBOOT_PARTITION_SYSTEM)) + || !strncmp(ptn->name, + FASTBOOT_PARTITION_DATA, strlen(FASTBOOT_PARTITION_DATA)))) { printf("support sparse flash partition for %s\n", ptn->name); return 1; } else @@ -1128,7 +1131,7 @@ static int _fastboot_parts_load_from_ptable(void) struct mmc *mmc; block_dev_desc_t *dev_desc; - struct fastboot_ptentry ptable[PTN_RECOVERY_INDEX + 1]; + struct fastboot_ptentry ptable[PTN_DATA_INDEX + 1]; /* sata case in env */ if (fastboot_devinfo.type == DEV_SATA) { @@ -1175,7 +1178,7 @@ static int _fastboot_parts_load_from_ptable(void) } memset((char *)ptable, 0, - sizeof(struct fastboot_ptentry) * (PTN_RECOVERY_INDEX + 1)); + sizeof(struct fastboot_ptentry) * (PTN_DATA_INDEX + 1)); /* MBR */ strcpy(ptable[PTN_MBR_INDEX].name, "mbr"); ptable[PTN_MBR_INDEX].start = ANDROID_MBR_OFFSET / dev_desc->blksz; @@ -1201,8 +1204,12 @@ static int _fastboot_parts_load_from_ptable(void) CONFIG_ANDROID_SYSTEM_PARTITION_MMC, user_partition, FASTBOOT_PARTITION_SYSTEM, dev_desc, ptable); + _fastboot_parts_add_ptable_entry(PTN_DATA_INDEX, + CONFIG_ANDROID_DATA_PARTITION_MMC, + user_partition, + FASTBOOT_PARTITION_DATA, dev_desc, ptable); - for (i = 0; i <= PTN_RECOVERY_INDEX; i++) + for (i = 0; i <= PTN_DATA_INDEX; i++) fastboot_flash_add_ptn(&ptable[i]); return 0; |