r1841 - trunk/src/target/u-boot/patches

werner at sita.openmoko.org werner at sita.openmoko.org
Thu Apr 26 05:01:48 CEST 2007


Author: werner
Date: 2007-04-26 05:01:43 +0200 (Thu, 26 Apr 2007)
New Revision: 1841

Modified:
   trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch
Log:
drivers/nand/nand_bbt.c: added blank line after #if to make it easier to spot
drivers/nand/nand_bbt.c:dynpart_size, dynpart_names: don't declare arrays as
  pointers
drivers/nand/nand_bbt.c:MTDPARTS_MAX_SIZE: new #define for the size of the
  mtdparts string
drivers/nand/nand_bbt.c:nand_create_mtd_dynpart: removed bogus zeroing of
  *mtdparts
drivers/nand/nand_bbt.c:nand_create_mtd_dynpart: added missing colon after
  CFG_NAND_DYNPART_MTD_KERNEL_NAME
drivers/nand/nand_bbt.c:nand_create_mtd_dynpart: removed bogus mtdparts 
  termination, which is unnecessary anyway, since strncat, unlike strncpy, 
  always NUL-terminates



Modified: trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch
===================================================================
--- trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch	2007-04-25 16:00:49 UTC (rev 1840)
+++ trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch	2007-04-26 03:01:43 UTC (rev 1841)
@@ -19,7 +19,7 @@
 ===================================================================
 --- u-boot.orig/drivers/nand/nand_bbt.c
 +++ u-boot/drivers/nand/nand_bbt.c
