On 06/08/22 at 12:16pm, Baoquan He wrote: > On 06/07/22 at 08:50pm, Kefeng Wang wrote: > > Use more meaningful and sensibly naming phys_addr > > instead addr in ioremap_prot(). > > > > Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> > > Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> > > --- > > include/asm-generic/io.h | 3 ++- > > mm/ioremap.c | 14 ++++++++------ > > 2 files changed, 10 insertions(+), 7 deletions(-) > > > > diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h > > index 7ce93aaf69f8..b76379628a02 100644 > > --- a/include/asm-generic/io.h > > +++ b/include/asm-generic/io.h > > @@ -964,7 +964,8 @@ static inline void iounmap(volatile void __iomem *addr) > > #elif defined(CONFIG_GENERIC_IOREMAP) > > #include <linux/pgtable.h> > > > > -void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot); > > +void __iomem *ioremap_prot(phys_addr_t phys_addr, size_t size, > > + unsigned long prot); > > void iounmap(volatile void __iomem *addr); > > > > static inline void __iomem *ioremap(phys_addr_t addr, size_t size) > > diff --git a/mm/ioremap.c b/mm/ioremap.c > > index 5fe598ecd9b7..2d754b48d230 100644 > > --- a/mm/ioremap.c > > +++ b/mm/ioremap.c > > @@ -11,20 +11,21 @@ > > #include <linux/io.h> > > #include <linux/export.h> > > > > -void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot) > > +void __iomem *ioremap_prot(phys_addr_t phys_addr, size_t size, > > + unsigned long prot) > > { > > unsigned long offset, vaddr; > > phys_addr_t last_addr; > > struct vm_struct *area; > > > > /* Disallow wrap-around or zero size */ > > - last_addr = addr + size - 1; > > - if (!size || last_addr < addr) > > + last_addr = phys_addr + size - 1; > > + if (!size || last_addr < phys_addr) > > return NULL; > > > > /* Page-align mappings */ > > - offset = addr & (~PAGE_MASK); > > - addr -= offset; > > + offset = phys_addr & (~PAGE_MASK); > ~~~ use offset_in_page() instead? Sorry, this patch only does s/addr/phys_addr/, please ignore this comment. > > Other than this nitpick, this looks good to me. > > Reviewed-by: Baoquan He <bhe@xxxxxxxxxx> > > > + phys_addr -= offset; > > size = PAGE_ALIGN(size + offset); > > > > area = get_vm_area_caller(size, VM_IOREMAP, > > @@ -33,7 +34,8 @@ void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot) > > return NULL; > > vaddr = (unsigned long)area->addr; > > > > - if (ioremap_page_range(vaddr, vaddr + size, addr, __pgprot(prot))) { > > + if (ioremap_page_range(vaddr, vaddr + size, phys_addr, > > + __pgprot(prot))) { > > free_vm_area(area); > > return NULL; > > } > > -- > > 2.35.3 > > > > >