[U-Boot] [Patch v3] cmd/gpt: Support gpt command for all devices

Piotr Wilczek p.wilczek at samsung.com
Mon Oct 14 11:50:14 CEST 2013



> -----Original Message-----
> From: Egbert Eich [mailto:egbert.eich at gmail.com]
> Sent: Sunday, October 13, 2013 1:14 AM
> To: Piotr Wilczek
> Cc: 'Egbert Eich'; u-boot at lists.denx.de; 'Tom Rini'; 'Egbert Eich'
> Subject: Re: [Patch v3] cmd/gpt: Support gpt command for all devices
> 
> On Fri, Oct 11, 2013 at 09:13:22AM +0200, Piotr Wilczek wrote:
> > Dear Egbert Eich,
> >
> > > -----Original Message-----
> > > From: Egbert Eich [mailto:egbert.eich at gmail.com]
> > > Sent: Friday, October 04, 2013 6:53 PM
> > > To: u-boot at lists.denx.de
> > > Cc: Piotr Wilczek; Tom Rini; Egbert Eich; Egbert Eich
> > > Subject: [Patch v3] cmd/gpt: Support gpt command for all devices
> > >
> > > From: Egbert Eich <eich at suse.com>
> > >
> > > The gpt command was only implemented for mmc devices. There is no
> > > reason why this command should not be generalized and be applied
> all
> > > other storage device classes.
> > > This change both simplifies the implementation and eliminates a
> > > build failure for systems that don't support mmcs.
> > >
> > > Signed-off-by: Egbert Eich <eich at suse.com>
> > > ---
> > > Changes for v2:
> > >    - Coding style cleanup.
> > > Changes for v3:
> > >    - Removed wrong '&'
> > >    - Removed unused variable
> > >    - Fixed argument checking
> > >    Spotted by Piotr Wilczek <p.wilczek at samsung.com>
> > >
> > >  common/cmd_gpt.c | 45 +++++++++++++++++++-------------------------
> -
> > >  1 file changed, 19 insertions(+), 26 deletions(-)
> > >
> > > diff --git a/common/cmd_gpt.c b/common/cmd_gpt.c index
> > > a46f5cc..17b1180
> > > 100644
> > > --- a/common/cmd_gpt.c
> > > +++ b/common/cmd_gpt.c
> 
> [..]
> 
> > >
> > > @@ -287,27 +279,28 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag,
> > > int
> 
> [..]
> 
> > > -		/* device: 'mmc' */
> > > -		if (strcmp(argv[2], "mmc") == 0) {
> > > -			/* check if 'dev' is a number */
> > > -			for (pstr = argv[3]; *pstr != '\0'; pstr++)
> > > -				if (!isdigit(*pstr)) {
> > > -					printf("'%s' is not a number\n",
> > > -						argv[3]);
> > > -					return CMD_RET_USAGE;
> > > -				}
> > > -			dev = (int)simple_strtoul(argv[3], NULL, 10);
> > > -			/* write to mmc */
> > > -			if (gpt_mmc_default(dev, argv[4]))
> > > -				return CMD_RET_FAILURE;
> > > +		char *ep;
> > > +		block_dev_desc_t *blk_dev_desc;
> > This probably should be at the beginning of the function
> 
> I personally prefer to keep symbols as local as possible (ie. declare
> them in the block they are used in if they are just used within a
> single block) for the following rasons:
> 1. It makes the code more readable ie. the definition is closeby to
>    the location where it is used and doesn't require scrolling to
>    the beginning of a function and the scope of the variable is is
>    much more obvious.
> 2. The compiler can optimize much better as it knows that a variable
>    can be discarded at the end of the block also by reusing stack
>    slots stack sapce can be used much more efficiently by the compiler.
> 
> I agree that in the case at hand the second argument is not too
> relevant, it is more a coding style issue. If there is a coding style
> requirement to have those definitions at the beginning of the function
> I will create a new patch.
> 
Agreed, I think it is a coding style rule in U-boot. Let the maintainer to
decide.

> 
> [..]
> 
> > > +		blk_dev_desc = get_dev(argv[2], dev);
> > > +		if (!blk_dev_desc) {
> > > +			printf("%s: %s dev %d NOT available\n",
> > > +			       __func__, argv[2], dev);
> > I think it is not necessary since the mmc subsystem prints 'MMC
> Device
> > not found'.
> 
> I've done a quick look over the code - of all subsystems MMC seems to
> be the only one which prints a message when its get_dev() method is
> called but no device is found. Therefore I'd prefer to leave this
> there.
> 
Ok.

> >
> > Except minor comments this patch looks good to me.
> > I tested it on mmc device (Trats2) and works well.
> 
> Ok, thanks!
> 
> >
> > Tested-by: Piotr Wilczek <p.wilczek at samsung.com>
> >
> 
> Thanks a lot for testing!
> 
> Cheers,
> 	Egbert.

Best regards,
Piotr Wilczek





More information about the U-Boot mailing list