linux/arch/m68k
Greg Ungerer 48074d2615 m68k: introduce iomem() macro for __iomem conversions
A lot of the ColdFire internal peripherals (clocks, timers, interrupt
controllers, etc) are addressed using constants. The only problem with
that is they are not type clean when used with __raw_read/__raw_write
and read/write - they should be of type "void __iomem". This isn't
a problem currently because the IO access functions are local macros.

To switch to using the asm-generic implementations of these we need to
clean up the types. Otherwise you get warnings like this:

    In file included from ./arch/m68k/include/asm/mcfsim.h:24:0,
                     from arch/m68k/coldfire/intc-simr.c:20:
    arch/m68k/coldfire/intc-simr.c: In function ‘init_IRQ’:
    ./arch/m68k/include/asm/m520xsim.h:40:29: warning: passing argument 2 of ‘__raw_writeb’ makes pointer from integer without a cast [-Wint-conversion]
     #define MCFINTC0_SIMR       (MCFICM_INTC0 + MCFINTC_SIMR)
                                 ^
    arch/m68k/coldfire/intc-simr.c:182:21: note: in expansion of macro ‘MCFINTC0_SIMR’
      __raw_writeb(0xff, MCFINTC0_SIMR);
                         ^
    In file included from ./arch/m68k/include/asm/io_no.h:120:0,
                     from ./arch/m68k/include/asm/io.h:3,
                     from ./include/linux/io.h:25,
                     from ./include/linux/irq.h:25,
                     from ./include/asm-generic/hardirq.h:13,
                     from ./arch/m68k/include/asm/hardirq.h:25,
                     from ./include/linux/hardirq.h:9,
                     from ./include/linux/interrupt.h:13,
                     from arch/m68k/coldfire/intc-simr.c:16:
    ./include/asm-generic/io.h:71:22: note: expected ‘volatile void *’ but argument is of type ‘unsigned int’
     #define __raw_writeb __raw_writeb
                          ^
    ./include/asm-generic/io.h:72:20: note: in expansion of macro ‘__raw_writeb’
     static inline void __raw_writeb(u8 value, volatile void __iomem *addr)
                        ^

To start this clean up process introduce a macro, iomem(), that converts
a constant address to the correct "void __iomem *" type.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
Tested-by: Angelo Dureghello <angelo@sysam.it>
2018-05-28 09:45:27 +10:00
..
68000 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
amiga treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
apollo License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atari m68k/atari: Modernize printing of kernel messages 2017-02-12 10:36:49 +01:00
bvme6000 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
coldfire m68k: remove old ColdFire IO access support code 2018-05-28 09:45:26 +10:00
configs m68k/defconfig: Update defconfigs for v4.16-rc5 2018-03-19 10:26:47 +01:00
emu net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
fpsp040 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hp300 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ifpsp060 scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
include m68k: introduce iomem() macro for __iomem conversions 2018-05-28 09:45:27 +10:00
kernel Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2018-04-05 20:33:38 -07:00
lib License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-04-03 14:04:18 -07:00
math-emu m68k: Assorted spelling fixes 2016-07-03 14:05:28 +02:00
mm m68k: fix ioremapping for internal ColdFire peripherals 2018-05-28 09:45:27 +10:00
mvme16x License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mvme147 m68k/mvme147: Modernize printing of kernel messages 2017-02-12 10:36:50 +01:00
q40 m68k/q40: Modernize printing of kernel messages 2017-02-12 10:36:51 +01:00
sun3 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sun3x License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tools/amiga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
install.sh
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.bus m68k: allow ColdFire PCI bus on MMU and non-MMU configuration 2018-05-28 09:45:27 +10:00
Kconfig.cpu m68k: allow ColdFire m5441x parts to run with MMU enabled 2017-11-06 08:25:20 +10:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.devices License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.machine m68k: add Sysam stmark2 open board support 2017-11-07 13:27:38 +10:00
Makefile m68knommu: remove obsolete 68360 support 2016-03-07 10:07:17 +10:00