diff --git a/MAINTAINERS b/MAINTAINERS index ddc5a8cf9a8ac0078f8ca1bc99d9c48f8197214a..beb8aa4840e4330020f0755804dec4debbc0f7df 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1317,6 +1317,7 @@ L: linux-soc@vger.kernel.org S: Maintained F: arch/arm/mach-qcom/ F: drivers/soc/qcom/ +F: drivers/firmware/qcom_scm.c T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git ARM/RADISYS ENP2611 MACHINE SUPPORT diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 9f1f09a2bc9bf28894777c08d6968d7faeba55a6..7ffd1518d2aa3c382ac91479bc68d52e10a4fd89 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2160,6 +2160,8 @@ source "net/Kconfig" source "drivers/Kconfig" +source "drivers/firmware/Kconfig" + source "fs/Kconfig" source "arch/arm/Kconfig.debug" diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig index 48003ea652b9f56341cce4b8d1fe7fb2bf89d8d1..2256cd1e25d156cfd7e40d6c86cd8a9a1b104997 100644 --- a/arch/arm/mach-qcom/Kconfig +++ b/arch/arm/mach-qcom/Kconfig @@ -22,7 +22,4 @@ config ARCH_MSM8974 bool "Enable support for MSM8974" select HAVE_ARM_ARCH_TIMER -config QCOM_SCM - bool - endif diff --git a/arch/arm/mach-qcom/Makefile b/arch/arm/mach-qcom/Makefile index 10b684140aa1ae6cb864c71d98f7f63e1aa0f40a..e324375fa9195227f951025e41fce094819184cb 100644 --- a/arch/arm/mach-qcom/Makefile +++ b/arch/arm/mach-qcom/Makefile @@ -1,5 +1,2 @@ obj-y := board.o obj-$(CONFIG_SMP) += platsmp.o -obj-$(CONFIG_QCOM_SCM) += scm.o - -CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) diff --git a/arch/arm/mach-qcom/platsmp.c b/arch/arm/mach-qcom/platsmp.c index 596e6237dc7e621520db41a161fcba27c01ab539..4b67e56911d3b23eb9aa0a0faf8a7d47e5520a41 100644 --- a/arch/arm/mach-qcom/platsmp.c +++ b/arch/arm/mach-qcom/platsmp.c @@ -17,10 +17,10 @@ #include #include #include +#include #include -#include "scm.h" #define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x35a0 #define SCSS_CPU1CORE_RESET 0x2d80 diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 41983883cef47da740612a9966d39ec97094d593..6517132e5d8b5900baebcbc4620e10dbb4a876e0 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -132,6 +132,10 @@ config ISCSI_IBFT detect iSCSI boot parameters dynamically during system boot, say Y. Otherwise, say N. +config QCOM_SCM + bool + depends on ARM || ARM64 + source "drivers/firmware/google/Kconfig" source "drivers/firmware/efi/Kconfig" diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index 5373dc5b60114f31af5cf66cdbb923bdc6b0f973..3fdd3912709af54950f84f7f2dacb1e9a5aee366 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -11,6 +11,8 @@ obj-$(CONFIG_DMIID) += dmi-id.o obj-$(CONFIG_ISCSI_IBFT_FIND) += iscsi_ibft_find.o obj-$(CONFIG_ISCSI_IBFT) += iscsi_ibft.o obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o +obj-$(CONFIG_QCOM_SCM) += qcom_scm.o +CFLAGS_qcom_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) obj-$(CONFIG_GOOGLE_FIRMWARE) += google/ obj-$(CONFIG_EFI) += efi/ diff --git a/arch/arm/mach-qcom/scm.c b/drivers/firmware/qcom_scm.c similarity index 99% rename from arch/arm/mach-qcom/scm.c rename to drivers/firmware/qcom_scm.c index 3e0e334374deeba25e07d7caccfb660256cd281c..6e7a72bdb17688fccc8a5acce3ac9b8eff905ad2 100644 --- a/arch/arm/mach-qcom/scm.c +++ b/drivers/firmware/qcom_scm.c @@ -21,11 +21,11 @@ #include #include #include +#include #include #include -#include "scm.h" #define QCOM_SCM_ENOMEM -5 #define QCOM_SCM_EOPNOTSUPP -4 diff --git a/arch/arm/mach-qcom/scm.h b/include/linux/qcom_scm.h similarity index 100% rename from arch/arm/mach-qcom/scm.h rename to include/linux/qcom_scm.h