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