Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/mm: Drop CONFIG_PPC_HAS_HASH_64K

The relation between CONFIG_PPC_HAS_HASH_64K and CONFIG_PPC_64K_PAGES is
painfully complicated.

But if we rearrange it enough we can see that PPC_HAS_HASH_64K
essentially depends on PPC_STD_MMU_64 && PPC_64K_PAGES.

We can then notice that PPC_HAS_HASH_64K is used in files that are only
built for PPC_STD_MMU_64, meaning it's equivalent to PPC_64K_PAGES.

So replace all uses and drop it.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>

+8 -14
-6
arch/powerpc/Kconfig
··· 519 519 def_bool y 520 520 depends on NEED_MULTIPLE_NODES 521 521 522 - config PPC_HAS_HASH_64K 523 - bool 524 - depends on PPC64 525 - default n 526 - 527 522 config STDBINUTILS 528 523 bool "Using standard binutils settings" 529 524 depends on 44x ··· 566 571 config PPC_64K_PAGES 567 572 bool "64k page size" 568 573 depends on !PPC_FSL_BOOK3E && (44x || PPC_STD_MMU_64 || PPC_BOOK3E_64) 569 - select PPC_HAS_HASH_64K if PPC_STD_MMU_64 570 574 571 575 config PPC_256K_PAGES 572 576 bool "256k page size"
+2 -2
arch/powerpc/mm/hash_low_64.S
··· 701 701 702 702 #endif /* CONFIG_PPC_64K_PAGES */ 703 703 704 - #ifdef CONFIG_PPC_HAS_HASH_64K 704 + #ifdef CONFIG_PPC_64K_PAGES 705 705 706 706 /***************************************************************************** 707 707 * * ··· 993 993 b ht64_bail 994 994 995 995 996 - #endif /* CONFIG_PPC_HAS_HASH_64K */ 996 + #endif /* CONFIG_PPC_64K_PAGES */ 997 997 998 998 999 999 /*****************************************************************************
+6 -6
arch/powerpc/mm/hash_utils_64.c
··· 640 640 641 641 static void __init htab_finish_init(void) 642 642 { 643 - #ifdef CONFIG_PPC_HAS_HASH_64K 643 + #ifdef CONFIG_PPC_64K_PAGES 644 644 patch_branch(ht64_call_hpte_insert1, 645 645 ppc_function_entry(ppc_md.hpte_insert), 646 646 BRANCH_SET_LINK); ··· 653 653 patch_branch(ht64_call_hpte_updatepp, 654 654 ppc_function_entry(ppc_md.hpte_updatepp), 655 655 BRANCH_SET_LINK); 656 - #endif /* CONFIG_PPC_HAS_HASH_64K */ 656 + #endif /* CONFIG_PPC_64K_PAGES */ 657 657 658 658 patch_branch(htab_call_hpte_insert1, 659 659 ppc_function_entry(ppc_md.hpte_insert), ··· 1151 1151 check_paca_psize(ea, mm, psize, user_region); 1152 1152 #endif /* CONFIG_PPC_64K_PAGES */ 1153 1153 1154 - #ifdef CONFIG_PPC_HAS_HASH_64K 1154 + #ifdef CONFIG_PPC_64K_PAGES 1155 1155 if (psize == MMU_PAGE_64K) 1156 1156 rc = __hash_page_64K(ea, access, vsid, ptep, trap, 1157 1157 flags, ssize); 1158 1158 else 1159 - #endif /* CONFIG_PPC_HAS_HASH_64K */ 1159 + #endif /* CONFIG_PPC_64K_PAGES */ 1160 1160 { 1161 1161 int spp = subpage_protection(mm, ea); 1162 1162 if (access & spp) ··· 1264 1264 update_flags |= HPTE_LOCAL_UPDATE; 1265 1265 1266 1266 /* Hash it in */ 1267 - #ifdef CONFIG_PPC_HAS_HASH_64K 1267 + #ifdef CONFIG_PPC_64K_PAGES 1268 1268 if (mm->context.user_psize == MMU_PAGE_64K) 1269 1269 rc = __hash_page_64K(ea, access, vsid, ptep, trap, 1270 1270 update_flags, ssize); 1271 1271 else 1272 - #endif /* CONFIG_PPC_HAS_HASH_64K */ 1272 + #endif /* CONFIG_PPC_64K_PAGES */ 1273 1273 rc = __hash_page_4K(ea, access, vsid, ptep, trap, update_flags, 1274 1274 ssize, subpage_protection(mm, ea)); 1275 1275