All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 08/27] mmc: Move tracing code into separate functions
Date: Sun, 12 Jun 2016 23:30:20 -0600	[thread overview]
Message-ID: <1465795839-16632-9-git-send-email-sjg@chromium.org> (raw)
In-Reply-To: <1465795839-16632-1-git-send-email-sjg@chromium.org>

Move this code into separate functions so that it can be used from the uclass
also. Add static inline versions for when the option is disabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 drivers/mmc/mmc.c         | 41 ++++++++++++++++++++++++++---------------
 drivers/mmc/mmc_private.h | 19 +++++++++++++++++++
 2 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 6593f25..66aaca7 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -47,17 +47,18 @@ __weak int board_mmc_getcd(struct mmc *mmc)
 	return -1;
 }
 
-int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
+#ifdef CONFIG_MMC_TRACE
+void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd)
 {
-	int ret;
+	printf("CMD_SEND:%d\n", cmd->cmdidx);
+	printf("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg);
+}
 
-#ifdef CONFIG_MMC_TRACE
+void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, int ret)
+{
 	int i;
 	u8 *ptr;
 
-	printf("CMD_SEND:%d\n", cmd->cmdidx);
-	printf("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg);
-	ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);
 	if (ret) {
 		printf("\t\tRET\t\t\t %d\n", ret);
 	} else {
@@ -103,9 +104,25 @@ int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
 			break;
 		}
 	}
-#else
-	ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);
+}
+
+void mmc_trace_state(struct mmc *mmc, struct mmc_cmd *cmd)
+{
+	int status;
+
+	status = (cmd->response[0] & MMC_STATUS_CURR_STATE) >> 9;
+	printf("CURR STATE:%d\n", status);
+}
 #endif
+
+int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
+{
+	int ret;
+
+	mmmc_trace_before_send(mmc, cmd);
+	ret = mmc->cfg->ops->send_cmd(mmc, cmd, data);
+	mmmc_trace_after_send(mmc, cmd, ret);
+
 	return ret;
 }
 
@@ -113,9 +130,6 @@ int mmc_send_status(struct mmc *mmc, int timeout)
 {
 	struct mmc_cmd cmd;
 	int err, retries = 5;
-#ifdef CONFIG_MMC_TRACE
-	int status;
-#endif
 
 	cmd.cmdidx = MMC_CMD_SEND_STATUS;
 	cmd.resp_type = MMC_RSP_R1;
@@ -145,10 +159,7 @@ int mmc_send_status(struct mmc *mmc, int timeout)
 		udelay(1000);
 	}
 
-#ifdef CONFIG_MMC_TRACE
-	status = (cmd.response[0] & MMC_STATUS_CURR_STATE) >> 9;
-	printf("CURR STATE:%d\n", status);
-#endif
+	mmc_trace_state(mmc, &cmd);
 	if (timeout <= 0) {
 #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
 		printf("Timeout waiting card ready\n");
diff --git a/drivers/mmc/mmc_private.h b/drivers/mmc/mmc_private.h
index 3d189ba..49ec022 100644
--- a/drivers/mmc/mmc_private.h
+++ b/drivers/mmc/mmc_private.h
@@ -73,6 +73,25 @@ static inline ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start,
 
 #endif /* CONFIG_SPL_BUILD */
 
+#ifdef CONFIG_MMC_TRACE
+void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd);
+void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, int ret);
+void mmc_trace_state(struct mmc *mmc, struct mmc_cmd *cmd);
+#else
+static inline void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd)
+{
+}
+
+static inline void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd,
+					 int ret)
+{
+}
+
+static inline void mmc_trace_state(struct mmc *mmc, struct mmc_cmd *cmd)
+{
+}
+#endif
+
 /**
  * mmc_get_next_devnum() - Get the next available MMC device number
  *
-- 
2.8.0.rc3.226.g39d4020

  parent reply	other threads:[~2016-06-13  5:30 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-13  5:30 [U-Boot] [PATCH 00/27] dm: mmc: Add driver-model support for MMC operations Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 01/27] dm: mmc: dwmmc: Add comments to the dwmmc setup functions Simon Glass
2016-06-27 10:54   ` Jaehoon Chung
2016-07-03 22:28     ` Simon Glass
2016-07-03 23:24       ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 02/27] rockchip: Use 'select' instead of defaults in Kconfig Simon Glass
2016-07-03 23:24   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 03/27] mmc: Add function declarations for mmc_bread() and mmc_switch_part() Simon Glass
2016-07-03 23:24   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 04/27] dm: mmc: Move CONFIG_BLK code into the mmc uclass Simon Glass
2016-07-03 23:24   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 05/27] dm: mmc: Move non-CONFIG_BLK code into mmc_legacy.c Simon Glass
2016-07-03 23:24   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 06/27] mmc: Move MMC boot code into its own file Simon Glass
2016-07-03 23:24   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 07/27] dm: mmc: rockchip: Support only CONFIG_BLK Simon Glass
2016-07-03 23:24   ` Simon Glass
2016-06-13  5:30 ` Simon Glass [this message]
2016-07-03 23:24   ` [U-Boot] [PATCH 08/27] mmc: Move tracing code into separate functions Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 09/27] rockchip: Disable CONFIG_SDHCI Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 10/27] dm: mmc: Add a way to use driver model for MMC operations Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 11/27] dm: mmc: dwmmc: Support CONFIG_DM_MMC_OPS Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 12/27] dm: mmc: rockchip: Enable CONFIG_DM_MMC_OPS for all boards Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 13/27] rockchip: Add MAINTAINER files for kylin_rk3036, evb_rk3036 Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 14/27] dm: sandbox: Convert to use CONFIG_CMD_MMC_OPS Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 15/27] dm: mmc: sdhci: Refactor configuration setup to support DM Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 16/27] dm: mmc: sdhci: Support CONFIG_BLK and CONFIG_DM_MMC_OPS Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 17/27] dm: mmc: msm_sdhci: " Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 18/27] dm: mmc: Move dragonboard410c to use " Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 19/27] dm: mmc: msmsdhic: Drop old MMC code Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 20/27] dm: spl: mmc: Support CONFIG_BLK in SPL MMC Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 21/27] dm: dfu: mmc: Support CONFIG_BLK in DFU for MMC Simon Glass
2016-07-03 23:25   ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 22/27] net: phy: marvell: Add a missing errno.h header Simon Glass
2016-06-13 18:21   ` Joe Hershberger
2016-06-14  5:55     ` Michal Simek
2016-07-05 22:24     ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 23/27] zynq: Increase the early malloc() size Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 24/27] dm: zynq: usb: Convert to CONFIG_DM_USB Simon Glass
2016-06-13 10:48   ` Michal Simek
2016-06-28  6:08   ` Siva Durga Prasad Paladugu
2016-07-04  4:49   ` Siva Durga Prasad Paladugu
2016-08-01  1:00     ` Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 25/27] dm: mmc: zynq: Convert zynq to use driver model for MMC Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 26/27] dm: mmc: Enable DM_MMC_OPS by default with DM_MMC Simon Glass
2016-06-13  5:30 ` [U-Boot] [PATCH 27/27] dm: blk: Enable CONFIG_BLK if DM_MMC is enabled Simon Glass

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=1465795839-16632-9-git-send-email-sjg@chromium.org \
    --to=sjg@chromium.org \
    --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.