The replacement of <asm/pgrable.h> with <linux/pgtable.h> made the include
of the latter in the middle of asm includes. Fix this up with the aid of
the below script and manual adjustments here and there.
import sys
import re
if len(sys.argv) is not 3:
print "USAGE: %s <file> <header>" % (sys.argv[0])
sys.exit(1)
hdr_to_move="#include <linux/%s>" % sys.argv[2]
moved = False
in_hdrs = False
with open(sys.argv[1], "r") as f:
lines = f.readlines()
for _line in lines:
line = _line.rstrip('
')
if line == hdr_to_move:
continue
if line.startswith("#include <linux/"):
in_hdrs = True
elif not moved and in_hdrs:
moved = True
print hdr_to_move
print line
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vincent Chen <deanbo422@gmail.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: http://lkml.kernel.org/r/20200514170327.31389-4-rppt@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
79 lines
1.8 KiB
C
79 lines
1.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _SPARC_PGALLOC_H
|
|
#define _SPARC_PGALLOC_H
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/pgtable.h>
|
|
|
|
#include <asm/pgtsrmmu.h>
|
|
#include <asm/vaddrs.h>
|
|
#include <asm/page.h>
|
|
|
|
struct page;
|
|
|
|
void *srmmu_get_nocache(int size, int align);
|
|
void srmmu_free_nocache(void *addr, int size);
|
|
|
|
extern struct resource sparc_iomap;
|
|
|
|
pgd_t *get_pgd_fast(void);
|
|
static inline void free_pgd_fast(pgd_t *pgd)
|
|
{
|
|
srmmu_free_nocache(pgd, SRMMU_PGD_TABLE_SIZE);
|
|
}
|
|
|
|
#define pgd_free(mm, pgd) free_pgd_fast(pgd)
|
|
#define pgd_alloc(mm) get_pgd_fast()
|
|
|
|
static inline void pud_set(pud_t * pudp, pmd_t * pmdp)
|
|
{
|
|
unsigned long pa = __nocache_pa(pmdp);
|
|
|
|
set_pte((pte_t *)pudp, __pte((SRMMU_ET_PTD | (pa >> 4))));
|
|
}
|
|
|
|
#define pud_populate(MM, PGD, PMD) pud_set(PGD, PMD)
|
|
|
|
static inline pmd_t *pmd_alloc_one(struct mm_struct *mm,
|
|
unsigned long address)
|
|
{
|
|
return srmmu_get_nocache(SRMMU_PMD_TABLE_SIZE,
|
|
SRMMU_PMD_TABLE_SIZE);
|
|
}
|
|
|
|
static inline void free_pmd_fast(pmd_t * pmd)
|
|
{
|
|
srmmu_free_nocache(pmd, SRMMU_PMD_TABLE_SIZE);
|
|
}
|
|
|
|
#define pmd_free(mm, pmd) free_pmd_fast(pmd)
|
|
#define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd)
|
|
|
|
#define pmd_populate(mm, pmd, pte) pmd_set(pmd, pte)
|
|
#define pmd_pgtable(pmd) (pgtable_t)__pmd_page(pmd)
|
|
|
|
void pmd_set(pmd_t *pmdp, pte_t *ptep);
|
|
#define pmd_populate_kernel pmd_populate
|
|
|
|
pgtable_t pte_alloc_one(struct mm_struct *mm);
|
|
|
|
static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
|
|
{
|
|
return srmmu_get_nocache(SRMMU_PTE_TABLE_SIZE,
|
|
SRMMU_PTE_TABLE_SIZE);
|
|
}
|
|
|
|
|
|
static inline void free_pte_fast(pte_t *pte)
|
|
{
|
|
srmmu_free_nocache(pte, SRMMU_PTE_TABLE_SIZE);
|
|
}
|
|
|
|
#define pte_free_kernel(mm, pte) free_pte_fast(pte)
|
|
|
|
void pte_free(struct mm_struct * mm, pgtable_t pte);
|
|
#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte)
|
|
|
|
#endif /* _SPARC_PGALLOC_H */
|