mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 00:48:50 +00:00
424953cf3c
Now that SCM can be a loadable module, we have to add another dependency to avoid link failures when ipa or adreno-gpu are built-in: aarch64-linux-ld: drivers/net/ipa/ipa_main.o: in function `ipa_probe': ipa_main.c:(.text+0xfc4): undefined reference to `qcom_scm_is_available' ld.lld: error: undefined symbol: qcom_scm_is_available >>> referenced by adreno_gpu.c >>> gpu/drm/msm/adreno/adreno_gpu.o:(adreno_zap_shader_load) in archive drivers/built-in.a This can happen when CONFIG_ARCH_QCOM is disabled and we don't select QCOM_MDT_LOADER, but some other module selects QCOM_SCM. Ideally we'd use a similar dependency here to what we have for QCOM_RPROC_COMMON, but that causes dependency loops from other things selecting QCOM_SCM. This appears to be an endless problem, so try something different this time: - CONFIG_QCOM_SCM becomes a hidden symbol that nothing 'depends on' but that is simply selected by all of its users - All the stubs in include/linux/qcom_scm.h can go away - arm-smccc.h needs to provide a stub for __arm_smccc_smc() to allow compile-testing QCOM_SCM on all architectures. - To avoid a circular dependency chain involving RESET_CONTROLLER and PINCTRL_SUNXI, drop the 'select RESET_CONTROLLER' statement. According to my testing this still builds fine, and the QCOM platform selects this symbol already. Acked-by: Kalle Valo <kvalo@codeaurora.org> Acked-by: Alex Elder <elder@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
323 lines
10 KiB
Text
323 lines
10 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
if (ARCH_QCOM || COMPILE_TEST)
|
|
|
|
config PINCTRL_MSM
|
|
tristate "Qualcomm core pin controller driver"
|
|
depends on GPIOLIB
|
|
select QCOM_SCM
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
|
|
config PINCTRL_APQ8064
|
|
tristate "Qualcomm APQ8064 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
|
|
|
|
config PINCTRL_APQ8084
|
|
tristate "Qualcomm APQ8084 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm APQ8084 platform.
|
|
|
|
config PINCTRL_IPQ4019
|
|
tristate "Qualcomm IPQ4019 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm IPQ4019 platform.
|
|
|
|
config PINCTRL_IPQ8064
|
|
tristate "Qualcomm IPQ8064 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
|
|
|
|
config PINCTRL_IPQ8074
|
|
tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for
|
|
the Qualcomm Technologies Inc. TLMM block found on the
|
|
Qualcomm Technologies Inc. IPQ8074 platform. Select this for
|
|
IPQ8074.
|
|
|
|
config PINCTRL_IPQ6018
|
|
tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for
|
|
the Qualcomm Technologies Inc. TLMM block found on the
|
|
Qualcomm Technologies Inc. IPQ6018 platform. Select this for
|
|
IPQ6018.
|
|
|
|
config PINCTRL_MSM8226
|
|
tristate "Qualcomm 8226 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc MSM8226 platform.
|
|
|
|
config PINCTRL_MSM8660
|
|
tristate "Qualcomm 8660 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8660 platform.
|
|
|
|
config PINCTRL_MSM8960
|
|
tristate "Qualcomm 8960 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8960 platform.
|
|
|
|
config PINCTRL_MDM9607
|
|
tristate "Qualcomm 9607 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 9607 platform.
|
|
|
|
config PINCTRL_MDM9615
|
|
tristate "Qualcomm 9615 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 9615 platform.
|
|
|
|
config PINCTRL_MSM8X74
|
|
tristate "Qualcomm 8x74 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8974 platform.
|
|
|
|
config PINCTRL_MSM8916
|
|
tristate "Qualcomm 8916 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found on the Qualcomm 8916 platform.
|
|
|
|
config PINCTRL_MSM8953
|
|
tristate "Qualcomm 8953 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found on the Qualcomm MSM8953 platform.
|
|
The Qualcomm APQ8053, SDM450, SDM632 platforms are also
|
|
supported by this driver.
|
|
|
|
config PINCTRL_MSM8976
|
|
tristate "Qualcomm 8976 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found on the Qualcomm MSM8976 platform.
|
|
The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also
|
|
supported by this driver.
|
|
|
|
config PINCTRL_MSM8994
|
|
tristate "Qualcomm 8994 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8994 platform. The
|
|
Qualcomm 8992 platform is also supported by this driver.
|
|
|
|
config PINCTRL_MSM8996
|
|
tristate "Qualcomm MSM8996 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
|
|
|
|
config PINCTRL_MSM8998
|
|
tristate "Qualcomm MSM8998 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm MSM8998 platform.
|
|
|
|
config PINCTRL_QCS404
|
|
tristate "Qualcomm QCS404 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
TLMM block found in the Qualcomm QCS404 platform.
|
|
|
|
config PINCTRL_QDF2XXX
|
|
tristate "Qualcomm Technologies QDF2xxx pin controller driver"
|
|
depends on ACPI
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the GPIO driver for the TLMM block found on the
|
|
Qualcomm Technologies QDF2xxx SOCs.
|
|
|
|
config PINCTRL_QCOM_SPMI_PMIC
|
|
tristate "Qualcomm SPMI PMIC pin controller driver"
|
|
depends on OF && SPMI
|
|
select REGMAP_SPMI
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
|
|
which are using SPMI for communication with SoC. Example PMIC's
|
|
devices are pm8841, pm8941 and pma8084.
|
|
|
|
config PINCTRL_QCOM_SSBI_PMIC
|
|
tristate "Qualcomm SSBI PMIC pin controller driver"
|
|
depends on OF
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
|
|
which are using SSBI for communication with SoC. Example PMIC's
|
|
devices are pm8058 and pm8921.
|
|
|
|
config PINCTRL_SC7180
|
|
tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SC7180 platform.
|
|
|
|
config PINCTRL_SC7280
|
|
tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SC7280 platform.
|
|
|
|
config PINCTRL_SC8180X
|
|
tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
|
|
depends on (OF || ACPI)
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SC8180x platform.
|
|
|
|
config PINCTRL_SDM660
|
|
tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SDM660 platform.
|
|
|
|
config PINCTRL_SDM845
|
|
tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
|
|
depends on (OF || ACPI)
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SDM845 platform.
|
|
|
|
config PINCTRL_SDX55
|
|
tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SDX55 platform.
|
|
|
|
config PINCTRL_SM6115
|
|
tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM6115 and SM4250 platforms.
|
|
|
|
config PINCTRL_SM6125
|
|
tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM6125 platform.
|
|
|
|
config PINCTRL_SM8150
|
|
tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM8150 platform.
|
|
|
|
config PINCTRL_SM8250
|
|
tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM8250 platform.
|
|
|
|
config PINCTRL_SM8350
|
|
tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM8350 platform.
|
|
|
|
config PINCTRL_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
depends on GPIOLIB
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
|
|
(Low Power Island) found on the Qualcomm Technologies Inc SoCs.
|
|
|
|
endif
|