linux/arch/parisc/include/asm/ide.h
<<
>>
Prefs
   1/*
   2 *  linux/include/asm-parisc/ide.h
   3 *
   4 *  Copyright (C) 1994-1996  Linus Torvalds & authors
   5 */
   6
   7/*
   8 *  This file contains the PARISC architecture specific IDE code.
   9 */
  10
  11#ifndef __ASM_PARISC_IDE_H
  12#define __ASM_PARISC_IDE_H
  13
  14#ifdef __KERNEL__
  15
  16/* Generic I/O and MEMIO string operations.  */
  17
  18#define __ide_insw      insw
  19#define __ide_insl      insl
  20#define __ide_outsw     outsw
  21#define __ide_outsl     outsl
  22
  23static __inline__ void __ide_mm_insw(void __iomem *port, void *addr, u32 count)
  24{
  25        while (count--) {
  26                *(u16 *)addr = __raw_readw(port);
  27                addr += 2;
  28        }
  29}
  30
  31static __inline__ void __ide_mm_insl(void __iomem *port, void *addr, u32 count)
  32{
  33        while (count--) {
  34                *(u32 *)addr = __raw_readl(port);
  35                addr += 4;
  36        }
  37}
  38
  39static __inline__ void __ide_mm_outsw(void __iomem *port, void *addr, u32 count)
  40{
  41        while (count--) {
  42                __raw_writew(*(u16 *)addr, port);
  43                addr += 2;
  44        }
  45}
  46
  47static __inline__ void __ide_mm_outsl(void __iomem *port, void *addr, u32 count)
  48{
  49        while (count--) {
  50                __raw_writel(*(u32 *)addr, port);
  51                addr += 4;
  52        }
  53}
  54
  55#endif /* __KERNEL__ */
  56
  57#endif /* __ASM_PARISC_IDE_H */
  58