Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>master
parent
5c8c6da132
commit
e5957e8d69
@ -0,0 +1,46 @@ |
||||
/*
|
||||
* Copyright (C) 2016 Socionext Inc. |
||||
* Author: Masahiro Yamada <yamada.masahiro@socionext.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <mmc.h> |
||||
#include <linux/errno.h> |
||||
|
||||
static int find_first_mmc_device(void) |
||||
{ |
||||
struct mmc *mmc; |
||||
int i; |
||||
|
||||
for (i = 0; (mmc = find_mmc_device(i)); i++) { |
||||
if (!mmc_init(mmc) && IS_MMC(mmc)) |
||||
return i; |
||||
} |
||||
|
||||
return -ENODEV; |
||||
} |
||||
|
||||
int mmc_get_env_dev(void) |
||||
{ |
||||
return find_first_mmc_device(); |
||||
} |
||||
|
||||
static int do_mmcsetn(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) |
||||
{ |
||||
int dev; |
||||
|
||||
dev = find_first_mmc_device(); |
||||
if (dev < 0) |
||||
return CMD_RET_FAILURE; |
||||
|
||||
setenv_ulong("mmc_first_dev", dev); |
||||
return CMD_RET_SUCCESS; |
||||
} |
||||
|
||||
U_BOOT_CMD( |
||||
mmcsetn, 1, 1, do_mmcsetn, |
||||
"Set the first MMC (not SD) dev number to \"mmc_first_dev\" environment", |
||||
"" |
||||
); |
Loading…
Reference in new issue