Skip to content
  • Mike Rapoport's avatar
    mm: remove unneeded includes of <asm/pgalloc.h> · ca15ca40
    Mike Rapoport authored
    
    
    Patch series "mm: cleanup usage of <asm/pgalloc.h>"
    
    Most architectures have very similar versions of pXd_alloc_one() and
    pXd_free_one() for intermediate levels of page table.  These patches add
    generic versions of these functions in <asm-generic/pgalloc.h> and enable
    use of the generic functions where appropriate.
    
    In addition, functions declared and defined in <asm/pgalloc.h> headers are
    used mostly by core mm and early mm initialization in arch and there is no
    actual reason to have the <asm/pgalloc.h> included all over the place.
    The first patch in this series removes unneeded includes of
    <asm/pgalloc.h>
    
    In the end it didn't work out as neatly as I hoped and moving
    pXd_alloc_track() definitions to <asm-generic/pgalloc.h> would require
    unnecessary changes to arches that have custom page table allocations, so
    I've decided to move lib/ioremap.c to mm/ and make pgalloc-track.h local
    to mm/.
    
    This patch (of 8):
    
    In most cases <asm/pgalloc.h> header is required only for allocations of
    page table memory.  Most of the .c files that include that header do not
    use symbols declared in <asm/pgalloc.h> and do not require that header.
    
    As for the other header files that used to include <asm/pgalloc.h>, it is
    possible to move that include into the .c file that actually uses symbols
    from <asm/pgalloc.h> and drop the include from the header file.
    
    The process was somewhat automated using
    
    	sed -i -E '/[<"]asm\/pgalloc\.h/d' \
                    $(grep -L -w -f /tmp/xx \
                            $(git grep -E -l '[<"]asm/pgalloc\.h'))
    
    where /tmp/xx contains all the symbols defined in
    arch/*/include/asm/pgalloc.h.
    
    [rppt@linux.ibm.com: fix powerpc warning]
    
    Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Reviewed-by: default avatarPekka Enberg <penberg@kernel.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	[m68k]
    Cc: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Joerg Roedel <joro@8bytes.org>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
    Cc: Stafford Horne <shorne@gmail.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Joerg Roedel <jroedel@suse.de>
    Cc: Matthew Wilcox <willy@infradead.org>
    Link: http://lkml.kernel.org/r/20200627143453.31835-1-rppt@kernel.org
    Link: http://lkml.kernel.org/r/20200627143453.31835-2-rppt@kernel.org
    
    
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ca15ca40