Hi Stephen,

On May 23, 2014, at 10:24 PM, Stephen Warren wrote:

> From: Stephen Warren <swar...@nvidia.com>
> 
> This allows callers to inject mmc->has_init = 0 between finding the
> MMC device, and calling mmc_init(), which forces mmc_init() to rescan
> the HW. Future changes will use this feature.
> 
> Signed-off-by: Stephen Warren <swar...@nvidia.com>
> ---
> 
> common/cmd_mmc.c | 26 ++++++++++++++------------
> 1 file changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index 9e6a26fe62a2..6741ebee3bca 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -92,7 +92,7 @@ static void print_mmcinfo(struct mmc *mmc)
> 
>       printf("Bus Width: %d-bit\n", mmc->bus_width);
> }
> -static struct mmc *init_mmc_device(int dev)
> +static struct mmc *init_mmc_device(int dev, bool force_init)
> {
>       struct mmc *mmc;
>       mmc = find_mmc_device(dev);
> @@ -100,6 +100,8 @@ static struct mmc *init_mmc_device(int dev)
>               printf("no mmc device at slot %x\n", dev);
>               return NULL;
>       }
> +     if (force_init)
> +             mmc->has_init = 0;
>       if (mmc_init(mmc))
>               return NULL;
>       return mmc;
> @@ -117,7 +119,7 @@ static int do_mmcinfo(cmd_tbl_t *cmdtp, int flag, int 
> argc, char * const argv[])
>               }
>       }
> 
> -     mmc = init_mmc_device(curr_device);
> +     mmc = init_mmc_device(curr_device, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -247,7 +249,7 @@ static int do_mmcrpmb(cmd_tbl_t *cmdtp, int flag,
>       if (flag == CMD_FLAG_REPEAT && !cp->repeatable)
>               return CMD_RET_SUCCESS;
> 
> -     mmc = init_mmc_device(curr_device);
> +     mmc = init_mmc_device(curr_device, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -292,7 +294,7 @@ static int do_mmc_read(cmd_tbl_t *cmdtp, int flag,
>       blk = simple_strtoul(argv[2], NULL, 16);
>       cnt = simple_strtoul(argv[3], NULL, 16);
> 
> -     mmc = init_mmc_device(curr_device);
> +     mmc = init_mmc_device(curr_device, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -320,7 +322,7 @@ static int do_mmc_write(cmd_tbl_t *cmdtp, int flag,
>       blk = simple_strtoul(argv[2], NULL, 16);
>       cnt = simple_strtoul(argv[3], NULL, 16);
> 
> -     mmc = init_mmc_device(curr_device);
> +     mmc = init_mmc_device(curr_device, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -348,7 +350,7 @@ static int do_mmc_erase(cmd_tbl_t *cmdtp, int flag,
>       blk = simple_strtoul(argv[1], NULL, 16);
>       cnt = simple_strtoul(argv[2], NULL, 16);
> 
> -     mmc = init_mmc_device(curr_device);
> +     mmc = init_mmc_device(curr_device, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -387,7 +389,7 @@ static int do_mmc_part(cmd_tbl_t *cmdtp, int flag,
>       block_dev_desc_t *mmc_dev;
>       struct mmc *mmc;
> 
> -     mmc = init_mmc_device(curr_device);
> +     mmc = init_mmc_device(curr_device, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -422,7 +424,7 @@ static int do_mmc_dev(cmd_tbl_t *cmdtp, int flag,
>               return CMD_RET_USAGE;
>       }
> 
> -     mmc = init_mmc_device(dev);
> +     mmc = init_mmc_device(dev, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -462,7 +464,7 @@ static int do_mmc_bootbus(cmd_tbl_t *cmdtp, int flag,
>       reset = simple_strtoul(argv[3], NULL, 10);
>       mode = simple_strtoul(argv[4], NULL, 10);
> 
> -     mmc = init_mmc_device(dev);
> +     mmc = init_mmc_device(dev, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -487,7 +489,7 @@ static int do_mmc_boot_resize(cmd_tbl_t *cmdtp, int flag,
>       bootsize = simple_strtoul(argv[2], NULL, 10);
>       rpmbsize = simple_strtoul(argv[3], NULL, 10);
> 
> -     mmc = init_mmc_device(dev);
> +     mmc = init_mmc_device(dev, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -520,7 +522,7 @@ static int do_mmc_partconf(cmd_tbl_t *cmdtp, int flag,
>       part_num = simple_strtoul(argv[3], NULL, 10);
>       access = simple_strtoul(argv[4], NULL, 10);
> 
> -     mmc = init_mmc_device(dev);
> +     mmc = init_mmc_device(dev, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> @@ -555,7 +557,7 @@ static int do_mmc_rst_func(cmd_tbl_t *cmdtp, int flag,
>               return CMD_RET_USAGE;
>       }
> 
> -     mmc = init_mmc_device(dev);
> +     mmc = init_mmc_device(dev, false);
>       if (!mmc)
>               return CMD_RET_FAILURE;
> 
> -- 
> 1.8.1.5
> 

Looks fine. I have a slight preference for not using bools in C code, but I see 
it's already creeping in the codebase.
I'll apply it as is, and if we have any complaints by people using really 
ancient compilers I'll convert to int.

Thanks, applied.

-- Pantelis

Acked-by: Pantelis Antoniou <pa...@antoniou-consulting.com>

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to