diff --git a/arch/Kconfig b/arch/Kconfig
index 193e49415151bb11e7e5d8b30493cfc48b41f7ff..b0628262e4fdc3b6b78a77fc6ff6d7273c4c9740 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -93,6 +93,8 @@ config X86
 	select DM_KEYBOARD
 	select DM_SERIAL
 	select DM_GPIO
+	select PCI
+	select DM_PCI
 	select DM_SPI
 	select DM_SPI_FLASH
 	select TIMER
diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig
index d6798be272da37f1abf071363ef83dce4ffa5afd..6572a38c1b52145d7d9c1d32cf636ea16ee3352a 100644
--- a/configs/bayleybay_defconfig
+++ b/configs/bayleybay_defconfig
@@ -58,7 +58,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig
index 9946ab395a7d7ed5d6bc8b252dfd77c74afb0d3f..5224497f9534dd39a433613adf84ddc3fa917dd2 100644
--- a/configs/chromebook_link64_defconfig
+++ b/configs/chromebook_link64_defconfig
@@ -70,7 +70,6 @@ CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index ddd1349d39a56a28721e2d2ec24d980581c77857..495a5bc67e1570bdf54618e2312d6967b209a50f 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -53,7 +53,6 @@ CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/chromebook_samus_defconfig b/configs/chromebook_samus_defconfig
index bbfb23859b48ab94b5b84b73dfb744159f929ab8..39a9b0d0a307efa7b58f619f42f47f9a8835b74e 100644
--- a/configs/chromebook_samus_defconfig
+++ b/configs/chromebook_samus_defconfig
@@ -50,7 +50,6 @@ CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig
index c38948ae61fbbaf05d49b2288cbc5615866ddd3c..4052f5c156018f7510b3ccb752503ed71f99ec0f 100644
--- a/configs/chromebox_panther_defconfig
+++ b/configs/chromebox_panther_defconfig
@@ -48,7 +48,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_RTL8169=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig b/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
index f21736e8c23dd28e8a545b1a20d969183f4bef0a..e88751d36eac2c7834f80487ff00ca2609e59dbe 100644
--- a/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
+++ b/configs/conga-qeval20-qa3-e3845-internal-uart_defconfig
@@ -61,7 +61,6 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/conga-qeval20-qa3-e3845_defconfig b/configs/conga-qeval20-qa3-e3845_defconfig
index 009b94d147660b8319f03b8eba7db227bf8c5fc8..8c6733fcfed6dd9e568f8990fdd0a431e5911b07 100644
--- a/configs/conga-qeval20-qa3-e3845_defconfig
+++ b/configs/conga-qeval20-qa3-e3845_defconfig
@@ -60,7 +60,6 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/coreboot-x86_defconfig b/configs/coreboot-x86_defconfig
index 3165a8bfdd4618cc7e2f9716f48270bdb49add78..3a08dc439c8ec1399e87d24accf40fff20c64439 100644
--- a/configs/coreboot-x86_defconfig
+++ b/configs/coreboot-x86_defconfig
@@ -40,7 +40,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_TPM_TIS_LPC=y
diff --git a/configs/cougarcanyon2_defconfig b/configs/cougarcanyon2_defconfig
index 8eb83ac22b0e29e65a4f608dfa1315b4c6b4204f..2e729faaa8f8f01d308d4cadbeff5ba8342241bb 100644
--- a/configs/cougarcanyon2_defconfig
+++ b/configs/cougarcanyon2_defconfig
@@ -33,7 +33,6 @@ CONFIG_SYSCON=y
 CONFIG_SCSI=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_WINBOND=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/configs/crownbay_defconfig b/configs/crownbay_defconfig
index a852a33ad42da831df94cf6a3b83ff1a746f4a39..af9c3c0cba284d0a9c6b1f4ca9883cccbcaed4ae 100644
--- a/configs/crownbay_defconfig
+++ b/configs/crownbay_defconfig
@@ -50,7 +50,6 @@ CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
 CONFIG_PCH_GBE=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/configs/dfi-bt700-q7x-151_defconfig b/configs/dfi-bt700-q7x-151_defconfig
index fd84bb848b233e48f0e4b930babdffca67d894f2..5543e94913053d325a8224921b15edd91687ae3d 100644
--- a/configs/dfi-bt700-q7x-151_defconfig
+++ b/configs/dfi-bt700-q7x-151_defconfig
@@ -58,7 +58,6 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/edison_defconfig b/configs/edison_defconfig
index de8b36adfc72c1ea7514a57e4a224f962b1dc057..02bc76091f64bf152a311d3dc6f19af124539930 100644
--- a/configs/edison_defconfig
+++ b/configs/edison_defconfig
@@ -35,7 +35,6 @@ CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_SDMA=y
 CONFIG_MMC_SDHCI_TANGIER=y
-CONFIG_DM_PCI=y
 CONFIG_DM_PCI_COMPAT=y
 CONFIG_DM_RTC=y
 CONFIG_INTEL_MID_SERIAL=y
diff --git a/configs/efi-x86_defconfig b/configs/efi-x86_defconfig
index 36be406e2d5b281df9af1e3fc85a080efcc300e8..26db27bb0a465e8b780ec57c5c4d269a7367eec3 100644
--- a/configs/efi-x86_defconfig
+++ b/configs/efi-x86_defconfig
@@ -32,7 +32,6 @@ CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
-CONFIG_DM_PCI=y
 CONFIG_DEBUG_EFI_CONSOLE=y
 CONFIG_DEBUG_UART_BASE=0
 CONFIG_DEBUG_UART_CLOCK=0
diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig
index 81c0d134675d1130c509ac16e7d59aa6d9d51cd6..a842db02cd038e73491f547a70a742f73bf914e4 100644
--- a/configs/galileo_defconfig
+++ b/configs/galileo_defconfig
@@ -52,7 +52,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/configs/minnowmax_defconfig b/configs/minnowmax_defconfig
index 03b9d42d36b9a704ab86e02d584909384ae94b7d..f610765a42980521631e411ca0263db00ed4ab47 100644
--- a/configs/minnowmax_defconfig
+++ b/configs/minnowmax_defconfig
@@ -60,7 +60,6 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_RTL8169=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 94041eec85bee32565a3b502df21def23304a0d8..1e472e5dca2865fbff3f33decb0963f281417af6 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -65,7 +65,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 0f94f420cdd207599d4f0ff0a7f1c10e311803eb..cf9ed9ffc25bd94daca4bb99d14596fae1884e73 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -45,7 +45,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_DM_USB=y
diff --git a/configs/qemu-x86_efi_payload32_defconfig b/configs/qemu-x86_efi_payload32_defconfig
index 3ac42515326596b62537c2bde4f091287c787d41..6b116305dbc76bb926bfac08199fe5700ede076d 100644
--- a/configs/qemu-x86_efi_payload32_defconfig
+++ b/configs/qemu-x86_efi_payload32_defconfig
@@ -42,7 +42,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_DM_USB=y
diff --git a/configs/qemu-x86_efi_payload64_defconfig b/configs/qemu-x86_efi_payload64_defconfig
index ef4cda5570c7a634326bf828d3b020a021a7e8b2..d1964c24152414edf589ee943051171c27ffdeb5 100644
--- a/configs/qemu-x86_efi_payload64_defconfig
+++ b/configs/qemu-x86_efi_payload64_defconfig
@@ -43,7 +43,6 @@ CONFIG_SPI_FLASH_MACRONIX=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_DM_USB=y
diff --git a/configs/som-db5800-som-6867_defconfig b/configs/som-db5800-som-6867_defconfig
index 29671aebbead4d13481b9f6e21285b023efe39b1..ae0bbb30c05f3ec45a8edee4d8a80868064d02e1 100644
--- a/configs/som-db5800-som-6867_defconfig
+++ b/configs/som-db5800-som-6867_defconfig
@@ -52,7 +52,6 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_DEBUG_UART_BASE=0x3f8
 CONFIG_DEBUG_UART_CLOCK=1843200
diff --git a/configs/theadorable-x86-dfi-bt700_defconfig b/configs/theadorable-x86-dfi-bt700_defconfig
index 35cac6aca83a9384c5beb26b7bbd32fd774a3ddc..027bfb7322f2438ebccda701828deeda2bf366e0 100644
--- a/configs/theadorable-x86-dfi-bt700_defconfig
+++ b/configs/theadorable-x86-dfi-bt700_defconfig
@@ -59,7 +59,6 @@ CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_E1000=y
-CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 692a39850354e4b332a4be11a9c02e92df8e42d3..e2a1c0a4096b2e84b99f726b98fbcebbe5ddb94c 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -1,6 +1,6 @@
 menuconfig PCI
 	bool "PCI support"
-	default y if PPC || X86
+	default y if PPC
 	help
 	  Enable support for PCI (Peripheral Interconnect Bus), a type of bus
 	  used on some devices to allow the CPU to communicate with its