Merge tag 'for-linus' of https://github.com/openrisc/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 5 Sep 2023 17:09:31 +0000 (10:09 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 5 Sep 2023 17:09:31 +0000 (10:09 -0700)
Pull OpenRISC updates from Stafford Horne:

 - Fixes from me to cleanup all compiler warnings reported under
   arch/openrisc

 - One cleanup from Linus Walleij to convert pfn macros to static
   inlines

* tag 'for-linus' of https://github.com/openrisc/linux:
  openrisc: Remove kernel-doc marker from ioremap comment
  openrisc: Remove unused tlb_init function
  openriac: Remove unused nommu_dump_state function
  openrisc: Include cpu.h and switch_to.h for prototypes
  openrisc: Add prototype for die to bug.h
  openrisc: Add prototype for show_registers to processor.h
  openrisc: Declare do_signal function as static
  openrisc: Add missing prototypes for assembly called fnctions
  openrisc: Make pfn accessors statics inlines

1  2 
arch/openrisc/mm/ioremap.c

  
  extern int mem_init_done;
  
- /**
 -static unsigned int fixmaps_used __initdata;
 -
 -/*
 - * Remap an arbitrary physical address space into the kernel virtual
 - * address space. Needed when the kernel wants to access high addresses
 - * directly.
 - *
 - * NOTE! We need to allow non-page-aligned mappings too: we will obviously
 - * have to convert them into an offset in a page-aligned mapping, but the
 - * caller shouldn't need to know that small detail.
 - */
 -void __iomem *__ref ioremap(phys_addr_t addr, unsigned long size)
 -{
 -      phys_addr_t p;
 -      unsigned long v;
 -      unsigned long offset, last_addr;
 -      struct vm_struct *area = NULL;
 -
 -      /* Don't allow wraparound or zero size */
 -      last_addr = addr + size - 1;
 -      if (!size || last_addr < addr)
 -              return NULL;
 -
 -      /*
 -       * Mappings have to be page-aligned
 -       */
 -      offset = addr & ~PAGE_MASK;
 -      p = addr & PAGE_MASK;
 -      size = PAGE_ALIGN(last_addr + 1) - p;
 -
 -      if (likely(mem_init_done)) {
 -              area = get_vm_area(size, VM_IOREMAP);
 -              if (!area)
 -                      return NULL;
 -              v = (unsigned long)area->addr;
 -      } else {
 -              if ((fixmaps_used + (size >> PAGE_SHIFT)) > FIX_N_IOREMAPS)
 -                      return NULL;
 -              v = fix_to_virt(FIX_IOREMAP_BEGIN + fixmaps_used);
 -              fixmaps_used += (size >> PAGE_SHIFT);
 -      }
 -
 -      if (ioremap_page_range(v, v + size, p,
 -                      __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI))) {
 -              if (likely(mem_init_done))
 -                      vfree(area->addr);
 -              else
 -                      fixmaps_used -= (size >> PAGE_SHIFT);
 -              return NULL;
 -      }
 -
 -      return (void __iomem *)(offset + (char *)v);
 -}
 -EXPORT_SYMBOL(ioremap);
 -
 -void iounmap(volatile void __iomem *addr)
 -{
 -      /* If the page is from the fixmap pool then we just clear out
 -       * the fixmap mapping.
 -       */
 -      if (unlikely((unsigned long)addr > FIXADDR_START)) {
 -              /* This is a bit broken... we don't really know
 -               * how big the area is so it's difficult to know
 -               * how many fixed pages to invalidate...
 -               * just flush tlb and hope for the best...
 -               * consider this a FIXME
 -               *
 -               * Really we should be clearing out one or more page
 -               * table entries for these virtual addresses so that
 -               * future references cause a page fault... for now, we
 -               * rely on two things:
 -               *   i)  this code never gets called on known boards
 -               *   ii) invalid accesses to the freed areas aren't made
 -               */
 -              flush_tlb_all();
 -              return;
 -      }
 -
 -      return vfree((void *)(PAGE_MASK & (unsigned long)addr));
 -}
 -EXPORT_SYMBOL(iounmap);
 -
+ /*
   * OK, this one's a bit tricky... ioremap can get called before memory is
   * initialized (early serial console does this) and will want to alloc a page
   * for its mapping.  No userspace pages will ever get allocated before memory