diff options
Diffstat (limited to 'include/asm-arm/arch-ebsa285/io.h')
-rw-r--r-- | include/asm-arm/arch-ebsa285/io.h | 53 |
1 files changed, 6 insertions, 47 deletions
diff --git a/include/asm-arm/arch-ebsa285/io.h b/include/asm-arm/arch-ebsa285/io.h index e06ed893a..a65ec3fe6 100644 --- a/include/asm-arm/arch-ebsa285/io.h +++ b/include/asm-arm/arch-ebsa285/io.h @@ -19,7 +19,7 @@ /* * Translation of various region addresses to virtual addresses */ -#define __io_pci(a) (PCIO_BASE + (a)) +#define __io(a) (PCIO_BASE + (a)) #if 1 #define __mem_pci(a) ((unsigned long)(a)) #define __mem_isa(a) (PCIMEM_BASE + (unsigned long)(a)) @@ -42,41 +42,11 @@ extern __inline__ unsigned long ___mem_isa(unsigned long a) #define __mem_isa(a) ___mem_isa((unsigned long)(a)) #endif -/* the following macro is depreciated */ -#define __ioaddr(p) __io_pci(p) - /* * Generic virtual read/write */ -#define __arch_getb(a) (*(volatile unsigned char *)(a)) -#define __arch_getl(a) (*(volatile unsigned int *)(a)) - -extern __inline__ unsigned int __arch_getw(unsigned long a) -{ - unsigned int value; - __asm__ __volatile__("ldr%?h %0, [%1, #0] @ getw" - : "=&r" (value) - : "r" (a)); - return value; -} - - -#define __arch_putb(v,a) (*(volatile unsigned char *)(a) = (v)) -#define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) - -extern __inline__ void __arch_putw(unsigned int value, unsigned long a) -{ - __asm__ __volatile__("str%?h %0, [%1, #0] @ putw" - : : "r" (value), "r" (a)); -} - -#define inb(p) __arch_getb(__io_pci(p)) -#define inw(p) __arch_getw(__io_pci(p)) -#define inl(p) __arch_getl(__io_pci(p)) - -#define outb(v,p) __arch_putb(v,__io_pci(p)) -#define outw(v,p) __arch_putw(v,__io_pci(p)) -#define outl(v,p) __arch_putl(v,__io_pci(p)) +#define __arch_getw(a) (*(volatile unsigned short *)(a)) +#define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v)) #include <asm/hardware/dec21285.h> @@ -85,20 +55,9 @@ extern __inline__ void __arch_putw(unsigned int value, unsigned long a) * and convert a PCI memory address to a physical * address for the page tables. */ -#define valid_ioaddr(off,sz) ((off) < 0x80000000 && (off) + (sz) <= 0x80000000) -#define io_to_phys(off) ((off) + DC21285_PCI_MEM) +#define iomem_valid_addr(iomem,sz) \ + ((iomem) < 0x80000000 && (iomem) + (sz) <= 0x80000000) -/* - * ioremap takes a PCI memory address, as specified in - * linux/Documentation/IO-mapping.txt - */ -#define __arch_ioremap(off,size,nocache) \ -({ \ - unsigned long _off = (off), _size = (size); \ - void *_ret = (void *)0; \ - if (valid_ioaddr(_off, _size)) \ - _ret = __ioremap(io_to_phys(_off), _size, 0); \ - _ret; \ -}) +#define iomem_to_phys(iomem) ((iomem) + DC21285_PCI_MEM) #endif |