hashpagetable.c is only compiled when CONFIG_PPC_BOOK3S_64 is
defined, so drop the test and its 'else' branch.

Use IS_ENABLED(CONFIG_PPC_PSERIES) instead of #ifdef, this allows the
code to be checked at any build. It is still optimised out by GCC.

Use IS_ENABLED(CONFIG_PPC_64K_PAGES) instead of #ifdef.

Use IS_ENABLED(CONFIG_SPARSEMEN_VMEMMAP) instead of #ifdef.

Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr>
---
 arch/powerpc/include/asm/plpar_wrappers.h |  6 ++++++
 arch/powerpc/mm/ptdump/hashpagetable.c    | 24 +++++++++---------------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/powerpc/include/asm/plpar_wrappers.h 
b/arch/powerpc/include/asm/plpar_wrappers.h
index cff5a411e595..4497c8afb573 100644
--- a/arch/powerpc/include/asm/plpar_wrappers.h
+++ b/arch/powerpc/include/asm/plpar_wrappers.h
@@ -340,6 +340,12 @@ static inline long plpar_set_ciabr(unsigned long ciabr)
 {
        return 0;
 }
+
+static inline long plpar_pte_read_4(unsigned long flags, unsigned long ptex,
+                                   unsigned long *ptes)
+{
+       return 0;
+}
 #endif /* CONFIG_PPC_PSERIES */
 
 #endif /* _ASM_POWERPC_PLPAR_WRAPPERS_H */
diff --git a/arch/powerpc/mm/ptdump/hashpagetable.c 
b/arch/powerpc/mm/ptdump/hashpagetable.c
index 72f0e4a3d839..a07278027c6f 100644
--- a/arch/powerpc/mm/ptdump/hashpagetable.c
+++ b/arch/powerpc/mm/ptdump/hashpagetable.c
@@ -237,7 +237,6 @@ static int native_find(unsigned long ea, int psize, bool 
primary, u64 *v, u64
        return -1;
 }
 
-#ifdef CONFIG_PPC_PSERIES
 static int pseries_find(unsigned long ea, int psize, bool primary, u64 *v, u64 
*r)
 {
        struct hash_pte ptes[4];
@@ -274,7 +273,6 @@ static int pseries_find(unsigned long ea, int psize, bool 
primary, u64 *v, u64 *
        }
        return -1;
 }
-#endif
 
 static void decode_r(int bps, unsigned long r, unsigned long *rpn, int *aps,
                unsigned long *lp_bits)
@@ -316,10 +314,9 @@ static void decode_r(int bps, unsigned long r, unsigned 
long *rpn, int *aps,
 static int base_hpte_find(unsigned long ea, int psize, bool primary, u64 *v,
                          u64 *r)
 {
-#ifdef CONFIG_PPC_PSERIES
-       if (firmware_has_feature(FW_FEATURE_LPAR))
+       if (IS_ENABLED(CONFIG_PPC_PSERIES) && 
firmware_has_feature(FW_FEATURE_LPAR))
                return pseries_find(ea, psize, primary, v, r);
-#endif
+
        return native_find(ea, psize, primary, v, r);
 }
 
@@ -386,12 +383,13 @@ static void walk_pte(struct pg_state *st, pmd_t *pmd, 
unsigned long start)
                        psize = mmu_vmalloc_psize;
                else
                        psize = mmu_io_psize;
-#ifdef CONFIG_PPC_64K_PAGES
+
                /* check for secret 4K mappings */
-               if (((pteval & H_PAGE_COMBO) == H_PAGE_COMBO) ||
-                       ((pteval & H_PAGE_4K_PFN) == H_PAGE_4K_PFN))
+               if (IS_ENABLED(CONFIG_PPC_64K_PAGES) &&
+                   ((pteval & H_PAGE_COMBO) == H_PAGE_COMBO ||
+                    (pteval & H_PAGE_4K_PFN) == H_PAGE_4K_PFN))
                        psize = mmu_io_psize;
-#endif
+
                /* check for hashpte */
                status = hpte_find(st, addr, psize);
 
@@ -469,9 +467,10 @@ static void walk_linearmapping(struct pg_state *st)
 
 static void walk_vmemmap(struct pg_state *st)
 {
-#ifdef CONFIG_SPARSEMEM_VMEMMAP
        struct vmemmap_backing *ptr = vmemmap_list;
 
+       if (!IS_ENABLED(CONFIG_SPARSEMEM_VMEMMAP))
+               return;
        /*
         * Traverse the vmemmaped memory and dump pages that are in the hash
         * pagetable.
@@ -481,7 +480,6 @@ static void walk_vmemmap(struct pg_state *st)
                ptr = ptr->list;
        }
        seq_puts(st->seq, "---[ vmemmap end ]---\n");
-#endif
 }
 
 static void populate_markers(void)
@@ -495,11 +493,7 @@ static void populate_markers(void)
        address_markers[6].start_address = PHB_IO_END;
        address_markers[7].start_address = IOREMAP_BASE;
        address_markers[8].start_address = IOREMAP_END;
-#ifdef CONFIG_PPC_BOOK3S_64
        address_markers[9].start_address =  H_VMEMMAP_START;
-#else
-       address_markers[9].start_address =  VMEMMAP_BASE;
-#endif
 }
 
 static int ptdump_show(struct seq_file *m, void *v)
-- 
2.13.3

Reply via email to