fs: fat: revert do_fat_format
authorChanho Park <chanho61.park@samsung.com>
Wed, 22 Jul 2015 10:37:58 +0000 (19:37 +0900)
committerChanho Park <chanho61.park@samsung.com>
Wed, 22 Jul 2015 10:37:58 +0000 (19:37 +0900)
For convention of merging patches, revert do_fat_format formath
temporarly.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
common/cmd_fat.c
fs/fat/fat.c

index f0205d5f700123768601b2ffaf3ff67eed815e79..559a16d6195c6ca8f432dd700949ef34d2086814 100644 (file)
@@ -241,48 +241,3 @@ U_BOOT_CMD(
        "      to 'dev' on 'interface'"
 );
 #endif
-
-int do_fat_format(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
-{
-       int dev = 0;
-       int part = 1;
-       char *ep;
-       block_dev_desc_t *dev_desc = NULL;
-
-       if (argc < 2) {
-               printf ("usage : fatformat <interface> <dev[:part]>\n");
-               return(0);
-       }
-
-       dev = (int)simple_strtoul (argv[2], &ep, 16);
-       dev_desc = get_dev(argv[1], dev);
-
-       if (dev_desc == NULL) {
-               puts ("\n ** Invalid boot device **\n");
-               return 1;
-       }
-
-       if (*ep) {
-               if (*ep != ':') {
-                       puts ("\n **Invald boot device,use 'dev[:part]'**\n");
-                       return 1;
-               }
-               part = (int)simple_strtoul(++ep, NULL, 16);
-               if (part > 4 || part <1) {
-                       puts ("** Partition Number should be 1 ~ 4 **\n");
-               }
-       }
-       printf("Start format MMC&d partition&d ...\n", dev, part);
-       if (fat_format_device(dev_desc, part) != 0) {
-               printf("Format failure!!!\n");
-       }
-
-       return 0;
-}
-
-U_BOOT_CMD(
-       fatformat, 3, 0, do_fat_format,
-       "fatformat - disk format by FAT32\n",
-       "<interface(only support mmc)> <dev:partition num>\n"
-       "       - format by FAT32 on 'interface'\n"
-);
index 84bb0ef3d21682fdfb50f062e8723b952402cc55..bc46cc5d20030c4ee49c3e73ef365b89cfe56cde 100644 (file)
@@ -122,334 +122,6 @@ int fat_register_device (block_dev_desc_t * dev_desc, int part_no)
        return -1;
 }
 
