mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	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>
		
			
				
	
	
		
			47 lines
		
	
	
		
			820 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			820 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * 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",
 | 
						|
	""
 | 
						|
);
 |