Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: cleanups of io includes" from Olof Johansson:
"Rob Herring has done a sweeping change cleaning up all of the
mach/io.h includes, moving some of the oft-repeated macros to a common
location and removing a bunch of boiler plate. This is another step
closer to a common zImage for multiple platforms."

Fix up various fairly trivial conflicts (<mach/io.h> removal vs changes
around it, tegra localtimer.o is *still* gone, yadda-yadda).

* tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
ARM: tegra: Include assembler.h in sleep.S to fix build break
ARM: pxa: use common IOMEM definition
ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol
ARM: __io abuse cleanup
ARM: create a common IOMEM definition
ARM: iop13xx: fix missing declaration of iop13xx_init_early
ARM: fix ioremap/iounmap for !CONFIG_MMU
ARM: kill off __mem_pci
ARM: remove bunch of now unused mach/io.h files
ARM: make mach/io.h include optional
ARM: clps711x: remove unneeded include of mach/io.h
ARM: dove: add explicit include of dove.h to addr-map.c
ARM: at91: add explicit include of hardware.h to uncompressor
ARM: ep93xx: clean-up mach/io.h
ARM: tegra: clean-up mach/io.h
ARM: orion5x: clean-up mach/io.h
ARM: davinci: remove unneeded mach/io.h include
[media] davinci: remove includes of mach/io.h
ARM: OMAP: Remove remaining includes for mach/io.h
ARM: msm: clean-up mach/io.h
...

