From: Michael Jones <michael.jones@matrix-vision.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 4/7] mmc: rescan fails on empty slot
Date: Wed, 20 Jul 2011 10:51:29 +0200 [thread overview]
Message-ID: <4E269711.1060807@matrix-vision.de> (raw)
In-Reply-To: <4E24E6B9.5050501@samsung.com>
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.jones@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
next prev parent reply other threads:[~2011-07-20 8:51 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-15 9:09 [U-Boot] [PATCH 0/7] OMAP3: Add support for mvBlueLYNX-X Michael Jones
2011-07-15 9:09 ` [U-Boot] [PATCH 1/7] fpga: add #define for Altera Cyclone EP3C5 Michael Jones
2011-07-28 14:46 ` Wolfgang Denk
2011-07-15 9:09 ` [U-Boot] [PATCH 2/7] fpga: support FPP Cyclone configuration Michael Jones
2011-07-28 14:47 ` Wolfgang Denk
2011-07-15 9:09 ` [U-Boot] [PATCH 3/7] ARMV7: OMAP3: Add 37xx ESx revision numbers Michael Jones
2011-07-18 14:36 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-15 9:09 ` [U-Boot] [PATCH 4/7] mmc: rescan fails on empty slot Michael Jones
2011-07-18 14:40 ` [U-Boot] [PATCH v2 " Michael Jones
2011-08-17 2:15 ` Andy Fleming
2011-08-17 2:30 ` Andy Fleming
2011-08-17 7:46 ` Michael Jones
2011-07-19 2:06 ` [U-Boot] [PATCH " Jaehoon Chung
2011-07-20 8:51 ` Michael Jones [this message]
2011-07-20 9:52 ` Jaehoon Chung
2011-07-15 9:09 ` [U-Boot] [PATCH 5/7] mv_common.c: don't compile reset_environment if ENV_IS_NOWHERE Michael Jones
2011-07-18 14:45 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-28 14:49 ` Wolfgang Denk
2011-07-18 17:39 ` [U-Boot] [PATCH " Mike Frysinger
2011-07-15 9:09 ` [U-Boot] [PATCH 6/7] ARMV7: OMAP: I2C driver: Write more than 1 byte at a time in i2c_write Michael Jones
2011-07-18 14:58 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-27 6:07 ` Heiko Schocher
2011-07-27 7:42 ` Michael Jones
2011-07-27 7:53 ` Heiko Schocher
2011-07-27 12:41 ` [U-Boot] [PATCH v3] " Michael Jones
2011-07-27 12:41 ` [U-Boot] [PATCH] ARMV7: OMAP: I2C driver: cosmetic: make checkpatch-compatible Michael Jones
2011-08-01 9:12 ` [U-Boot] [PATCH v3] ARMV7: OMAP: I2C driver: Write more than 1 byte at a time in i2c_write Heiko Schocher
2011-08-01 10:14 ` [U-Boot] [PATCH v4] " Michael Jones
2011-08-02 6:37 ` Heiko Schocher
2011-09-04 17:59 ` Paulraj, Sandeep
2011-09-05 5:34 ` Heiko Schocher
2011-07-27 21:00 ` [U-Boot] [PATCH v2 6/7] " Wolfgang Denk
2011-07-15 9:09 ` [U-Boot] [PATCH 7/7] OMAP3: mvblx: Initial support for mvBlueLYNX-X Michael Jones
2011-07-18 15:00 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-27 9:57 ` Igor Grinberg
2011-08-04 13:46 ` [U-Boot] [PATCH v3] " Michael Jones
2011-10-06 22:06 ` Wolfgang Denk
2011-08-17 8:55 ` [U-Boot] [PATCH v4] " Michael Jones
2011-10-06 21:51 ` Wolfgang Denk
2011-10-07 9:06 ` Michael Jones
2011-10-09 19:59 ` Wolfgang Denk
2011-10-05 15:08 ` [U-Boot] [PATCH v5] " Michael Jones
2011-10-10 15:08 ` [U-Boot] [PATCH v6] " Michael Jones
2011-10-18 17:31 ` [U-Boot] [PATCH v5] " Tom Rini
2011-10-19 8:16 ` Michael Jones
2011-10-20 11:37 ` [U-Boot] [PATCH] mv_common.c: get rid of 'defined but not used' warning Michael Jones
2011-10-20 11:48 ` Andre Schwarz
2011-12-03 12:32 ` Anatolij Gustschin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E269711.1060807@matrix-vision.de \
--to=michael.jones@matrix-vision.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.