[PATCH] mmc: don't print 'MMC:' if there are no MMC devices
Dragan Simic
dsimic at manjaro.org
Wed Nov 13 10:48:29 CET 2024
Hello Caleb,
Thanks for the patch. Please, see a comment below.
On 2024-11-13 06:30, Caleb Connolly wrote:
> It may be the case that MMC support is enabled even though the board
> we're booting on doesn't have any MMC devices. Move the print over to
> the print_mmc_devices() function where we can only print it if we
> actually have MMC devices.
>
> Signed-off-by: Caleb Connolly <caleb.connolly at linaro.org>
> ---
> common/board_r.c | 1 -
> drivers/mmc/mmc-uclass.c | 4 +++-
> drivers/mmc/mmc_legacy.c | 5 +++++
> 3 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/common/board_r.c b/common/board_r.c
> index 62228a723e12..232a8fd19f03 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -384,9 +384,8 @@ static int initr_onenand(void)
>
> #ifdef CONFIG_MMC
> static int initr_mmc(void)
> {
> - puts("MMC: ");
> mmc_initialize(gd->bd);
> return 0;
> }
> #endif
> diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
> index c8db4f811c2f..56fe29249c36 100644
> --- a/drivers/mmc/mmc-uclass.c
> +++ b/drivers/mmc/mmc-uclass.c
> @@ -384,9 +384,11 @@ void print_mmc_devices(char separator)
> dev;
> uclass_next_device(&dev), first = false) {
> struct mmc *m = mmc_get_mmc_dev(dev);
>
> - if (!first) {
> + if (first) {
> + printf("MMC: ");
> + } else {
> printf("%c", separator);
> if (separator != '\n')
> puts(" ");
> }
> diff --git a/drivers/mmc/mmc_legacy.c b/drivers/mmc/mmc_legacy.c
> index 8f8ba34be717..f4a049a4a4d4 100644
> --- a/drivers/mmc/mmc_legacy.c
> +++ b/drivers/mmc/mmc_legacy.c
> @@ -98,8 +98,9 @@ void print_mmc_devices(char separator)
> {
> struct mmc *m;
> struct list_head *entry;
> char *mmc_type;
> + bool first = true;
>
> list_for_each(entry, &mmc_devices) {
> m = list_entry(entry, struct mmc, link);
>
> @@ -107,8 +108,12 @@ void print_mmc_devices(char separator)
> mmc_type = IS_SD(m) ? "SD" : "eMMC";
> else
> mmc_type = NULL;
>
> + if (first) {
> + printf("MMC: ");
> + first = false;
> + }
Can't we simply check for "entry == &mmc_devices->next" here and
avoid the introduction of "first"?
> printf("%s: %d", m->cfg->name, m->block_dev.devnum);
> if (mmc_type)
> printf(" (%s)", mmc_type);
More information about the U-Boot
mailing list