Guest User

Untitled

a guest
Apr 23rd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.40 KB | None | 0 0
  1. int do_revert(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  2. {
  3.     ulong size = 0, floffset = 0, flsize = 0;
  4.     struct mtd_partition_info *mpi = NULL;
  5.  
  6.     mpi = get_partition("lginit");
  7.     if(!mpi) {
  8.         printf("unknown partition : %s\n", "lginit");
  9.         return -1;
  10.     }
  11.  
  12.     mpi->filesize = 0;
  13.     mpi->sw_ver = 0;
  14.  
  15.     nand_erase(&nand_info[0], mpi->offset, mpi->size);
  16.  
  17.     mpi = get_partition("lgapp");
  18.     if(!mpi) {
  19.         printf("unknown partition : %s\n", "lgapp");
  20.         return -1;
  21.     }
  22.  
  23.     mpi->filesize = 0;
  24.     mpi->sw_ver = 0;
  25.  
  26.     nand_erase(&nand_info[0], mpi->offset, mpi->size);
  27.  
  28.     mpi = get_partition("lgfont");
  29.     if(!mpi) {
  30.         printf("unknown partition : %s\n", "lgfont");
  31.         return -1;
  32.     }
  33.  
  34.     mpi->filesize = 0;
  35.     mpi->sw_ver = 0;
  36.  
  37.     nand_erase(&nand_info[0], mpi->offset, mpi->size);
  38.  
  39.     mpi = get_partition("kernel");
  40.     if(!mpi) {
  41.         printf("unknown partition : %s\n", "kernel");
  42.         return 0;
  43.     }
  44.  
  45.     floffset    = (ulong)(mpi->offset + CFG_FLASH_BASE);
  46.     flsize      = (ulong)mpi->size;
  47.     sprintf(mpi->filename, "uImage"); //to revert to normal
  48.  
  49.     size = tftp_get(mpi->filename);
  50.     if(size == 0) {
  51.         printf("size is zero..!!\n");
  52.         return -1;
  53.     }
  54.  
  55.     if(size > flsize) {
  56.         printf("out of partition size : %x / %x\n", (unsigned int)size, (unsigned int)flsize);
  57.         return -1;
  58.     }
  59.  
  60.     write_flash_data(&nand_info[0], (ulong)floffset, (ulong)size, (u_char *)default_offset);
  61.     mpi->filesize = size;
  62.  
  63.     save_mtdinfo();
  64.  
  65.     return 0;
  66. }
Add Comment
Please, Sign In to add comment