[Public]

> -----Original Message-----
> From: Arnd Bergmann <[email protected]>
> Sent: Monday, April 7, 2025 6:38 AM
> To: Bjorn Helgaas <[email protected]>
> Cc: Arnd Bergmann <[email protected]>; Jeff Hugo
> <[email protected]>; Carl Vanderlip <[email protected]>; Oded
> Gabbay <[email protected]>; Takashi Sakamoto <[email protected]>;
> Maarten Lankhorst <[email protected]>; Maxime Ripard
> <[email protected]>; Thomas Zimmermann <[email protected]>; David
> Airlie <[email protected]>; Simona Vetter <[email protected]>; Deucher, 
> Alexander
> <[email protected]>; Koenig, Christian
> <[email protected]>; Dave Airlie <[email protected]>; Jocelyn
> Falempe <[email protected]>; Patrik Jakobsson
> <[email protected]>; Xinliang Liu <[email protected]>; Tian 
> Tao
> <[email protected]>; Xinwei Kong <[email protected]>; Sumit
> Semwal <[email protected]>; Yongqin Liu <[email protected]>; John
> Stultz <[email protected]>; Sui Jingfeng <[email protected]>; Lyude 
> Paul
> <[email protected]>; Danilo Krummrich <[email protected]>; Gerd Hoffmann
> <[email protected]>; Zack Rusin <[email protected]>; Broadcom
> internal kernel review list <[email protected]>; Lucas De
> Marchi <[email protected]>; Thomas Hellström
> <[email protected]>; Rodrigo Vivi <[email protected]>;
> Andrew Lunn <[email protected]>; David S. Miller
> <[email protected]>; Eric Dumazet <[email protected]>; Jakub Kicinski
> <[email protected]>; Paolo Abeni <[email protected]>; Saurav Kashyap
> <[email protected]>; Javed Hasan <[email protected]>; GR-QLogic-
> [email protected]; James E.J. Bottomley
> <[email protected]>; Martin K. Petersen
> <[email protected]>; Nilesh Javali <[email protected]>; Manish
> Rangankar <[email protected]>; Alex Williamson
> <[email protected]>; Geert Uytterhoeven <[email protected]>;
> Javier Martinez Canillas <[email protected]>; Jani Nikula
> <[email protected]>; Limonciello, Mario <[email protected]>;
> Thomas Weißschuh <[email protected]>; Lazar, Lijo <[email protected]>;
> Niklas Schnelle <[email protected]>; Dmitry Baryshkov
> <[email protected]>; [email protected]; dri-
> [email protected]; [email protected]; linux1394-
> [email protected]; [email protected];
> [email protected]; [email protected]; spice-
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]
> Subject: [RFC] PCI: add CONFIG_MMU dependency
>
> From: Arnd Bergmann <[email protected]>
>
> 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-
> [email protected]/
> Signed-off-by: Arnd Bergmann <[email protected]>

For radeon, amdgpu:
Acked-by: Alex Deucher <[email protected]>



> ---
>  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

Reply via email to