> +static int vmap_pages_range_noflush(unsigned long start, unsigned long end, > + pgprot_t prot, struct page **pages, > + unsigned int page_shift) > +{ > + if (page_shift == PAGE_SIZE) { Is this a typo of PAGE_SHIFT? > + return vmap_small_pages_range_noflush(start, end, prot, pages); > + } else { > + unsigned long addr = start; > + unsigned int i, nr = (end - start) >> page_shift; > + > + for (i = 0; i < nr; i++) { > + int err; > + > + err = vmap_range_noflush(addr, > + addr + (1UL << page_shift), > + __pa(page_address(pages[i])), prot, > + page_shift); > + if (err) > + return err; > + > + addr += 1UL << page_shift; > + } > + > + return 0; > + } > +} > +