linux-kernelorg-stable/arch/sparc/include/asm
Lorenzo Stoakes c707a68f94 mm: abstract io_remap_pfn_range() based on PFN
The only instances in which we customise this function are ones in which we
customise the PFN used.

Instances where architectures were not passing the pgprot value through
pgprot_decrypted() are ones where pgprot_decrypted() was a no-op anyway, so
we can simply always pass pgprot through this function.

Use this fact to simplify the use of io_remap_pfn_range(), by abstracting
the PFN via io_remap_pfn_range_pfn() and using this instead of providing a
general io_remap_pfn_range() function per-architecture.

Link: https://lkml.kernel.org/r/d086191bf431b58ce3b231b4f4f555d080f60327.1760959442.git.lorenzo.stoakes@oracle.com
Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Baoquan He <bhe@redhat.com>
Cc: Chatre, Reinette <reinette.chatre@intel.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Dave Martin <dave.martin@arm.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: James Morse <james.morse@arm.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jann Horn <jannh@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nicolas Pitre <nico@fluxnic.net>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Pedro Falcato <pfalcato@suse.de>
Cc: Robin Murohy <robin.murphy@arm.com>
Cc: Sumanth Korikkar <sumanthk@linux.ibm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "Uladzislau Rezki (Sony)" <urezki@gmail.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-11-16 17:28:12 -08:00
..
Kbuild asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
adi.h
adi_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
apb.h
asm-offsets.h
asm-prototypes.h
asm.h
asmmacro.h
atomic.h
atomic_32.h
atomic_64.h
auxio.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
auxio_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
auxio_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
backoff.h
barrier.h
barrier_32.h
barrier_64.h
bbc.h
bitext.h
bitops.h
bitops_32.h
bitops_64.h sparc: Add __attribute_const__ to ffs()-family implementations 2025-09-08 14:58:52 -07:00
btext.h
bug.h
cache.h
cacheflush.h
cacheflush_32.h
cacheflush_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
cachetlb_32.h
cachetype.h
chafsr.h
checksum.h
checksum_32.h
checksum_64.h
chmctrl.h
clock.h
clocksource.h
cmpxchg.h
cmpxchg_32.h
cmpxchg_64.h
compat.h
compat_signal.h
contregs.h
cpu_type.h
cpudata.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
cpudata_32.h
cpudata_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
current.h
dcr.h
dcu.h
delay.h
delay_32.h
delay_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
device.h
dma-mapping.h
dma.h
ebus_dma.h
ecc.h
eeprom.h
elf.h
elf_32.h
elf_64.h sparc/module: Add R_SPARC_UA64 relocation handling 2025-09-19 20:23:08 +02:00
estate.h
extable.h
fbio.h
fhc.h
floppy.h
floppy_32.h floppy: Remove unused CROSS_64KB() macro from arch/ code 2025-08-25 14:46:42 -06:00
floppy_64.h This includes the following changes related to sparc for v6.18: 2025-10-04 10:59:06 -07:00
fpumacro.h
ftrace.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
futex.h
futex_32.h
futex_64.h
hardirq.h
hardirq_32.h
hardirq_64.h
head.h
head_32.h
head_64.h
hibernate.h
highmem.h
hugetlb.h sparc64: remove hugetlb_free_pgd_range() 2025-07-24 19:12:31 -07:00
hvtramp.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
hw_irq.h
hypervisor.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
idprom.h
intr_queue.h
io-unit.h
io.h
io_32.h
io_64.h sparc64: fix prototypes of reads[bwl]() 2025-09-19 20:55:34 +02:00
ioctls.h
iommu-common.h
iommu.h
iommu_32.h
iommu_64.h
irq.h
irq_32.h
irq_64.h
irqflags.h
irqflags_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
irqflags_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
jump_label.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
kdebug.h
kdebug_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
kdebug_64.h
kgdb.h
kprobes.h
ldc.h
leon.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
leon_amba.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
leon_pci.h
lsu.h
machines.h
mbus.h
mc146818rtc.h
mc146818rtc_32.h
mc146818rtc_64.h
mdesc.h
memctrl.h
mman.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
mmu.h
mmu_32.h
mmu_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
mmu_context.h
mmu_context_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
mmu_context_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
mmzone.h
mxcc.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
nmi.h
ns87303.h
obio.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
opcodes.h crypto: sparc - move opcodes.h into asm directory 2025-05-05 18:20:43 +08:00
openprom.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
oplib.h
oplib_32.h
oplib_64.h
page.h asm-generic: provide generic page_to_phys and phys_to_page implementations 2024-10-28 21:44:28 +00:00
page_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
page_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
parport.h
parport_64.h sparc: parport: Replace deprecated strcpy() with strscpy() in ecpp_probe() 2025-09-26 17:26:43 +02:00
pbm.h
pci.h
pcic.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
pcr.h
percpu.h
percpu_32.h
percpu_64.h
perf_event.h
pgalloc.h
pgalloc_32.h
pgalloc_64.h
pgtable.h
pgtable_32.h mm: abstract io_remap_pfn_range() based on PFN 2025-11-16 17:28:12 -08:00
pgtable_64.h mm: abstract io_remap_pfn_range() based on PFN 2025-11-16 17:28:12 -08:00
pgtsrmmu.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
pil.h
processor.h
processor_32.h
processor_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
prom.h
psr.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
ptrace.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
qrwlock.h
qspinlock.h
ross.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
sbi.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
scratchpad.h
seccomp.h
sections.h
setup.h
sfafsr.h
sfp-machine.h
sfp-machine_32.h
sfp-machine_64.h
shmparam.h
shmparam_32.h
shmparam_64.h
sigcontext.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
signal.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
smp.h
smp_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
smp_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
sparsemem.h
spinlock.h
spinlock_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
spinlock_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
spinlock_types.h
spitfire.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
stacktrace.h
starfire.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
string.h
string_32.h
string_64.h
sunbpp.h
swift.h
switch_to.h
switch_to_32.h
switch_to_64.h
syscall.h syscall.h: introduce syscall_set_nr() 2025-05-11 17:48:15 -07:00
syscalls.h
termbits.h
thread_info.h
thread_info_32.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
thread_info_64.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
timer.h
timer_32.h
timer_64.h
timex.h
timex_32.h
timex_64.h
tlb.h
tlb_32.h
tlb_64.h mm: pgtable: introduce generic __tlb_remove_table() 2025-01-25 20:22:23 -08:00
tlbflush.h
tlbflush_32.h
tlbflush_64.h
topology.h
topology_32.h
topology_64.h
trap_block.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
traps.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
tsb.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
tsunami.h
ttable.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
turbosparc.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
uaccess.h
uaccess_32.h
uaccess_64.h
unistd.h
upa.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
uprobes.h
user.h
vaddrs.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
vdso.h
video.h Fix access to video_is_primary_device() when compiled without CONFIG_VIDEO 2025-09-10 09:35:33 -05:00
viking.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
vio.h
visasm.h sparc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-26 17:06:09 +02:00
vmalloc.h
vvar.h
winmacro.h
xor.h
xor_32.h
xor_64.h