1. 08 Jul, 2009 1 commit
    • Hemant Pedanekar's avatar
      davinci: Move IO device mapping macros from io.h to hardware.h · 4c6684d3
      Hemant Pedanekar authored
      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: default avatarHemant Pedanekar <hemantp@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      4c6684d3
  2. 07 Jul, 2009 1 commit
  3. 06 Jul, 2009 38 commits