The newly added MSI support is mostly hidden inside of an #ifdef, except for one line that now causes a build failure when MSI is disabled: drivers/ufs/host/ufs-qcom.c: In function 'ufs_qcom_remove': drivers/ufs/host/ufs-qcom.c:1698:9: error: implicit declaration of function 'platform_msi_domain_free_irqs' [-Werror=i] 1698 | platform_msi_domain_free_irqs(hba->dev); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Above that, the symbol that guards the other call was recently removed, so that is all dead code at the moment. Remove the incorrect #ifdef and instead of a Kconfig dependency to only allow building the driver when CONFIG_GENERIC_MSI_IRQ is enabled. This symbol is always present when PCI_MSI or ARM_GIC_V3_ITS are enabled, both of which should be present on kernels that can run on Qualcomm SoCs. The 'select RESET_CONTROLLER' in combination with this dependency unfortunately causes a dependency loop and this is a user-visible symbol, so it's better to change both to 'depends on'. Link: https://lore.kernel.org/r/20230126211831.2274211-1-arnd@kernel.org Fixes: 519b6274a777 ("scsi: ufs: qcom: Add MCQ ESI config vendor specific ops") Fixes: 13e7accb81d6 ("genirq: Get rid of GENERIC_MSI_IRQ_DOMAIN") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org> Acked-by: Can Guo <quic_cang@quicinc.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
144 lines
4.5 KiB
Plaintext
144 lines
4.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Kernel configuration file for the UFS host controller drivers.
|
|
#
|
|
# Copyright (C) 2011-2013 Samsung India Software Operations
|
|
#
|
|
# Authors:
|
|
# Santosh Yaraganavi <santosh.sy@samsung.com>
|
|
# Vinayak Holikatti <h.vinayak@samsung.com>
|
|
|
|
config SCSI_UFSHCD_PCI
|
|
tristate "PCI bus based UFS Controller support"
|
|
depends on PCI
|
|
help
|
|
This selects the PCI UFS Host Controller Interface. Select this if
|
|
you have UFS Host Controller with PCI Interface.
|
|
|
|
If you have a controller with this interface, say Y or M here.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_DWC_TC_PCI
|
|
tristate "DesignWare pci support using a G210 Test Chip"
|
|
depends on SCSI_UFSHCD_PCI
|
|
help
|
|
Synopsys Test Chip is a PHY for prototyping purposes.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFSHCD_PLATFORM
|
|
tristate "Platform bus based UFS Controller support"
|
|
depends on HAS_IOMEM
|
|
help
|
|
This selects the UFS host controller support. Select this if
|
|
you have an UFS controller on Platform bus.
|
|
|
|
If you have a controller with this interface, say Y or M here.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_CDNS_PLATFORM
|
|
tristate "Cadence UFS Controller platform driver"
|
|
depends on SCSI_UFSHCD_PLATFORM
|
|
help
|
|
This selects the Cadence-specific additions to UFSHCD platform driver.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_DWC_TC_PLATFORM
|
|
tristate "DesignWare platform support using a G210 Test Chip"
|
|
depends on SCSI_UFSHCD_PLATFORM
|
|
help
|
|
Synopsys Test Chip is a PHY for prototyping purposes.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_QCOM
|
|
tristate "QCOM specific hooks to UFS controller platform driver"
|
|
depends on SCSI_UFSHCD_PLATFORM && ARCH_QCOM
|
|
depends on GENERIC_MSI_IRQ
|
|
depends on RESET_CONTROLLER
|
|
select QCOM_SCM if SCSI_UFS_CRYPTO
|
|
help
|
|
This selects the QCOM specific additions to UFSHCD platform driver.
|
|
UFS host on QCOM needs some vendor specific configuration before
|
|
accessing the hardware which includes PHY configuration and vendor
|
|
specific registers.
|
|
|
|
Select this if you have UFS controller on QCOM chipset.
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_MEDIATEK
|
|
tristate "Mediatek specific hooks to UFS controller platform driver"
|
|
depends on SCSI_UFSHCD_PLATFORM && ARCH_MEDIATEK
|
|
select PHY_MTK_UFS
|
|
select RESET_TI_SYSCON
|
|
help
|
|
This selects the Mediatek specific additions to UFSHCD platform driver.
|
|
UFS host on Mediatek needs some vendor specific configuration before
|
|
accessing the hardware which includes PHY configuration and vendor
|
|
specific registers.
|
|
|
|
Select this if you have UFS controller on Mediatek chipset.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_HISI
|
|
tristate "Hisilicon specific hooks to UFS controller platform driver"
|
|
depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
|
|
help
|
|
This selects the Hisilicon specific additions to UFSHCD platform driver.
|
|
|
|
Select this if you have UFS controller on Hisilicon chipset.
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_RENESAS
|
|
tristate "Renesas specific hooks to UFS controller platform driver"
|
|
depends on (ARCH_RENESAS || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
|
|
help
|
|
This selects the Renesas specific additions to UFSHCD platform driver.
|
|
UFS host on Renesas needs some vendor specific configuration before
|
|
accessing the hardware.
|
|
|
|
Select this if you have UFS controller on Renesas chipset.
|
|
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_TI_J721E
|
|
tristate "TI glue layer for Cadence UFS Controller"
|
|
depends on OF && HAS_IOMEM && (ARCH_K3 || COMPILE_TEST)
|
|
help
|
|
This selects driver for TI glue layer for Cadence UFS Host
|
|
Controller IP.
|
|
|
|
Selects this if you have TI platform with UFS controller.
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_EXYNOS
|
|
tristate "Exynos specific hooks to UFS controller platform driver"
|
|
depends on SCSI_UFSHCD_PLATFORM && (ARCH_EXYNOS || COMPILE_TEST)
|
|
help
|
|
This selects the Samsung Exynos SoC specific additions to UFSHCD
|
|
platform driver. UFS host on Samsung Exynos SoC includes HCI and
|
|
UNIPRO layer, and associates with UFS-PHY driver.
|
|
|
|
Select this if you have UFS host controller on Samsung Exynos SoC.
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_VARIABLE_SG_ENTRY_SIZE
|
|
bool
|
|
default y if SCSI_UFS_EXYNOS && SCSI_UFS_CRYPTO
|
|
|
|
config SCSI_UFS_SPRD
|
|
tristate "Unisoc specific hooks to UFS controller platform driver"
|
|
depends on SCSI_UFSHCD_PLATFORM && (ARCH_SPRD || COMPILE_TEST)
|
|
help
|
|
This selects the Unisoc specific additions to UFSHCD platform driver.
|
|
UFS host on Unisoc needs some vendor specific configuration before
|
|
accessing the hardware which includes PHY configuration and vendor
|
|
specific registers.
|
|
|
|
Select this if you have UFS controller on Unisoc chipset.
|
|
If unsure, say N.
|