From ef7544a30304cf8cde50699b8bc2f40d10500bb1 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Wed, 15 Apr 2020 11:29:13 +0200 Subject: mci: sdhci: provide sdhci_readx_poll_timeout helpers The sdhci_readN accessors don't lend themselves for clean use with readx_poll_timeout because they accept two arguments. Add a sdhci-specific helper, so the sdhci drivers can cut down on the timeout loop boilerplate. Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- drivers/mci/sdhci.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/mci/sdhci.h b/drivers/mci/sdhci.h index a307dc97cd..8c250a4d89 100644 --- a/drivers/mci/sdhci.h +++ b/drivers/mci/sdhci.h @@ -1,6 +1,9 @@ #ifndef __MCI_SDHCI_H #define __MCI_SDHCI_H +#include +#include + #define SDHCI_DMA_ADDRESS 0x00 #define SDHCI_BLOCK_SIZE__BLOCK_COUNT 0x04 #define SDHCI_BLOCK_SIZE 0x04 @@ -144,4 +147,13 @@ void sdhci_set_cmd_xfer_mode(struct sdhci *host, struct mci_cmd *cmd, u32 *xfer); int sdhci_transfer_data(struct sdhci *sdhci, struct mci_data *data); +#define sdhci_read8_poll_timeout(sdhci, reg, val, cond, timeout_us) \ + read_poll_timeout(sdhci_read8, val, cond, timeout_us, sdhci, reg) + +#define sdhci_read16_poll_timeout(sdhci, reg, val, cond, timeout_us) \ + read_poll_timeout(sdhci_read16, val, cond, timeout_us, sdhci, reg) + +#define sdhci_read32_poll_timeout(sdhci, reg, val, cond, timeout_us) \ + read_poll_timeout(sdhci_read32, val, cond, timeout_us, sdhci, reg) + #endif /* __MCI_SDHCI_H */ -- cgit v1.2.3