Message ID | 20250407104025.3421624-1-arnd@kernel.org (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | [RFC] PCI: add CONFIG_MMU dependency | expand |
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>
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
[Public] > -----Original Message----- > From: Arnd Bergmann <arnd@kernel.org> > Sent: Monday, April 7, 2025 6:38 AM > To: Bjorn Helgaas <bhelgaas@google.com> > Cc: Arnd Bergmann <arnd@arndb.de>; Jeff Hugo > <jeff.hugo@oss.qualcomm.com>; Carl Vanderlip <quic_carlv@quicinc.com>; Oded > Gabbay <ogabbay@kernel.org>; Takashi Sakamoto <o-takashi@sakamocchi.jp>; > Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard > <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David > Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Deucher, Alexander > <Alexander.Deucher@amd.com>; Koenig, Christian > <Christian.Koenig@amd.com>; Dave Airlie <airlied@redhat.com>; Jocelyn > Falempe <jfalempe@redhat.com>; Patrik Jakobsson > <patrik.r.jakobsson@gmail.com>; Xinliang Liu <xinliang.liu@linaro.org>; Tian Tao > <tiantao6@hisilicon.com>; Xinwei Kong <kong.kongxinwei@hisilicon.com>; Sumit > Semwal <sumit.semwal@linaro.org>; Yongqin Liu <yongqin.liu@linaro.org>; John > Stultz <jstultz@google.com>; Sui Jingfeng <suijingfeng@loongson.cn>; Lyude Paul > <lyude@redhat.com>; Danilo Krummrich <dakr@kernel.org>; Gerd Hoffmann > <kraxel@redhat.com>; Zack Rusin <zack.rusin@broadcom.com>; Broadcom > internal kernel review list <bcm-kernel-feedback-list@broadcom.com>; Lucas De > Marchi <lucas.demarchi@intel.com>; Thomas Hellström > <thomas.hellstrom@linux.intel.com>; Rodrigo Vivi <rodrigo.vivi@intel.com>; > Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller > <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub Kicinski > <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Saurav Kashyap > <skashyap@marvell.com>; Javed Hasan <jhasan@marvell.com>; GR-QLogic- > Storage-Upstream@marvell.com; James E.J. Bottomley > <James.Bottomley@HansenPartnership.com>; Martin K. Petersen > <martin.petersen@oracle.com>; Nilesh Javali <njavali@marvell.com>; Manish > Rangankar <mrangankar@marvell.com>; Alex Williamson > <alex.williamson@redhat.com>; Geert Uytterhoeven <geert+renesas@glider.be>; > Javier Martinez Canillas <javierm@redhat.com>; Jani Nikula > <jani.nikula@intel.com>; Limonciello, Mario <Mario.Limonciello@amd.com>; > Thomas Weißschuh <linux@weissschuh.net>; Lazar, Lijo <Lijo.Lazar@amd.com>; > Niklas Schnelle <schnelle@linux.ibm.com>; Dmitry Baryshkov > <lumag@kernel.org>; linux-arm-msm@vger.kernel.org; dri- > devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; linux1394- > devel@lists.sourceforge.net; amd-gfx@lists.freedesktop.org; > nouveau@lists.freedesktop.org; virtualization@lists.linux.dev; spice- > devel@lists.freedesktop.org; intel-xe@lists.freedesktop.org; > netdev@vger.kernel.org; linux-pci@vger.kernel.org; linux-scsi@vger.kernel.org; > kvm@vger.kernel.org > Subject: [RFC] PCI: add CONFIG_MMU dependency > > 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 radeon, amdgpu: Acked-by: Alex Deucher <alexander.deucher@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
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
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
On Tue, Apr 8, 2025, at 12:22, Geert Uytterhoeven wrote: > On Mon, 7 Apr 2025 at 12:40, Arnd Bergmann <arnd@kernel.org> wrote: > >> --- 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? I created this patch after Greg said that the coldfire-v4 chips that have an MMU are not really used without it any more, and I had accidentally only build tested a patch without CONFIG_MMU. On ARM, CONFIG_MMU can no longer be disabled on CPUs that have one, this was a side-effect of the ARCH_MULTIPLATFORM conversion. I just tried building an SH7751 kernel with MMU disabled but PCI enable. This produces build errors in several files, clearly nobody has tried this in a long time. I'm not entirely sure about xtensa, but it seems that PCI is only supported on the "virt" platform, which in turn cannot turn off MMU, even if there are other platforms that can build with out without MMU enabled. Arnd
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