forked from Minki/linux
9eb7115bcc
This patch takes out IO mapping macros from mach/io.h and puts them in mach/hardware.h avoiding need to include mach/io.h in various files such as serial.h, vmalloc.h etc. The main reason to avoid inclusion of mach/io.h is, when default in/out macros are overridden by machine specific functions (e.g., in case of PCI I/O), they result into linker error. An example snippet and error snapshot is listed below. Following code in mach/io.h: #define inl(p) my_inl() static inline unsigned int my_inl(unsigned int addr) { if (IS_PCI_IO(addr)) return pci_inl (); else return le32_to_cpu(__raw_readl(__typesafe_io(addr))); } leads to error: LD arch/arm/boot/compressed/vmlinux arch/arm/boot/compressed/misc.o: In function `my_inl': misc.c:(.text+0x2744): undefined reference to `pci_inl' make[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1 This is because mach/io.h gets included in arch/arm/boot/compressed/misc.c through mach/serial.h but pci.c file, which defines 'pci_inl' doesn't get built into compressed vmlinux. Signed-off-by: Hemant Pedanekar <hemantp@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> |
||
---|---|---|
.. | ||
asp.h | ||
clkdev.h | ||
clock.h | ||
common.h | ||
cp_intc.h | ||
cputype.h | ||
da8xx.h | ||
debug-macro.S | ||
dm355.h | ||
dm365.h | ||
dm644x.h | ||
dm646x.h | ||
edma.h | ||
emac.h | ||
entry-macro.S | ||
gpio.h | ||
hardware.h | ||
i2c.h | ||
io.h | ||
irqs.h | ||
memory.h | ||
mmc.h | ||
mux.h | ||
nand.h | ||
psc.h | ||
serial.h | ||
sram.h | ||
system.h | ||
time.h | ||
timex.h | ||
uncompress.h | ||
vmalloc.h |