From: Jérôme Glisse <jgli...@redhat.com>

To allow building device driver that only care about address space
mirroring (like RDMA ODP) on platform that do not have all the pre-
requisite for HMM device memory (like ZONE_DEVICE on ARM) split the
HMM_MIRROR option dependency from the HMM_DEVICE dependency.

Signed-off-by: Jérôme Glisse <jgli...@redhat.com>
Cc: Leon Romanovsky <leo...@mellanox.com>
Cc: Jason Gunthorpe <j...@mellanox.com>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Ralph Campbell <rcampb...@nvidia.com>
Cc: John Hubbard <jhubb...@nvidia.com>
---
 mm/Kconfig | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/mm/Kconfig b/mm/Kconfig
index 2e6d24d783f7..00d9febbc775 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -679,12 +679,13 @@ config ZONE_DEVICE
 config ARCH_HAS_HMM
        bool
        default y
-       depends on (X86_64 || PPC64)
-       depends on ZONE_DEVICE
        depends on MMU && 64BIT
-       depends on MEMORY_HOTPLUG
-       depends on MEMORY_HOTREMOVE
-       depends on SPARSEMEM_VMEMMAP
+
+config ARCH_HAS_HMM_DEVICE
+       bool
+       default y
+       depends on (X86_64 || PPC64)
+       depends on ARCH_HAS_ZONE_DEVICE
 
 config MIGRATE_VMA_HELPER
        bool
@@ -710,7 +711,8 @@ config HMM_MIRROR
 
 config DEVICE_PRIVATE
        bool "Unaddressable device memory (GPU memory, ...)"
-       depends on ARCH_HAS_HMM
+       depends on ARCH_HAS_HMM_DEVICE
+       depends on ZONE_DEVICE
        select HMM
        select DEV_PAGEMAP_OPS
 
@@ -721,7 +723,8 @@ config DEVICE_PRIVATE
 
 config DEVICE_PUBLIC
        bool "Addressable device memory (like GPU memory)"
-       depends on ARCH_HAS_HMM
+       depends on ARCH_HAS_HMM_DEVICE
+       depends on ZONE_DEVICE
        select HMM
        select DEV_PAGEMAP_OPS
 
-- 
2.20.1

Reply via email to