Commit bd322af1 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Jens Axboe

ata: make SATA_PMP option selectable only if any SATA host driver is enabled

There is no reason to expose SATA_PMP config option when no SATA
host drivers are enabled. To fix it add SATA_HOST config option,
make all SATA host drivers select it and finally make SATA_PMP
config options depend on it.

This also serves as preparation for the future changes which
optimize libata core code size on PATA only setups.

CC: "James E.J. Bottomley" <jejb@linux.ibm.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # for SCSI bits
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 6f09eae3
...@@ -34,6 +34,9 @@ if ATA ...@@ -34,6 +34,9 @@ if ATA
config ATA_NONSTANDARD config ATA_NONSTANDARD
bool bool
config SATA_HOST
bool
config ATA_VERBOSE_ERROR config ATA_VERBOSE_ERROR
bool "Verbose ATA error reporting" bool "Verbose ATA error reporting"
default y default y
...@@ -73,6 +76,7 @@ config SATA_ZPODD ...@@ -73,6 +76,7 @@ config SATA_ZPODD
config SATA_PMP config SATA_PMP
bool "SATA Port Multiplier support" bool "SATA Port Multiplier support"
depends on SATA_HOST
default y default y
help help
This option adds support for SATA Port Multipliers This option adds support for SATA Port Multipliers
...@@ -85,6 +89,7 @@ comment "Controllers with non-SFF native interface" ...@@ -85,6 +89,7 @@ comment "Controllers with non-SFF native interface"
config SATA_AHCI config SATA_AHCI
tristate "AHCI SATA support" tristate "AHCI SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for AHCI Serial ATA. This option enables support for AHCI Serial ATA.
...@@ -111,6 +116,7 @@ config SATA_MOBILE_LPM_POLICY ...@@ -111,6 +116,7 @@ config SATA_MOBILE_LPM_POLICY
config SATA_AHCI_PLATFORM config SATA_AHCI_PLATFORM
tristate "Platform AHCI SATA support" tristate "Platform AHCI SATA support"
select SATA_HOST
help help
This option enables support for Platform AHCI Serial ATA This option enables support for Platform AHCI Serial ATA
controllers. controllers.
...@@ -121,6 +127,7 @@ config AHCI_BRCM ...@@ -121,6 +127,7 @@ config AHCI_BRCM
tristate "Broadcom AHCI SATA support" tristate "Broadcom AHCI SATA support"
depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \ depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \
ARCH_BCM_63XX ARCH_BCM_63XX
select SATA_HOST
help help
This option enables support for the AHCI SATA3 controller found on This option enables support for the AHCI SATA3 controller found on
Broadcom SoC's. Broadcom SoC's.
...@@ -130,6 +137,7 @@ config AHCI_BRCM ...@@ -130,6 +137,7 @@ config AHCI_BRCM
config AHCI_DA850 config AHCI_DA850
tristate "DaVinci DA850 AHCI SATA support" tristate "DaVinci DA850 AHCI SATA support"
depends on ARCH_DAVINCI_DA850 depends on ARCH_DAVINCI_DA850
select SATA_HOST
help help
This option enables support for the DaVinci DA850 SoC's This option enables support for the DaVinci DA850 SoC's
onboard AHCI SATA. onboard AHCI SATA.
...@@ -139,6 +147,7 @@ config AHCI_DA850 ...@@ -139,6 +147,7 @@ config AHCI_DA850
config AHCI_DM816 config AHCI_DM816
tristate "DaVinci DM816 AHCI SATA support" tristate "DaVinci DM816 AHCI SATA support"
depends on ARCH_OMAP2PLUS depends on ARCH_OMAP2PLUS
select SATA_HOST
help help
This option enables support for the DaVinci DM816 SoC's This option enables support for the DaVinci DM816 SoC's
onboard AHCI SATA controller. onboard AHCI SATA controller.
...@@ -148,6 +157,7 @@ config AHCI_DM816 ...@@ -148,6 +157,7 @@ config AHCI_DM816
config AHCI_ST config AHCI_ST
tristate "ST AHCI SATA support" tristate "ST AHCI SATA support"
depends on ARCH_STI depends on ARCH_STI
select SATA_HOST
help help
This option enables support for ST AHCI SATA controller. This option enables support for ST AHCI SATA controller.
...@@ -157,6 +167,7 @@ config AHCI_IMX ...@@ -157,6 +167,7 @@ config AHCI_IMX
tristate "Freescale i.MX AHCI SATA support" tristate "Freescale i.MX AHCI SATA support"
depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST) depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST)
depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON
select SATA_HOST
help help
This option enables support for the Freescale i.MX SoC's This option enables support for the Freescale i.MX SoC's
onboard AHCI SATA. onboard AHCI SATA.
...@@ -166,6 +177,7 @@ config AHCI_IMX ...@@ -166,6 +177,7 @@ config AHCI_IMX
config AHCI_CEVA config AHCI_CEVA
tristate "CEVA AHCI SATA support" tristate "CEVA AHCI SATA support"
depends on OF depends on OF
select SATA_HOST
help help
This option enables support for the CEVA AHCI SATA. This option enables support for the CEVA AHCI SATA.
It can be found on the Xilinx Zynq UltraScale+ MPSoC. It can be found on the Xilinx Zynq UltraScale+ MPSoC.
...@@ -176,6 +188,7 @@ config AHCI_MTK ...@@ -176,6 +188,7 @@ config AHCI_MTK
tristate "MediaTek AHCI SATA support" tristate "MediaTek AHCI SATA support"
depends on ARCH_MEDIATEK depends on ARCH_MEDIATEK
select MFD_SYSCON select MFD_SYSCON
select SATA_HOST
help help
This option enables support for the MediaTek SoC's This option enables support for the MediaTek SoC's
onboard AHCI SATA controller. onboard AHCI SATA controller.
...@@ -185,6 +198,7 @@ config AHCI_MTK ...@@ -185,6 +198,7 @@ config AHCI_MTK
config AHCI_MVEBU config AHCI_MVEBU
tristate "Marvell EBU AHCI SATA support" tristate "Marvell EBU AHCI SATA support"
depends on ARCH_MVEBU depends on ARCH_MVEBU
select SATA_HOST
help help
This option enables support for the Marvebu EBU SoC's This option enables support for the Marvebu EBU SoC's
onboard AHCI SATA. onboard AHCI SATA.
...@@ -203,6 +217,7 @@ config AHCI_OCTEON ...@@ -203,6 +217,7 @@ config AHCI_OCTEON
config AHCI_SUNXI config AHCI_SUNXI
tristate "Allwinner sunxi AHCI SATA support" tristate "Allwinner sunxi AHCI SATA support"
depends on ARCH_SUNXI depends on ARCH_SUNXI
select SATA_HOST
help help
This option enables support for the Allwinner sunxi SoC's This option enables support for the Allwinner sunxi SoC's
onboard AHCI SATA. onboard AHCI SATA.
...@@ -212,6 +227,7 @@ config AHCI_SUNXI ...@@ -212,6 +227,7 @@ config AHCI_SUNXI
config AHCI_TEGRA config AHCI_TEGRA
tristate "NVIDIA Tegra AHCI SATA support" tristate "NVIDIA Tegra AHCI SATA support"
depends on ARCH_TEGRA depends on ARCH_TEGRA
select SATA_HOST
help help
This option enables support for the NVIDIA Tegra SoC's This option enables support for the NVIDIA Tegra SoC's
onboard AHCI SATA. onboard AHCI SATA.
...@@ -221,12 +237,14 @@ config AHCI_TEGRA ...@@ -221,12 +237,14 @@ config AHCI_TEGRA
config AHCI_XGENE config AHCI_XGENE
tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support" tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support"
depends on PHY_XGENE depends on PHY_XGENE
select SATA_HOST
help help
This option enables support for APM X-Gene SoC SATA host controller. This option enables support for APM X-Gene SoC SATA host controller.
config AHCI_QORIQ config AHCI_QORIQ
tristate "Freescale QorIQ AHCI SATA support" tristate "Freescale QorIQ AHCI SATA support"
depends on OF depends on OF
select SATA_HOST
help help
This option enables support for the Freescale QorIQ AHCI SoC's This option enables support for the Freescale QorIQ AHCI SoC's
onboard AHCI SATA. onboard AHCI SATA.
...@@ -236,6 +254,7 @@ config AHCI_QORIQ ...@@ -236,6 +254,7 @@ config AHCI_QORIQ
config SATA_FSL config SATA_FSL
tristate "Freescale 3.0Gbps SATA support" tristate "Freescale 3.0Gbps SATA support"
depends on FSL_SOC depends on FSL_SOC
select SATA_HOST
help help
This option enables support for Freescale 3.0Gbps SATA controller. This option enables support for Freescale 3.0Gbps SATA controller.
It can be found on MPC837x and MPC8315. It can be found on MPC837x and MPC8315.
...@@ -245,6 +264,7 @@ config SATA_FSL ...@@ -245,6 +264,7 @@ config SATA_FSL
config SATA_GEMINI config SATA_GEMINI
tristate "Gemini SATA bridge support" tristate "Gemini SATA bridge support"
depends on ARCH_GEMINI || COMPILE_TEST depends on ARCH_GEMINI || COMPILE_TEST
select SATA_HOST
default ARCH_GEMINI default ARCH_GEMINI
help help
This enabled support for the FTIDE010 to SATA bridge This enabled support for the FTIDE010 to SATA bridge
...@@ -255,6 +275,7 @@ config SATA_GEMINI ...@@ -255,6 +275,7 @@ config SATA_GEMINI
config SATA_AHCI_SEATTLE config SATA_AHCI_SEATTLE
tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support" tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support"
depends on ARCH_SEATTLE depends on ARCH_SEATTLE
select SATA_HOST
help help
This option enables support for AMD Seattle SATA host controller. This option enables support for AMD Seattle SATA host controller.
...@@ -263,12 +284,14 @@ config SATA_AHCI_SEATTLE ...@@ -263,12 +284,14 @@ config SATA_AHCI_SEATTLE
config SATA_INIC162X config SATA_INIC162X
tristate "Initio 162x SATA support (Very Experimental)" tristate "Initio 162x SATA support (Very Experimental)"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Initio 162x Serial ATA. This option enables support for Initio 162x Serial ATA.
config SATA_ACARD_AHCI config SATA_ACARD_AHCI
tristate "ACard AHCI variant (ATP 8620)" tristate "ACard AHCI variant (ATP 8620)"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Acard. This option enables support for Acard.
...@@ -277,6 +300,7 @@ config SATA_ACARD_AHCI ...@@ -277,6 +300,7 @@ config SATA_ACARD_AHCI
config SATA_SIL24 config SATA_SIL24
tristate "Silicon Image 3124/3132 SATA support" tristate "Silicon Image 3124/3132 SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Silicon Image 3124/3132 Serial ATA. This option enables support for Silicon Image 3124/3132 Serial ATA.
...@@ -326,6 +350,7 @@ config PATA_OCTEON_CF ...@@ -326,6 +350,7 @@ config PATA_OCTEON_CF
config SATA_QSTOR config SATA_QSTOR
tristate "Pacific Digital SATA QStor support" tristate "Pacific Digital SATA QStor support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Pacific Digital Serial ATA QStor. This option enables support for Pacific Digital Serial ATA QStor.
...@@ -334,6 +359,7 @@ config SATA_QSTOR ...@@ -334,6 +359,7 @@ config SATA_QSTOR
config SATA_SX4 config SATA_SX4
tristate "Promise SATA SX4 support (Experimental)" tristate "Promise SATA SX4 support (Experimental)"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Promise Serial ATA SX4. This option enables support for Promise Serial ATA SX4.
...@@ -357,6 +383,7 @@ comment "SATA SFF controllers with BMDMA" ...@@ -357,6 +383,7 @@ comment "SATA SFF controllers with BMDMA"
config ATA_PIIX config ATA_PIIX
tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support" tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for ICH5/6/7/8 Serial ATA This option enables support for ICH5/6/7/8 Serial ATA
and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
...@@ -368,6 +395,7 @@ config SATA_DWC ...@@ -368,6 +395,7 @@ config SATA_DWC
tristate "DesignWare Cores SATA support" tristate "DesignWare Cores SATA support"
depends on DMADEVICES depends on DMADEVICES
select GENERIC_PHY select GENERIC_PHY
select SATA_HOST
help help
This option enables support for the on-chip SATA controller of the This option enables support for the on-chip SATA controller of the
AppliedMicro processor 460EX. AppliedMicro processor 460EX.
...@@ -398,6 +426,7 @@ config SATA_DWC_VDEBUG ...@@ -398,6 +426,7 @@ config SATA_DWC_VDEBUG
config SATA_HIGHBANK config SATA_HIGHBANK
tristate "Calxeda Highbank SATA support" tristate "Calxeda Highbank SATA support"
depends on ARCH_HIGHBANK || COMPILE_TEST depends on ARCH_HIGHBANK || COMPILE_TEST
select SATA_HOST
help help
This option enables support for the Calxeda Highbank SoC's This option enables support for the Calxeda Highbank SoC's
onboard SATA. onboard SATA.
...@@ -409,6 +438,7 @@ config SATA_MV ...@@ -409,6 +438,7 @@ config SATA_MV
depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \ depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \
ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST
select GENERIC_PHY select GENERIC_PHY
select SATA_HOST
help help
This option enables support for the Marvell Serial ATA family. This option enables support for the Marvell Serial ATA family.
Currently supports 88SX[56]0[48][01] PCI(-X) chips, Currently supports 88SX[56]0[48][01] PCI(-X) chips,
...@@ -419,6 +449,7 @@ config SATA_MV ...@@ -419,6 +449,7 @@ config SATA_MV
config SATA_NV config SATA_NV
tristate "NVIDIA SATA support" tristate "NVIDIA SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for NVIDIA Serial ATA. This option enables support for NVIDIA Serial ATA.
...@@ -427,6 +458,7 @@ config SATA_NV ...@@ -427,6 +458,7 @@ config SATA_NV
config SATA_PROMISE config SATA_PROMISE
tristate "Promise SATA TX2/TX4 support" tristate "Promise SATA TX2/TX4 support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Promise Serial ATA TX2/TX4. This option enables support for Promise Serial ATA TX2/TX4.
...@@ -435,6 +467,7 @@ config SATA_PROMISE ...@@ -435,6 +467,7 @@ config SATA_PROMISE
config SATA_RCAR config SATA_RCAR
tristate "Renesas R-Car SATA support" tristate "Renesas R-Car SATA support"
depends on ARCH_RENESAS || COMPILE_TEST depends on ARCH_RENESAS || COMPILE_TEST
select SATA_HOST
help help
This option enables support for Renesas R-Car Serial ATA. This option enables support for Renesas R-Car Serial ATA.
...@@ -443,6 +476,7 @@ config SATA_RCAR ...@@ -443,6 +476,7 @@ config SATA_RCAR
config SATA_SIL config SATA_SIL
tristate "Silicon Image SATA support" tristate "Silicon Image SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Silicon Image Serial ATA. This option enables support for Silicon Image Serial ATA.
...@@ -452,6 +486,7 @@ config SATA_SIS ...@@ -452,6 +486,7 @@ config SATA_SIS
tristate "SiS 964/965/966/180 SATA support" tristate "SiS 964/965/966/180 SATA support"
depends on PCI depends on PCI
select PATA_SIS select PATA_SIS
select SATA_HOST
help help
This option enables support for SiS Serial ATA on This option enables support for SiS Serial ATA on
SiS 964/965/966/180 and Parallel ATA on SiS 180. SiS 964/965/966/180 and Parallel ATA on SiS 180.
...@@ -462,6 +497,7 @@ config SATA_SIS ...@@ -462,6 +497,7 @@ config SATA_SIS
config SATA_SVW config SATA_SVW
tristate "ServerWorks Frodo / Apple K2 SATA support" tristate "ServerWorks Frodo / Apple K2 SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Broadcom/Serverworks/Apple K2 This option enables support for Broadcom/Serverworks/Apple K2
SATA support. SATA support.
...@@ -471,6 +507,7 @@ config SATA_SVW ...@@ -471,6 +507,7 @@ config SATA_SVW
config SATA_ULI config SATA_ULI
tristate "ULi Electronics SATA support" tristate "ULi Electronics SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for ULi Electronics SATA. This option enables support for ULi Electronics SATA.
...@@ -479,6 +516,7 @@ config SATA_ULI ...@@ -479,6 +516,7 @@ config SATA_ULI
config SATA_VIA config SATA_VIA
tristate "VIA SATA support" tristate "VIA SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for VIA Serial ATA. This option enables support for VIA Serial ATA.
...@@ -487,6 +525,7 @@ config SATA_VIA ...@@ -487,6 +525,7 @@ config SATA_VIA
config SATA_VITESSE config SATA_VITESSE
tristate "VITESSE VSC-7174 / INTEL 31244 SATA support" tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
depends on PCI depends on PCI
select SATA_HOST
help help
This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA. This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
...@@ -1113,6 +1152,7 @@ config PATA_ACPI ...@@ -1113,6 +1152,7 @@ config PATA_ACPI
config ATA_GENERIC config ATA_GENERIC
tristate "Generic ATA support" tristate "Generic ATA support"
depends on PCI && ATA_BMDMA depends on PCI && ATA_BMDMA
select SATA_HOST
help help
This option enables support for generic BIOS configured This option enables support for generic BIOS configured
ATA controllers via the new ATA layer ATA controllers via the new ATA layer
......
...@@ -989,6 +989,7 @@ config SCSI_SYM53C8XX_MMIO ...@@ -989,6 +989,7 @@ config SCSI_SYM53C8XX_MMIO
config SCSI_IPR config SCSI_IPR
tristate "IBM Power Linux RAID adapter support" tristate "IBM Power Linux RAID adapter support"
depends on PCI && SCSI && ATA depends on PCI && SCSI && ATA
select SATA_HOST
select FW_LOADER select FW_LOADER
select IRQ_POLL select IRQ_POLL
select SGL_ALLOC select SGL_ALLOC
......
...@@ -19,6 +19,7 @@ config SCSI_SAS_ATA ...@@ -19,6 +19,7 @@ config SCSI_SAS_ATA
bool "ATA support for libsas (requires libata)" bool "ATA support for libsas (requires libata)"
depends on SCSI_SAS_LIBSAS depends on SCSI_SAS_LIBSAS
depends on ATA = y || ATA = SCSI_SAS_LIBSAS depends on ATA = y || ATA = SCSI_SAS_LIBSAS
select SATA_HOST
help help
Builds in ATA support into libsas. Will necessitate Builds in ATA support into libsas. Will necessitate
the loading of libata along with libsas. the loading of libata along with libsas.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment