drivers/accel/qaic/Kconfig | 1 - drivers/firewire/Kconfig | 2 +- drivers/gpu/drm/Kconfig | 2 +- drivers/gpu/drm/amd/amdgpu/Kconfig | 3 +-- drivers/gpu/drm/ast/Kconfig | 2 +- drivers/gpu/drm/gma500/Kconfig | 2 +- drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 - drivers/gpu/drm/loongson/Kconfig | 2 +- drivers/gpu/drm/mgag200/Kconfig | 2 +- drivers/gpu/drm/nouveau/Kconfig | 3 +-- drivers/gpu/drm/qxl/Kconfig | 2 +- drivers/gpu/drm/radeon/Kconfig | 2 +- drivers/gpu/drm/tiny/Kconfig | 2 +- drivers/gpu/drm/vmwgfx/Kconfig | 2 +- drivers/gpu/drm/xe/Kconfig | 2 +- drivers/net/ethernet/broadcom/Kconfig | 1 - drivers/pci/Kconfig | 1 + drivers/pci/pci.c | 4 ++-- drivers/scsi/bnx2fc/Kconfig | 1 - drivers/scsi/bnx2i/Kconfig | 1 - drivers/vfio/pci/Kconfig | 2 +- 21 files changed, 17 insertions(+), 23 deletions(-)
From: Arnd Bergmann <arnd@arndb.de>
It turns out that there are no platforms that have PCI but don't have an MMU,
so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
for those platforms a lot, and avoids a lot of inadvertent build regressions.
Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
device drivers that are currently marked not having it.
Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/accel/qaic/Kconfig | 1 -
drivers/firewire/Kconfig | 2 +-
drivers/gpu/drm/Kconfig | 2 +-
drivers/gpu/drm/amd/amdgpu/Kconfig | 3 +--
drivers/gpu/drm/ast/Kconfig | 2 +-
drivers/gpu/drm/gma500/Kconfig | 2 +-
drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 -
drivers/gpu/drm/loongson/Kconfig | 2 +-
drivers/gpu/drm/mgag200/Kconfig | 2 +-
drivers/gpu/drm/nouveau/Kconfig | 3 +--
drivers/gpu/drm/qxl/Kconfig | 2 +-
drivers/gpu/drm/radeon/Kconfig | 2 +-
drivers/gpu/drm/tiny/Kconfig | 2 +-
drivers/gpu/drm/vmwgfx/Kconfig | 2 +-
drivers/gpu/drm/xe/Kconfig | 2 +-
drivers/net/ethernet/broadcom/Kconfig | 1 -
drivers/pci/Kconfig | 1 +
drivers/pci/pci.c | 4 ++--
drivers/scsi/bnx2fc/Kconfig | 1 -
drivers/scsi/bnx2i/Kconfig | 1 -
drivers/vfio/pci/Kconfig | 2 +-
21 files changed, 17 insertions(+), 23 deletions(-)
diff --git a/drivers/accel/qaic/Kconfig b/drivers/accel/qaic/Kconfig
index a9f866230058..5e405a19c157 100644
--- a/drivers/accel/qaic/Kconfig
+++ b/drivers/accel/qaic/Kconfig
@@ -8,7 +8,6 @@ config DRM_ACCEL_QAIC
depends on DRM_ACCEL
depends on PCI && HAS_IOMEM
depends on MHI_BUS
- depends on MMU
select CRC32
help
Enables driver for Qualcomm's Cloud AI accelerator PCIe cards that are
diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig
index 905c82e26ce7..a5f5e250223a 100644
--- a/drivers/firewire/Kconfig
+++ b/drivers/firewire/Kconfig
@@ -83,7 +83,7 @@ config FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
config FIREWIRE_OHCI
tristate "OHCI-1394 controllers"
- depends on PCI && FIREWIRE && MMU
+ depends on PCI && FIREWIRE
help
Enable this driver if you have a FireWire controller based
on the OHCI specification. For all practical purposes, this
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2cba2b6ebe1c..6e95d204597e 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -462,7 +462,7 @@ source "drivers/gpu/drm/imagination/Kconfig"
config DRM_HYPERV
tristate "DRM Support for Hyper-V synthetic video device"
- depends on DRM && PCI && MMU && HYPERV
+ depends on DRM && PCI && HYPERV
select DRM_CLIENT_SELECTION
select DRM_KMS_HELPER
select DRM_GEM_SHMEM_HELPER
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index 1a11cab741ac..058e3b3ad520 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -2,7 +2,7 @@
config DRM_AMDGPU
tristate "AMD GPU"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
depends on !UML
select FW_LOADER
select DRM_CLIENT
@@ -68,7 +68,6 @@ config DRM_AMDGPU_CIK
config DRM_AMDGPU_USERPTR
bool "Always enable userptr write support"
depends on DRM_AMDGPU
- depends on MMU
select HMM_MIRROR
select MMU_NOTIFIER
help
diff --git a/drivers/gpu/drm/ast/Kconfig b/drivers/gpu/drm/ast/Kconfig
index da0663542e8a..242fbccdf844 100644
--- a/drivers/gpu/drm/ast/Kconfig
+++ b/drivers/gpu/drm/ast/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_AST
tristate "AST server chips"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
select DRM_CLIENT_SELECTION
select DRM_GEM_SHMEM_HELPER
select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig
index aa2ea128aa2f..a2acaa699dd5 100644
--- a/drivers/gpu/drm/gma500/Kconfig
+++ b/drivers/gpu/drm/gma500/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_GMA500
tristate "Intel GMA500/600/3600/3650 KMS Framebuffer"
- depends on DRM && PCI && X86 && MMU && HAS_IOPORT
+ depends on DRM && PCI && X86 && HAS_IOPORT
select DRM_CLIENT_SELECTION
select DRM_KMS_HELPER
select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
diff --git a/drivers/gpu/drm/hisilicon/hibmc/Kconfig b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
index 98d77d74999d..d1f3f5793f34 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/Kconfig
+++ b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
@@ -2,7 +2,6 @@
config DRM_HISI_HIBMC
tristate "DRM Support for Hisilicon Hibmc"
depends on DRM && PCI
- depends on MMU
select DRM_CLIENT_SELECTION
select DRM_DISPLAY_HELPER
select DRM_DISPLAY_DP_HELPER
diff --git a/drivers/gpu/drm/loongson/Kconfig b/drivers/gpu/drm/loongson/Kconfig
index 552edfec7afb..d739d51cf54c 100644
--- a/drivers/gpu/drm/loongson/Kconfig
+++ b/drivers/gpu/drm/loongson/Kconfig
@@ -2,7 +2,7 @@
config DRM_LOONGSON
tristate "DRM support for Loongson Graphics"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
depends on LOONGARCH || MIPS || COMPILE_TEST
select DRM_CLIENT_SELECTION
select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/mgag200/Kconfig b/drivers/gpu/drm/mgag200/Kconfig
index 412dcbea0e2d..a962ae564a75 100644
--- a/drivers/gpu/drm/mgag200/Kconfig
+++ b/drivers/gpu/drm/mgag200/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_MGAG200
tristate "Matrox G200"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
select DRM_CLIENT_SELECTION
select DRM_GEM_SHMEM_HELPER
select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
index 7b3e979c51ec..d1587639ebb0 100644
--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_NOUVEAU
tristate "Nouveau (NVIDIA) cards"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
select IOMMU_API
select FW_LOADER
select FW_CACHE if PM_SLEEP
@@ -94,7 +94,6 @@ config DRM_NOUVEAU_SVM
bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
depends on DEVICE_PRIVATE
depends on DRM_NOUVEAU
- depends on MMU
depends on STAGING
select HMM_MIRROR
select MMU_NOTIFIER
diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig
index 69427eb8bed2..d8f24bcae34b 100644
--- a/drivers/gpu/drm/qxl/Kconfig
+++ b/drivers/gpu/drm/qxl/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_QXL
tristate "QXL virtual GPU"
- depends on DRM && PCI && MMU && HAS_IOPORT
+ depends on DRM && PCI && HAS_IOPORT
select DRM_CLIENT_SELECTION
select DRM_KMS_HELPER
select DRM_TTM
diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
index f51bace9555d..c479f0c0dd5c 100644
--- a/drivers/gpu/drm/radeon/Kconfig
+++ b/drivers/gpu/drm/radeon/Kconfig
@@ -2,7 +2,7 @@
config DRM_RADEON
tristate "ATI Radeon"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
depends on AGP || !AGP
select FW_LOADER
select DRM_CLIENT_SELECTION
diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
index 54c84c9801c1..6ca12fe7f57a 100644
--- a/drivers/gpu/drm/tiny/Kconfig
+++ b/drivers/gpu/drm/tiny/Kconfig
@@ -37,7 +37,7 @@ config DRM_BOCHS
config DRM_CIRRUS_QEMU
tristate "Cirrus driver for QEMU emulated device"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
select DRM_CLIENT_SELECTION
select DRM_KMS_HELPER
select DRM_GEM_SHMEM_HELPER
diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
index 6c3c2922ae8b..aab646b91ca9 100644
--- a/drivers/gpu/drm/vmwgfx/Kconfig
+++ b/drivers/gpu/drm/vmwgfx/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
config DRM_VMWGFX
tristate "DRM driver for VMware Virtual GPU"
- depends on DRM && PCI && MMU
+ depends on DRM && PCI
depends on (X86 && HYPERVISOR_GUEST) || ARM64
select DRM_CLIENT_SELECTION
select DRM_TTM
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index 5c2f459a2925..2dec62737ff6 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config DRM_XE
tristate "Intel Xe Graphics"
- depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
+ depends on DRM && PCI && (m || (y && KUNIT=y))
select INTERVAL_TREE
# we need shmfs for the swappable backing store, and in particular
# the shmem_readpage() which depends upon tmpfs
diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
index eeec8bf17cf4..aa43984a05cf 100644
--- a/drivers/net/ethernet/broadcom/Kconfig
+++ b/drivers/net/ethernet/broadcom/Kconfig
@@ -96,7 +96,6 @@ config BNX2
config CNIC
tristate "QLogic CNIC support"
depends on PCI && (IPV6 || IPV6=n)
- depends on MMU
select BNX2
select UIO
help
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index da28295b4aac..9c0e4aaf4e8c 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
menuconfig PCI
bool "PCI support"
depends on HAVE_PCI
+ depends on MMU
help
This option enables support for the PCI local bus, including
support for PCI-X and the foundations for PCI Express support.
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 4d7c9f64ea24..60a20a0ac41f 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4257,7 +4257,7 @@ unsigned long __weak pci_address_to_pio(phys_addr_t address)
#ifndef pci_remap_iospace
int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
{
-#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
+#if defined(PCI_IOBASE)
unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
if (!(res->flags & IORESOURCE_IO))
@@ -4290,7 +4290,7 @@ EXPORT_SYMBOL(pci_remap_iospace);
*/
void pci_unmap_iospace(struct resource *res)
{
-#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
+#if defined(PCI_IOBASE)
unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
vunmap_range(vaddr, vaddr + resource_size(res));
diff --git a/drivers/scsi/bnx2fc/Kconfig b/drivers/scsi/bnx2fc/Kconfig
index ecdc0f0f4f4e..3cf7e08df809 100644
--- a/drivers/scsi/bnx2fc/Kconfig
+++ b/drivers/scsi/bnx2fc/Kconfig
@@ -5,7 +5,6 @@ config SCSI_BNX2X_FCOE
depends on (IPV6 || IPV6=n)
depends on LIBFC
depends on LIBFCOE
- depends on MMU
select NETDEVICES
select ETHERNET
select NET_VENDOR_BROADCOM
diff --git a/drivers/scsi/bnx2i/Kconfig b/drivers/scsi/bnx2i/Kconfig
index 0cc06c2ce0b8..75ace2302fed 100644
--- a/drivers/scsi/bnx2i/Kconfig
+++ b/drivers/scsi/bnx2i/Kconfig
@@ -4,7 +4,6 @@ config SCSI_BNX2_ISCSI
depends on NET
depends on PCI
depends on (IPV6 || IPV6=n)
- depends on MMU
select SCSI_ISCSI_ATTRS
select NETDEVICES
select ETHERNET
diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
index c3bcb6911c53..2b0172f54665 100644
--- a/drivers/vfio/pci/Kconfig
+++ b/drivers/vfio/pci/Kconfig
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
menu "VFIO support for PCI devices"
- depends on PCI && MMU
+ depends on PCI
config VFIO_PCI_CORE
tristate
--
2.39.5
Hi Arnd,
CC Gerg
On Mon, 7 Apr 2025 at 12:40, Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> It turns out that there are no platforms that have PCI but don't have an MMU,
> so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
> for those platforms a lot, and avoids a lot of inadvertent build regressions.
>
> Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
> device drivers that are currently marked not having it.
>
> Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Thanks for your patch!
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
> menuconfig PCI
> bool "PCI support"
> depends on HAVE_PCI
> + depends on MMU
> help
> This option enables support for the PCI local bus, including
> support for PCI-X and the foundations for PCI Express support.
While having an MMU is a hardware feature, I consider disabling MMU
support software configuration. So this change prevents people from
disabling MMU support on a system that has both a PCI bus and an MMU.
But other people may not agree, or care?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Am 07.04.25 um 12:38 schrieb Arnd Bergmann:
> From: Arnd Bergmann <arnd@arndb.de>
>
> It turns out that there are no platforms that have PCI but don't have an MMU,
> so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
> for those platforms a lot, and avoids a lot of inadvertent build regressions.
>
> Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
> device drivers that are currently marked not having it.
>
> Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
For gpu/drm/
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> drivers/accel/qaic/Kconfig | 1 -
> drivers/firewire/Kconfig | 2 +-
> drivers/gpu/drm/Kconfig | 2 +-
> drivers/gpu/drm/amd/amdgpu/Kconfig | 3 +--
> drivers/gpu/drm/ast/Kconfig | 2 +-
> drivers/gpu/drm/gma500/Kconfig | 2 +-
> drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 -
> drivers/gpu/drm/loongson/Kconfig | 2 +-
> drivers/gpu/drm/mgag200/Kconfig | 2 +-
> drivers/gpu/drm/nouveau/Kconfig | 3 +--
> drivers/gpu/drm/qxl/Kconfig | 2 +-
> drivers/gpu/drm/radeon/Kconfig | 2 +-
> drivers/gpu/drm/tiny/Kconfig | 2 +-
> drivers/gpu/drm/vmwgfx/Kconfig | 2 +-
> drivers/gpu/drm/xe/Kconfig | 2 +-
> drivers/net/ethernet/broadcom/Kconfig | 1 -
> drivers/pci/Kconfig | 1 +
> drivers/pci/pci.c | 4 ++--
> drivers/scsi/bnx2fc/Kconfig | 1 -
> drivers/scsi/bnx2i/Kconfig | 1 -
> drivers/vfio/pci/Kconfig | 2 +-
> 21 files changed, 17 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/accel/qaic/Kconfig b/drivers/accel/qaic/Kconfig
> index a9f866230058..5e405a19c157 100644
> --- a/drivers/accel/qaic/Kconfig
> +++ b/drivers/accel/qaic/Kconfig
> @@ -8,7 +8,6 @@ config DRM_ACCEL_QAIC
> depends on DRM_ACCEL
> depends on PCI && HAS_IOMEM
> depends on MHI_BUS
> - depends on MMU
> select CRC32
> help
> Enables driver for Qualcomm's Cloud AI accelerator PCIe cards that are
> diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig
> index 905c82e26ce7..a5f5e250223a 100644
> --- a/drivers/firewire/Kconfig
> +++ b/drivers/firewire/Kconfig
> @@ -83,7 +83,7 @@ config FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
>
> config FIREWIRE_OHCI
> tristate "OHCI-1394 controllers"
> - depends on PCI && FIREWIRE && MMU
> + depends on PCI && FIREWIRE
> help
> Enable this driver if you have a FireWire controller based
> on the OHCI specification. For all practical purposes, this
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 2cba2b6ebe1c..6e95d204597e 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -462,7 +462,7 @@ source "drivers/gpu/drm/imagination/Kconfig"
>
> config DRM_HYPERV
> tristate "DRM Support for Hyper-V synthetic video device"
> - depends on DRM && PCI && MMU && HYPERV
> + depends on DRM && PCI && HYPERV
> select DRM_CLIENT_SELECTION
> select DRM_KMS_HELPER
> select DRM_GEM_SHMEM_HELPER
> diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
> index 1a11cab741ac..058e3b3ad520 100644
> --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
> +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
> @@ -2,7 +2,7 @@
>
> config DRM_AMDGPU
> tristate "AMD GPU"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> depends on !UML
> select FW_LOADER
> select DRM_CLIENT
> @@ -68,7 +68,6 @@ config DRM_AMDGPU_CIK
> config DRM_AMDGPU_USERPTR
> bool "Always enable userptr write support"
> depends on DRM_AMDGPU
> - depends on MMU
> select HMM_MIRROR
> select MMU_NOTIFIER
> help
> diff --git a/drivers/gpu/drm/ast/Kconfig b/drivers/gpu/drm/ast/Kconfig
> index da0663542e8a..242fbccdf844 100644
> --- a/drivers/gpu/drm/ast/Kconfig
> +++ b/drivers/gpu/drm/ast/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_AST
> tristate "AST server chips"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> select DRM_CLIENT_SELECTION
> select DRM_GEM_SHMEM_HELPER
> select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig
> index aa2ea128aa2f..a2acaa699dd5 100644
> --- a/drivers/gpu/drm/gma500/Kconfig
> +++ b/drivers/gpu/drm/gma500/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_GMA500
> tristate "Intel GMA500/600/3600/3650 KMS Framebuffer"
> - depends on DRM && PCI && X86 && MMU && HAS_IOPORT
> + depends on DRM && PCI && X86 && HAS_IOPORT
> select DRM_CLIENT_SELECTION
> select DRM_KMS_HELPER
> select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/Kconfig b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> index 98d77d74999d..d1f3f5793f34 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> +++ b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> @@ -2,7 +2,6 @@
> config DRM_HISI_HIBMC
> tristate "DRM Support for Hisilicon Hibmc"
> depends on DRM && PCI
> - depends on MMU
> select DRM_CLIENT_SELECTION
> select DRM_DISPLAY_HELPER
> select DRM_DISPLAY_DP_HELPER
> diff --git a/drivers/gpu/drm/loongson/Kconfig b/drivers/gpu/drm/loongson/Kconfig
> index 552edfec7afb..d739d51cf54c 100644
> --- a/drivers/gpu/drm/loongson/Kconfig
> +++ b/drivers/gpu/drm/loongson/Kconfig
> @@ -2,7 +2,7 @@
>
> config DRM_LOONGSON
> tristate "DRM support for Loongson Graphics"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> depends on LOONGARCH || MIPS || COMPILE_TEST
> select DRM_CLIENT_SELECTION
> select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/mgag200/Kconfig b/drivers/gpu/drm/mgag200/Kconfig
> index 412dcbea0e2d..a962ae564a75 100644
> --- a/drivers/gpu/drm/mgag200/Kconfig
> +++ b/drivers/gpu/drm/mgag200/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_MGAG200
> tristate "Matrox G200"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> select DRM_CLIENT_SELECTION
> select DRM_GEM_SHMEM_HELPER
> select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
> index 7b3e979c51ec..d1587639ebb0 100644
> --- a/drivers/gpu/drm/nouveau/Kconfig
> +++ b/drivers/gpu/drm/nouveau/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_NOUVEAU
> tristate "Nouveau (NVIDIA) cards"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> select IOMMU_API
> select FW_LOADER
> select FW_CACHE if PM_SLEEP
> @@ -94,7 +94,6 @@ config DRM_NOUVEAU_SVM
> bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
> depends on DEVICE_PRIVATE
> depends on DRM_NOUVEAU
> - depends on MMU
> depends on STAGING
> select HMM_MIRROR
> select MMU_NOTIFIER
> diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig
> index 69427eb8bed2..d8f24bcae34b 100644
> --- a/drivers/gpu/drm/qxl/Kconfig
> +++ b/drivers/gpu/drm/qxl/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_QXL
> tristate "QXL virtual GPU"
> - depends on DRM && PCI && MMU && HAS_IOPORT
> + depends on DRM && PCI && HAS_IOPORT
> select DRM_CLIENT_SELECTION
> select DRM_KMS_HELPER
> select DRM_TTM
> diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
> index f51bace9555d..c479f0c0dd5c 100644
> --- a/drivers/gpu/drm/radeon/Kconfig
> +++ b/drivers/gpu/drm/radeon/Kconfig
> @@ -2,7 +2,7 @@
>
> config DRM_RADEON
> tristate "ATI Radeon"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> depends on AGP || !AGP
> select FW_LOADER
> select DRM_CLIENT_SELECTION
> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
> index 54c84c9801c1..6ca12fe7f57a 100644
> --- a/drivers/gpu/drm/tiny/Kconfig
> +++ b/drivers/gpu/drm/tiny/Kconfig
> @@ -37,7 +37,7 @@ config DRM_BOCHS
>
> config DRM_CIRRUS_QEMU
> tristate "Cirrus driver for QEMU emulated device"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> select DRM_CLIENT_SELECTION
> select DRM_KMS_HELPER
> select DRM_GEM_SHMEM_HELPER
> diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
> index 6c3c2922ae8b..aab646b91ca9 100644
> --- a/drivers/gpu/drm/vmwgfx/Kconfig
> +++ b/drivers/gpu/drm/vmwgfx/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0
> config DRM_VMWGFX
> tristate "DRM driver for VMware Virtual GPU"
> - depends on DRM && PCI && MMU
> + depends on DRM && PCI
> depends on (X86 && HYPERVISOR_GUEST) || ARM64
> select DRM_CLIENT_SELECTION
> select DRM_TTM
> diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
> index 5c2f459a2925..2dec62737ff6 100644
> --- a/drivers/gpu/drm/xe/Kconfig
> +++ b/drivers/gpu/drm/xe/Kconfig
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config DRM_XE
> tristate "Intel Xe Graphics"
> - depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
> + depends on DRM && PCI && (m || (y && KUNIT=y))
> select INTERVAL_TREE
> # we need shmfs for the swappable backing store, and in particular
> # the shmem_readpage() which depends upon tmpfs
> diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
> index eeec8bf17cf4..aa43984a05cf 100644
> --- a/drivers/net/ethernet/broadcom/Kconfig
> +++ b/drivers/net/ethernet/broadcom/Kconfig
> @@ -96,7 +96,6 @@ config BNX2
> config CNIC
> tristate "QLogic CNIC support"
> depends on PCI && (IPV6 || IPV6=n)
> - depends on MMU
> select BNX2
> select UIO
> help
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index da28295b4aac..9c0e4aaf4e8c 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
> menuconfig PCI
> bool "PCI support"
> depends on HAVE_PCI
> + depends on MMU
> help
> This option enables support for the PCI local bus, including
> support for PCI-X and the foundations for PCI Express support.
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 4d7c9f64ea24..60a20a0ac41f 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -4257,7 +4257,7 @@ unsigned long __weak pci_address_to_pio(phys_addr_t address)
> #ifndef pci_remap_iospace
> int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
> {
> -#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
> +#if defined(PCI_IOBASE)
> unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
>
> if (!(res->flags & IORESOURCE_IO))
> @@ -4290,7 +4290,7 @@ EXPORT_SYMBOL(pci_remap_iospace);
> */
> void pci_unmap_iospace(struct resource *res)
> {
> -#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
> +#if defined(PCI_IOBASE)
> unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
>
> vunmap_range(vaddr, vaddr + resource_size(res));
> diff --git a/drivers/scsi/bnx2fc/Kconfig b/drivers/scsi/bnx2fc/Kconfig
> index ecdc0f0f4f4e..3cf7e08df809 100644
> --- a/drivers/scsi/bnx2fc/Kconfig
> +++ b/drivers/scsi/bnx2fc/Kconfig
> @@ -5,7 +5,6 @@ config SCSI_BNX2X_FCOE
> depends on (IPV6 || IPV6=n)
> depends on LIBFC
> depends on LIBFCOE
> - depends on MMU
> select NETDEVICES
> select ETHERNET
> select NET_VENDOR_BROADCOM
> diff --git a/drivers/scsi/bnx2i/Kconfig b/drivers/scsi/bnx2i/Kconfig
> index 0cc06c2ce0b8..75ace2302fed 100644
> --- a/drivers/scsi/bnx2i/Kconfig
> +++ b/drivers/scsi/bnx2i/Kconfig
> @@ -4,7 +4,6 @@ config SCSI_BNX2_ISCSI
> depends on NET
> depends on PCI
> depends on (IPV6 || IPV6=n)
> - depends on MMU
> select SCSI_ISCSI_ATTRS
> select NETDEVICES
> select ETHERNET
> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> index c3bcb6911c53..2b0172f54665 100644
> --- a/drivers/vfio/pci/Kconfig
> +++ b/drivers/vfio/pci/Kconfig
> @@ -1,6 +1,6 @@
> # SPDX-License-Identifier: GPL-2.0-only
> menu "VFIO support for PCI devices"
> - depends on PCI && MMU
> + depends on PCI
>
> config VFIO_PCI_CORE
> tristate
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
Arnd, > It turns out that there are no platforms that have PCI but don't have > an MMU, so adding a Kconfig dependency on CONFIG_PCI simplifies build > testing kernels for those platforms a lot, and avoids a lot of > inadvertent build regressions. > > Add a dependency for CONFIG_PCI and remove all the ones for PCI > specific device drivers that are currently marked not having it. Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # SCSI -- Martin K. Petersen
On 4/7/2025 4:38 AM, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > It turns out that there are no platforms that have PCI but don't have an MMU, > so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels > for those platforms a lot, and avoids a lot of inadvertent build regressions. > > Add a dependency for CONFIG_PCI and remove all the ones for PCI specific > device drivers that are currently marked not having it. > > Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/ > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/accel/qaic/Kconfig | 1 - For qaic: Acked-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
© 2016 - 2026 Red Hat, Inc.