From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Garcia Date: Sat, 25 May 2019 19:25:22 -0300 Subject: [U-Boot] [PATCH 2/2] mmc: Register only the first MMC device on MMC_TINY In-Reply-To: <20190525222522.14105-1-ezequiel@collabora.com> References: <20190525222522.14105-1-ezequiel@collabora.com> Message-ID: <20190525222522.14105-2-ezequiel@collabora.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de When MMC_TINY is enabled, support for only one MMC device is provided. Boards that register more than one device, will just write over mmc_static keeping only the last one registered. This commit prevents this, keeping only the first MMC device created. A debug warning message is added, if nothing else, as a hint/documentation for developers. Signed-off-by: Ezequiel Garcia --- drivers/mmc/mmc_legacy.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mmc/mmc_legacy.c b/drivers/mmc/mmc_legacy.c index 66a7cda440cd..b0f5cf58a2b3 100644 --- a/drivers/mmc/mmc_legacy.c +++ b/drivers/mmc/mmc_legacy.c @@ -150,6 +150,15 @@ struct mmc *mmc_create(const struct mmc_config *cfg, void *priv) { struct mmc *mmc = &mmc_static; + /* First MMC device registered, fail to register a new one. + * Given users are not expecting this to fail, instead + * of failing let's just return the only MMC device + */ + if (mmc->cfg) { + debug("Warning: MMC_TINY doesn't support multiple MMC devices\n"); + return mmc; + } + mmc->cfg = cfg; mmc->priv = priv; -- 2.20.1