-@@ -1044,9 +1044,83 @@
+@@ -1044,9 +1044,85 @@ int nand_isbad_bbt (struct mtd_info *mtd
  	switch ((int)res) {
  	case 0x00:	return 0;
  	case 0x01:	return 1;
@@ -30,10 +30,13 @@
  }
  
 +#if defined(CONFIG_NAND_DYNPART)
-+extern unsigned int *dynpart_size;
-+extern char **dynpart_names;
 +
++extern unsigned int dynpart_size[];
++extern char *dynpart_names[];
 +
++#define MTDPARTS_MAX_SIZE 512
++
++
 +static int skip_offs(const struct nand_chip *this, unsigned int offs)
 +{
 +	int block = (int) (offs >> (this->bbt_erase_shift - 1));
@@ -49,12 +52,11 @@
 +	char *mtdparts;
 +	unsigned int cur_offs = 0;
 +
-+	mtdparts = malloc(512); /* FIXME: bounds checking */
++	mtdparts = malloc(MTDPARTS_MAX_SIZE); /* FIXME: bounds checking */
 +	if (!mtdparts)
 +		return -ENOMEM;
 +
-+	memset(mtdparts, 0, sizeof(mtdparts));
-+	sprintf(mtdparts, "mtdparts=" CFG_NAND_DYNPART_MTD_KERNEL_NAME);
++	sprintf(mtdparts, "mtdparts=" CFG_NAND_DYNPART_MTD_KERNEL_NAME ":");
 +
 +	for (part = 0; dynpart_size[part] != 0; part++) {
 +		unsigned int bb_delta = 0;
@@ -90,10 +92,10 @@
 +		sprintf(mtdpart, "0x%.8x(%.16s),", dynpart_size[part] + bb_delta,
 +			dynpart_names[part]);
 +		mtdpart[sizeof(mtdpart)-1] = '\0';
-+		strncat(mtdparts, mtdpart, sizeof(mtdparts)-strlen(mtdparts)-1);
++		strncat(mtdparts, mtdpart,
++		    MTDPARTS_MAX_SIZE-strlen(mtdparts)-1);
 +	}
 +
-+	mtdparts[strlen(mtdparts)-1] = '\0';
 +	printf("mtdparts %s\n", mtdparts);
 +	setenv("mtdparts", mtdparts);
 +
@@ -147,7 +149,7 @@
 ===================================================================
 --- u-boot.orig/common/cmd_jffs2.c
 +++ u-boot/common/cmd_jffs2.c
-@@ -1841,6 +1841,29 @@
+@@ -1841,6 +1841,29 @@ static struct part_info* jffs2_part_info
  	return NULL;
  }
  
@@ -177,7 +179,7 @@
  /***************************************************/
  /* U-boot commands				   */
  /***************************************************/
-@@ -2132,6 +2155,24 @@
+@@ -2132,6 +2155,24 @@ int do_jffs2_mtdparts(cmd_tbl_t *cmdtp, 
  	printf ("Usage:\n%s\n", cmdtp->usage);
  	return 1;
  }
@@ -202,7 +204,7 @@
  #endif /* #ifdef CONFIG_JFFS2_CMDLINE */
  
  /***************************************************/
-@@ -2197,6 +2238,15 @@
+@@ -2197,6 +2238,15 @@ U_BOOT_CMD(
  	"<name>     := '(' NAME ')'\n"
  	"<ro-flag>  := when set to 'ro' makes partition read-only (not used, passed to kernel)\n"
  );
@@ -222,7 +224,7 @@
 ===================================================================
 --- u-boot.orig/common/cmd_nand.c
 +++ u-boot/common/cmd_nand.c
-@@ -101,7 +101,7 @@
+@@ -101,7 +101,7 @@ static inline int str2long(char *p, ulon
  }
  
  int
@@ -231,7 +233,7 @@
  {
  	int idx = nand_curr_device;
  #if (CONFIG_COMMANDS & CFG_CMD_JFFS2) && defined(CONFIG_JFFS2_CMDLINE)
-@@ -122,10 +122,17 @@
+@@ -122,10 +122,17 @@ arg_off_size(int argc, char *argv[], nan
  					printf("'%s' is not a number\n", argv[1]);
  					return -1;
  				}
@@ -252,7 +254,7 @@
  			}
  			idx = dev->id->num;
  			*nand = nand_info[idx];
-@@ -261,7 +268,7 @@
+@@ -261,7 +268,7 @@ int do_nand(cmd_tbl_t * cmdtp, int flag,
  
  		printf("\nNAND %s: ", scrub ? "scrub" : "erase");
  		/* skip first two or three arguments, look for offset and size */
@@ -261,7 +263,7 @@
  			return 1;
  
  		memset(&opts, 0, sizeof(opts));
-@@ -323,7 +330,7 @@
+@@ -323,7 +330,7 @@ int do_nand(cmd_tbl_t * cmdtp, int flag,
  
  		read = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */
  		printf("\nNAND %s: ", read ? "read" : "write");
@@ -270,7 +272,7 @@
  			return 1;
  
  		s = strchr(cmd, '.');
-@@ -445,7 +452,7 @@
+@@ -445,7 +452,7 @@ int do_nand(cmd_tbl_t * cmdtp, int flag,
  	}
  
  	if (strcmp(cmd, "unlock") == 0) {
@@ -283,7 +285,7 @@
 ===================================================================
 --- u-boot.orig/common/cmd_dynenv.c
 +++ u-boot/common/cmd_dynenv.c
-@@ -60,7 +60,7 @@
+@@ -60,7 +60,7 @@ int do_dynenv(cmd_tbl_t *cmdtp, int flag
  		buf[2] = 'V';
  		buf[3] = '0';
  
@@ -308,7 +310,7 @@
 ===================================================================
 --- u-boot.orig/board/neo1973/neo1973.c
 +++ u-boot/board/neo1973/neo1973.c
-@@ -375,3 +375,14 @@
+@@ -382,3 +382,14 @@ int neo1973_911_key_pressed(void)
  		return 0;
  	return 1;
  }
@@ -327,7 +329,7 @@
 ===================================================================
 --- u-boot.orig/board/qt2410/qt2410.c
 +++ u-boot/board/qt2410/qt2410.c
-@@ -126,3 +126,9 @@
+@@ -126,3 +126,9 @@ int dram_init (void)
  
  	return 0;
  }





More information about the commitlog mailing list