diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 10:51:30 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 10:51:30 -0700 |
commit | eab733afcb85f4a218540890f25dfb497d44a979 (patch) | |
tree | f7c83eb80fab868eedf4735cfcaaa9b85ca39fbc /arch/m68k/mm | |
parent | 25d80be86c5d7f53df41ec5ce96f6c6543cac245 (diff) | |
parent | 082f55c459845088c3fee99c3a88ee117c148218 (diff) | |
download | linux-eab733afcb85f4a218540890f25dfb497d44a979.tar.bz2 |
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
Pull m68knommu updates from Greg Ungerer:
"These changes all relate to converting the IO access functions for the
ColdFire (and all other non-MMU m68k) platforms to use asm-generic IO
instead.
This makes the IO support the same on all ColdFire (regardless of MMU
enabled or not) and means we can now support PCI in non-MMU mode.
As a bonus these changes remove more code than they add"
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68k: fix ColdFire PCI config reads and writes
m68k: introduce iomem() macro for __iomem conversions
m68k: allow ColdFire PCI bus on MMU and non-MMU configuration
m68k: fix ioremapping for internal ColdFire peripherals
m68k: fix read/write multi-byte IO for PCI on ColdFire
m68k: don't redefine access functions if we have PCI
m68k: remove old ColdFire IO access support code
m68k: use io_no.h for MMU and non-MMU enabled ColdFire
m68k: setup PCI support code in io_no.h
m68k: group io mapping definitions and functions
m68k: rework raw access macros for the non-MMU case
m68k: use asm-generic/io.h for non-MMU io access functions
m68k: put definition guards around virt_to_phys and phys_to_virt
m68k: move *_relaxed macros into io_no.h and io_mm.h
Diffstat (limited to 'arch/m68k/mm')
-rw-r--r-- | arch/m68k/mm/kmap.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/m68k/mm/kmap.c b/arch/m68k/mm/kmap.c index 3b420f6d8822..40a3b327da07 100644 --- a/arch/m68k/mm/kmap.c +++ b/arch/m68k/mm/kmap.c @@ -126,6 +126,10 @@ void __iomem *__ioremap(unsigned long physaddr, unsigned long size, int cachefla return (void __iomem *)physaddr; } #endif +#ifdef CONFIG_COLDFIRE + if (__cf_internalio(physaddr)) + return (void __iomem *) physaddr; +#endif #ifdef DEBUG printk("ioremap: 0x%lx,0x%lx(%d) - ", physaddr, size, cacheflag); @@ -236,6 +240,10 @@ void iounmap(void __iomem *addr) ((unsigned long)addr > 0x60000000))) free_io_area((__force void *)addr); #else +#ifdef CONFIG_COLDFIRE + if (cf_internalio(addr)) + return; +#endif free_io_area((__force void *)addr); #endif } |