Message ID | 20241213041958.202565-7-ebiggers@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Support for hardware-wrapped inline encryption keys | expand |
On Fri, 13 Dec 2024 at 05:20, Eric Biggers <ebiggers@kernel.org> wrote: > > From: Eric Biggers <ebiggers@google.com> > > 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> Applied for next, thanks! Kind regards Uffe > --- > drivers/mmc/host/cqhci-crypto.c | 5 +---- > include/linux/mmc/host.h | 8 ++++++++ > 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 > @@ -23,14 +23,11 @@ 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, > const union cqhci_crypto_cfg_entry *cfg, > int slot) > 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 > @@ -588,10 +588,18 @@ static inline void *mmc_priv(struct mmc_host *host) > 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) > #define mmc_classdev(x) (&(x)->class_dev) > #define mmc_hostname(x) (dev_name(&(x)->class_dev)) > -- > 2.47.1 >
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 @@ -23,14 +23,11 @@ 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, const union cqhci_crypto_cfg_entry *cfg, int slot) 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 @@ -588,10 +588,18 @@ static inline void *mmc_priv(struct mmc_host *host) 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) #define mmc_classdev(x) (&(x)->class_dev) #define mmc_hostname(x) (dev_name(&(x)->class_dev))