[Public] > -----Original Message----- > From: Arnd Bergmann <a...@kernel.org> > Sent: Monday, April 7, 2025 6:38 AM > To: Bjorn Helgaas <bhelg...@google.com> > Cc: Arnd Bergmann <a...@arndb.de>; Jeff Hugo > <jeff.h...@oss.qualcomm.com>; Carl Vanderlip <quic_ca...@quicinc.com>; Oded > Gabbay <ogab...@kernel.org>; Takashi Sakamoto <o-taka...@sakamocchi.jp>; > Maarten Lankhorst <maarten.lankho...@linux.intel.com>; Maxime Ripard > <mrip...@kernel.org>; Thomas Zimmermann <tzimmerm...@suse.de>; David > Airlie <airl...@gmail.com>; Simona Vetter <sim...@ffwll.ch>; Deucher, > Alexander > <alexander.deuc...@amd.com>; Koenig, Christian > <christian.koe...@amd.com>; Dave Airlie <airl...@redhat.com>; Jocelyn > Falempe <jfale...@redhat.com>; Patrik Jakobsson > <patrik.r.jakobs...@gmail.com>; Xinliang Liu <xinliang....@linaro.org>; Tian > Tao > <tiant...@hisilicon.com>; Xinwei Kong <kong.kongxin...@hisilicon.com>; Sumit > Semwal <sumit.sem...@linaro.org>; Yongqin Liu <yongqin....@linaro.org>; John > Stultz <jstu...@google.com>; Sui Jingfeng <suijingf...@loongson.cn>; Lyude > Paul > <ly...@redhat.com>; Danilo Krummrich <d...@kernel.org>; Gerd Hoffmann > <kra...@redhat.com>; Zack Rusin <zack.ru...@broadcom.com>; Broadcom > internal kernel review list <bcm-kernel-feedback-l...@broadcom.com>; Lucas De > Marchi <lucas.demar...@intel.com>; Thomas Hellström > <thomas.hellst...@linux.intel.com>; Rodrigo Vivi <rodrigo.v...@intel.com>; > Andrew Lunn <andrew+net...@lunn.ch>; David S. Miller > <da...@davemloft.net>; Eric Dumazet <eduma...@google.com>; Jakub Kicinski > <k...@kernel.org>; Paolo Abeni <pab...@redhat.com>; Saurav Kashyap > <skash...@marvell.com>; Javed Hasan <jha...@marvell.com>; GR-QLogic- > storage-upstr...@marvell.com; James E.J. Bottomley > <james.bottom...@hansenpartnership.com>; Martin K. Petersen > <martin.peter...@oracle.com>; Nilesh Javali <njav...@marvell.com>; Manish > Rangankar <mrangan...@marvell.com>; Alex Williamson > <alex.william...@redhat.com>; Geert Uytterhoeven <geert+rene...@glider.be>; > Javier Martinez Canillas <javi...@redhat.com>; Jani Nikula > <jani.nik...@intel.com>; Limonciello, Mario <mario.limoncie...@amd.com>; > Thomas Weißschuh <li...@weissschuh.net>; Lazar, Lijo <lijo.la...@amd.com>; > Niklas Schnelle <schne...@linux.ibm.com>; Dmitry Baryshkov > <lu...@kernel.org>; linux-arm-...@vger.kernel.org; dri- > de...@lists.freedesktop.org; linux-ker...@vger.kernel.org; linux1394- > de...@lists.sourceforge.net; amd-...@lists.freedesktop.org; > nouveau@lists.freedesktop.org; virtualizat...@lists.linux.dev; spice- > de...@lists.freedesktop.org; intel...@lists.freedesktop.org; > net...@vger.kernel.org; linux-...@vger.kernel.org; linux-s...@vger.kernel.org; > k...@vger.kernel.org > Subject: [RFC] PCI: add CONFIG_MMU dependency > > From: Arnd Bergmann <a...@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- > f12744327...@app.fastmail.com/ > Signed-off-by: Arnd Bergmann <a...@arndb.de>
For radeon, amdgpu: Acked-by: Alex Deucher <alexander.deuc...@amd.com> > --- > 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