[U-Boot] [PATCH] [UBI] Set default UBI partition name at configuration

Stefan Roese sr at denx.de
Wed Nov 26 09:47:28 CET 2008


On Wednesday 26 November 2008, Kyungmin Park wrote:
> As usually fixed partition used for UBI.
> So it's defined at configuration and use it.
>
> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>

Please find a few comment below.

> diff --git a/common/cmd_ubi.c b/common/cmd_ubi.c
> index 8446765..d018dc1 100644
> --- a/common/cmd_ubi.c
> +++ b/common/cmd_ubi.c
> @@ -40,7 +40,11 @@ struct selected_dev {
>  	struct mtd_info *mtd_info;
>  };
>
> -static struct selected_dev ubi_dev;
> +static struct selected_dev ubi_dev = {
> +#ifdef CONFIG_UBI_PART_NAME
> +	.part_name	= CONFIG_UBI_PART_NAME,
> +#endif
> +};
>
>  static void ubi_dump_vol_info(const struct ubi_volume *vol)
>  {
> @@ -455,11 +459,6 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int
> argc, char *argv[]) return 0;
>  		}
>
> -		if (argc < 4) {
> -			printf("Usage:\n%s\n", cmdtp->usage);
> -			return 1;
> -		}
> -
>  		/* todo: get dev number for NAND... */
>  		ubi_dev.nr = 0;
>
> @@ -481,7 +480,7 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int
> argc, char *argv[]) }
>  #endif
>  #if defined(CONFIG_CMD_ONENAND)
> -		if (strcmp(argv[2], "onenand") == 0) {
> +		if (strcmp(argv[2], "onenand") == 0 || ubi_dev.part_name) {

You only add this feature for the OneNAND part. Please add it for NOR & NAND 
as well. You need a different approach then though. By simply adding this 
part_name via the board config header, you can't distinguish between the 
different FLASH choices.

>  			strcpy(ubi_dev.dev_name, "OneNAND");
>  			ubi_dev.type = DEV_TYPE_ONENAND;
>  			ubi_dev.mtd_info = &onenand_mtd;
> @@ -493,7 +492,12 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int
> argc, char *argv[]) return 1;
>  		}
>
> -		strcpy(ubi_dev.part_name, argv[3]);
> +		if (argv[3])
> +			strcpy(ubi_dev.part_name, argv[3]);

		if (argc >= 4)
			strcpy(ubi_dev.part_name, argv[3]);

> +		if (strcmp(ubi_dev.part_name, "") == 0) {
> +			printf("Please give part name\n");

			printf("Please enter partition name!\n");


Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================


More information about the U-Boot mailing list