+336 -1365
+27
arch/arm/Kconfig
··· 179 179 config NEED_DMA_MAP_STATE 180 180 def_bool y 181 181 182 + config ARCH_HAS_DMA_SET_COHERENT_MASK 183 + bool 184 + 182 185 config GENERIC_ISA_DMA 183 186 bool 184 187 ··· 218 215 Only disable this option if you know that you do not require 219 216 this feature (eg, building a kernel for a single machine) and 220 217 you need to shrink the kernel to the minimal size. 218 + 219 + config NEED_MACH_IO_H 220 + bool 221 + help 222 + Select this when mach/io.h is required to provide special 223 + definitions for this platform. The need for mach/io.h should 224 + be avoided when possible. 221 225 222 226 config NEED_MACH_MEMORY_H 223 227 bool ··· 277 267 select GENERIC_CLOCKEVENTS 278 268 select PLAT_VERSATILE 279 269 select PLAT_VERSATILE_FPGA_IRQ 270 + select NEED_MACH_IO_H 280 271 select NEED_MACH_MEMORY_H 281 272 select SPARSE_IRQ 282 273 help ··· 417 406 select ISA 418 407 select NO_IOPORT 419 408 select ARCH_USES_GETTIMEOFFSET 409 + select NEED_MACH_IO_H 420 410 select NEED_MACH_MEMORY_H 421 411 help 422 412 This is an evaluation board for the StrongARM processor available ··· 444 432 select FOOTBRIDGE 445 433 select GENERIC_CLOCKEVENTS 446 434 select HAVE_IDE 435 + select NEED_MACH_IO_H 447 436 select NEED_MACH_MEMORY_H 448 437 help 449 438 Support for systems based on the DC21285 companion chip ··· 496 483 select PCI 497 484 select ARCH_SUPPORTS_MSI 498 485 select VMSPLIT_1G 486 + select NEED_MACH_IO_H 499 487 select NEED_MACH_MEMORY_H 500 488 select NEED_RET_TO_USER 501 489 help ··· 506 492 bool "IOP32x-based" 507 493 depends on MMU 508 494 select CPU_XSCALE 495 + select NEED_MACH_IO_H 509 496 select NEED_RET_TO_USER 510 497 select PLAT_IOP 511 498 select PCI ··· 519 504 bool "IOP33x-based" 520 505 depends on MMU 521 506 select CPU_XSCALE 507 + select NEED_MACH_IO_H 522 508 select NEED_RET_TO_USER 523 509 select PLAT_IOP 524 510 select PCI ··· 533 517 select CPU_XSC3 534 518 select PCI 535 519 select ARCH_USES_GETTIMEOFFSET 520 + select NEED_MACH_IO_H 536 521 select NEED_MACH_MEMORY_H 537 522 help 538 523 Support for Intel's IXP23xx (XScale) family of processors. ··· 544 527 select CPU_XSCALE 545 528 select PCI 546 529 select ARCH_USES_GETTIMEOFFSET 530 + select NEED_MACH_IO_H 547 531 select NEED_MACH_MEMORY_H 548 532 help 549 533 Support for Intel's IXP2400/2800 (XScale) family of processors. ··· 552 534 config ARCH_IXP4XX 553 535 bool "IXP4xx-based" 554 536 depends on MMU 537 + select ARCH_HAS_DMA_SET_COHERENT_MASK 555 538 select CLKSRC_MMIO 556 539 select CPU_XSCALE 557 540 select GENERIC_GPIO 558 541 select GENERIC_CLOCKEVENTS 559 542 select MIGHT_HAVE_PCI 543 + select NEED_MACH_IO_H 560 544 select DMABOUNCE if PCI 561 545 help 562 546 Support for Intel's IXP4XX (XScale) family of processors. ··· 569 549 select PCI 570 550 select ARCH_REQUIRE_GPIOLIB 571 551 select GENERIC_CLOCKEVENTS 552 + select NEED_MACH_IO_H 572 553 select PLAT_ORION 573 554 help 574 555 Support for the Marvell Dove SoC 88AP510 ··· 580 559 select PCI 581 560 select ARCH_REQUIRE_GPIOLIB 582 561 select GENERIC_CLOCKEVENTS 562 + select NEED_MACH_IO_H 583 563 select PLAT_ORION 584 564 help 585 565 Support for the following Marvell Kirkwood series SoCs: ··· 605 583 select PCI 606 584 select ARCH_REQUIRE_GPIOLIB 607 585 select GENERIC_CLOCKEVENTS 586 + select NEED_MACH_IO_H 608 587 select PLAT_ORION 609 588 help 610 589 Support for the following Marvell MV78xx0 series SoCs: ··· 673 650 select HAVE_CLK 674 651 select HAVE_SMP 675 652 select MIGHT_HAVE_CACHE_L2X0 653 + select NEED_MACH_IO_H if PCI 676 654 select ARCH_HAS_CPUFREQ 677 655 help 678 656 This enables support for NVIDIA Tegra based systems (Tegra APX, ··· 765 741 select ARCH_SPARSEMEM_ENABLE 766 742 select ARCH_USES_GETTIMEOFFSET 767 743 select HAVE_IDE 744 + select NEED_MACH_IO_H 768 745 select NEED_MACH_MEMORY_H 769 746 help 770 747 On the Acorn Risc-PC, Linux can support the internal IDE disk and ··· 800 775 select HAVE_S3C2410_I2C if I2C 801 776 select HAVE_S3C_RTC if RTC_CLASS 802 777 select HAVE_S3C2410_WATCHDOG if WATCHDOG 778 + select NEED_MACH_IO_H 803 779 help 804 780 Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 805 781 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST ··· 902 876 select PCI 903 877 select ARCH_USES_GETTIMEOFFSET 904 878 select NEED_MACH_MEMORY_H 879 + select NEED_MACH_IO_H 905 880 help 906 881 Support for the StrongARM based Digital DNARD machine, also known 907 882 as "Shark" (<http://www.shark-linux.de/shark.html>).
+2
arch/arm/include/asm/assembler.h
··· 23 23 #include <asm/ptrace.h> 24 24 #include <asm/domain.h> 25 25 26 + #define IOMEM(x) (x) 27 + 26 28 /* 27 29 * Endian independent macros for shifting bytes within registers. 28 30 */
+33 -38
arch/arm/include/asm/io.h
··· 82 82 extern void __iomem *__arm_ioremap(unsigned long, size_t, unsigned int); 83 83 extern void __iomem *__arm_ioremap_exec(unsigned long, size_t, bool cached); 84 84 extern void __iounmap(volatile void __iomem *addr); 85 + extern void __arm_iounmap(volatile void __iomem *addr); 86 + 87 + extern void __iomem * (*arch_ioremap_caller)(unsigned long, size_t, 88 + unsigned int, void *); 89 + extern void (*arch_iounmap)(volatile void __iomem *); 85 90 86 91 /* 87 92 * Bad read/write accesses... ··· 101 96 return (void __iomem *)addr; 102 97 } 103 98 99 + #define IOMEM(x) ((void __force __iomem *)(x)) 100 + 104 101 /* IO barriers */ 105 102 #ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE 106 103 #include <asm/barrier.h> ··· 116 109 /* 117 110 * Now, pick up the machine-defined IO definitions 118 111 */ 112 + #ifdef CONFIG_NEED_MACH_IO_H 119 113 #include <mach/io.h> 114 + #else 115 + #define __io(a) ({ (void)(a); __typesafe_io(0); }) 116 + #endif 120 117 121 118 /* 122 119 * This is the limit of PC card/PCI/ISA IO space, which is by default ··· 222 211 * Again, this are defined to perform little endian accesses. See the 223 212 * IO port primitives for more information. 224 213 */ 225 - #ifdef __mem_pci 226 - #define readb_relaxed(c) ({ u8 __r = __raw_readb(__mem_pci(c)); __r; }) 214 + #ifndef readl 215 + #define readb_relaxed(c) ({ u8 __r = __raw_readb(c); __r; }) 227 216 #define readw_relaxed(c) ({ u16 __r = le16_to_cpu((__force __le16) \ 228 - __raw_readw(__mem_pci(c))); __r; }) 217 + __raw_readw(c)); __r; }) 229 218 #define readl_relaxed(c) ({ u32 __r = le32_to_cpu((__force __le32) \ 230 - __raw_readl(__mem_pci(c))); __r; }) 219 + __raw_readl(c)); __r; }) 231 220 232 - #define writeb_relaxed(v,c) ((void)__raw_writeb(v,__mem_pci(c))) 221 + #define writeb_relaxed(v,c) ((void)__raw_writeb(v,c)) 233 222 #define writew_relaxed(v,c) ((void)__raw_writew((__force u16) \ 234 - cpu_to_le16(v),__mem_pci(c))) 223 + cpu_to_le16(v),c)) 235 224 #define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \ 236 - cpu_to_le32(v),__mem_pci(c))) 225 + cpu_to_le32(v),c)) 237 226 238 227 #define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) 239 228 #define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) ··· 243 232 #define writew(v,c) ({ __iowmb(); writew_relaxed(v,c); }) 244 233 #define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); }) 245 234 246 - #define readsb(p,d,l) __raw_readsb(__mem_pci(p),d,l) 247 - #define readsw(p,d,l) __raw_readsw(__mem_pci(p),d,l) 248 - #define readsl(p,d,l) __raw_readsl(__mem_pci(p),d,l) 235 + #define readsb(p,d,l) __raw_readsb(p,d,l) 236 + #define readsw(p,d,l) __raw_readsw(p,d,l) 237 + #define readsl(p,d,l) __raw_readsl(p,d,l) 249 238 250 - #define writesb(p,d,l) __raw_writesb(__mem_pci(p),d,l) 251 - #define writesw(p,d,l) __raw_writesw(__mem_pci(p),d,l) 252 - #define writesl(p,d,l) __raw_writesl(__mem_pci(p),d,l) 239 + #define writesb(p,d,l) __raw_writesb(p,d,l) 240 + #define writesw(p,d,l) __raw_writesw(p,d,l) 241 + #define writesl(p,d,l) __raw_writesl(p,d,l) 253 242 254 - #define memset_io(c,v,l) _memset_io(__mem_pci(c),(v),(l)) 255 - #define memcpy_fromio(a,c,l) _memcpy_fromio((a),__mem_pci(c),(l)) 256 - #define memcpy_toio(c,a,l) _memcpy_toio(__mem_pci(c),(a),(l)) 243 + #define memset_io(c,v,l) _memset_io(c,(v),(l)) 244 + #define memcpy_fromio(a,c,l) _memcpy_fromio((a),c,(l)) 245 + #define memcpy_toio(c,a,l) _memcpy_toio(c,(a),(l)) 257 246 258 - #elif !defined(readb) 259 - 260 - #define readb(c) (__readwrite_bug("readb"),0) 261 - #define readw(c) (__readwrite_bug("readw"),0) 262 - #define readl(c) (__readwrite_bug("readl"),0) 263 - #define writeb(v,c) __readwrite_bug("writeb") 264 - #define writew(v,c) __readwrite_bug("writew") 265 - #define writel(v,c) __readwrite_bug("writel") 266 - 267 - #define check_signature(io,sig,len) (0) 268 - 269 - #endif /* __mem_pci */ 247 + #endif /* readl */ 270 248 271 249 /* 272 250 * ioremap and friends. ··· 264 264 * Documentation/io-mapping.txt. 265 265 * 266 266 */ 267 - #ifndef __arch_ioremap 268 - #define __arch_ioremap __arm_ioremap 269 - #define __arch_iounmap __iounmap 270 - #endif 271 - 272 - #define ioremap(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE) 273 - #define ioremap_nocache(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE) 274 - #define ioremap_cached(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_CACHED) 275 - #define ioremap_wc(cookie,size) __arch_ioremap((cookie), (size), MT_DEVICE_WC) 276 - #define iounmap __arch_iounmap 267 + #define ioremap(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) 268 + #define ioremap_nocache(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE) 269 + #define ioremap_cached(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_CACHED) 270 + #define ioremap_wc(cookie,size) __arm_ioremap((cookie), (size), MT_DEVICE_WC) 271 + #define iounmap __arm_iounmap 277 272 278 273 /* 279 274 * io{read,write}{8,16,32} macros
+1
arch/arm/kernel/debug.S
··· 10 10 * 32-bit debugging code 11 11 */ 12 12 #include <linux/linkage.h> 13 + #include <asm/assembler.h> 13 14 14 15 .text 15 16
+1
arch/arm/kernel/entry-armv.S
··· 15 15 * that causes it to save wrong values... Be aware! 16 16 */ 17 17 18 + #include <asm/assembler.h> 18 19 #include <asm/memory.h> 19 20 #include <asm/glue-df.h> 20 21 #include <asm/glue-pf.h>
-31
arch/arm/mach-at91/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-at91/include/mach/io.h 3 - * 4 - * Copyright (C) 2003 SAN People 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License as published by 8 - * the Free Software Foundation; either version 2 of the License, or 9 - * (at your option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, 12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License 17 - * along with this program; if not, write to the Free Software 18 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 - */ 20 - 21 - #ifndef __ASM_ARCH_IO_H 22 - #define __ASM_ARCH_IO_H 23 - 24 - #include <mach/hardware.h> 25 - 26 - #define IO_SPACE_LIMIT 0xFFFFFFFF 27 - 28 - #define __io(a) __typesafe_io(a) 29 - #define __mem_pci(a) (a) 30 - 31 - #endif
+1
arch/arm/mach-at91/include/mach/uncompress.h
··· 23 23 24 24 #include <linux/io.h> 25 25 #include <linux/atmel_serial.h> 26 + #include <mach/hardware.h> 26 27 27 28 #if defined(CONFIG_AT91_EARLY_DBGU0) 28 29 #define UART_OFFSET AT91_BASE_DBGU0
-33
arch/arm/mach-bcmring/include/mach/io.h
··· 1 - /* 2 - * 3 - * Copyright (C) 1999 ARM Limited 4 - * 5 - * This program is free software; you can redistribute it and/or modify 6 - * it under the terms of the GNU General Public License as published by 7 - * the Free Software Foundation; either version 2 of the License, or 8 - * (at your option) any later version. 9 - * 10 - * This program is distributed in the hope that it will be useful, 11 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 - * GNU General Public License for more details. 14 - * 15 - * You should have received a copy of the GNU General Public License 16 - * along with this program; if not, write to the Free Software 17 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 - */ 19 - #ifndef __ASM_ARM_ARCH_IO_H 20 - #define __ASM_ARM_ARCH_IO_H 21 - 22 - #include <mach/hardware.h> 23 - 24 - #define IO_SPACE_LIMIT 0xffffffff 25 - 26 - /* 27 - * We don't actually have real ISA nor PCI buses, but there is so many 28 - * drivers out there that might just work if we fake them... 29 - */ 30 - #define __io(a) __typesafe_io(a) 31 - #define __mem_pci(a) (a) 32 - 33 - #endif
-36
arch/arm/mach-clps711x/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-clps711x/include/mach/io.h 3 - * 4 - * Copyright (C) 1999 ARM Limited 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License as published by 8 - * the Free Software Foundation; either version 2 of the License, or 9 - * (at your option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, 12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License 17 - * along with this program; if not, write to the Free Software 18 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 - */ 20 - #ifndef __ASM_ARM_ARCH_IO_H 21 - #define __ASM_ARM_ARCH_IO_H 22 - 23 - #define IO_SPACE_LIMIT 0xffffffff 24 - 25 - #define __io(a) __typesafe_io(a) 26 - #define __mem_pci(a) (a) 27 - 28 - /* 29 - * We don't support ins[lb]/outs[lb]. Make them fault. 30 - */ 31 - #define __raw_readsb(p,d,l) do { *(int *)0 = 0; } while (0) 32 - #define __raw_readsl(p,d,l) do { *(int *)0 = 0; } while (0) 33 - #define __raw_writesb(p,d,l) do { *(int *)0 = 0; } while (0) 34 - #define __raw_writesl(p,d,l) do { *(int *)0 = 0; } while (0) 35 - 36 - #endif
-1
arch/arm/mach-clps711x/include/mach/uncompress.h
··· 17 17 * along with this program; if not, write to the Free Software 18 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 - #include <mach/io.h> 21 20 #include <mach/hardware.h> 22 21 #include <asm/hardware/clps7111.h> 23 22
+4 -4
arch/arm/mach-cns3xxx/core.c
··· 72 72 /* used by entry-macro.S */ 73 73 void __init cns3xxx_init_irq(void) 74 74 { 75 - gic_init(0, 29, __io(CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT), 76 - __io(CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT)); 75 + gic_init(0, 29, IOMEM(CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT), 76 + IOMEM(CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT)); 77 77 } 78 78 79 79 void cns3xxx_power_off(void) 80 80 { 81 - u32 __iomem *pm_base = __io(CNS3XXX_PM_BASE_VIRT); 81 + u32 __iomem *pm_base = IOMEM(CNS3XXX_PM_BASE_VIRT); 82 82 u32 clkctrl; 83 83 84 84 printk(KERN_INFO "powering system down...\n"); ··· 237 237 238 238 static void __init cns3xxx_timer_init(void) 239 239 { 240 - cns3xxx_tmr1 = __io(CNS3XXX_TIMER1_2_3_BASE_VIRT); 240 + cns3xxx_tmr1 = IOMEM(CNS3XXX_TIMER1_2_3_BASE_VIRT); 241 241 242 242 __cns3xxx_timer_init(IRQ_CNS3XXX_TIMER0); 243 243 }
+1 -1
arch/arm/mach-cns3xxx/devices.c
··· 98 98 99 99 void __init cns3xxx_sdhci_init(void) 100 100 { 101 - u32 __iomem *gpioa = __io(CNS3XXX_MISC_BASE_VIRT + 0x0014); 101 + u32 __iomem *gpioa = IOMEM(CNS3XXX_MISC_BASE_VIRT + 0x0014); 102 102 u32 gpioa_pins = __raw_readl(gpioa); 103 103 104 104 /* MMC/SD pins share with GPIOA */
-17
arch/arm/mach-cns3xxx/include/mach/io.h
··· 1 - /* 2 - * Copyright 2008 Cavium Networks 3 - * Copyright 2003 ARM Limited 4 - * 5 - * This file is free software; you can redistribute it and/or modify 6 - * it under the terms of the GNU General Public License, Version 2, as 7 - * published by the Free Software Foundation. 8 - */ 9 - #ifndef __MACH_IO_H 10 - #define __MACH_IO_H 11 - 12 - #define IO_SPACE_LIMIT 0xffffffff 13 - 14 - #define __io(a) __typesafe_io(a) 15 - #define __mem_pci(a) (a) 16 - 17 - #endif
-1
arch/arm/mach-davinci/include/mach/entry-macro.S
··· 8 8 * is licensed "as is" without any warranty of any kind, whether express 9 9 * or implied. 10 10 */ 11 - #include <mach/io.h> 12 11 #include <mach/irqs.h> 13 12 14 13 .macro get_irqnr_preamble, base, tmp
-6
arch/arm/mach-davinci/include/mach/hardware.h
··· 30 30 #define __IO_ADDRESS(x) ((x) + IO_OFFSET) 31 31 #define IO_ADDRESS(pa) IOMEM(__IO_ADDRESS(pa)) 32 32 33 - #ifdef __ASSEMBLER__ 34 - #define IOMEM(x) x 35 - #else 36 - #define IOMEM(x) ((void __force __iomem *)(x)) 37 - #endif 38 - 39 33 #endif /* __ASM_ARCH_HARDWARE_H */
-24
arch/arm/mach-davinci/include/mach/io.h
··· 1 - /* 2 - * DaVinci IO address definitions 3 - * 4 - * Copied from include/asm/arm/arch-omap/io.h 5 - * 6 - * 2007 (c) MontaVista Software, Inc. This file is licensed under 7 - * the terms of the GNU General Public License version 2. This program 8 - * is licensed "as is" without any warranty of any kind, whether express 9 - * or implied. 10 - */ 11 - #ifndef __ASM_ARCH_IO_H 12 - #define __ASM_ARCH_IO_H 13 - 14 - #define IO_SPACE_LIMIT 0xffffffff 15 - 16 - /* 17 - * We don't actually have real ISA nor PCI buses, but there is so many 18 - * drivers out there that might just work if we fake them... 19 - */ 20 - #define __io(a) __typesafe_io(a) 21 - #define __mem_pci(a) (a) 22 - #define __mem_isa(a) (a) 23 - 24 - #endif /* __ASM_ARCH_IO_H */
+2
arch/arm/mach-davinci/include/mach/uncompress.h
··· 25 25 26 26 #include <mach/serial.h> 27 27 28 + #define IOMEM(x) ((void __force __iomem *)(x)) 29 + 28 30 u32 *uart; 29 31 30 32 /* PORT_16C550A, in polled non-fifo mode */
+1
arch/arm/mach-dove/addr-map.c
··· 14 14 #include <linux/io.h> 15 15 #include <asm/mach/arch.h> 16 16 #include <asm/setup.h> 17 + #include <mach/dove.h> 17 18 #include <plat/addr-map.h> 18 19 #include "common.h" 19 20
-1
arch/arm/mach-dove/include/mach/io.h
··· 15 15 16 16 #define __io(a) ((void __iomem *)(((a) - DOVE_PCIE0_IO_BUS_BASE) + \ 17 17 DOVE_PCIE0_IO_VIRT_BASE)) 18 - #define __mem_pci(a) (a) 19 18 20 19 #endif
+15
arch/arm/mach-ebsa110/core.c
··· 116 116 iotable_init(ebsa110_io_desc, ARRAY_SIZE(ebsa110_io_desc)); 117 117 } 118 118 119 + static void __iomem *ebsa110_ioremap_caller(unsigned long cookie, size_t size, 120 + unsigned int flags, void *caller) 121 + { 122 + return (void __iomem *)cookie; 123 + } 124 + 125 + static void ebsa110_iounmap(volatile void __iomem *io_addr) 126 + {} 127 + 128 + static void __init ebsa110_init_early(void) 129 + { 130 + arch_ioremap_caller = ebsa110_ioremap_caller; 131 + arch_iounmap = ebsa110_iounmap; 132 + } 119 133 120 134 #define PIT_CTRL (PIT_BASE + 0x0d) 121 135 #define PIT_T2 (PIT_BASE + 0x09) ··· 326 312 .reserve_lp2 = 1, 327 313 .restart_mode = 's', 328 314 .map_io = ebsa110_map_io, 315 + .init_early = ebsa110_init_early, 329 316 .init_irq = ebsa110_init_irq, 330 317 .timer = &ebsa110_timer, 331 318 .restart = ebsa110_restart,
-9
arch/arm/mach-ebsa110/include/mach/io.h
··· 62 62 #define writew(v,b) __writew(v,b) 63 63 #define writel(v,b) __writel(v,b) 64 64 65 - static inline void __iomem *__arch_ioremap(unsigned long cookie, size_t size, 66 - unsigned int flags) 67 - { 68 - return (void __iomem *)cookie; 69 - } 70 - 71 - #define __arch_ioremap __arch_ioremap 72 - #define __arch_iounmap(cookie) do { } while (0) 73 - 74 65 extern void insb(unsigned int port, void *buf, int sz); 75 66 extern void insw(unsigned int port, void *buf, int sz); 76 67 extern void insl(unsigned int port, void *buf, int sz);
-22
arch/arm/mach-ep93xx/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-ep93xx/include/mach/io.h 3 - */ 4 - 5 - #ifndef __ASM_MACH_IO_H 6 - #define __ASM_MACH_IO_H 7 - 8 - #define IO_SPACE_LIMIT 0xffffffff 9 - 10 - #define __io(p) __typesafe_io(p) 11 - #define __mem_pci(p) (p) 12 - 13 - /* 14 - * A typesafe __io() variation for variable initialisers 15 - */ 16 - #ifdef __ASSEMBLER__ 17 - #define IOMEM(p) p 18 - #else 19 - #define IOMEM(p) ((void __iomem __force *)(p)) 20 - #endif 21 - 22 - #endif /* __ASM_MACH_IO_H */
-26
arch/arm/mach-exynos/include/mach/io.h
··· 1 - /* linux/arch/arm/mach-exynos4/include/mach/io.h 2 - * 3 - * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. 4 - * http://www.samsung.com 5 - * 6 - * Copyright 2008-2010 Ben Dooks <ben-linux@fluff.org> 7 - * 8 - * Based on arch/arm/mach-s5p6442/include/mach/io.h 9 - * 10 - * Default IO routines for EXYNOS4 11 - * 12 - * This program is free software; you can redistribute it and/or modify 13 - * it under the terms of the GNU General Public License version 2 as 14 - * published by the Free Software Foundation. 15 - */ 16 - 17 - #ifndef __ASM_ARM_ARCH_IO_H 18 - #define __ASM_ARM_ARCH_IO_H __FILE__ 19 - 20 - /* No current ISA/PCI bus support. */ 21 - #define __io(a) __typesafe_io(a) 22 - #define __mem_pci(a) (a) 23 - 24 - #define IO_SPACE_LIMIT (0xFFFFFFFF) 25 - 26 - #endif /* __ASM_ARM_ARCH_IO_H */
-13
arch/arm/mach-footbridge/include/mach/io.h
··· 27 27 * Translation of various region addresses to virtual addresses 28 28 */ 29 29 #define __io(a) ((void __iomem *)(PCIO_BASE + (a))) 30 - #if 1 31 - #define __mem_pci(a) (a) 32 - #else 33 - 34 - static inline void __iomem *___mem_pci(void __iomem *p) 35 - { 36 - unsigned long a = (unsigned long)p; 37 - BUG_ON(a <= 0xc0000000 || a >= 0xe0000000); 38 - return p; 39 - } 40 - 41 - #define __mem_pci(a) ___mem_pci(a) 42 - #endif 43 30 44 31 #endif
-18
arch/arm/mach-gemini/include/mach/io.h
··· 1 - /* 2 - * Copyright (C) 2001-2006 Storlink, Corp. 3 - * Copyright (C) 2008-2009 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> 4 - * 5 - * This program is free software; you can redistribute it and/or modify 6 - * it under the terms of the GNU General Public License as published by 7 - * the Free Software Foundation; either version 2 of the License, or 8 - * (at your option) any later version. 9 - */ 10 - #ifndef __MACH_IO_H 11 - #define __MACH_IO_H 12 - 13 - #define IO_SPACE_LIMIT 0xffffffff 14 - 15 - #define __io(a) __typesafe_io(a) 16 - #define __mem_pci(a) (a) 17 - 18 - #endif /* __MACH_IO_H */
-22
arch/arm/mach-h720x/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-h720x/include/mach/io.h 3 - * 4 - * Copyright (C) 2000 Steve Hill (sjhill@cotw.com) 5 - * 6 - * Changelog: 7 - * 8 - * 09-19-2001 JJKIM 9 - * Created from arch/arm/mach-l7200/include/mach/io.h 10 - * 11 - * 03-27-2003 Robert Schwebel <r.schwebel@pengutronix.de>: 12 - * re-unified header files for h720x 13 - */ 14 - #ifndef __ASM_ARM_ARCH_IO_H 15 - #define __ASM_ARM_ARCH_IO_H 16 - 17 - #define IO_SPACE_LIMIT 0xffffffff 18 - 19 - #define __io(a) __typesafe_io(a) 20 - #define __mem_pci(a) (a) 21 - 22 - #endif
-7
arch/arm/mach-highbank/include/mach/io.h
··· 1 - #ifndef __MACH_IO_H 2 - #define __MACH_IO_H 3 - 4 - #define __io(a) ({ (void)(a); __typesafe_io(0); }) 5 - #define __mem_pci(a) (a) 6 - 7 - #endif
+5 -5
arch/arm/mach-imx/mm-imx3.c
··· 61 61 : "=r" (reg)); 62 62 } 63 63 64 - static void __iomem *imx3_ioremap(unsigned long phys_addr, size_t size, 65 - unsigned int mtype) 64 + static void __iomem *imx3_ioremap_caller(unsigned long phys_addr, size_t size, 65 + unsigned int mtype, void *caller) 66 66 { 67 67 if (mtype == MT_DEVICE) { 68 68 /* ··· 75 75 mtype = MT_DEVICE_NONSHARED; 76 76 } 77 77 78 - return __arm_ioremap(phys_addr, size, mtype); 78 + return __arm_ioremap_caller(phys_addr, size, mtype, caller); 79 79 } 80 80 81 81 void __init imx3_init_l2x0(void) ··· 134 134 { 135 135 mxc_set_cpu_type(MXC_CPU_MX31); 136 136 mxc_arch_reset_init(MX31_IO_ADDRESS(MX31_WDOG_BASE_ADDR)); 137 - imx_ioremap = imx3_ioremap; 137 + arch_ioremap_caller = imx3_ioremap_caller; 138 138 arm_pm_idle = imx3_idle; 139 139 } 140 140 ··· 208 208 mxc_iomux_v3_init(MX35_IO_ADDRESS(MX35_IOMUXC_BASE_ADDR)); 209 209 mxc_arch_reset_init(MX35_IO_ADDRESS(MX35_WDOG_BASE_ADDR)); 210 210 arm_pm_idle = imx3_idle; 211 - imx_ioremap = imx3_ioremap; 211 + arch_ioremap_caller = imx3_ioremap_caller; 212 212 } 213 213 214 214 void __init mx35_init_irq(void)
-1
arch/arm/mach-integrator/include/mach/io.h
··· 29 29 #define PCI_IO_VADDR 0xee000000 30 30 31 31 #define __io(a) ((void __iomem *)(PCI_IO_VADDR + (a))) 32 - #define __mem_pci(a) (a) 33 32 34 33 #endif
-13
arch/arm/mach-iop13xx/include/mach/io.h
··· 22 22 #define IO_SPACE_LIMIT 0xffffffff 23 23 24 24 #define __io(a) __iop13xx_io(a) 25 - #define __mem_pci(a) (a) 26 - #define __mem_isa(a) (a) 27 25 28 26 extern void __iomem * __iop13xx_io(unsigned long io_addr); 29 - extern void __iomem *__iop13xx_ioremap(unsigned long cookie, size_t size, 30 - unsigned int mtype); 31 - extern void __iop13xx_iounmap(void __iomem *addr); 32 - 33 - extern u32 iop13xx_atue_mem_base; 34 - extern u32 iop13xx_atux_mem_base; 35 - extern size_t iop13xx_atue_mem_size; 36 - extern size_t iop13xx_atux_mem_size; 37 - 38 - #define __arch_ioremap __iop13xx_ioremap 39 - #define __arch_iounmap __iop13xx_iounmap 40 27 41 28 #endif
+1
arch/arm/mach-iop13xx/include/mach/iop13xx.h
··· 5 5 /* The ATU offsets can change based on the strapping */ 6 6 extern u32 iop13xx_atux_pmmr_offset; 7 7 extern u32 iop13xx_atue_pmmr_offset; 8 + void iop13xx_init_early(void); 8 9 void iop13xx_init_irq(void); 9 10 void iop13xx_map_io(void); 10 11 void iop13xx_platform_init(void);
+12 -8
arch/arm/mach-iop13xx/io.c
··· 21 21 #include <linux/io.h> 22 22 #include <mach/hardware.h> 23 23 24 + #include "pci.h" 25 + 24 26 void * __iomem __iop13xx_io(unsigned long io_addr) 25 27 { 26 28 void __iomem * io_virt; ··· 42 40 } 43 41 EXPORT_SYMBOL(__iop13xx_io); 44 42 45 - void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size, 46 - unsigned int mtype) 43 + static void __iomem *__iop13xx_ioremap_caller(unsigned long cookie, 44 + size_t size, unsigned int mtype, void *caller) 47 45 { 48 46 void __iomem * retval; 49 47 ··· 78 76 break; 79 77 default: 80 78 retval = __arm_ioremap_caller(cookie, size, mtype, 81 - __builtin_return_address(0)); 79 + caller); 82 80 } 83 81 84 82 return retval; 85 83 } 86 - EXPORT_SYMBOL(__iop13xx_ioremap); 87 84 88 - void __iop13xx_iounmap(void __iomem *addr) 85 + static void __iop13xx_iounmap(volatile void __iomem *addr) 89 86 { 90 - extern void __iounmap(volatile void __iomem *addr); 91 - 92 87 if (iop13xx_atue_mem_base) 93 88 if (addr >= (void __iomem *) iop13xx_atue_mem_base && 94 89 addr < (void __iomem *) (iop13xx_atue_mem_base + ··· 109 110 skip: 110 111 return; 111 112 } 112 - EXPORT_SYMBOL(__iop13xx_iounmap); 113 + 114 + void __init iop13xx_init_early(void) 115 + { 116 + arch_ioremap_caller = __iop13xx_ioremap_caller; 117 + arch_iounmap = __iop13xx_iounmap; 118 + }
+1
arch/arm/mach-iop13xx/iq81340mc.c
··· 92 92 MACHINE_START(IQ81340MC, "Intel IQ81340MC") 93 93 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */ 94 94 .atag_offset = 0x100, 95 + .init_early = iop13xx_init_early, 95 96 .map_io = iop13xx_map_io, 96 97 .init_irq = iop13xx_init_irq, 97 98 .timer = &iq81340mc_timer,
+1
arch/arm/mach-iop13xx/iq81340sc.c
··· 94 94 MACHINE_START(IQ81340SC, "Intel IQ81340SC") 95 95 /* Maintainer: Dan Williams <dan.j.williams@intel.com> */ 96 96 .atag_offset = 0x100, 97 + .init_early = iop13xx_init_early, 97 98 .map_io = iop13xx_map_io, 98 99 .init_irq = iop13xx_init_irq, 99 100 .timer = &iq81340sc_timer,
+6
arch/arm/mach-iop13xx/pci.h
··· 1 + #include <linux/types.h> 2 + 3 + extern u32 iop13xx_atue_mem_base; 4 + extern u32 iop13xx_atux_mem_base; 5 + extern size_t iop13xx_atue_mem_size; 6 + extern size_t iop13xx_atux_mem_size;
-1
arch/arm/mach-iop32x/include/mach/io.h
··· 15 15 16 16 #define IO_SPACE_LIMIT 0xffffffff 17 17 #define __io(p) ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p)) 18 - #define __mem_pci(a) (a) 19 18 20 19 #endif
-1
arch/arm/mach-iop33x/include/mach/io.h
··· 15 15 16 16 #define IO_SPACE_LIMIT 0xffffffff 17 17 #define __io(p) ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p)) 18 - #define __mem_pci(a) (a) 19 18 20 19 #endif
-1
arch/arm/mach-ixp2000/include/mach/io.h
··· 18 18 #include <mach/hardware.h> 19 19 20 20 #define IO_SPACE_LIMIT 0xffffffff 21 - #define __mem_pci(a) (a) 22 21 23 22 /* 24 23 * The A? revisions of the IXP2000s assert byte lanes for PCI I/O
-1
arch/arm/mach-ixp23xx/include/mach/io.h
··· 18 18 #define IO_SPACE_LIMIT 0xffffffff 19 19 20 20 #define __io(p) ((void __iomem*)((p) + IXP23XX_PCI_IO_VIRT)) 21 - #define __mem_pci(a) (a) 22 21 23 22 #endif
+2
arch/arm/mach-ixp4xx/avila-setup.c
··· 165 165 MACHINE_START(AVILA, "Gateworks Avila Network Platform") 166 166 /* Maintainer: Deepak Saxena <dsaxena@plexity.net> */ 167 167 .map_io = ixp4xx_map_io, 168 + .init_early = ixp4xx_init_early, 168 169 .init_irq = ixp4xx_init_irq, 169 170 .timer = &ixp4xx_timer, 170 171 .atag_offset = 0x100, ··· 185 184 MACHINE_START(LOFT, "Giant Shoulder Inc Loft board") 186 185 /* Maintainer: Tom Billman <kernel@giantshoulderinc.com> */ 187 186 .map_io = ixp4xx_map_io, 187 + .init_early = ixp4xx_init_early, 188 188 .init_irq = ixp4xx_init_irq, 189 189 .timer = &ixp4xx_timer, 190 190 .atag_offset = 0x100,
+33
arch/arm/mach-ixp4xx/common.c
··· 31 31 32 32 #include <mach/udc.h> 33 33 #include <mach/hardware.h> 34 + #include <mach/io.h> 34 35 #include <asm/uaccess.h> 35 36 #include <asm/pgtable.h> 36 37 #include <asm/page.h> ··· 518 517 *IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE; 519 518 } 520 519 } 520 + 521 + #ifdef CONFIG_IXP4XX_INDIRECT_PCI 522 + /* 523 + * In the case of using indirect PCI, we simply return the actual PCI 524 + * address and our read/write implementation use that to drive the 525 + * access registers. If something outside of PCI is ioremap'd, we 526 + * fallback to the default. 527 + */ 528 + 529 + static void __iomem *ixp4xx_ioremap_caller(unsigned long addr, size_t size, 530 + unsigned int mtype, void *caller) 531 + { 532 + if (!is_pci_memory(addr)) 533 + return __arm_ioremap_caller(addr, size, mtype, caller); 534 + 535 + return (void __iomem *)addr; 536 + } 537 + 538 + static void ixp4xx_iounmap(void __iomem *addr) 539 + { 540 + if (!is_pci_memory((__force u32)addr)) 541 + __iounmap(addr); 542 + } 543 + 544 + void __init ixp4xx_init_early(void) 545 + { 546 + arch_ioremap_caller = ixp4xx_ioremap_caller; 547 + arch_iounmap = ixp4xx_iounmap; 548 + } 549 + #else 550 + void __init ixp4xx_init_early(void) {} 551 + #endif
+2
arch/arm/mach-ixp4xx/coyote-setup.c
··· 110 110 MACHINE_START(ADI_COYOTE, "ADI Engineering Coyote") 111 111 /* Maintainer: MontaVista Software, Inc. */ 112 112 .map_io = ixp4xx_map_io, 113 + .init_early = ixp4xx_init_early, 113 114 .init_irq = ixp4xx_init_irq, 114 115 .timer = &ixp4xx_timer, 115 116 .atag_offset = 0x100, ··· 130 129 MACHINE_START(IXDPG425, "Intel IXDPG425") 131 130 /* Maintainer: MontaVista Software, Inc. */ 132 131 .map_io = ixp4xx_map_io, 132 + .init_early = ixp4xx_init_early, 133 133 .init_irq = ixp4xx_init_irq, 134 134 .timer = &ixp4xx_timer, 135 135 .atag_offset = 0x100,
+1
arch/arm/mach-ixp4xx/dsmg600-setup.c
··· 280 280 /* Maintainer: www.nslu2-linux.org */ 281 281 .atag_offset = 0x100, 282 282 .map_io = ixp4xx_map_io, 283 + .init_early = ixp4xx_init_early, 283 284 .init_irq = ixp4xx_init_irq, 284 285 .timer = &dsmg600_timer, 285 286 .init_machine = dsmg600_init,
+1
arch/arm/mach-ixp4xx/fsg-setup.c
··· 270 270 MACHINE_START(FSG, "Freecom FSG-3") 271 271 /* Maintainer: www.nslu2-linux.org */ 272 272 .map_io = ixp4xx_map_io, 273 + .init_early = ixp4xx_init_early, 273 274 .init_irq = ixp4xx_init_irq, 274 275 .timer = &ixp4xx_timer, 275 276 .atag_offset = 0x100,
+1
arch/arm/mach-ixp4xx/gateway7001-setup.c
··· 97 97 MACHINE_START(GATEWAY7001, "Gateway 7001 AP") 98 98 /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */ 99 99 .map_io = ixp4xx_map_io, 100 + .init_early = ixp4xx_init_early, 100 101 .init_irq = ixp4xx_init_irq, 101 102 .timer = &ixp4xx_timer, 102 103 .atag_offset = 0x100,
+1
arch/arm/mach-ixp4xx/goramo_mlr.c
··· 496 496 MACHINE_START(GORAMO_MLR, "MultiLink") 497 497 /* Maintainer: Krzysztof Halasa */ 498 498 .map_io = ixp4xx_map_io, 499 + .init_early = ixp4xx_init_early, 499 500 .init_irq = ixp4xx_init_irq, 500 501 .timer = &ixp4xx_timer, 501 502 .atag_offset = 0x100,
+1
arch/arm/mach-ixp4xx/gtwx5715-setup.c
··· 165 165 MACHINE_START(GTWX5715, "Gemtek GTWX5715 (Linksys WRV54G)") 166 166 /* Maintainer: George Joseph */ 167 167 .map_io = ixp4xx_map_io, 168 + .init_early = ixp4xx_init_early, 168 169 .init_irq = ixp4xx_init_irq, 169 170 .timer = &ixp4xx_timer, 170 171 .atag_offset = 0x100,
-2
arch/arm/mach-ixp4xx/include/mach/hardware.h
··· 23 23 #define PCIBIOS_MAX_MEM 0x4BFFFFFF 24 24 #endif 25 25 26 - #define ARCH_HAS_DMA_SET_COHERENT_MASK 27 - 28 26 /* Register locations and bits */ 29 27 #include "ixp4xx-regs.h" 30 28
+1 -23
arch/arm/mach-ixp4xx/include/mach/io.h
··· 39 39 * but in some cases the performance hit is acceptable. In addition, you 40 40 * cannot mmap() PCI devices in this case. 41 41 */ 42 - #ifndef CONFIG_IXP4XX_INDIRECT_PCI 43 - 44 - #define __mem_pci(a) (a) 45 - 46 - #else 42 + #ifdef CONFIG_IXP4XX_INDIRECT_PCI 47 43 48 44 /* 49 45 * In the case of using indirect PCI, we simply return the actual PCI ··· 52 56 { 53 57 return (addr >= PCIBIOS_MIN_MEM) && (addr <= 0x4FFFFFFF); 54 58 } 55 - 56 - static inline void __iomem * __indirect_ioremap(unsigned long addr, size_t size, 57 - unsigned int mtype) 58 - { 59 - if (!is_pci_memory(addr)) 60 - return __arm_ioremap(addr, size, mtype); 61 - 62 - return (void __iomem *)addr; 63 - } 64 - 65 - static inline void __indirect_iounmap(void __iomem *addr) 66 - { 67 - if (!is_pci_memory((__force u32)addr)) 68 - __iounmap(addr); 69 - } 70 - 71 - #define __arch_ioremap __indirect_ioremap 72 - #define __arch_iounmap __indirect_iounmap 73 59 74 60 #define writeb(v, p) __indirect_writeb(v, p) 75 61 #define writew(v, p) __indirect_writew(v, p)
+1
arch/arm/mach-ixp4xx/include/mach/platform.h
··· 121 121 * Functions used by platform-level setup code 122 122 */ 123 123 extern void ixp4xx_map_io(void); 124 + extern void ixp4xx_init_early(void); 124 125 extern void ixp4xx_init_irq(void); 125 126 extern void ixp4xx_sys_init(void); 126 127 extern void ixp4xx_timer_init(void);
+4
arch/arm/mach-ixp4xx/ixdp425-setup.c
··· 254 254 MACHINE_START(IXDP425, "Intel IXDP425 Development Platform") 255 255 /* Maintainer: MontaVista Software, Inc. */ 256 256 .map_io = ixp4xx_map_io, 257 + .init_early = ixp4xx_init_early, 257 258 .init_irq = ixp4xx_init_irq, 258 259 .timer = &ixp4xx_timer, 259 260 .atag_offset = 0x100, ··· 270 269 MACHINE_START(IXDP465, "Intel IXDP465 Development Platform") 271 270 /* Maintainer: MontaVista Software, Inc. */ 272 271 .map_io = ixp4xx_map_io, 272 + .init_early = ixp4xx_init_early, 273 273 .init_irq = ixp4xx_init_irq, 274 274 .timer = &ixp4xx_timer, 275 275 .atag_offset = 0x100, ··· 285 283 MACHINE_START(IXCDP1100, "Intel IXCDP1100 Development Platform") 286 284 /* Maintainer: MontaVista Software, Inc. */ 287 285 .map_io = ixp4xx_map_io, 286 + .init_early = ixp4xx_init_early, 288 287 .init_irq = ixp4xx_init_irq, 289 288 .timer = &ixp4xx_timer, 290 289 .atag_offset = 0x100, ··· 300 297 MACHINE_START(KIXRP435, "Intel KIXRP435 Reference Platform") 301 298 /* Maintainer: MontaVista Software, Inc. */ 302 299 .map_io = ixp4xx_map_io, 300 + .init_early = ixp4xx_init_early, 303 301 .init_irq = ixp4xx_init_irq, 304 302 .timer = &ixp4xx_timer, 305 303 .atag_offset = 0x100,
+1
arch/arm/mach-ixp4xx/nas100d-setup.c
··· 315 315 /* Maintainer: www.nslu2-linux.org */ 316 316 .atag_offset = 0x100, 317 317 .map_io = ixp4xx_map_io, 318 + .init_early = ixp4xx_init_early, 318 319 .init_irq = ixp4xx_init_irq, 319 320 .timer = &ixp4xx_timer, 320 321 .init_machine = nas100d_init,
+1
arch/arm/mach-ixp4xx/nslu2-setup.c
··· 301 301 /* Maintainer: www.nslu2-linux.org */ 302 302 .atag_offset = 0x100, 303 303 .map_io = ixp4xx_map_io, 304 + .init_early = ixp4xx_init_early, 304 305 .init_irq = ixp4xx_init_irq, 305 306 .timer = &nslu2_timer, 306 307 .init_machine = nslu2_init,
+3
arch/arm/mach-ixp4xx/omixp-setup.c
··· 243 243 MACHINE_START(DEVIXP, "Omicron DEVIXP") 244 244 .atag_offset = 0x100, 245 245 .map_io = ixp4xx_map_io, 246 + .init_early = ixp4xx_init_early, 246 247 .init_irq = ixp4xx_init_irq, 247 248 .timer = &ixp4xx_timer, 248 249 .init_machine = omixp_init, ··· 255 254 MACHINE_START(MICCPT, "Omicron MICCPT") 256 255 .atag_offset = 0x100, 257 256 .map_io = ixp4xx_map_io, 257 + .init_early = ixp4xx_init_early, 258 258 .init_irq = ixp4xx_init_irq, 259 259 .timer = &ixp4xx_timer, 260 260 .init_machine = omixp_init, ··· 270 268 MACHINE_START(MIC256, "Omicron MIC256") 271 269 .atag_offset = 0x100, 272 270 .map_io = ixp4xx_map_io, 271 + .init_early = ixp4xx_init_early, 273 272 .init_irq = ixp4xx_init_irq, 274 273 .timer = &ixp4xx_timer, 275 274 .init_machine = omixp_init,
+1
arch/arm/mach-ixp4xx/vulcan-setup.c
··· 237 237 MACHINE_START(ARCOM_VULCAN, "Arcom/Eurotech Vulcan") 238 238 /* Maintainer: Marc Zyngier <maz@misterjones.org> */ 239 239 .map_io = ixp4xx_map_io, 240 + .init_early = ixp4xx_init_early, 240 241 .init_irq = ixp4xx_init_irq, 241 242 .timer = &ixp4xx_timer, 242 243 .atag_offset = 0x100,
+1
arch/arm/mach-ixp4xx/wg302v2-setup.c
··· 98 98 MACHINE_START(WG302V2, "Netgear WG302 v2 / WAG302 v2") 99 99 /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */ 100 100 .map_io = ixp4xx_map_io, 101 + .init_early = ixp4xx_init_early, 101 102 .init_irq = ixp4xx_init_irq, 102 103 .timer = &ixp4xx_timer, 103 104 .atag_offset = 0x100,
-2
arch/arm/mach-kirkwood/include/mach/io.h
··· 20 20 } 21 21 22 22 #define __io(a) __io(a) 23 - #define __mem_pci(a) (a) 24 - 25 23 26 24 #endif
-19
arch/arm/mach-ks8695/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-ks8695/include/mach/io.h 3 - * 4 - * Copyright (C) 2006 Andrew Victor 5 - * 6 - * This file is licensed under the terms of the GNU General Public 7 - * License version 2. This program is licensed "as is" without any 8 - * warranty of any kind, whether express or implied. 9 - */ 10 - 11 - #ifndef __ASM_ARCH_IO_H 12 - #define __ASM_ARCH_IO_H 13 - 14 - #define IO_SPACE_LIMIT 0xffffffff 15 - 16 - #define __io(a) __typesafe_io(a) 17 - #define __mem_pci(a) (a) 18 - 19 - #endif
-27
arch/arm/mach-lpc32xx/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-lpc32xx/include/mach/io.h 3 - * 4 - * Author: Kevin Wells <kevin.wells@nxp.com> 5 - * 6 - * Copyright (C) 2010 NXP Semiconductors 7 - * 8 - * This program is free software; you can redistribute it and/or modify 9 - * it under the terms of the GNU General Public License as published by 10 - * the Free Software Foundation; either version 2 of the License, or 11 - * (at your option) any later version. 12 - * 13 - * This program is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - */ 18 - 19 - #ifndef __ASM_ARM_ARCH_IO_H 20 - #define __ASM_ARM_ARCH_IO_H 21 - 22 - #define IO_SPACE_LIMIT 0xffffffff 23 - 24 - #define __io(a) __typesafe_io(a) 25 - #define __mem_pci(a) (a) 26 - 27 - #endif
-6
arch/arm/mach-mmp/include/mach/addr-map.h
··· 11 11 #ifndef __ASM_MACH_ADDR_MAP_H 12 12 #define __ASM_MACH_ADDR_MAP_H 13 13 14 - #ifndef __ASSEMBLER__ 15 - #define IOMEM(x) ((void __iomem *)(x)) 16 - #else 17 - #define IOMEM(x) (x) 18 - #endif 19 - 20 14 /* APB - Application Subsystem Peripheral Bus 21 15 * 22 16 * NOTE: the DMA controller registers are actually on the AXI fabric #1
-21
arch/arm/mach-mmp/include/mach/io.h
··· 1 - /* 2 - * linux/arch/arm/mach-mmp/include/mach/io.h 3 - * 4 - * This program is free software; you can redistribute it and/or modify 5 - * it under the terms of the GNU General Public License version 2 as 6 - * published by the Free Software Foundation. 7 - */ 8 - 9 - #ifndef __ASM_MACH_IO_H 10 - #define __ASM_MACH_IO_H 11 - 12 - #define IO_SPACE_LIMIT 0xffffffff 13 - 14 - /* 15 - * We don't actually have real ISA nor PCI buses, but there is so many 16 - * drivers out there that might just work if we fake them... 17 - */ 18 - #define __io(a) __typesafe_io(a) 19 - #define __mem_pci(a) (a) 20 - 21 - #endif /* __ASM_MACH_IO_H */
+6
arch/arm/mach-msm/board-halibut.c
··· 68 68 69 69 extern struct sys_timer msm_timer; 70 70 71 + static void __init halibut_init_early(void) 72 + { 73 + arch_ioremap_caller = __msm_ioremap_caller; 74 + } 75 + 71 76 static void __init halibut_init_irq(void) 72 77 { 73 78 msm_init_irq(); ··· 101 96 .atag_offset = 0x100, 102 97 .fixup = halibut_fixup, 103 98 .map_io = halibut_map_io, 99 + .init_early = halibut_init_early, 104 100 .init_irq = halibut_init_irq, 105 101 .init_machine = halibut_init, 106 102 .timer = &msm_timer,
+6
arch/arm/mach-msm/board-trout.c
··· 43 43 44 44 extern struct sys_timer msm_timer; 45 45 46 + static void __init trout_init_early(void) 47 + { 48 + arch_ioremap_caller = __msm_ioremap_caller; 49 + } 50 + 46 51 static void __init trout_init_irq(void) 47 52 { 48 53 msm_init_irq(); ··· 101 96 .atag_offset = 0x100, 102 97 .fixup = trout_fixup, 103 98 .map_io = trout_map_io, 99 + .init_early = trout_init_early, 104 100 .init_irq = trout_init_irq, 105 101 .init_machine = trout_init, 106 102 .timer = &msm_timer,
-36
arch/arm/mach-msm/include/mach/io.h
··· 1 - /* arch/arm/mach-msm/include/mach/io.h 2 - * 3 - * Copyright (C) 2007 Google, Inc. 4 - * 5 - * This software is licensed under the terms of the GNU General Public 6 - * License version 2, as published by the Free Software Foundation, and 7 - * may be copied, distributed, and modified under those terms. 8 - * 9 - * This program is distributed in the hope that it will be useful, 10 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 - * GNU General Public License for more details. 13 - * 14 - */ 15 - 16 - #ifndef __ASM_ARM_ARCH_IO_H 17 - #define __ASM_ARM_ARCH_IO_H 18 - 19 - #define IO_SPACE_LIMIT 0xffffffff 20 - 21 - #define __arch_ioremap __msm_ioremap 22 - #define __arch_iounmap __iounmap 23 - 24 - void __iomem *__msm_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype); 25 - 26 - #define __io(a) __typesafe_io(a) 27 - #define __mem_pci(a) (a) 28 - 29 - void msm_map_qsd8x50_io(void); 30 - void msm_map_msm7x30_io(void); 31 - void msm_map_msm8x60_io(void); 32 - void msm_map_msm8960_io(void); 33 - 34 - extern unsigned int msm_shared_ram_phys; 35 - 36 - #endif
+6 -6
arch/arm/mach-msm/include/mach/msm_iomap-7x00.h
··· 38 38 * 39 39 */ 40 40 41 - #ifdef __ASSEMBLY__ 42 - #define IOMEM(x) x 43 - #else 44 - #define IOMEM(x) ((void __force __iomem *)(x)) 45 - #endif 46 - 47 41 #define MSM_VIC_BASE IOMEM(0xE0000000) 48 42 #define MSM_VIC_PHYS 0xC0000000 49 43 #define MSM_VIC_SIZE SZ_4K ··· 105 111 #define MSM_AD5_PHYS 0xAC000000 106 112 #define MSM_AD5_SIZE (SZ_1M*13) 107 113 114 + #ifndef __ASSEMBLY__ 115 + 116 + extern void __iomem *__msm_ioremap_caller(unsigned long phys_addr, size_t size, 117 + unsigned int mtype, void *caller); 118 + 119 + #endif 108 120 109 121 #endif
+4
arch/arm/mach-msm/include/mach/msm_iomap-7x30.h
··· 100 100 #define MSM_HSUSB_PHYS 0xA3600000 101 101 #define MSM_HSUSB_SIZE SZ_1K 102 102 103 + #ifndef __ASSEMBLY__ 104 + extern void msm_map_msm7x30_io(void); 105 + #endif 106 + 103 107 #endif
+4
arch/arm/mach-msm/include/mach/msm_iomap-8960.h
··· 50 50 #define MSM_DEBUG_UART_PHYS 0x16440000 51 51 #endif 52 52 53 + #ifndef __ASSEMBLY__ 54 + extern void msm_map_msm8960_io(void); 55 + #endif 56 + 53 57 #endif
+4
arch/arm/mach-msm/include/mach/msm_iomap-8x50.h
··· 122 122 #define MSM_SDC4_PHYS 0xA0600000 123 123 #define MSM_SDC4_SIZE SZ_4K 124 124 125 + #ifndef __ASSEMBLY__ 126 + extern void msm_map_qsd8x50_io(void); 127 + #endif 128 + 125 129 #endif
+4
arch/arm/mach-msm/include/mach/msm_iomap-8x60.h
··· 67 67 #define MSM_DEBUG_UART_PHYS 0x19C40000 68 68 #endif 69 69 70 + #ifndef __ASSEMBLY__ 71 + extern void msm_map_msm8x60_io(void); 72 + #endif 73 + 70 74 #endif
-6
arch/arm/mach-msm/include/mach/msm_iomap.h
··· 37 37 * 38 38 */ 39 39 40 - #ifdef __ASSEMBLY__ 41 - #define IOMEM(x) x 42 - #else 43 - #define IOMEM(x) ((void __force __iomem *)(x)) 44 - #endif 45 - 46 40 #if defined(CONFIG_ARCH_MSM7X30) 47 41 #include "msm_iomap-7x30.h" 48 42 #elif defined(CONFIG_ARCH_QSD8X50)
+3 -5
arch/arm/mach-msm/io.c
··· 172 172 } 173 173 #endif /* CONFIG_ARCH_MSM7X30 */ 174 174 175 - void __iomem * 176 - __msm_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) 175 + void __iomem *__msm_ioremap_caller(unsigned long phys_addr, size_t size, 176 + unsigned int mtype, void *caller) 177 177 { 178 178 if (mtype == MT_DEVICE) { 179 179 /* The peripherals in the 88000000 - D0000000 range ··· 184 184 mtype = MT_DEVICE_NONSHARED; 185 185 } 186 186 187 - return __arm_ioremap_caller(phys_addr, size, mtype, 188 - __builtin_return_address(0)); 187 + return __arm_ioremap_caller(phys_addr, size, mtype, caller); 189 188 } 190 - EXPORT_SYMBOL(__msm_ioremap);
-2
arch/arm/mach-mv78xx0/include/mach/io.h
··· 20 20 } 21 21 22 22 #define __io(a) __io(a) 23 - #define __mem_pci(a) (a) 24 - 25 23 26 24 #endif
-6
arch/arm/mach-mxs/include/mach/hardware.h
··· 20 20 #ifndef __MACH_MXS_HARDWARE_H__ 21 21 #define __MACH_MXS_HARDWARE_H__ 22 22 23 - #ifdef __ASSEMBLER__ 24 - #define IOMEM(addr) (addr) 25 - #else 26 - #define IOMEM(addr) ((void __force __iomem *)(addr)) 27 - #endif 28 - 29 23 #endif /* __MACH_MXS_HARDWARE_H__ */
-22
arch/arm/mach-mxs/include/mach/io.h
··· 1 - /* 2 - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. 3 - */ 4 - 5 - /* 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License version 2 as 8 - * published by the Free Software Foundation. 9 - */ 10 - 11 - #ifndef __MACH_MXS_IO_H__ 12 - #define __MACH_MXS_IO_H__ 13 - 14 - /* Allow IO space to be anywhere in the memory */ 15 - #define IO_SPACE_LIMIT 0xffffffff 16 - 17 - /* io address mapping macro */ 18 - #define __io(a) __typesafe_io(a) 19 - 20 - #define __mem_pci(a) (a) 21 - 22 - #endif /* __MACH_MXS_IO_H__ */
+1 -1
arch/arm/mach-netx/generic.c
··· 168 168 { 169 169 int irq; 170 170 171 - vic_init(__io(io_p2v(NETX_PA_VIC)), 0, ~0, 0); 171 + vic_init(io_p2v(NETX_PA_VIC), 0, ~0, 0); 172 172 173 173 for (irq = NETX_IRQ_HIF_CHAINED(0); irq <= NETX_IRQ_HIF_LAST; irq++) { 174 174 irq_set_chip_and_handler(irq, &netx_hif_chip,
+1 -1
arch/arm/mach-netx/include/mach/hardware.h
··· 33 33 #define XMAC_MEM_SIZE 0x1000 34 34 #define SRAM_MEM_SIZE 0x8000 35 35 36 - #define io_p2v(x) ((x) - NETX_IO_PHYS + NETX_IO_VIRT) 36 + #define io_p2v(x) IOMEM((x) - NETX_IO_PHYS + NETX_IO_VIRT) 37 37 #define io_v2p(x) ((x) - NETX_IO_VIRT + NETX_IO_PHYS) 38 38 39 39 #endif
-28
arch/arm/mach-netx/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-netx/include/mach/io.h 3 - * 4 - * Copyright (C) 2005 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License version 2 8 - * as published by the Free Software Foundation. 9 - * 10 - * This program is distributed in the hope that it will be useful, 11 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 - * GNU General Public License for more details. 14 - * 15 - * You should have received a copy of the GNU General Public License 16 - * along with this program; if not, write to the Free Software 17 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 - */ 19 - 20 - #ifndef __ASM_ARM_ARCH_IO_H 21 - #define __ASM_ARM_ARCH_IO_H 22 - 23 - #define IO_SPACE_LIMIT 0xffffffff 24 - 25 - #define __io(a) __typesafe_io(a) 26 - #define __mem_pci(a) (a) 27 - 28 - #endif
+8 -8
arch/arm/mach-netx/include/mach/netx-regs.h
··· 115 115 *********************************/ 116 116 117 117 /* Registers */ 118 - #define NETX_SYSTEM_REG(ofs) __io(NETX_VA_SYSTEM + (ofs)) 118 + #define NETX_SYSTEM_REG(ofs) IOMEM(NETX_VA_SYSTEM + (ofs)) 119 119 #define NETX_SYSTEM_BOO_SR NETX_SYSTEM_REG(0x00) 120 120 #define NETX_SYSTEM_IOC_CR NETX_SYSTEM_REG(0x04) 121 121 #define NETX_SYSTEM_IOC_MR NETX_SYSTEM_REG(0x08) ··· 185 185 *******************************/ 186 186 187 187 /* Registers */ 188 - #define NETX_GPIO_REG(ofs) __io(NETX_VA_GPIO + (ofs)) 188 + #define NETX_GPIO_REG(ofs) IOMEM(NETX_VA_GPIO + (ofs)) 189 189 #define NETX_GPIO_CFG(gpio) NETX_GPIO_REG(0x0 + ((gpio)<<2)) 190 190 #define NETX_GPIO_THRESHOLD_CAPTURE(gpio) NETX_GPIO_REG(0x40 + ((gpio)<<2)) 191 191 #define NETX_GPIO_COUNTER_CTRL(counter) NETX_GPIO_REG(0x80 + ((counter)<<2)) ··· 230 230 *******************************/ 231 231 232 232 /* Registers */ 233 - #define NETX_PIO_REG(ofs) __io(NETX_VA_PIO + (ofs)) 233 + #define NETX_PIO_REG(ofs) IOMEM(NETX_VA_PIO + (ofs)) 234 234 #define NETX_PIO_INPIO NETX_PIO_REG(0x0) 235 235 #define NETX_PIO_OUTPIO NETX_PIO_REG(0x4) 236 236 #define NETX_PIO_OEPIO NETX_PIO_REG(0x8) ··· 240 240 *******************************/ 241 241 242 242 /* Registers */ 243 - #define NETX_MIIMU __io(NETX_VA_MIIMU) 243 + #define NETX_MIIMU IOMEM(NETX_VA_MIIMU) 244 244 245 245 /* Bits */ 246 246 #define MIIMU_SNRDY (1<<0) ··· 317 317 *******************************/ 318 318 319 319 /* Registers */ 320 - #define NETX_PFIFO_REG(ofs) __io(NETX_VA_PFIFO + (ofs)) 320 + #define NETX_PFIFO_REG(ofs) IOMEM(NETX_VA_PFIFO + (ofs)) 321 321 #define NETX_PFIFO_BASE(pfifo) NETX_PFIFO_REG(0x00 + ((pfifo)<<2)) 322 322 #define NETX_PFIFO_BORDER_BASE(pfifo) NETX_PFIFO_REG(0x80 + ((pfifo)<<2)) 323 323 #define NETX_PFIFO_RESET NETX_PFIFO_REG(0x100) ··· 334 334 *******************************/ 335 335 336 336 /* Registers */ 337 - #define NETX_MEMCR_REG(ofs) __io(NETX_VA_MEMCR + (ofs)) 337 + #define NETX_MEMCR_REG(ofs) IOMEM(NETX_VA_MEMCR + (ofs)) 338 338 #define NETX_MEMCR_SRAM_CTRL(cs) NETX_MEMCR_REG(0x0 + 4 * (cs)) /* SRAM for CS 0..2 */ 339 339 #define NETX_MEMCR_SDRAM_CFG_CTRL NETX_MEMCR_REG(0x40) 340 340 #define NETX_MEMCR_SDRAM_TIMING_CTRL NETX_MEMCR_REG(0x44) ··· 355 355 *******************************/ 356 356 357 357 /* Registers */ 358 - #define NETX_DPMAS_REG(ofs) __io(NETX_VA_DPMAS + (ofs)) 358 + #define NETX_DPMAS_REG(ofs) IOMEM(NETX_VA_DPMAS + (ofs)) 359 359 #define NETX_DPMAS_SYS_STAT NETX_DPMAS_REG(0x4d8) 360 360 #define NETX_DPMAS_INT_STAT NETX_DPMAS_REG(0x4e0) 361 361 #define NETX_DPMAS_INT_EN NETX_DPMAS_REG(0x4f0) ··· 425 425 /******************************* 426 426 * I2C * 427 427 *******************************/ 428 - #define NETX_I2C_REG(ofs) __io(NETX_VA_I2C, (ofs)) 428 + #define NETX_I2C_REG(ofs) IOMEM(NETX_VA_I2C, (ofs)) 429 429 #define NETX_I2C_CTRL NETX_I2C_REG(0x0) 430 430 #define NETX_I2C_DATA NETX_I2C_REG(0x4) 431 431
-22
arch/arm/mach-nomadik/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-nomadik/include/mach/io.h (copied from mach-sa1100) 3 - * 4 - * Copyright (C) 1997-1999 Russell King 5 - * 6 - * Modifications: 7 - * 06-12-1997 RMK Created. 8 - * 07-04-1999 RMK Major cleanup 9 - */ 10 - #ifndef __ASM_ARM_ARCH_IO_H 11 - #define __ASM_ARM_ARCH_IO_H 12 - 13 - #define IO_SPACE_LIMIT 0xffffffff 14 - 15 - /* 16 - * We don't actually have real ISA nor PCI buses, but there is so many 17 - * drivers out there that might just work if we fake them... 18 - */ 19 - #define __io(a) __typesafe_io(a) 20 - #define __mem_pci(a) (a) 21 - 22 - #endif
+1
arch/arm/mach-omap1/ams-delta-fiq-handler.S
··· 14 14 */ 15 15 16 16 #include <linux/linkage.h> 17 + #include <asm/assembler.h> 17 18 18 19 #include <plat/board-ams-delta.h> 19 20
-1
arch/arm/mach-omap1/include/mach/entry-macro.S
··· 11 11 */ 12 12 13 13 #include <mach/hardware.h> 14 - #include <mach/io.h> 15 14 #include <mach/irqs.h> 16 15 17 16 #include "../../iomap.h"
-46
arch/arm/mach-omap1/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-omap1/include/mach/io.h 3 - * 4 - * IO definitions for TI OMAP processors and boards 5 - * 6 - * Copied from arch/arm/mach-sa1100/include/mach/io.h 7 - * Copyright (C) 1997-1999 Russell King 8 - * 9 - * This program is free software; you can redistribute it and/or modify it 10 - * under the terms of the GNU General Public License as published by the 11 - * Free Software Foundation; either version 2 of the License, or (at your 12 - * option) any later version. 13 - * 14 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 15 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 17 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 20 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 21 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 - * 25 - * You should have received a copy of the GNU General Public License along 26 - * with this program; if not, write to the Free Software Foundation, Inc., 27 - * 675 Mass Ave, Cambridge, MA 02139, USA. 28 - * 29 - * Modifications: 30 - * 06-12-1997 RMK Created. 31 - * 07-04-1999 RMK Major cleanup 32 - */ 33 - 34 - #ifndef __ASM_ARM_ARCH_IO_H 35 - #define __ASM_ARM_ARCH_IO_H 36 - 37 - #define IO_SPACE_LIMIT 0xffffffff 38 - 39 - /* 40 - * We don't actually have real ISA nor PCI buses, but there is so many 41 - * drivers out there that might just work if we fake them... 42 - */ 43 - #define __io(a) __typesafe_io(a) 44 - #define __mem_pci(a) (a) 45 - 46 - #endif
-6
arch/arm/mach-omap1/iomap.h
··· 22 22 * 675 Mass Ave, Cambridge, MA 02139, USA. 23 23 */ 24 24 25 - #ifdef __ASSEMBLER__ 26 - #define IOMEM(x) (x) 27 - #else 28 - #define IOMEM(x) ((void __force __iomem *)(x)) 29 - #endif 30 - 31 25 #define OMAP1_IO_OFFSET 0x01000000 /* Virtual IO = 0xfefb0000 */ 32 26 #define OMAP1_IO_ADDRESS(pa) IOMEM((pa) - OMAP1_IO_OFFSET) 33 27
-2
arch/arm/mach-omap1/sleep.S
··· 36 36 37 37 #include <asm/assembler.h> 38 38 39 - #include <mach/io.h> 40 - 41 39 #include "iomap.h" 42 40 #include "pm.h" 43 41
-1
arch/arm/mach-omap1/sram.S
··· 12 12 13 13 #include <asm/assembler.h> 14 14 15 - #include <mach/io.h> 16 15 #include <mach/hardware.h> 17 16 18 17 #include "iomap.h"
+1
arch/arm/mach-omap2/clock3xxx_data.c
··· 19 19 #include <linux/kernel.h> 20 20 #include <linux/clk.h> 21 21 #include <linux/list.h> 22 + #include <linux/io.h> 22 23 23 24 #include <plat/hardware.h> 24 25 #include <plat/clkdev_omap.h>
+1
arch/arm/mach-omap2/clock44xx_data.c
··· 26 26 #include <linux/kernel.h> 27 27 #include <linux/list.h> 28 28 #include <linux/clk.h> 29 + #include <linux/io.h> 29 30 30 31 #include <plat/hardware.h> 31 32 #include <plat/clkdev_omap.h>
-49
arch/arm/mach-omap2/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-omap2/include/mach/io.h 3 - * 4 - * IO definitions for TI OMAP processors and boards 5 - * 6 - * Copied from arch/arm/mach-sa1100/include/mach/io.h 7 - * Copyright (C) 1997-1999 Russell King 8 - * 9 - * Copyright (C) 2009 Texas Instruments 10 - * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com> 11 - * 12 - * This program is free software; you can redistribute it and/or modify it 13 - * under the terms of the GNU General Public License as published by the 14 - * Free Software Foundation; either version 2 of the License, or (at your 15 - * option) any later version. 16 - * 17 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 18 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 20 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 23 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 24 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 - * 28 - * You should have received a copy of the GNU General Public License along 29 - * with this program; if not, write to the Free Software Foundation, Inc., 30 - * 675 Mass Ave, Cambridge, MA 02139, USA. 31 - * 32 - * Modifications: 33 - * 06-12-1997 RMK Created. 34 - * 07-04-1999 RMK Major cleanup 35 - */ 36 - 37 - #ifndef __ASM_ARM_ARCH_IO_H 38 - #define __ASM_ARM_ARCH_IO_H 39 - 40 - #define IO_SPACE_LIMIT 0xffffffff 41 - 42 - /* 43 - * We don't actually have real ISA nor PCI buses, but there is so many 44 - * drivers out there that might just work if we fake them... 45 - */ 46 - #define __io(a) __typesafe_io(a) 47 - #define __mem_pci(a) (a) 48 - 49 - #endif
-6
arch/arm/mach-omap2/iomap.h
··· 22 22 * 675 Mass Ave, Cambridge, MA 02139, USA. 23 23 */ 24 24 25 - #ifdef __ASSEMBLER__ 26 - #define IOMEM(x) (x) 27 - #else 28 - #define IOMEM(x) ((void __force __iomem *)(x)) 29 - #endif 30 - 31 25 #define OMAP2_L3_IO_OFFSET 0x90000000 32 26 #define OMAP2_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L3_IO_OFFSET) /* L3 */ 33 27
+9
arch/arm/mach-orion5x/common.h
··· 57 57 struct tag; 58 58 extern void __init tag_fixup_mem32(struct tag *, char **, struct meminfo *); 59 59 60 + /***************************************************************************** 61 + * Helpers to access Orion registers 62 + ****************************************************************************/ 63 + /* 64 + * These are not preempt-safe. Locks, if needed, must be taken 65 + * care of by the caller. 66 + */ 67 + #define orion5x_setbits(r, mask) writel(readl(r) | (mask), (r)) 68 + #define orion5x_clrbits(r, mask) writel(readl(r) & ~(mask), (r)) 60 69 61 70 #endif
-33
arch/arm/mach-orion5x/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-orion5x/include/mach/io.h 3 - * 4 - * Tzachi Perelstein <tzachi@marvell.com> 5 - * 6 - * This file is licensed under the terms of the GNU General Public 7 - * License version 2. This program is licensed "as is" without any 8 - * warranty of any kind, whether express or implied. 9 - */ 10 - 11 - #ifndef __ASM_ARCH_IO_H 12 - #define __ASM_ARCH_IO_H 13 - 14 - #include "orion5x.h" 15 - 16 - #define IO_SPACE_LIMIT 0xffffffff 17 - 18 - #define __io(a) __typesafe_io(a) 19 - #define __mem_pci(a) (a) 20 - 21 - 22 - /***************************************************************************** 23 - * Helpers to access Orion registers 24 - ****************************************************************************/ 25 - /* 26 - * These are not preempt-safe. Locks, if needed, must be taken 27 - * care of by the caller. 28 - */ 29 - #define orion5x_setbits(r, mask) writel(readl(r) | (mask), (r)) 30 - #define orion5x_clrbits(r, mask) writel(readl(r) & ~(mask), (r)) 31 - 32 - 33 - #endif
+1
arch/arm/mach-orion5x/pci.c
··· 19 19 #include <asm/mach/pci.h> 20 20 #include <plat/pcie.h> 21 21 #include <plat/addr-map.h> 22 + #include <mach/orion5x.h> 22 23 #include "common.h" 23 24 24 25 /*****************************************************************************
+1
arch/arm/mach-orion5x/tsx09-common.c
··· 15 15 #include <linux/mv643xx_eth.h> 16 16 #include <linux/timex.h> 17 17 #include <linux/serial_reg.h> 18 + #include <mach/orion5x.h> 18 19 #include "tsx09-common.h" 19 20 #include "common.h" 20 21
-22
arch/arm/mach-picoxcell/include/mach/io.h
··· 1 - /* 2 - * Copyright (c) 2011 Picochip Ltd., Jamie Iles 3 - * 4 - * This program is free software; you can redistribute it and/or modify 5 - * it under the terms of the GNU General Public License as published by 6 - * the Free Software Foundation; either version 2 of the License, or 7 - * (at your option) any later version. 8 - * 9 - * This program is distributed in the hope that it will be useful, 10 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 - * GNU General Public License for more details. 13 - */ 14 - #ifndef __ASM_ARM_ARCH_IO_H 15 - #define __ASM_ARM_ARCH_IO_H 16 - 17 - /* No ioports, but needed for driver compatibility. */ 18 - #define __io(a) __typesafe_io(a) 19 - /* No PCI possible on picoxcell. */ 20 - #define __mem_pci(a) (a) 21 - 22 - #endif /* __ASM_ARM_ARCH_IO_H */
-21
arch/arm/mach-pnx4008/include/mach/io.h
··· 1 - 2 - /* 3 - * arch/arm/mach-pnx4008/include/mach/io.h 4 - * 5 - * Author: Dmitry Chigirev <chigirev@ru.mvista.com> 6 - * 7 - * 2005 (c) MontaVista Software, Inc. This file is licensed under 8 - * the terms of the GNU General Public License version 2. This program 9 - * is licensed "as is" without any warranty of any kind, whether express 10 - * or implied. 11 - */ 12 - 13 - #ifndef __ASM_ARM_ARCH_IO_H 14 - #define __ASM_ARM_ARCH_IO_H 15 - 16 - #define IO_SPACE_LIMIT 0xffffffff 17 - 18 - #define __io(a) __typesafe_io(a) 19 - #define __mem_pci(a) (a) 20 - 21 - #endif
-16
arch/arm/mach-prima2/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-prima2/include/mach/io.h 3 - * 4 - * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. 5 - * 6 - * Licensed under GPLv2 or later. 7 - */ 8 - 9 - #ifndef __MACH_PRIMA2_IO_H 10 - #define __MACH_PRIMA2_IO_H 11 - 12 - #define IO_SPACE_LIMIT ((resource_size_t)0) 13 - 14 - #define __mem_pci(a) (a) 15 - 16 - #endif
+1
arch/arm/mach-pxa/Kconfig
··· 108 108 109 109 config MACH_ARMCORE 110 110 bool "CompuLab CM-X255/CM-X270 modules" 111 + select ARCH_HAS_DMA_SET_COHERENT_MASK if PCI 111 112 select PXA27x 112 113 select IWMMXT 113 114 select PXA25x
+1
arch/arm/mach-pxa/clock-pxa2xx.c
··· 9 9 #include <linux/module.h> 10 10 #include <linux/kernel.h> 11 11 #include <linux/init.h> 12 + #include <linux/io.h> 12 13 #include <linux/syscore_ops.h> 13 14 14 15 #include <mach/pxa2xx-regs.h>
+1
arch/arm/mach-pxa/corgi_pm.c
··· 19 19 #include <linux/interrupt.h> 20 20 #include <linux/platform_device.h> 21 21 #include <linux/apm-emulation.h> 22 + #include <linux/io.h> 22 23 23 24 #include <asm/irq.h> 24 25 #include <asm/mach-types.h>
+1
arch/arm/mach-pxa/cpufreq-pxa3xx.c
··· 15 15 #include <linux/init.h> 16 16 #include <linux/cpufreq.h> 17 17 #include <linux/slab.h> 18 + #include <linux/io.h> 18 19 19 20 #include <mach/pxa3xx-regs.h> 20 21
-6
arch/arm/mach-pxa/include/mach/hardware.h
··· 40 40 #define io_p2v(x) IOMEM(0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1)) 41 41 42 42 #ifndef __ASSEMBLY__ 43 - # define IOMEM(x) ((void __iomem *)(x)) 44 43 # define __REG(x) (*((volatile u32 __iomem *)io_p2v(x))) 45 44 46 45 /* With indexed regs we don't want to feed the index through io_p2v() ··· 51 52 52 53 #else 53 54 54 - # define IOMEM(x) x 55 55 # define __REG(x) io_p2v(x) 56 56 # define __PREG(x) io_v2p(x) 57 57 ··· 333 335 334 336 /* return the clock tick rate of the OS timer */ 335 337 extern unsigned long get_clock_tick_rate(void); 336 - #endif 337 - 338 - #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) 339 - #define ARCH_HAS_DMA_SET_COHERENT_MASK 340 338 #endif 341 339 342 340 #endif /* _ASM_ARCH_HARDWARE_H */
-20
arch/arm/mach-pxa/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-pxa/include/mach/io.h 3 - * 4 - * Copied from asm/arch/sa1100/io.h 5 - */ 6 - #ifndef __ASM_ARM_ARCH_IO_H 7 - #define __ASM_ARM_ARCH_IO_H 8 - 9 - #include <mach/hardware.h> 10 - 11 - #define IO_SPACE_LIMIT 0xffffffff 12 - 13 - /* 14 - * We don't actually have real ISA nor PCI buses, but there is so many 15 - * drivers out there that might just work if we fake them... 16 - */ 17 - #define __io(a) __typesafe_io(a) 18 - #define __mem_pci(a) (a) 19 - 20 - #endif
+1
arch/arm/mach-pxa/mfp-pxa2xx.c
··· 17 17 #include <linux/module.h> 18 18 #include <linux/kernel.h> 19 19 #include <linux/init.h> 20 + #include <linux/io.h> 20 21 #include <linux/syscore_ops.h> 21 22 22 23 #include <mach/pxa2xx-regs.h>
+1
arch/arm/mach-pxa/pxa2xx.c
··· 13 13 #include <linux/module.h> 14 14 #include <linux/kernel.h> 15 15 #include <linux/device.h> 16 + #include <linux/io.h> 16 17 17 18 #include <mach/hardware.h> 18 19 #include <mach/pxa2xx-regs.h>
+1
arch/arm/mach-pxa/pxa300.c
··· 16 16 #include <linux/module.h> 17 17 #include <linux/kernel.h> 18 18 #include <linux/platform_device.h> 19 + #include <linux/io.h> 19 20 20 21 #include <mach/pxa300.h> 21 22
+1
arch/arm/mach-pxa/pxa320.c
··· 16 16 #include <linux/module.h> 17 17 #include <linux/kernel.h> 18 18 #include <linux/platform_device.h> 19 + #include <linux/io.h> 19 20 20 21 #include <mach/pxa320.h> 21 22
+1
arch/arm/mach-pxa/sharpsl_pm.c
··· 24 24 #include <linux/leds.h> 25 25 #include <linux/suspend.h> 26 26 #include <linux/gpio.h> 27 + #include <linux/io.h> 27 28 28 29 #include <asm/mach-types.h> 29 30 #include <mach/pm.h>
+1 -1
arch/arm/mach-realview/include/mach/hardware.h
··· 37 37 #else 38 38 #define IO_ADDRESS(x) (x) 39 39 #endif 40 - #define __io_address(n) __io(IO_ADDRESS(n)) 40 + #define __io_address(n) IOMEM(IO_ADDRESS(n)) 41 41 42 42 #endif
-28
arch/arm/mach-realview/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-realview/include/mach/io.h 3 - * 4 - * Copyright (C) 2003 ARM Limited 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License as published by 8 - * the Free Software Foundation; either version 2 of the License, or 9 - * (at your option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, 12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License 17 - * along with this program; if not, write to the Free Software 18 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 - */ 20 - #ifndef __ASM_ARM_ARCH_IO_H 21 - #define __ASM_ARM_ARCH_IO_H 22 - 23 - #define IO_SPACE_LIMIT 0xffffffff 24 - 25 - #define __io(a) __typesafe_io(a) 26 - #define __mem_pci(a) (a) 27 - 28 - #endif
-6
arch/arm/mach-rpc/include/mach/hardware.h
··· 14 14 15 15 #include <mach/memory.h> 16 16 17 - #ifndef __ASSEMBLY__ 18 - #define IOMEM(x) ((void __iomem *)(unsigned long)(x)) 19 - #else 20 - #define IOMEM(x) x 21 - #endif /* __ASSEMBLY__ */ 22 - 23 17 /* 24 18 * What hardware must be present 25 19 */
-5
arch/arm/mach-rpc/include/mach/io.h
··· 28 28 */ 29 29 #define __io(a) (PCIO_BASE + ((a) << 2)) 30 30 31 - /* 32 - * 1:1 mapping for ioremapped regions. 33 - */ 34 - #define __mem_pci(x) (x) 35 - 36 31 #endif
-5
arch/arm/mach-s3c24xx/include/mach/io.h
··· 208 208 #define outsw(p,d,l) __raw_writesw(__ioaddr(p),d,l) 209 209 #define outsl(p,d,l) __raw_writesl(__ioaddr(p),d,l) 210 210 211 - /* 212 - * 1:1 mapping for ioremapped regions. 213 - */ 214 - #define __mem_pci(x) (x) 215 - 216 211 #endif
-18
arch/arm/mach-s3c64xx/include/mach/io.h
··· 1 - /* arch/arm/mach-s3c64xxinclude/mach/io.h 2 - * 3 - * Copyright 2008 Simtec Electronics 4 - * Ben Dooks <ben-linux@fluff.org> 5 - * 6 - * Default IO routines for S3C64XX based 7 - */ 8 - 9 - #ifndef __ASM_ARM_ARCH_IO_H 10 - #define __ASM_ARM_ARCH_IO_H 11 - 12 - /* No current ISA/PCI bus support. */ 13 - #define __io(a) __typesafe_io(a) 14 - #define __mem_pci(a) (a) 15 - 16 - #define IO_SPACE_LIMIT (0xFFFFFFFF) 17 - 18 - #endif
-25
arch/arm/mach-s5p64x0/include/mach/io.h
··· 1 - /* linux/arch/arm/mach-s5p64x0/include/mach/io.h 2 - * 3 - * Copyright (c) 2010 Samsung Electronics Co., Ltd. 4 - * http://www.samsung.com 5 - * 6 - * Copyright 2008 Simtec Electronics 7 - * Ben Dooks <ben-linux@fluff.org> 8 - * 9 - * Default IO routines for S5P64X0 based 10 - * 11 - * This program is free software; you can redistribute it and/or modify 12 - * it under the terms of the GNU General Public License version 2 as 13 - * published by the Free Software Foundation. 14 - */ 15 - 16 - #ifndef __ASM_ARM_ARCH_IO_H 17 - #define __ASM_ARM_ARCH_IO_H 18 - 19 - /* No current ISA/PCI bus support. */ 20 - #define __io(a) __typesafe_io(a) 21 - #define __mem_pci(a) (a) 22 - 23 - #define IO_SPACE_LIMIT (0xFFFFFFFF) 24 - 25 - #endif
-18
arch/arm/mach-s5pc100/include/mach/io.h
··· 1 - /* arch/arm/mach-s5pc100/include/mach/io.h 2 - * 3 - * Copyright 2008 Simtec Electronics 4 - * Ben Dooks <ben-linux@fluff.org> 5 - * 6 - * Default IO routines for S5PC100 systems 7 - */ 8 - 9 - #ifndef __ASM_ARM_ARCH_IO_H 10 - #define __ASM_ARM_ARCH_IO_H 11 - 12 - /* No current ISA/PCI bus support. */ 13 - #define __io(a) __typesafe_io(a) 14 - #define __mem_pci(a) (a) 15 - 16 - #define IO_SPACE_LIMIT (0xFFFFFFFF) 17 - 18 - #endif
-26
arch/arm/mach-s5pv210/include/mach/io.h
··· 1 - /* linux/arch/arm/mach-s5pv210/include/mach/io.h 2 - * 3 - * Copyright 2008-2010 Ben Dooks <ben-linux@fluff.org> 4 - * 5 - * Copyright (c) 2010 Samsung Electronics Co., Ltd. 6 - * http://www.samsung.com/ 7 - * 8 - * Based on arch/arm/mach-s5p6442/include/mach/io.h 9 - * 10 - * Default IO routines for S5PV210 11 - * 12 - * This program is free software; you can redistribute it and/or modify 13 - * it under the terms of the GNU General Public License version 2 as 14 - * published by the Free Software Foundation. 15 - */ 16 - 17 - #ifndef __ASM_ARM_ARCH_IO_H 18 - #define __ASM_ARM_ARCH_IO_H __FILE__ 19 - 20 - /* No current ISA/PCI bus support. */ 21 - #define __io(a) __typesafe_io(a) 22 - #define __mem_pci(a) (a) 23 - 24 - #define IO_SPACE_LIMIT (0xFFFFFFFF) 25 - 26 - #endif /* __ASM_ARM_ARCH_IO_H */
-20
arch/arm/mach-sa1100/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-sa1100/include/mach/io.h 3 - * 4 - * Copyright (C) 1997-1999 Russell King 5 - * 6 - * Modifications: 7 - * 06-12-1997 RMK Created. 8 - * 07-04-1999 RMK Major cleanup 9 - */ 10 - #ifndef __ASM_ARM_ARCH_IO_H 11 - #define __ASM_ARM_ARCH_IO_H 12 - 13 - /* 14 - * __io() is required to be an equivalent mapping to __mem_pci() for 15 - * SOC_COMMON to work. 16 - */ 17 - #define __io(a) __typesafe_io(a) 18 - #define __mem_pci(a) (a) 19 - 20 - #endif
-2
arch/arm/mach-shark/include/mach/io.h
··· 15 15 16 16 #define __io(a) ((void __iomem *)(0xe0000000 + (a))) 17 17 18 - #define __mem_pci(addr) (addr) 19 - 20 18 #endif
+1 -1
arch/arm/mach-shmobile/board-ag5evm.c
··· 585 585 586 586 #ifdef CONFIG_CACHE_L2X0 587 587 /* Shared attribute override enable, 64K*8way */ 588 - l2x0_init(__io(0xf0100000), 0x00460000, 0xc2000fff); 588 + l2x0_init(IOMEM(0xf0100000), 0x00460000, 0xc2000fff); 589 589 #endif 590 590 sh73a0_add_standard_devices(); 591 591 platform_add_devices(ag5evm_devices, ARRAY_SIZE(ag5evm_devices));
+1 -1
arch/arm/mach-shmobile/board-bonito.c
··· 371 371 372 372 #ifdef CONFIG_CACHE_L2X0 373 373 /* Early BRESP enable, Shared attribute override enable, 32K*8way */ 374 - l2x0_init(__io(0xf0002000), 0x40440000, 0x82000fff); 374 + l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff); 375 375 #endif 376 376 377 377 r8a7740_add_standard_devices();
+1 -1
arch/arm/mach-shmobile/board-kota2.c
··· 508 508 509 509 #ifdef CONFIG_CACHE_L2X0 510 510 /* Early BRESP enable, Shared attribute override enable, 64K*8way */ 511 - l2x0_init(__io(0xf0100000), 0x40460000, 0x82000fff); 511 + l2x0_init(IOMEM(0xf0100000), 0x40460000, 0x82000fff); 512 512 #endif 513 513 sh73a0_add_standard_devices(); 514 514 platform_add_devices(kota2_devices, ARRAY_SIZE(kota2_devices));
-9
arch/arm/mach-shmobile/include/mach/io.h
··· 1 - #ifndef __ASM_MACH_IO_H 2 - #define __ASM_MACH_IO_H 3 - 4 - #define IO_SPACE_LIMIT 0xffffffff 5 - 6 - #define __io(a) ((void __iomem *)(a)) 7 - #define __mem_pci(a) (a) 8 - 9 - #endif /* __ASM_MACH_IO_H */
+2 -2
arch/arm/mach-shmobile/intc-r8a7779.c
··· 42 42 43 43 void __init r8a7779_init_irq(void) 44 44 { 45 - void __iomem *gic_dist_base = __io(0xf0001000); 46 - void __iomem *gic_cpu_base = __io(0xf0000100); 45 + void __iomem *gic_dist_base = IOMEM(0xf0001000); 46 + void __iomem *gic_cpu_base = IOMEM(0xf0000100); 47 47 48 48 /* use GIC to handle interrupts */ 49 49 gic_init(0, 29, gic_dist_base, gic_cpu_base);
+2 -2
arch/arm/mach-shmobile/intc-sh73a0.c
··· 421 421 422 422 void __init sh73a0_init_irq(void) 423 423 { 424 - void __iomem *gic_dist_base = __io(0xf0001000); 425 - void __iomem *gic_cpu_base = __io(0xf0000100); 424 + void __iomem *gic_dist_base = IOMEM(0xf0001000); 425 + void __iomem *gic_cpu_base = IOMEM(0xf0000100); 426 426 void __iomem *intevtsa = ioremap_nocache(0xffd20100, PAGE_SIZE); 427 427 int k, n; 428 428
+2 -2
arch/arm/mach-shmobile/smp-r8a7779.c
··· 30 30 #include <asm/smp_twd.h> 31 31 #include <asm/hardware/gic.h> 32 32 33 - #define AVECR 0xfe700040 33 + #define AVECR IOMEM(0xfe700040) 34 34 35 35 static struct r8a7779_pm_ch r8a7779_ch_cpu1 = { 36 36 .chan_offs = 0x40, /* PWRSR0 .. PWRER0 */ ··· 138 138 scu_enable(scu_base_addr()); 139 139 140 140 /* Map the reset vector (in headsmp.S) */ 141 - __raw_writel(__pa(shmobile_secondary_vector), __io(AVECR)); 141 + __raw_writel(__pa(shmobile_secondary_vector), AVECR); 142 142 143 143 /* enable cache coherency on CPU0 */ 144 144 modify_scu_cpu_psr(0, 3 << (cpu * 8));
+10 -10
arch/arm/mach-shmobile/smp-sh73a0.c
··· 28 28 #include <asm/smp_twd.h> 29 29 #include <asm/hardware/gic.h> 30 30 31 - #define WUPCR 0xe6151010 32 - #define SRESCR 0xe6151018 33 - #define PSTR 0xe6151040 34 - #define SBAR 0xe6180020 35 - #define APARMBAREA 0xe6f10020 31 + #define WUPCR IOMEM(0xe6151010) 32 + #define SRESCR IOMEM(0xe6151018) 33 + #define PSTR IOMEM(0xe6151040) 34 + #define SBAR IOMEM(0xe6180020) 35 + #define APARMBAREA IOMEM(0xe6f10020) 36 36 37 37 static void __iomem *scu_base_addr(void) 38 38 { ··· 78 78 /* enable cache coherency */ 79 79 modify_scu_cpu_psr(0, 3 << (cpu * 8)); 80 80 81 - if (((__raw_readl(__io(PSTR)) >> (4 * cpu)) & 3) == 3) 82 - __raw_writel(1 << cpu, __io(WUPCR)); /* wake up */ 81 + if (((__raw_readl(PSTR) >> (4 * cpu)) & 3) == 3) 82 + __raw_writel(1 << cpu, WUPCR); /* wake up */ 83 83 else 84 - __raw_writel(1 << cpu, __io(SRESCR)); /* reset */ 84 + __raw_writel(1 << cpu, SRESCR); /* reset */ 85 85 86 86 return 0; 87 87 } ··· 93 93 scu_enable(scu_base_addr()); 94 94 95 95 /* Map the reset vector (in headsmp.S) */ 96 - __raw_writel(0, __io(APARMBAREA)); /* 4k */ 97 - __raw_writel(__pa(shmobile_secondary_vector), __io(SBAR)); 96 + __raw_writel(0, APARMBAREA); /* 4k */ 97 + __raw_writel(__pa(shmobile_secondary_vector), SBAR); 98 98 99 99 /* enable cache coherency on CPU0 */ 100 100 modify_scu_cpu_psr(0, 3 << (cpu * 8));
+1
arch/arm/mach-spear3xx/clock.c
··· 12 12 */ 13 13 14 14 #include <linux/init.h> 15 + #include <linux/io.h> 15 16 #include <linux/kernel.h> 16 17 #include <asm/mach-types.h> 17 18 #include <plat/clock.h>
-19
arch/arm/mach-spear3xx/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-spear3xx/include/mach/io.h 3 - * 4 - * IO definitions for SPEAr3xx machine family 5 - * 6 - * Copyright (C) 2009 ST Microelectronics 7 - * Viresh Kumar<viresh.kumar@st.com> 8 - * 9 - * This file is licensed under the terms of the GNU General Public 10 - * License version 2. This program is licensed "as is" without any 11 - * warranty of any kind, whether express or implied. 12 - */ 13 - 14 - #ifndef __MACH_IO_H 15 - #define __MACH_IO_H 16 - 17 - #include <plat/io.h> 18 - 19 - #endif /* __MACH_IO_H */
+1
arch/arm/mach-spear6xx/clock.c
··· 12 12 */ 13 13 14 14 #include <linux/init.h> 15 + #include <linux/io.h> 15 16 #include <linux/kernel.h> 16 17 #include <plat/clock.h> 17 18 #include <mach/misc_regs.h>
-20
arch/arm/mach-spear6xx/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-spear6xx/include/mach/io.h 3 - * 4 - * IO definitions for SPEAr6xx machine family 5 - * 6 - * Copyright (C) 2009 ST Microelectronics 7 - * Rajeev Kumar Kumar<rajeev-dlh.kumar@st.com> 8 - * 9 - * This file is licensed under the terms of the GNU General Public 10 - * License version 2. This program is licensed "as is" without any 11 - * warranty of any kind, whether express or implied. 12 - */ 13 - 14 - #ifndef __MACH_IO_H 15 - #define __MACH_IO_H 16 - 17 - #include <plat/io.h> 18 - 19 - #endif /* __MACH_IO_H */ 20 -
-1
arch/arm/mach-tegra/include/mach/debug-macro.S
··· 26 26 27 27 #include <linux/serial_reg.h> 28 28 29 - #include <mach/io.h> 30 29 #include <mach/iomap.h> 31 30 #include <mach/irammap.h> 32 31
-49
arch/arm/mach-tegra/include/mach/io.h
··· 23 23 24 24 #define IO_SPACE_LIMIT 0xffff 25 25 26 - /* On TEGRA, many peripherals are very closely packed in 27 - * two 256MB io windows (that actually only use about 64KB 28 - * at the start of each). 29 - * 30 - * We will just map the first 1MB of each window (to minimize 31 - * pt entries needed) and provide a macro to transform physical 32 - * io addresses to an appropriate void __iomem *. 33 - * 34 - */ 35 - 36 - #ifdef __ASSEMBLY__ 37 - #define IOMEM(x) (x) 38 - #else 39 - #define IOMEM(x) ((void __force __iomem *)(x)) 40 - #endif 41 - 42 - #define IO_IRAM_PHYS 0x40000000 43 - #define IO_IRAM_VIRT IOMEM(0xFE400000) 44 - #define IO_IRAM_SIZE SZ_256K 45 - 46 - #define IO_CPU_PHYS 0x50040000 47 - #define IO_CPU_VIRT IOMEM(0xFE000000) 48 - #define IO_CPU_SIZE SZ_16K 49 - 50 - #define IO_PPSB_PHYS 0x60000000 51 - #define IO_PPSB_VIRT IOMEM(0xFE200000) 52 - #define IO_PPSB_SIZE SZ_1M 53 - 54 - #define IO_APB_PHYS 0x70000000 55 - #define IO_APB_VIRT IOMEM(0xFE300000) 56 - #define IO_APB_SIZE SZ_1M 57 - 58 - #define IO_TO_VIRT_BETWEEN(p, st, sz) ((p) >= (st) && (p) < ((st) + (sz))) 59 - #define IO_TO_VIRT_XLATE(p, pst, vst) (((p) - (pst) + (vst))) 60 - 61 - #define IO_TO_VIRT(n) ( \ 62 - IO_TO_VIRT_BETWEEN((n), IO_PPSB_PHYS, IO_PPSB_SIZE) ? \ 63 - IO_TO_VIRT_XLATE((n), IO_PPSB_PHYS, IO_PPSB_VIRT) : \ 64 - IO_TO_VIRT_BETWEEN((n), IO_APB_PHYS, IO_APB_SIZE) ? \ 65 - IO_TO_VIRT_XLATE((n), IO_APB_PHYS, IO_APB_VIRT) : \ 66 - IO_TO_VIRT_BETWEEN((n), IO_CPU_PHYS, IO_CPU_SIZE) ? \ 67 - IO_TO_VIRT_XLATE((n), IO_CPU_PHYS, IO_CPU_VIRT) : \ 68 - IO_TO_VIRT_BETWEEN((n), IO_IRAM_PHYS, IO_IRAM_SIZE) ? \ 69 - IO_TO_VIRT_XLATE((n), IO_IRAM_PHYS, IO_IRAM_VIRT) : \ 70 - NULL) 71 - 72 26 #ifndef __ASSEMBLER__ 73 - 74 - #define IO_ADDRESS(n) (IO_TO_VIRT(n)) 75 27 76 28 #ifdef CONFIG_TEGRA_PCI 77 29 extern void __iomem *tegra_pcie_io_base; ··· 40 88 #endif 41 89 42 90 #define __io(a) __io(a) 43 - #define __mem_pci(a) (a) 44 91 45 92 #endif 46 93
+42
arch/arm/mach-tegra/include/mach/iomap.h
··· 277 277 # define TEGRA_DEBUG_UART_BASE TEGRA_UARTE_BASE 278 278 #endif 279 279 280 + /* On TEGRA, many peripherals are very closely packed in 281 + * two 256MB io windows (that actually only use about 64KB 282 + * at the start of each). 283 + * 284 + * We will just map the first 1MB of each window (to minimize 285 + * pt entries needed) and provide a macro to transform physical 286 + * io addresses to an appropriate void __iomem *. 287 + * 288 + */ 289 + 290 + #define IO_IRAM_PHYS 0x40000000 291 + #define IO_IRAM_VIRT IOMEM(0xFE400000) 292 + #define IO_IRAM_SIZE SZ_256K 293 + 294 + #define IO_CPU_PHYS 0x50040000 295 + #define IO_CPU_VIRT IOMEM(0xFE000000) 296 + #define IO_CPU_SIZE SZ_16K 297 + 298 + #define IO_PPSB_PHYS 0x60000000 299 + #define IO_PPSB_VIRT IOMEM(0xFE200000) 300 + #define IO_PPSB_SIZE SZ_1M 301 + 302 + #define IO_APB_PHYS 0x70000000 303 + #define IO_APB_VIRT IOMEM(0xFE300000) 304 + #define IO_APB_SIZE SZ_1M 305 + 306 + #define IO_TO_VIRT_BETWEEN(p, st, sz) ((p) >= (st) && (p) < ((st) + (sz))) 307 + #define IO_TO_VIRT_XLATE(p, pst, vst) (((p) - (pst) + (vst))) 308 + 309 + #define IO_TO_VIRT(n) ( \ 310 + IO_TO_VIRT_BETWEEN((n), IO_PPSB_PHYS, IO_PPSB_SIZE) ? \ 311 + IO_TO_VIRT_XLATE((n), IO_PPSB_PHYS, IO_PPSB_VIRT) : \ 312 + IO_TO_VIRT_BETWEEN((n), IO_APB_PHYS, IO_APB_SIZE) ? \ 313 + IO_TO_VIRT_XLATE((n), IO_APB_PHYS, IO_APB_VIRT) : \ 314 + IO_TO_VIRT_BETWEEN((n), IO_CPU_PHYS, IO_CPU_SIZE) ? \ 315 + IO_TO_VIRT_XLATE((n), IO_CPU_PHYS, IO_CPU_VIRT) : \ 316 + IO_TO_VIRT_BETWEEN((n), IO_IRAM_PHYS, IO_IRAM_SIZE) ? \ 317 + IO_TO_VIRT_XLATE((n), IO_IRAM_PHYS, IO_IRAM_VIRT) : \ 318 + NULL) 319 + 320 + #define IO_ADDRESS(n) (IO_TO_VIRT(n)) 321 + 280 322 #endif
+1
arch/arm/mach-tegra/io.c
··· 26 26 27 27 #include <asm/page.h> 28 28 #include <asm/mach/map.h> 29 + #include <mach/iomap.h> 29 30 30 31 #include "board.h" 31 32
+3 -1
arch/arm/mach-tegra/sleep.S
··· 23 23 */ 24 24 25 25 #include <linux/linkage.h> 26 - #include <mach/io.h> 26 + 27 + #include <asm/assembler.h> 28 + 27 29 #include <mach/iomap.h> 28 30 29 31 #include "flowctrl.h"
-20
arch/arm/mach-u300/include/mach/io.h
··· 1 - /* 2 - * 3 - * arch/arm/mach-u300/include/mach/io.h 4 - * 5 - * 6 - * Copyright (C) 2006-2009 ST-Ericsson AB 7 - * License terms: GNU General Public License (GPL) version 2 8 - * Dummy IO map for being able to use writew()/readw(), 9 - * writel()/readw() and similar accessor functions. 10 - * Author: Linus Walleij <linus.walleij@stericsson.com> 11 - */ 12 - #ifndef __MACH_IO_H 13 - #define __MACH_IO_H 14 - 15 - #define IO_SPACE_LIMIT 0xffffffff 16 - 17 - #define __io(a) __typesafe_io(a) 18 - #define __mem_pci(a) (a) 19 - 20 - #endif
-6
arch/arm/mach-u300/include/mach/u300-regs.h
··· 18 18 * the defines are used for setting up the I/O memory mapping. 19 19 */ 20 20 21 - #ifdef __ASSEMBLER__ 22 - #define IOMEM(a) (a) 23 - #else 24 - #define IOMEM(a) (void __iomem *) a 25 - #endif 26 - 27 21 /* NAND Flash CS0 */ 28 22 #define U300_NAND_CS0_PHYS_BASE 0x80000000 29 23
+1 -1
arch/arm/mach-ux500/include/mach/hardware.h
··· 23 23 (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL) 24 24 25 25 /* typesafe io address */ 26 - #define __io_address(n) __io(IO_ADDRESS(n)) 26 + #define __io_address(n) IOMEM(IO_ADDRESS(n)) 27 27 /* Used by some plat-nomadik code */ 28 28 #define io_p2v(n) __io_address(n) 29 29
-22
arch/arm/mach-ux500/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-u8500/include/mach/io.h 3 - * 4 - * Copyright (C) 1997-1999 Russell King 5 - * 6 - * Modifications: 7 - * 06-12-1997 RMK Created. 8 - * 07-04-1999 RMK Major cleanup 9 - */ 10 - #ifndef __ASM_ARM_ARCH_IO_H 11 - #define __ASM_ARM_ARCH_IO_H 12 - 13 - #define IO_SPACE_LIMIT 0xffffffff 14 - 15 - /* 16 - * We don't actually have real ISA nor PCI buses, but there is so many 17 - * drivers out there that might just work if we fake them... 18 - */ 19 - #define __io(a) __typesafe_io(a) 20 - #define __mem_pci(a) (a) 21 - 22 - #endif
-28
arch/arm/mach-versatile/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-versatile/include/mach/io.h 3 - * 4 - * Copyright (C) 2003 ARM Limited 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License as published by 8 - * the Free Software Foundation; either version 2 of the License, or 9 - * (at your option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, 12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License 17 - * along with this program; if not, write to the Free Software 18 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 - */ 20 - #ifndef __ASM_ARM_ARCH_IO_H 21 - #define __ASM_ARM_ARCH_IO_H 22 - 23 - #define IO_SPACE_LIMIT 0xffffffff 24 - 25 - #define __io(a) __typesafe_io(a) 26 - #define __mem_pci(a) (a) 27 - 28 - #endif
-25
arch/arm/mach-vexpress/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-vexpress/include/mach/io.h 3 - * 4 - * Copyright (C) 2003 ARM Limited 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License as published by 8 - * the Free Software Foundation; either version 2 of the License, or 9 - * (at your option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, 12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License 17 - * along with this program; if not, write to the Free Software 18 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 - */ 20 - #ifndef __ASM_ARM_ARCH_IO_H 21 - #define __ASM_ARM_ARCH_IO_H 22 - 23 - #define __mem_pci(a) (a) 24 - 25 - #endif
-26
arch/arm/mach-vt8500/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-vt8500/include/mach/io.h 3 - * 4 - * Copyright (C) 2010 Alexey Charkov 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License as published by 8 - * the Free Software Foundation; either version 2 of the License, or 9 - * (at your option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, 12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 - * GNU General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License 17 - * along with this program; if not, write to the Free Software 18 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 - */ 20 - #ifndef __ASM_ARM_ARCH_IO_H 21 - #define __ASM_ARM_ARCH_IO_H 22 - 23 - #define __io(a) __typesafe_io((a) + 0xf0000000) 24 - #define __mem_pci(a) (a) 25 - 26 - #endif
-30
arch/arm/mach-w90x900/include/mach/io.h
··· 1 - /* 2 - * arch/arm/mach-w90x900/include/mach/io.h 3 - * 4 - * Copyright (c) 2008 Nuvoton technology corporation 5 - * All rights reserved. 6 - * 7 - * Wan ZongShun <mcuos.com@gmail.com> 8 - * 9 - * Based on arch/arm/mach-s3c2410/include/mach/io.h 10 - * 11 - * This program is free software; you can redistribute it and/or modify 12 - * it under the terms of the GNU General Public License as published by 13 - * the Free Software Foundation; either version 2 of the License, or 14 - * (at your option) any later version. 15 - * 16 - */ 17 - 18 - #ifndef __ASM_ARM_ARCH_IO_H 19 - #define __ASM_ARM_ARCH_IO_H 20 - 21 - #define IO_SPACE_LIMIT 0xffffffff 22 - 23 - /* 24 - * 1:1 mapping for ioremapped regions. 25 - */ 26 - 27 - #define __mem_pci(a) (a) 28 - #define __io(a) __typesafe_io(a) 29 - 30 - #endif
-33
arch/arm/mach-zynq/include/mach/io.h
··· 1 - /* arch/arm/mach-zynq/include/mach/io.h 2 - * 3 - * Copyright (C) 2011 Xilinx 4 - * 5 - * This software is licensed under the terms of the GNU General Public 6 - * License version 2, as published by the Free Software Foundation, and 7 - * may be copied, distributed, and modified under those terms. 8 - * 9 - * This program is distributed in the hope that it will be useful, 10 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 - * GNU General Public License for more details. 13 - */ 14 - 15 - #ifndef __MACH_IO_H__ 16 - #define __MACH_IO_H__ 17 - 18 - /* Allow IO space to be anywhere in the memory */ 19 - 20 - #define IO_SPACE_LIMIT 0xffff 21 - 22 - /* IO address mapping macros, nothing special at this time but required */ 23 - 24 - #ifdef __ASSEMBLER__ 25 - #define IOMEM(x) (x) 26 - #else 27 - #define IOMEM(x) ((void __force __iomem *)(x)) 28 - #endif 29 - 30 - #define __io(a) __typesafe_io(a) 31 - #define __mem_pci(a) (a) 32 - 33 - #endif
+14 -3
arch/arm/mm/ioremap.c
··· 308 308 } 309 309 EXPORT_SYMBOL(__arm_ioremap_pfn); 310 310 311 + void __iomem * (*arch_ioremap_caller)(unsigned long, size_t, 312 + unsigned int, void *) = 313 + __arm_ioremap_caller; 314 + 311 315 void __iomem * 312 316 __arm_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) 313 317 { 314 - return __arm_ioremap_caller(phys_addr, size, mtype, 315 - __builtin_return_address(0)); 318 + return arch_ioremap_caller(phys_addr, size, mtype, 319 + __builtin_return_address(0)); 316 320 } 317 321 EXPORT_SYMBOL(__arm_ioremap); 318 322 ··· 375 371 376 372 vunmap(addr); 377 373 } 378 - EXPORT_SYMBOL(__iounmap); 374 + 375 + void (*arch_iounmap)(volatile void __iomem *) = __iounmap; 376 + 377 + void __arm_iounmap(volatile void __iomem *io_addr) 378 + { 379 + arch_iounmap(io_addr); 380 + } 381 + EXPORT_SYMBOL(__arm_iounmap);
+6 -2
arch/arm/mm/nommu.c
··· 86 86 } 87 87 EXPORT_SYMBOL(__arm_ioremap); 88 88 89 + void __iomem * (*arch_ioremap_caller)(unsigned long, size_t, unsigned int, void *); 90 + 89 91 void __iomem *__arm_ioremap_caller(unsigned long phys_addr, size_t size, 90 92 unsigned int mtype, void *caller) 91 93 { 92 94 return __arm_ioremap(phys_addr, size, mtype); 93 95 } 94 96 95 - void __iounmap(volatile void __iomem *addr) 97 + void (*arch_iounmap)(volatile void __iomem *); 98 + 99 + void __arm_iounmap(volatile void __iomem *addr) 96 100 { 97 101 } 98 - EXPORT_SYMBOL(__iounmap); 102 + EXPORT_SYMBOL(__arm_iounmap);
+2 -5
arch/arm/plat-mxc/include/mach/hardware.h
··· 22 22 23 23 #include <asm/sizes.h> 24 24 25 - #ifdef __ASSEMBLER__ 26 - #define IOMEM(addr) (addr) 27 - #else 28 - #define IOMEM(addr) ((void __force __iomem *)(addr)) 29 - #endif 25 + #define addr_in_module(addr, mod) \ 26 + ((unsigned long)(addr) - mod ## _BASE_ADDR < mod ## _SIZE) 30 27 31 28 #define IMX_IO_P2V_MODULE(addr, module) \ 32 29 (((addr) - module ## _BASE_ADDR) < module ## _SIZE ? \
-39
arch/arm/plat-mxc/include/mach/io.h
··· 1 - /* 2 - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. 3 - */ 4 - 5 - /* 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License version 2 as 8 - * published by the Free Software Foundation. 9 - */ 10 - 11 - #ifndef __ASM_ARCH_MXC_IO_H__ 12 - #define __ASM_ARCH_MXC_IO_H__ 13 - 14 - /* Allow IO space to be anywhere in the memory */ 15 - #define IO_SPACE_LIMIT 0xffffffff 16 - 17 - #define __arch_ioremap __imx_ioremap 18 - #define __arch_iounmap __iounmap 19 - 20 - #define addr_in_module(addr, mod) \ 21 - ((unsigned long)(addr) - mod ## _BASE_ADDR < mod ## _SIZE) 22 - 23 - extern void __iomem *(*imx_ioremap)(unsigned long, size_t, unsigned int); 24 - 25 - static inline void __iomem * 26 - __imx_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) 27 - { 28 - if (imx_ioremap != NULL) 29 - return imx_ioremap(phys_addr, size, mtype); 30 - else 31 - return __arm_ioremap(phys_addr, size, mtype); 32 - } 33 - 34 - /* io address mapping macro */ 35 - #define __io(a) __typesafe_io(a) 36 - 37 - #define __mem_pci(a) (a) 38 - 39 - #endif
-6
arch/arm/plat-omap/include/plat/hardware.h
··· 43 43 #endif 44 44 #include <plat/serial.h> 45 45 46 - #ifdef __ASSEMBLER__ 47 - #define IOMEM(x) (x) 48 - #else 49 - #define IOMEM(x) ((void __force __iomem *)(x)) 50 - #endif 51 - 52 46 /* 53 47 * --------------------------------------------------------------------------- 54 48 * Common definitions for all OMAP processors
-1
arch/arm/plat-omap/include/plat/sdrc.h
··· 16 16 * published by the Free Software Foundation. 17 17 */ 18 18 19 - #include <mach/io.h> 20 19 21 20 /* SDRC register offsets - read/write with sdrc_{read,write}_reg() */ 22 21
-1
arch/arm/plat-omap/include/plat/usb.h
··· 112 112 */ 113 113 114 114 #define OMAP2_L4_IO_OFFSET 0xb2000000 115 - #define IOMEM(x) ((void __force __iomem *)(x)) 116 115 #define OMAP2_L4_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L4_IO_OFFSET) 117 116 118 117 static inline u8 omap_readb(u32 pa)
-6
arch/arm/plat-spear/include/plat/hardware.h
··· 14 14 #ifndef __PLAT_HARDWARE_H 15 15 #define __PLAT_HARDWARE_H 16 16 17 - #ifndef __ASSEMBLY__ 18 - #define IOMEM(x) ((void __iomem __force *)(x)) 19 - #else 20 - #define IOMEM(x) (x) 21 - #endif 22 - 23 17 #endif /* __PLAT_HARDWARE_H */
-22
arch/arm/plat-spear/include/plat/io.h
··· 1 - /* 2 - * arch/arm/plat-spear/include/plat/io.h 3 - * 4 - * IO definitions for SPEAr platform 5 - * 6 - * Copyright (C) 2009 ST Microelectronics 7 - * Viresh Kumar<viresh.kumar@st.com> 8 - * 9 - * This file is licensed under the terms of the GNU General Public 10 - * License version 2. This program is licensed "as is" without any 11 - * warranty of any kind, whether express or implied. 12 - */ 13 - 14 - #ifndef __PLAT_IO_H 15 - #define __PLAT_IO_H 16 - 17 - #define IO_SPACE_LIMIT 0xFFFFFFFF 18 - 19 - #define __io(a) __typesafe_io(a) 20 - #define __mem_pci(a) (a) 21 - 22 - #endif /* __PLAT_IO_H */
-1
drivers/media/video/davinci/vpbe_osd.c
··· 28 28 #include <linux/clk.h> 29 29 #include <linux/slab.h> 30 30 31 - #include <mach/io.h> 32 31 #include <mach/cputype.h> 33 32 #include <mach/hardware.h> 34 33
-1
drivers/media/video/davinci/vpbe_venc.c
··· 27 27 28 28 #include <mach/hardware.h> 29 29 #include <mach/mux.h> 30 - #include <mach/io.h> 31 30 #include <mach/i2c.h> 32 31 33 32 #include <linux/io.h>
+1
drivers/rtc/rtc-sa1100.c
··· 33 33 #include <linux/of.h> 34 34 #include <linux/pm.h> 35 35 #include <linux/bitops.h> 36 + #include <linux/io.h> 36 37 37 38 #include <mach/hardware.h> 38 39 #include <mach/irqs.h>
-1
drivers/video/omap2/vrfb.c
··· 27 27 #include <linux/bitops.h> 28 28 #include <linux/mutex.h> 29 29 30 - #include <mach/io.h> 31 30 #include <plat/vrfb.h> 32 31 #include <plat/sdrc.h> 33 32
+1
drivers/watchdog/sa1100_wdt.c
··· 28 28 #include <linux/miscdevice.h> 29 29 #include <linux/watchdog.h> 30 30 #include <linux/init.h> 31 + #include <linux/io.h> 31 32 #include <linux/bitops.h> 32 33 #include <linux/uaccess.h> 33 34 #include <linux/timex.h>
+1 -1
include/linux/dma-mapping.h
··· 77 77 return DMA_BIT_MASK(32); 78 78 } 79 79 80 - #ifdef ARCH_HAS_DMA_SET_COHERENT_MASK 80 + #ifdef CONFIG_ARCH_HAS_DMA_SET_COHERENT_MASK 81 81 int dma_set_coherent_mask(struct device *dev, u64 mask); 82 82 #else 83 83 static inline int dma_set_coherent_mask(struct device *dev, u64 mask)
+1
sound/arm/pxa2xx-ac97-lib.c
··· 17 17 #include <linux/clk.h> 18 18 #include <linux/delay.h> 19 19 #include <linux/module.h> 20 + #include <linux/io.h> 20 21 21 22 #include <sound/ac97_codec.h> 22 23 #include <sound/pxa2xx-lib.h>
+1
sound/arm/pxa2xx-ac97.c
··· 11 11 */ 12 12 13 13 #include <linux/init.h> 14 + #include <linux/io.h> 14 15 #include <linux/module.h> 15 16 #include <linux/platform_device.h> 16 17
+1
sound/soc/pxa/pxa2xx-ac97.c
··· 11 11 */ 12 12 13 13 #include <linux/init.h> 14 + #include <linux/io.h> 14 15 #include <linux/module.h> 15 16 #include <linux/platform_device.h> 16 17