mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 16:44:59 +00:00
powerpc/mm: Remove empty hash__ functions
The empty hash__* functions are unnecessary. The empty definitions were introduced when 64-bit Hash support was added, as the functions were still used in generic code. These empty definitions were prefixed with hash__ when Radix support was added, and new wrappers with the original names were added that selected the Radix or Hash version based on radix_enabled(). But the hash__ prefixed functions were not part of a public interface, so there is no need to include them for compatibility with anything. Generic code will use the non-prefixed wrappers, and Hash specific code will know that there is no point in calling them (or even worse, call them and expect them to do something). Signed-off-by: Benjamin Gray <bgray@linux.ibm.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20221109045112.187069-5-bgray@linux.ibm.com
This commit is contained in:
parent
071c95c1ac
commit
baf1ed24b2
@ -65,13 +65,6 @@ extern void flush_hash_range(unsigned long number, int local);
|
|||||||
extern void flush_hash_hugepage(unsigned long vsid, unsigned long addr,
|
extern void flush_hash_hugepage(unsigned long vsid, unsigned long addr,
|
||||||
pmd_t *pmdp, unsigned int psize, int ssize,
|
pmd_t *pmdp, unsigned int psize, int ssize,
|
||||||
unsigned long flags);
|
unsigned long flags);
|
||||||
static inline void hash__local_flush_tlb_mm(struct mm_struct *mm)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void hash__flush_tlb_mm(struct mm_struct *mm)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void hash__local_flush_all_mm(struct mm_struct *mm)
|
static inline void hash__local_flush_all_mm(struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
@ -95,27 +88,6 @@ static inline void hash__flush_all_mm(struct mm_struct *mm)
|
|||||||
WARN_ON_ONCE(1);
|
WARN_ON_ONCE(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void hash__local_flush_tlb_page(struct vm_area_struct *vma,
|
|
||||||
unsigned long vmaddr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void hash__flush_tlb_page(struct vm_area_struct *vma,
|
|
||||||
unsigned long vmaddr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void hash__flush_tlb_range(struct vm_area_struct *vma,
|
|
||||||
unsigned long start, unsigned long end)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void hash__flush_tlb_kernel_range(unsigned long start,
|
|
||||||
unsigned long end)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
struct mmu_gather;
|
struct mmu_gather;
|
||||||
extern void hash__tlb_flush(struct mmu_gather *tlb);
|
extern void hash__tlb_flush(struct mmu_gather *tlb);
|
||||||
|
|
||||||
|
@ -47,8 +47,7 @@ static inline void flush_pmd_tlb_range(struct vm_area_struct *vma,
|
|||||||
unsigned long start, unsigned long end)
|
unsigned long start, unsigned long end)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__flush_pmd_tlb_range(vma, start, end);
|
radix__flush_pmd_tlb_range(vma, start, end);
|
||||||
return hash__flush_tlb_range(vma, start, end);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE
|
#define __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE
|
||||||
@ -57,39 +56,34 @@ static inline void flush_hugetlb_tlb_range(struct vm_area_struct *vma,
|
|||||||
unsigned long end)
|
unsigned long end)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__flush_hugetlb_tlb_range(vma, start, end);
|
radix__flush_hugetlb_tlb_range(vma, start, end);
|
||||||
return hash__flush_tlb_range(vma, start, end);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void flush_tlb_range(struct vm_area_struct *vma,
|
static inline void flush_tlb_range(struct vm_area_struct *vma,
|
||||||
unsigned long start, unsigned long end)
|
unsigned long start, unsigned long end)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__flush_tlb_range(vma, start, end);
|
radix__flush_tlb_range(vma, start, end);
|
||||||
return hash__flush_tlb_range(vma, start, end);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void flush_tlb_kernel_range(unsigned long start,
|
static inline void flush_tlb_kernel_range(unsigned long start,
|
||||||
unsigned long end)
|
unsigned long end)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__flush_tlb_kernel_range(start, end);
|
radix__flush_tlb_kernel_range(start, end);
|
||||||
return hash__flush_tlb_kernel_range(start, end);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void local_flush_tlb_mm(struct mm_struct *mm)
|
static inline void local_flush_tlb_mm(struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__local_flush_tlb_mm(mm);
|
radix__local_flush_tlb_mm(mm);
|
||||||
return hash__local_flush_tlb_mm(mm);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void local_flush_tlb_page(struct vm_area_struct *vma,
|
static inline void local_flush_tlb_page(struct vm_area_struct *vma,
|
||||||
unsigned long vmaddr)
|
unsigned long vmaddr)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__local_flush_tlb_page(vma, vmaddr);
|
radix__local_flush_tlb_page(vma, vmaddr);
|
||||||
return hash__local_flush_tlb_page(vma, vmaddr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void local_flush_all_mm(struct mm_struct *mm)
|
static inline void local_flush_all_mm(struct mm_struct *mm)
|
||||||
@ -102,24 +96,21 @@ static inline void local_flush_all_mm(struct mm_struct *mm)
|
|||||||
static inline void tlb_flush(struct mmu_gather *tlb)
|
static inline void tlb_flush(struct mmu_gather *tlb)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__tlb_flush(tlb);
|
radix__tlb_flush(tlb);
|
||||||
return hash__tlb_flush(tlb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
static inline void flush_tlb_mm(struct mm_struct *mm)
|
static inline void flush_tlb_mm(struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__flush_tlb_mm(mm);
|
radix__flush_tlb_mm(mm);
|
||||||
return hash__flush_tlb_mm(mm);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void flush_tlb_page(struct vm_area_struct *vma,
|
static inline void flush_tlb_page(struct vm_area_struct *vma,
|
||||||
unsigned long vmaddr)
|
unsigned long vmaddr)
|
||||||
{
|
{
|
||||||
if (radix_enabled())
|
if (radix_enabled())
|
||||||
return radix__flush_tlb_page(vma, vmaddr);
|
radix__flush_tlb_page(vma, vmaddr);
|
||||||
return hash__flush_tlb_page(vma, vmaddr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void flush_all_mm(struct mm_struct *mm)
|
static inline void flush_all_mm(struct mm_struct *mm)
|
||||||
|
Loading…
Reference in New Issue
Block a user