-/*
- * Copy string, padding with spaces.
- */
-static void
-setstr(u_int8_t *dest, const char *src, size_t len)
-{
-    while (len--)
-       *dest++ = *src ? *src++ : ' ';
-}
-
-static int write_pbr(block_dev_desc_t *dev_desc, disk_partition_t *info)
-{
-       struct bs *bs;
-       struct bsbpb *bsbpb;
-       struct bsxbpb *bsxbpb;
-       struct bsx *bsx;
-       __u8 *img;
-       int img_offset = 0;
-       int reserved_cnt= 0;
-       int i;
-       int fat_size = 0;
-
-       img = malloc(sizeof(__u8)*512);
-       if(img == NULL) {
-               printf("Can't make img buffer~~!!\n");
-               return -1;
-       }
-       memset(img, 0x0, sizeof(__u8)*512);
-
-
-       /* Erase Reserved Sector(PBR) */
-       for (i = 0;i < RESERVED_CNT; i++) {
-               if (dev_desc->block_write(dev_desc->dev, info->start + i,
-                                       1, (ulong *)img) != 1) {
-                       printf ("Can't erase reserved sector~~~!!!\n");
-                       return -1;
-               }
-       }
-
-       /* Set bs */
-       bs = (struct bs *)img;
-       img_offset += sizeof(struct bs) - 1;
-
-       mk1(bs->jmp[0], 0xeb);
-       mk1(bs->jmp[1], 0x58);
-       mk1(bs->jmp[2], 0x90); /* Jump Boot Code */
-       setstr(bs->oem, "SAMSUNG", sizeof(bs->oem)); /* OEM Name */
-
-       uint spc;
-       /* Set bsbpb */
-       bsbpb = (struct bsbpb *)(img + img_offset);
-       img_offset += sizeof(struct bsbpb) - 2;
-
-       mk2(bsbpb->bps, 512); /* Byte Per Sector */
-
-       printf("size checking ...\n");
-       /* Sector Per Cluster */
-       if (info->size < 0x10000) { /* partition size >= 32Mb */
-               printf("Can't format less than 32Mb partition!!\n");
-               return -1;
-       }
-       if (info->size <= 0x20000) { /* under 64M -> 512 bytes */
-               printf("Under 64M\n");
-               mk1(bsbpb->spc, 1);
-               spc = 1;
-       }
-       else if (info->size <= 0x40000) { /* under 128M -> 1K */
-               printf("Under 128M\n");
-               mk1(bsbpb->spc, 2);
-               spc = 2;
-       }
-       else if (info->size <= 0x80000) { /* under 256M -> 2K */
-               printf("Under 256M\n");
-               mk1(bsbpb->spc, 4);
-               spc = 4;
-       }
-       else if (info->size <= 0xFA0000) { /* under 8G -> 4K */
-               printf("Under 8G\n");
-               mk1(bsbpb->spc, 8);
-               spc = 8;
-       }
-       else if (info->size <= 0x1F40000) { /* under 16G -> 8K */
-               printf("Under 16G\n");
-               mk1(bsbpb->spc, 16);
-               spc = 16;
-       }
-       else {
-               printf("16G~\n");
-               mk1(bsbpb->spc, 32);
-               spc = 32;
-       }
-
-       printf("write FAT info: %d\n",RESERVED_CNT);
-       mk2(bsbpb->res, RESERVED_CNT); /* Reserved Sector Count */
-       mk1(bsbpb->nft, 2); /* Number of FATs */
-       mk2(bsbpb->rde, 0); /* Root Directory Entry Count : It's no use in FAT32 */
-       mk2(bsbpb->sec, 0); /* Total Sector : It's no use in FAT32 */
-       mk1(bsbpb->mid, 0xF8); /* Media */
-       mk2(bsbpb->spf, 0); /* FAT Size 16 : It's no use in FAT32 */
-       mk2(bsbpb->spt, 0); /* Sector Per Track */
-       mk2(bsbpb->hds, 0); /* Number Of Heads */
-       mk4(bsbpb->hid, 0); /* Hidden Sector */
-       mk4(bsbpb->bsec, info->size); /* Total Sector For FAT32 */
-
-       /* Set bsxbpb */
-       bsxbpb = (struct bsxbpb *)(img + img_offset);
-       img_offset += sizeof(struct bsxbpb);
-
-       mk4(bsxbpb->bspf, (info->size / (spc * 128))); /* FAT Size 32 */
-       fat_size = info->size / (spc * 128);
-       printf("Fat size : 0x%x\n", info->size / (spc * 128));
-       mk2(bsxbpb->xflg, 0); /* Ext Flags */
-       mk2(bsxbpb->vers, 0); /* File System Version */
-       mk4(bsxbpb->rdcl, 2); /* Root Directory Cluster */
-       mk2(bsxbpb->infs, 1); /* File System Information */
-       mk2(bsxbpb->bkbs, 0); /* Boot Record Backup Sector */
-
-       /* Set bsx */
-       bsx = (struct bsx *)(img + img_offset);
-       mk1(bsx->drv, 0); /* Drive Number */
-       mk1(bsx->sig, 0x29); /* Boot Signature */
-       mk4(bsx->volid, 0x3333); /* Volume ID : 0x3333 means nothing */
-       setstr(bsx->label, "NO NAME ", sizeof(bsx->label)); /* Volume Label */
-       setstr(bsx->type, "FAT32", sizeof(bsx->type)); /* File System Type */
-
-       /* Set Magic Number */
-       mk2(img + BYTE_PER_SEC - 2, 0xaa55); /* Signature */
-
-/*
-       printf("Print Boot Recode\n");
-       for(i = 0;i<512;i++) {
-               if(img[i] == 0)
-                       printf("00 ");
-               else
-                       printf("%2x ", img[i]);
-               if (!((i+1) % 16))
-                       printf("\n");
-       }
-*/
-
-       if (dev_desc->block_write(dev_desc->dev, info->start,
-                               1, (ulong *)img) != 1) {
-               printf ("Can't write PBR~~~!!!\n");
-               return -1;
-       }
-
-       return fat_size;
-}
-static int write_reserved(block_dev_desc_t *dev_desc, disk_partition_t *info)
-{
-       /* Set Reserved Region */
-       __u8 *img;
-       int i;
-       img = malloc(sizeof(__u8)*512);
-       if(img == NULL) {
-               printf("Can't make img buffer~~(reserved)!!\n");
-               return -1;
-       }
-
-       memset(img, 0x0, sizeof(__u8)*512);
-
-       mk4(img, 0x41615252); /* Lead Signature */
-       mk4(img + BYTE_PER_SEC - 28, 0x61417272); /* Struct Signature */
-       mk4(img + BYTE_PER_SEC - 24, 0xffffffff); /* Free Cluster Count */
-       mk4(img + BYTE_PER_SEC - 20, 0x3); /* Next Free Cluster */
-       mk2(img + BYTE_PER_SEC - 2, 0xaa55); /* Trail Signature */
-
-       /*
-       printf("Print Reserved Region\n");
-       for(i = 0;i<512;i++) {
-               if(img[i] == 0)
-                       printf("00 ");
-               else
-                       printf("%2x ", img[i]);
-               if (!((i+1) % 16))
-                       printf("\n");
-       }
-       */
-
-       /* Write Reserved region */
-       if (dev_desc->block_write(dev_desc->dev, info->start+1,
-                               1, (ulong *)img) != 1) {
-               printf ("Can't write reserved region~~~!!!\n");
-               return -1;
-       }
-
-       return 1;
-}
-static int write_fat(block_dev_desc_t *dev_desc, disk_partition_t *info, int
-fat_size)
-{
-       __u8 *dummy;
-       __u8 *img;
-       int i;
-
-       /* Create buffer for FAT */
-       img = malloc(sizeof(__u8)*512);
-       if(img == NULL) {
-               printf("Can't make img buffer~~!!\n");
-               return -1;
-       }
-       memset(img, 0x0, sizeof(__u8) * 512);
-
-       /* Create buffer for erase */
-       dummy = malloc(sizeof(__u8) * 8192);
-       if(dummy == NULL) {
-               printf("Can't make dummy buffer~~!!\n");
-               return -1;
-       }
-       memset(dummy, 0x0, sizeof(__u8) * 8192);
-
-       /* Erase FAT Region */
-       int erase_block_cnt = (fat_size * 2);
-       int temp = 0;
-       printf("Erase FAT region");
-       for (i = 0;i < erase_block_cnt + 10; i+=16) {
-               if (dev_desc->block_write(dev_desc->dev, info->start +
-                       RESERVED_CNT + i, 16, (ulong *)dummy) != 16) {
-                       printf ("Can't erase FAT region~~!!!\n");
-               }
-               if((i % 160) == 0)
-                       printf(".");
-
-       }
-       printf("\n");
-
-       mk4(img, 0x0ffffff8);
-       mk4(img+4, 0x0fffffff);
-       mk4(img+8, 0x0fffffff); /* Root Directory */
-
-       /*
-       printf("Print FAT Region\n");
-       for(i = 0;i<512;i++) {
-               if(img[i] == 0)
-                       printf("00 ");
-               else
-                       printf("%2x ", img[i]);
-               if (!((i+1) % 16))
-                       printf("\n");
-       }
-       */
-       /* Write FAT Region */
-       if (dev_desc->block_write(dev_desc->dev, info->start + RESERVED_CNT,
-                               1, (ulong *)img) != 1) {
-               printf ("Can't write FAT~~~!!!\n");
-               return -1;
-       }
-
-       return 1;
-}
-
-/*
- * Make a volume label.
- */
-
-static void
-mklabel(u_int8_t *dest, const char *src)
-{
-    int c, i;
-
-    for (i = 0; i < 11; i++) {
-       c = *src ? __toupper(*src++) : ' ';
-       *dest++ = !i && c == '\xe5' ? 5 : c;
-    }
-}
-
-/*
- * Format device
- */
-int
-fat_format_device(block_dev_desc_t *dev_desc, int part_no)
-{
-       unsigned char buffer[SECTOR_SIZE];
-       unsigned long part_offset;
-       int cur_part;
-       disk_partition_t info;
-
-       if (!dev_desc->block_read)
-               return -1;
-       cur_dev = dev_desc;
-       /* check if we have a MBR (on floppies we have only a PBR) */
-       if (dev_desc->block_read (dev_desc->dev, 0,
-                               1, (ulong *) buffer) != 1) {
-               printf ("** Can't read from device %d **\n", dev_desc->dev);
-               return -1;
-       }
-       if (buffer[DOS_PART_MAGIC_OFFSET] != 0x55 ||
-               buffer[DOS_PART_MAGIC_OFFSET + 1] != 0xaa) {
-               printf("** MBR is broken **\n");
-               /* no signature found */
-               return -1;
-       }
-
-#if (defined(CONFIG_CMD_IDE) || \
-     defined(CONFIG_CMD_SCSI) || \
-     defined(CONFIG_CMD_USB) || \
-     defined(CONFIG_MMC) || \
-     defined(CONFIG_SYSTEMACE) )
-       /* First we assume, there is a MBR */
-       if (!get_partition_info (dev_desc, part_no, &info)) {
-               part_offset = info.start;
-               cur_part = part_no;
-       } else if (!strncmp((char *)&buffer[DOS_FS_TYPE_OFFSET], "FAT", 3)) {
-               /* ok, we assume we are on a PBR only */
-               cur_part = 1;
-               part_offset = 0;
-       } else {
-               printf ("** Partition %d not valid on device %d **\n",
-                               part_no, dev_desc->dev);
-               return -1;
-       }
-#endif
-
-       printf("Partition%d: Start Address(0x%x), Size(0x%x)\n",
-                       part_no, info.start, info.size);
-
-       int fat_size;
-       fat_size = write_pbr(dev_desc, &info);
-       if(fat_size < 0)
-               return -1;
-       if(write_reserved(dev_desc, &info) < 0)
-               return -1;
-       if(write_fat(dev_desc, &info, fat_size) < 0)
-               return -1;
-       printf("Partition%d format complete.\n", part_no);
-
-       return 0;
-}
 
 /*
  * Get the first occurence of a directory delimiter ('/' or '\') in a string.