Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

firmware: qcom: move Qualcomm code into its own directory

We're getting more and more qcom specific .c files in drivers/firmware/
and about to get even more. Create a separate directory for Qualcomm
firmware drivers and move existing sources in there.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Elliot Berman <quic_eberman@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Tested-by: Andrew Halaney <ahalaney@redhat.com> # sc8280xp-lenovo-thinkpad-x13s
Link: https://lore.kernel.org/r/20231017092732.19983-2-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Bartosz Golaszewski and committed by
Bjorn Andersson
bdac188e ba21d636

+69 -53
+2 -2
MAINTAINERS
··· 17804 17804 M: Maximilian Luz <luzmaximilian@gmail.com> 17805 17805 L: linux-arm-msm@vger.kernel.org 17806 17806 S: Maintained 17807 - F: drivers/firmware/qcom_qseecom.c 17807 + F: drivers/firmware/qcom/qcom_qseecom.c 17808 17808 17809 17809 QUALCOMM QSEECOM UEFISECAPP DRIVER 17810 17810 M: Maximilian Luz <luzmaximilian@gmail.com> 17811 17811 L: linux-arm-msm@vger.kernel.org 17812 17812 S: Maintained 17813 - F: drivers/firmware/qcom_qseecom_uefisecapp.c 17813 + F: drivers/firmware/qcom/qcom_qseecom_uefisecapp.c 17814 17814 17815 17815 QUALCOMM RMNET DRIVER 17816 17816 M: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
+1 -47
drivers/firmware/Kconfig
··· 212 212 ADSP exists on some mtk processors. 213 213 Client might use shared memory to exchange information with ADSP. 214 214 215 - config QCOM_SCM 216 - tristate 217 - 218 - config QCOM_SCM_DOWNLOAD_MODE_DEFAULT 219 - bool "Qualcomm download mode enabled by default" 220 - depends on QCOM_SCM 221 - help 222 - A device with "download mode" enabled will upon an unexpected 223 - warm-restart enter a special debug mode that allows the user to 224 - "download" memory content over USB for offline postmortem analysis. 225 - The feature can be enabled/disabled on the kernel command line. 226 - 227 - Say Y here to enable "download mode" by default. 228 - 229 - config QCOM_QSEECOM 230 - bool "Qualcomm QSEECOM interface driver" 231 - depends on QCOM_SCM=y 232 - select AUXILIARY_BUS 233 - help 234 - Various Qualcomm SoCs have a Secure Execution Environment (SEE) running 235 - in the Trust Zone. This module provides an interface to that via the 236 - QSEECOM mechanism, using SCM calls. 237 - 238 - The QSEECOM interface allows, among other things, access to applications 239 - running in the SEE. An example of such an application is 'uefisecapp', 240 - which is required to access UEFI variables on certain systems. If 241 - selected, the interface will also attempt to detect and register client 242 - devices for supported applications. 243 - 244 - Select Y here to enable the QSEECOM interface driver. 245 - 246 - config QCOM_QSEECOM_UEFISECAPP 247 - bool "Qualcomm SEE UEFI Secure App client driver" 248 - depends on QCOM_QSEECOM 249 - depends on EFI 250 - help 251 - Various Qualcomm SoCs do not allow direct access to EFI variables. 252 - Instead, these need to be accessed via the UEFI Secure Application 253 - (uefisecapp), residing in the Secure Execution Environment (SEE). 254 - 255 - This module provides a client driver for uefisecapp, installing efivar 256 - operations to allow the kernel accessing EFI variables, and via that also 257 - provide user-space with access to EFI variables via efivarfs. 258 - 259 - Select Y here to provide access to EFI variables on the aforementioned 260 - platforms. 261 - 262 215 config SYSFB 263 216 bool 264 217 select BOOT_VESA_SUPPORT ··· 297 344 source "drivers/firmware/imx/Kconfig" 298 345 source "drivers/firmware/meson/Kconfig" 299 346 source "drivers/firmware/psci/Kconfig" 347 + source "drivers/firmware/qcom/Kconfig" 300 348 source "drivers/firmware/smccc/Kconfig" 301 349 source "drivers/firmware/tegra/Kconfig" 302 350 source "drivers/firmware/xilinx/Kconfig"
+1 -4
drivers/firmware/Makefile
··· 18 18 obj-$(CONFIG_MTK_ADSP_IPC) += mtk-adsp-ipc.o 19 19 obj-$(CONFIG_RASPBERRYPI_FIRMWARE) += raspberrypi.o 20 20 obj-$(CONFIG_FW_CFG_SYSFS) += qemu_fw_cfg.o 21 - obj-$(CONFIG_QCOM_SCM) += qcom-scm.o 22 - qcom-scm-objs += qcom_scm.o qcom_scm-smc.o qcom_scm-legacy.o 23 - obj-$(CONFIG_QCOM_QSEECOM) += qcom_qseecom.o 24 - obj-$(CONFIG_QCOM_QSEECOM_UEFISECAPP) += qcom_qseecom_uefisecapp.o 25 21 obj-$(CONFIG_SYSFB) += sysfb.o 26 22 obj-$(CONFIG_SYSFB_SIMPLEFB) += sysfb_simplefb.o 27 23 obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o ··· 33 37 obj-y += efi/ 34 38 obj-y += imx/ 35 39 obj-y += psci/ 40 + obj-y += qcom/ 36 41 obj-y += smccc/ 37 42 obj-y += tegra/ 38 43 obj-y += xilinx/
+56
drivers/firmware/qcom/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0-only 2 + # 3 + # For a description of the syntax of this configuration file, 4 + # see Documentation/kbuild/kconfig-language.rst. 5 + # 6 + 7 + menu "Qualcomm firmware drivers" 8 + 9 + config QCOM_SCM 10 + tristate 11 + 12 + config QCOM_SCM_DOWNLOAD_MODE_DEFAULT 13 + bool "Qualcomm download mode enabled by default" 14 + depends on QCOM_SCM 15 + help 16 + A device with "download mode" enabled will upon an unexpected 17 + warm-restart enter a special debug mode that allows the user to 18 + "download" memory content over USB for offline postmortem analysis. 19 + The feature can be enabled/disabled on the kernel command line. 20 + 21 + Say Y here to enable "download mode" by default. 22 + 23 + config QCOM_QSEECOM 24 + bool "Qualcomm QSEECOM interface driver" 25 + depends on QCOM_SCM=y 26 + select AUXILIARY_BUS 27 + help 28 + Various Qualcomm SoCs have a Secure Execution Environment (SEE) running 29 + in the Trust Zone. This module provides an interface to that via the 30 + QSEECOM mechanism, using SCM calls. 31 + 32 + The QSEECOM interface allows, among other things, access to applications 33 + running in the SEE. An example of such an application is 'uefisecapp', 34 + which is required to access UEFI variables on certain systems. If 35 + selected, the interface will also attempt to detect and register client 36 + devices for supported applications. 37 + 38 + Select Y here to enable the QSEECOM interface driver. 39 + 40 + config QCOM_QSEECOM_UEFISECAPP 41 + bool "Qualcomm SEE UEFI Secure App client driver" 42 + depends on QCOM_QSEECOM 43 + depends on EFI 44 + help 45 + Various Qualcomm SoCs do not allow direct access to EFI variables. 46 + Instead, these need to be accessed via the UEFI Secure Application 47 + (uefisecapp), residing in the Secure Execution Environment (SEE). 48 + 49 + This module provides a client driver for uefisecapp, installing efivar 50 + operations to allow the kernel accessing EFI variables, and via that also 51 + provide user-space with access to EFI variables via efivarfs. 52 + 53 + Select Y here to provide access to EFI variables on the aforementioned 54 + platforms. 55 + 56 + endmenu
+9
drivers/firmware/qcom/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + # 3 + # Makefile for the linux kernel. 4 + # 5 + 6 + obj-$(CONFIG_QCOM_SCM) += qcom-scm.o 7 + qcom-scm-objs += qcom_scm.o qcom_scm-smc.o qcom_scm-legacy.o 8 + obj-$(CONFIG_QCOM_QSEECOM) += qcom_qseecom.o 9 + obj-$(CONFIG_QCOM_QSEECOM_UEFISECAPP) += qcom_qseecom_uefisecapp.o
drivers/firmware/qcom_qseecom.c drivers/firmware/qcom/qcom_qseecom.c
drivers/firmware/qcom_qseecom_uefisecapp.c drivers/firmware/qcom/qcom_qseecom_uefisecapp.c
drivers/firmware/qcom_scm-legacy.c drivers/firmware/qcom/qcom_scm-legacy.c
drivers/firmware/qcom_scm-smc.c drivers/firmware/qcom/qcom_scm-smc.c
drivers/firmware/qcom_scm.c drivers/firmware/qcom/qcom_scm.c
drivers/firmware/qcom_scm.h drivers/firmware/qcom/qcom_scm.h