summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2024-12-12 20:19:49 -0800
committerUlf Hansson <ulf.hansson@linaro.org>2024-12-19 14:43:28 +0100
commit08a7ead3242f70f4415232800104ae458fd96d17 (patch)
treef2bf5cb4660d629fbbcbff42a0a76fefad773cfe
parentf2d3630f1c361cfcd16fff88ff79e19ef8ac896a (diff)
downloadlinux-08a7ead3242f70f4415232800104ae458fd96d17.tar.gz
linux-08a7ead3242f70f4415232800104ae458fd96d17.tar.bz2
linux-08a7ead3242f70f4415232800104ae458fd96d17.zip
mmc: crypto: add mmc_from_crypto_profile()
Add a helper function that encapsulates a container_of expression. For now there is just one user but soon there will be more. Signed-off-by: Eric Biggers <ebiggers@google.com> Message-ID: <20241213041958.202565-7-ebiggers@kernel.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/host/cqhci-crypto.c5
-rw-r--r--include/linux/mmc/host.h8
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/mmc/host/cqhci-crypto.c b/drivers/mmc/host/cqhci-crypto.c
index d5f4b6972f63..2951911d3f78 100644
--- a/drivers/mmc/host/cqhci-crypto.c
+++ b/drivers/mmc/host/cqhci-crypto.c
@@ -25,10 +25,7 @@ static const struct cqhci_crypto_alg_entry {
static inline struct cqhci_host *
cqhci_host_from_crypto_profile(struct blk_crypto_profile *profile)
{
- struct mmc_host *mmc =
- container_of(profile, struct mmc_host, crypto_profile);
-
- return mmc->cqe_private;
+ return mmc_from_crypto_profile(profile)->cqe_private;
}
static int cqhci_crypto_program_key(struct cqhci_host *cq_host,
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index f166d6611ddb..68f09a955a90 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -590,6 +590,14 @@ static inline struct mmc_host *mmc_from_priv(void *priv)
return container_of(priv, struct mmc_host, private);
}
+#ifdef CONFIG_MMC_CRYPTO
+static inline struct mmc_host *
+mmc_from_crypto_profile(struct blk_crypto_profile *profile)
+{
+ return container_of(profile, struct mmc_host, crypto_profile);
+}
+#endif
+
#define mmc_host_is_spi(host) ((host)->caps & MMC_CAP_SPI)
#define mmc_dev(x) ((x)->parent)