Message ID | 20240708235330.103590-3-ebiggers@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Basic inline encryption support for ufs-exynos | expand |
> -----Original Message----- > From: Eric Biggers <ebiggers@kernel.org> > Sent: Tuesday, July 9, 2024 5:23 AM > To: linux-scsi@vger.kernel.org > Cc: linux-samsung-soc@vger.kernel.org; linux-fscrypt@vger.kernel.org; Alim > Akhtar <alim.akhtar@samsung.com>; Avri Altman <avri.altman@wdc.com>; > Bart Van Assche <bvanassche@acm.org>; Martin K . Petersen > <martin.petersen@oracle.com>; Peter Griffin <peter.griffin@linaro.org>; > André Draszik <andre.draszik@linaro.org>; William McVicker > <willmcvicker@google.com> > Subject: [PATCH v3 2/6] scsi: ufs: core: fold ufshcd_clear_keyslot() into its > caller > > From: Eric Biggers <ebiggers@google.com> > > Fold ufshcd_clear_keyslot() into its only remaining caller. > > Reviewed-by: Bart Van Assche <bvanassche@acm.org> > Reviewed-by: Peter Griffin <peter.griffin@linaro.org> > Signed-off-by: Eric Biggers <ebiggers@google.com> > --- Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> > drivers/ufs/core/ufshcd-crypto.c | 16 +++++----------- > 1 file changed, 5 insertions(+), 11 deletions(-) > > diff --git a/drivers/ufs/core/ufshcd-crypto.c b/drivers/ufs/core/ufshcd- > crypto.c > index debc925ae439..b4980fd91cee 100644 > --- a/drivers/ufs/core/ufshcd-crypto.c > +++ b/drivers/ufs/core/ufshcd-crypto.c > @@ -93,31 +93,25 @@ static int ufshcd_crypto_keyslot_program(struct > blk_crypto_profile *profile, > > memzero_explicit(&cfg, sizeof(cfg)); > return err; > } > > -static int ufshcd_clear_keyslot(struct ufs_hba *hba, int slot) > +static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile, > + const struct blk_crypto_key *key, > + unsigned int slot) > { > + struct ufs_hba *hba = > + container_of(profile, struct ufs_hba, crypto_profile); > /* > * Clear the crypto cfg on the device. Clearing CFGE > * might not be sufficient, so just clear the entire cfg. > */ > union ufs_crypto_cfg_entry cfg = {}; > > return ufshcd_program_key(hba, &cfg, slot); } > > -static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile, > - const struct blk_crypto_key *key, > - unsigned int slot) > -{ > - struct ufs_hba *hba = > - container_of(profile, struct ufs_hba, crypto_profile); > - > - return ufshcd_clear_keyslot(hba, slot); > -} > - > bool ufshcd_crypto_enable(struct ufs_hba *hba) { > if (!(hba->caps & UFSHCD_CAP_CRYPTO)) > return false; > > -- > 2.45.2
diff --git a/drivers/ufs/core/ufshcd-crypto.c b/drivers/ufs/core/ufshcd-crypto.c index debc925ae439..b4980fd91cee 100644 --- a/drivers/ufs/core/ufshcd-crypto.c +++ b/drivers/ufs/core/ufshcd-crypto.c @@ -93,31 +93,25 @@ static int ufshcd_crypto_keyslot_program(struct blk_crypto_profile *profile, memzero_explicit(&cfg, sizeof(cfg)); return err; } -static int ufshcd_clear_keyslot(struct ufs_hba *hba, int slot) +static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile, + const struct blk_crypto_key *key, + unsigned int slot) { + struct ufs_hba *hba = + container_of(profile, struct ufs_hba, crypto_profile); /* * Clear the crypto cfg on the device. Clearing CFGE * might not be sufficient, so just clear the entire cfg. */ union ufs_crypto_cfg_entry cfg = {}; return ufshcd_program_key(hba, &cfg, slot); } -static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile, - const struct blk_crypto_key *key, - unsigned int slot) -{ - struct ufs_hba *hba = - container_of(profile, struct ufs_hba, crypto_profile); - - return ufshcd_clear_keyslot(hba, slot); -} - bool ufshcd_crypto_enable(struct ufs_hba *hba) { if (!(hba->caps & UFSHCD_CAP_CRYPTO)) return false;