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 <[email protected]>
---
 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

Reply via email to