[PATCH 3/5] scsi: ufs: Add Kconfig for UFS HC driver crypto support

From: Ladvine D Almeida
Date: Mon May 28 2018 - 09:30:06 EST



This patch adds the Kconfig for enabling crypto support for
UFS Host Controller driver. It also adds Makefile changes
for building crypto support based on crypto Kconfig selection.

Signed-off-by: Ladvine D Almeida <ladvine@xxxxxxxxxxxx>
---
drivers/scsi/ufs/Kconfig | 15 +++++++++++++++
drivers/scsi/ufs/Makefile | 6 +++++-
2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index e27b4d4..0134672 100644
--- a/drivers/scsi/ufs/Kconfig
+++ b/drivers/scsi/ufs/Kconfig
@@ -50,6 +50,21 @@ config SCSI_UFSHCD
However, do not compile this as a module if your root file system
(the one containing the directory /) is located on a UFS device.

+config SCSI_UFSHCD_INLINE_ENCRYPTION
+ bool "Universal Flash Storage Controller Driver crypto support"
+ depends on SCSI_UFSHCD
+ default n
+ select BLK_DEV_INLINE_ENCRYPTION if SCSI_UFSHCD_INLINE_ENCRYPTION
+ help
+ This enables the Inline Encryption feature of the UFS Host
+ Controller driver. Once the capability is detected in hardware,
+ it will be made available for the user through Linux Kernel
+ Cryptography Framework(LKCF).
+
+ If you have a controller with this capability, say Y.
+
+ If unsure, say N.
+
config SCSI_UFSHCD_PCI
tristate "PCI bus based UFS Controller support"
depends on SCSI_UFSHCD && PCI
diff --git a/drivers/scsi/ufs/Makefile b/drivers/scsi/ufs/Makefile
index 918f579..ab84bec 100644
--- a/drivers/scsi/ufs/Makefile
+++ b/drivers/scsi/ufs/Makefile
@@ -4,6 +4,10 @@ obj-$(CONFIG_SCSI_UFS_DWC_TC_PCI) += tc-dwc-g210-pci.o ufshcd-dwc.o tc-dwc-g210.
obj-$(CONFIG_SCSI_UFS_DWC_TC_PLATFORM) += tc-dwc-g210-pltfrm.o ufshcd-dwc.o tc-dwc-g210.o
obj-$(CONFIG_SCSI_UFS_QCOM) += ufs-qcom.o
obj-$(CONFIG_SCSI_UFSHCD) += ufshcd-core.o
-ufshcd-core-objs := ufshcd.o ufs-sysfs.o
+ifdef CONFIG_SCSI_UFSHCD_INLINE_ENCRYPTION
+ ufshcd-core-objs := ufshcd.o ufs-sysfs.o ufshcd-crypto.o
+else
+ ufshcd-core-objs := ufshcd.o ufs-sysfs.o
+endif
obj-$(CONFIG_SCSI_UFSHCD_PCI) += ufshcd-pci.o
obj-$(CONFIG_SCSI_UFSHCD_PLATFORM) += ufshcd-pltfrm.o
--
2.7.4