Christophe Leroy's on June 11, 2019 3:24 pm: > > > Le 10/06/2019 à 06:38, Nicholas Piggin a écrit : >> ioremap_page_range is a generic function to create a kernel virtual >> mapping, move it to mm/vmalloc.c and rename it vmap_range. >> >> For clarity with this move, also: >> - Rename vunmap_page_range (vmap_range's inverse) to vunmap_range. >> - Rename vmap_page_range (which takes a page array) to vmap_pages. > > Maybe it would be easier to follow the change if the name change was > done in another patch than the move. I could do that. >> Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx> >> --- >> >> Fixed up the arm64 compile errors, fixed a few bugs, and tidied >> things up a bit more. >> >> Have tested powerpc and x86 but not arm64, would appreciate a review >> and test of the arm64 patch if possible. >> >> include/linux/vmalloc.h | 3 + >> lib/ioremap.c | 173 +++--------------------------- >> mm/vmalloc.c | 228 ++++++++++++++++++++++++++++++++++++---- >> 3 files changed, 229 insertions(+), 175 deletions(-) >> >> diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h >> index 51e131245379..812bea5866d6 100644 >> --- a/include/linux/vmalloc.h >> +++ b/include/linux/vmalloc.h >> @@ -147,6 +147,9 @@ extern struct vm_struct *find_vm_area(const void *addr); >> extern int map_vm_area(struct vm_struct *area, pgprot_t prot, >> struct page **pages); >> #ifdef CONFIG_MMU >> +extern int vmap_range(unsigned long addr, >> + unsigned long end, phys_addr_t phys_addr, pgprot_t prot, >> + unsigned int max_page_shift); > > Drop extern keyword here. I don't know if I was going crazy but at one point I was getting duplicate symbol errors that were fixed by adding extern somewhere. Maybe sleep depravation. However... > As checkpatch tells you, 'CHECK:AVOID_EXTERNS: extern prototypes should > be avoided in .h files' I prefer to follow existing style in surrounding code at the expense of some checkpatch warnings. If somebody later wants to "fix" it that's fine. Thanks, Nick