All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikita Kiryanov <nikita@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 06/12] spl: mmc: move fs boot into its own function
Date: Thu, 22 Oct 2015 15:01:14 +0300	[thread overview]
Message-ID: <1445515280-21389-7-git-send-email-nikita@compulab.co.il> (raw)
In-Reply-To: <1445515280-21389-1-git-send-email-nikita@compulab.co.il>

Move the code that handles fs boot out of spl_mmc_load_image() and into its
own function to reduce the #ifdef complexit of spl_mmc_load_image().

No functional changes.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Paul Kocialkowski <contact@paulk.fr>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
---
 common/spl/spl_mmc.c | 81 +++++++++++++++++++++++++++++++++-------------------
 1 file changed, 51 insertions(+), 30 deletions(-)

diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index fbdcf0d..959cdcc 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -171,6 +171,55 @@ static int mmc_load_image_raw_os(struct mmc *mmc)
 }
 #endif
 
+#ifdef CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
+int spl_mmc_do_fs_boot(struct mmc *mmc)
+{
+	int err = -ENOSYS;
+
+#ifdef CONFIG_SPL_FAT_SUPPORT
+	if (!spl_start_uboot()) {
+		err = spl_load_image_fat_os(&mmc->block_dev,
+			CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
+		if (!err)
+			return err;
+	}
+#ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
+	err = spl_load_image_fat(&mmc->block_dev,
+				 CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
+				 CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
+	if (!err)
+		return err;
+#endif
+#endif
+#ifdef CONFIG_SPL_EXT_SUPPORT
+	if (!spl_start_uboot()) {
+		err = spl_load_image_ext_os(&mmc->block_dev,
+			CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
+		if (!err)
+			return err;
+	}
+#ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
+	err = spl_load_image_ext(&mmc->block_dev,
+				 CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
+				 CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
+	if (!err)
+		return err;
+#endif
+#endif
+
+#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
+	err = -ENOENT;
+#endif
+
+	return err;
+}
+#else
+int spl_mmc_do_fs_boot(struct mmc *mmc)
+{
+	return -ENOSYS;
+}
+#endif
+
 void spl_mmc_load_image(void)
 {
 	struct mmc *mmc;
@@ -214,38 +263,10 @@ void spl_mmc_load_image(void)
 	case MMCSD_MODE_FS:
 		debug("spl: mmc boot mode: fs\n");
 
-#ifdef CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
-#ifdef CONFIG_SPL_FAT_SUPPORT
-		if (!spl_start_uboot()) {
-			err = spl_load_image_fat_os(&mmc->block_dev,
-				CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
-			if (!err)
-				return;
-		}
-#ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
-		err = spl_load_image_fat(&mmc->block_dev,
-					 CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
-					 CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
-		if (!err)
-			return;
-#endif
-#endif
-#ifdef CONFIG_SPL_EXT_SUPPORT
-		if (!spl_start_uboot()) {
-			err = spl_load_image_ext_os(&mmc->block_dev,
-				CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
-			if (!err)
-				return;
-		}
-#ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
-		err = spl_load_image_ext(&mmc->block_dev,
-					 CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
-					 CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
+		err = spl_mmc_do_fs_boot(mmc);
 		if (!err)
 			return;
-#endif
-#endif
-#endif
+
 		break;
 #ifdef CONFIG_SUPPORT_EMMC_BOOT
 	case MMCSD_MODE_EMMCBOOT:
-- 
1.9.1

  parent reply	other threads:[~2015-10-22 12:01 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-22 12:01 [U-Boot] [PATCH 00/12] SPL mmc refactor and alternate boot device feature Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 01/12] spl: nand: remove code duplication Nikita Kiryanov
2015-10-22 18:11   ` Scott Wood
2015-10-22 12:01 ` [U-Boot] [PATCH 02/12] spl: mmc: add break statements in spl_mmc_load_image() Nikita Kiryanov
2015-10-22 12:37   ` Hans de Goede
2015-10-22 13:08     ` Nikita Kiryanov
2015-10-22 13:23       ` Hans de Goede
2015-10-22 13:53         ` Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 03/12] spl: mmc: refactor device location code to its own function Nikita Kiryanov
2015-10-22 12:42   ` Hans de Goede
2015-10-22 14:15     ` Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 04/12] spl: mmc: remove #ifdef CONFIG_SPL_OS_BOOT check Nikita Kiryanov
2015-10-22 12:44   ` Hans de Goede
2015-10-22 12:01 ` [U-Boot] [PATCH 05/12] spl: mmc: get rid of #ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION check Nikita Kiryanov
2015-10-22 12:47   ` Hans de Goede
2015-10-22 13:40     ` Nikita Kiryanov
2015-10-22 13:49       ` Tom Rini
2015-10-23  9:40         ` Nikita Kiryanov
2015-10-23 14:03           ` Hans de Goede
2015-10-23 14:11             ` Tom Rini
2015-10-22 12:01 ` Nikita Kiryanov [this message]
2015-10-22 12:01 ` [U-Boot] [PATCH 07/12] spl: mmc: get rid of emmc boot code duplication Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 08/12] spl: change return values of spl_*_load_image() Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 09/12] common: spl: move image load to its own function Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 10/12] spl: add support for alternative boot device Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 11/12] spl: announce boot devices Nikita Kiryanov
2015-10-22 12:01 ` [U-Boot] [PATCH 12/12] arm: mx6: cm-fx6: define fallback boot devices for spl Nikita Kiryanov
2015-10-22 12:24 ` [U-Boot] [PATCH 00/12] SPL mmc refactor and alternate boot device feature Otavio Salvador
2015-10-23  9:46   ` Nikita Kiryanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1445515280-21389-7-git-send-email-nikita@compulab.co.il \
    --to=nikita@compulab.co.il \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.