Hi Michael Thanks for your explanation. :)
Regards, Jaehoon Chung Michael Jones wrote: > Hi Jaehoon Chung, > > On 07/19/2011 04:06 AM, Jaehoon Chung wrote: >> Hi Michael. >> >> I have some question. there are some mmc_init(). >> But you are only checked there.. >> Did you have any special reason? >> >> Regards, >> Jaehoon Chung > > The purpose of my patch was to enable an if/else to detect whether there > was a card in the slot. Among the available mmc commands, I thought 'mmc > rescan' was the most logical to be able to use to detect whether a slot > was empty or not. > > Below is a survey of other places where a similar check could be done. I > think that if a similar check is to be made in these cases, they could > be in separate patch(es) from this one. > > - 'mmc read/write': These commands should fail anyway if the slot were > empty. > - 'mmc part' prints "## Unknown partition table" if the slot is empty, > although the command itself still returns successfully. I suppose the > check could make sense here. > - 'mmc dev': I thought there was perhaps a use case where it makes sense > to switch to a mmc device which is currently empty. If that is not true, > it would probably make sense to do the same check there. > - 'mmcinfo': Currently this basically prints '0' for all the fields when > the slot is empty. It probably would be more logical to print "device > init failed" or similar instead. > > -Michael > >> Michael Jones wrote: >>> Fail in 'mmc rescan' if mmc_init() returns error >>> >>> Signed-off-by: Michael Jones <michael.jo...@matrix-vision.de> >>> --- >>> common/cmd_mmc.c | 6 ++++-- >>> 1 files changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c >>> index 176646d..28918f6 100644 >>> --- a/common/cmd_mmc.c >>> +++ b/common/cmd_mmc.c >>> @@ -165,9 +165,11 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, >>> char * const argv[]) >>> } >>> >>> mmc->has_init = 0; >>> - mmc_init(mmc); >>> >>> - return 0; >>> + if (mmc_init(mmc)) >>> + return 1; >>> + else >>> + return 0; >>> } else if (strncmp(argv[1], "part", 4) == 0) { >>> block_dev_desc_t *mmc_dev; >>> struct mmc *mmc = find_mmc_device(curr_device); > > > MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler > Registergericht: Amtsgericht Stuttgart, HRB 271090 > Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Erhard > Meier > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot