Message ID | 1459427384-21374-2-git-send-email-boris.brezillon@free-electrons.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Herbert Xu |
Headers | show |
Hi, On 03/31/2016 05:59 PM, Boris Brezillon wrote: > Add an helper to check if a virtual address is in the highmem region. > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > --- > include/linux/highmem.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/include/linux/highmem.h b/include/linux/highmem.h > index bb3f329..13dff37 100644 > --- a/include/linux/highmem.h > +++ b/include/linux/highmem.h > @@ -41,6 +41,14 @@ void kmap_flush_unused(void); > > struct page *kmap_to_page(void *addr); > > +static inline bool is_highmem_addr(const void *x) > +{ > + unsigned long vaddr = (unsigned long)x; > + > + return vaddr >= PKMAP_BASE && > + vaddr < ((PKMAP_BASE + LAST_PKMAP) * PAGE_SIZE); Shouldn't this be: vaddr < (PKMAP_BASE + (LAST_PKMAP * PAGE_SIZE)) ?
On Mon, 4 Apr 2016 13:44:11 +0530 Vignesh R <vigneshr@ti.com> wrote: > Hi, > > On 03/31/2016 05:59 PM, Boris Brezillon wrote: > > Add an helper to check if a virtual address is in the highmem region. > > > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > > --- > > include/linux/highmem.h | 13 +++++++++++++ > > 1 file changed, 13 insertions(+) > > > > diff --git a/include/linux/highmem.h b/include/linux/highmem.h > > index bb3f329..13dff37 100644 > > --- a/include/linux/highmem.h > > +++ b/include/linux/highmem.h > > @@ -41,6 +41,14 @@ void kmap_flush_unused(void); > > > > struct page *kmap_to_page(void *addr); > > > > +static inline bool is_highmem_addr(const void *x) > > +{ > > + unsigned long vaddr = (unsigned long)x; > > + > > + return vaddr >= PKMAP_BASE && > > + vaddr < ((PKMAP_BASE + LAST_PKMAP) * PAGE_SIZE); > > > Shouldn't this be: > vaddr < (PKMAP_BASE + (LAST_PKMAP * PAGE_SIZE)) ? Oops, yes indeed. Anyway, given Russell's feedback I don't think I'm gonna follow up on this series. Sorry. Boris
diff --git a/include/linux/highmem.h b/include/linux/highmem.h index bb3f329..13dff37 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -41,6 +41,14 @@ void kmap_flush_unused(void); struct page *kmap_to_page(void *addr); +static inline bool is_highmem_addr(const void *x) +{ + unsigned long vaddr = (unsigned long)x; + + return vaddr >= PKMAP_BASE && + vaddr < ((PKMAP_BASE + LAST_PKMAP) * PAGE_SIZE); +} + #else /* CONFIG_HIGHMEM */ static inline unsigned int nr_free_highpages(void) { return 0; } @@ -50,6 +58,11 @@ static inline struct page *kmap_to_page(void *addr) return virt_to_page(addr); } +static inline bool is_highmem_addr(const void *x) +{ + return false; +} + #define totalhigh_pages 0UL #ifndef ARCH_HAS_KMAP
Add an helper to check if a virtual address is in the highmem region. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> --- include/linux/highmem.h | 13 +++++++++++++ 1 file changed, 13 insertions(+)