Subject: [PATCH 4/4] mm/hmm: exclude 64 bit arch that explicitly fail to work.

From: Paul Gortmaker <[email-masked]>
Date: Wed, 12 Apr 2017 20:30:14 -0400

On sparc64, we see:

  mm/hmm.c: In function 'hmm_vma_walk_pmd':
  mm/hmm.c:371:53: error: macro "pte_index" requires 2 arguments, but only 1 given
  mm/hmm.c:371:39: error: 'pte_index' undeclared (first use in this function)

...and on MIPS 64, we see:

  mm/hmm.c:57:22: error: field 'mmu_notifier' has incomplete type
  mm/hmm.c: In function 'hmm_register':
  mm/hmm.c:98:2: error: implicit declaration of function '__mmu_notifier_register' [-Werror=implicit-function-declaration]
  mm/hmm.c:111:3: error: implicit declaration of function 'mmu_notifier_unregister' [-Werror=implicit-function-declaration]

...and on Alpha, we see:

  mm/hmm.c: In function 'hmm_vma_walk_pmd':
  mm/hmm.c:371:4: error: implicit declaration of function 'pmd_pfn'
  mm/hmm.c:371:4: error: implicit declaration of function 'pte_index'

...and on PaRISC 64 we see:

  include/linux/hmm.h:405:7: warning: 'struct migrate_vma_ops' declared inside parameter list
  include/linux/hmm.h:405:7: warning: its scope is only this definition or declaration, which is probably not what you want
  mm/hmm.c: In function 'hmm_vma_walk_pmd':
  mm/hmm.c:371:4: error: implicit declaration of function 'pmd_pfn'
  [...]

Set the dependency to the three arch that currently seem to build
without issue -- ARM_64, X86_64 and S390.

Since ia64 and ppc64 don't set CONFIG_64BIT, they were already
excluded by the original dependency.

The failing arch can be re-added as demand dictates, if/when they
have been validated to build and function.

Cc: Jérôme Glisse <[email-masked]>
Cc: Evgeny Baskakov <[email-masked]>
Cc: John Hubbard <[email-masked]>
Cc: Mark Hairgrove <[email-masked]>
Cc: Sherry Cheung <[email-masked]>
Cc: Subhash Gutti <[email-masked]>
Cc: Andrew Morton <[email-masked]>
Signed-off-by: Paul Gortmaker <[email-masked]>
---
 mm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mm/Kconfig b/mm/Kconfig
index 3e9c31bf9aaa..6c27d2003a63 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -293,6 +293,7 @@ config ARCH_HAS_HMM
 	bool
 	default y
 	depends on MMU && 64BIT
+	depends on ARM64 || X86_64 || S390
 
 config HMM
 	bool
-- 
2.11.0