mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 08:02:37 +07:00
1ef1c2e25a
[ Upstream commit 5e6ddadf7637d336acaad1df1f3bcbb07f7d104d ]
Building ufshcd-pltfrm.c on arch/s390/ has a linker error since S390 does
not support IOMEM, so add a dependency on HAS_IOMEM.
s390-linux-ld: drivers/scsi/ufs/ufshcd-pltfrm.o: in function `ufshcd_pltfrm_init':
ufshcd-pltfrm.c:(.text+0x38e): undefined reference to `devm_platform_ioremap_resource'
where that devm_ function is inside an #ifdef CONFIG_HAS_IOMEM/#endif
block.
Link: lore.kernel.org/r/202101031125.ZEFCUiKi-lkp@intel.com
Link: https://lore.kernel.org/r/20210106040822.933-1-rdunlap@infradead.org
Fixes: 03b1781aa9
("[SCSI] ufs: Add Platform glue driver for ufshcd")
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Avri Altman <avri.altman@wdc.com>
Cc: linux-scsi@vger.kernel.org
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
185 lines
6.5 KiB
Plaintext
185 lines
6.5 KiB
Plaintext
#
|
|
# Kernel configuration file for the UFS Host Controller
|
|
#
|
|
# This code is based on drivers/scsi/ufs/Kconfig
|
|
# Copyright (C) 2011-2013 Samsung India Software Operations
|
|
#
|
|
# Authors:
|
|
# Santosh Yaraganavi <santosh.sy@samsung.com>
|
|
# Vinayak Holikatti <h.vinayak@samsung.com>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
# See the COPYING file in the top-level directory or visit
|
|
# <http://www.gnu.org/licenses/gpl-2.0.html>
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# This program is provided "AS IS" and "WITH ALL FAULTS" and
|
|
# without warranty of any kind. You are solely responsible for
|
|
# determining the appropriateness of using and distributing
|
|
# the program and assume all risks associated with your exercise
|
|
# of rights with respect to the program, including but not limited
|
|
# to infringement of third party rights, the risks and costs of
|
|
# program errors, damage to or loss of data, programs or equipment,
|
|
# and unavailability or interruption of operations. Under no
|
|
# circumstances will the contributor of this Program be liable for
|
|
# any damages of any kind arising from your use or distribution of
|
|
# this program.
|
|
|
|
config SCSI_UFSHCD
|
|
tristate "Universal Flash Storage Controller Driver Core"
|
|
depends on SCSI && SCSI_DMA
|
|
select PM_DEVFREQ
|
|
select DEVFREQ_GOV_SIMPLE_ONDEMAND
|
|
select NLS
|
|
help
|
|
This selects the support for UFS devices in Linux, say Y and make
|
|
sure that you know the name of your UFS host adapter (the card
|
|
inside your computer that "speaks" the UFS protocol, also
|
|
called UFS Host Controller), because you will be asked for it.
|
|
The module will be called ufshcd.
|
|
|
|
To compile this driver as a module, choose M here and read
|
|
<file:Documentation/scsi/ufs.rst>.
|
|
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_PCI
|
|
tristate "PCI bus based UFS Controller support"
|
|
depends on SCSI_UFSHCD && 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 SCSI_UFSHCD
|
|
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
|
|
select QCOM_SCM
|
|
select RESET_CONTROLLER
|
|
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
|
|
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_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_BSG
|
|
bool "Universal Flash Storage BSG device node"
|
|
depends on SCSI_UFSHCD
|
|
select BLK_DEV_BSGLIB
|
|
help
|
|
Universal Flash Storage (UFS) is SCSI transport specification for
|
|
accessing flash storage on digital cameras, mobile phones and
|
|
consumer electronic devices.
|
|
A UFS controller communicates with a UFS device by exchanging
|
|
UFS Protocol Information Units (UPIUs).
|
|
UPIUs can not only be used as a transport layer for the SCSI protocol
|
|
but are also used by the UFS native command set.
|
|
This transport driver supports exchanging UFS protocol information units
|
|
with a UFS device. See also the ufshcd driver, which is a SCSI driver
|
|
that supports UFS devices.
|
|
|
|
Select this if you need a bsg device node for your 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 EXYNOS specific additions to UFSHCD platform driver.
|
|
UFS host on EXYNOS includes HCI and UNIPRO layer, and associates with
|
|
UFS-PHY driver.
|
|
|
|
Select this if you have UFS host controller on EXYNOS chipset.
|
|
If unsure, say N.
|
|
|
|
config SCSI_UFS_CRYPTO
|
|
bool "UFS Crypto Engine Support"
|
|
depends on SCSI_UFSHCD && BLK_INLINE_ENCRYPTION
|
|
help
|
|
Enable Crypto Engine Support in UFS.
|
|
Enabling this makes it possible for the kernel to use the crypto
|
|
capabilities of the UFS device (if present) to perform crypto
|
|
operations on data being transferred to/from the device.
|