Merge branch 'master' of git://git.denx.de/u-boot-spi

This commit is contained in:
Tom Rini 2018-11-13 19:50:01 -05:00
commit 20274b0626
5 changed files with 63 additions and 16 deletions

View File

@ -1728,14 +1728,14 @@ config CMD_MTDPARTS
config MTDIDS_DEFAULT config MTDIDS_DEFAULT
string "Default MTD IDs" string "Default MTD IDs"
depends on CMD_MTD || CMD_MTDPARTS || CMD_NAND || CMD_FLASH depends on MTD_PARTITIONS || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
help help
Defines a default MTD IDs list for use with MTD partitions in the Defines a default MTD IDs list for use with MTD partitions in the
Linux MTD command line partitions format. Linux MTD command line partitions format.
config MTDPARTS_DEFAULT config MTDPARTS_DEFAULT
string "Default MTD partition scheme" string "Default MTD partition scheme"
depends on CMD_MTD || CMD_MTDPARTS || CMD_NAND || CMD_FLASH depends on MTD_PARTITIONS || CMD_MTDPARTS || CMD_NAND || CMD_FLASH
help help
Defines a default MTD partitioning scheme in the Linux MTD command Defines a default MTD partitioning scheme in the Linux MTD command
line partitions format line partitions format
@ -1856,7 +1856,6 @@ endmenu
config CMD_UBI config CMD_UBI
tristate "Enable UBI - Unsorted block images commands" tristate "Enable UBI - Unsorted block images commands"
select CMD_MTDPARTS
select CRC32 select CRC32
select MTD_UBI select MTD_UBI
help help

View File

@ -417,11 +417,6 @@ static int ubi_dev_scan(struct mtd_info *info, const char *vid_header_offset)
int ubi_detach(void) int ubi_detach(void)
{ {
if (mtdparts_init() != 0) {
printf("Error initializing mtdparts!\n");
return 1;
}
#ifdef CONFIG_CMD_UBIFS #ifdef CONFIG_CMD_UBIFS
/* /*
* Automatically unmount UBIFS partition when user * Automatically unmount UBIFS partition when user

View File

@ -30,6 +30,7 @@ config DFU_MMC
config DFU_NAND config DFU_NAND
bool "NAND back end for DFU" bool "NAND back end for DFU"
depends on CMD_MTDPARTS
help help
This option enables using DFU to read and write to NAND based This option enables using DFU to read and write to NAND based
storage. storage.

View File

@ -22,12 +22,6 @@ config MTD_DEVICE
Adds the MTD device infrastructure from the Linux kernel. Adds the MTD device infrastructure from the Linux kernel.
Needed for mtdparts command support. Needed for mtdparts command support.
config MTD_PARTITIONS
bool "Add MTD Partioning infrastructure"
help
Adds the MTD partitioning infrastructure from the Linux
kernel. Needed for UBI support.
config FLASH_CFI_DRIVER config FLASH_CFI_DRIVER
bool "Enable CFI Flash driver" bool "Enable CFI Flash driver"
help help

View File

@ -92,12 +92,70 @@ static void mtd_probe_uclass_mtd_devs(void) { }
#endif #endif
#if defined(CONFIG_MTD_PARTITIONS) #if defined(CONFIG_MTD_PARTITIONS)
extern void board_mtdparts_default(const char **mtdids,
const char **mtdparts);
static const char *get_mtdids(void)
{
__maybe_unused const char *mtdparts = NULL;
const char *mtdids = env_get("mtdids");
if (mtdids)
return mtdids;
#if defined(CONFIG_SYS_MTDPARTS_RUNTIME)
board_mtdparts_default(&mtdids, &mtdparts);
#elif defined(MTDIDS_DEFAULT)
mtdids = MTDIDS_DEFAULT;
#elif defined(CONFIG_MTDIDS_DEFAULT)
mtdids = CONFIG_MTDIDS_DEFAULT;
#endif
if (mtdids)
env_set("mtdids", mtdids);
return mtdids;
}
#define MTDPARTS_MAXLEN 512
static const char *get_mtdparts(void)
{
__maybe_unused const char *mtdids = NULL;
static char tmp_parts[MTDPARTS_MAXLEN];
static bool use_defaults = true;
const char *mtdparts = NULL;
if (gd->flags & GD_FLG_ENV_READY)
mtdparts = env_get("mtdparts");
else if (env_get_f("mtdparts", tmp_parts, sizeof(tmp_parts)) != -1)
mtdparts = tmp_parts;
if (mtdparts || !use_defaults)
return mtdparts;
#if defined(CONFIG_SYS_MTDPARTS_RUNTIME)
board_mtdparts_default(&mtdids, &mtdparts);
#elif defined(MTDPARTS_DEFAULT)
mtdparts = MTDPARTS_DEFAULT;
#elif defined(CONFIG_MTDPARTS_DEFAULT)
mtdparts = CONFIG_MTDPARTS_DEFAULT;
#endif
if (mtdparts)
env_set("mtdparts", mtdparts);
use_defaults = false;
return mtdparts;
}
int mtd_probe_devices(void) int mtd_probe_devices(void)
{ {
static char *old_mtdparts; static char *old_mtdparts;
static char *old_mtdids; static char *old_mtdids;
const char *mtdparts = env_get("mtdparts"); const char *mtdparts = get_mtdparts();
const char *mtdids = env_get("mtdids"); const char *mtdids = get_mtdids();
bool remaining_partitions = true; bool remaining_partitions = true;
struct mtd_info *mtd; struct mtd_info *mtd;