Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.22-rc1 68 lines 1.5 kB view raw
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#ifndef MAX_HWIFS 17#define MAX_HWIFS 2 18#endif 19 20#define IDE_ARCH_OBSOLETE_INIT 21#define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ 22 23#define ide_request_irq(irq,hand,flg,dev,id) request_irq((irq),(hand),(flg),(dev),(id)) 24#define ide_free_irq(irq,dev_id) free_irq((irq), (dev_id)) 25#define ide_request_region(from,extent,name) request_region((from), (extent), (name)) 26#define ide_release_region(from,extent) release_region((from), (extent)) 27/* Generic I/O and MEMIO string operations. */ 28 29#define __ide_insw insw 30#define __ide_insl insl 31#define __ide_outsw outsw 32#define __ide_outsl outsl 33 34static __inline__ void __ide_mm_insw(void __iomem *port, void *addr, u32 count) 35{ 36 while (count--) { 37 *(u16 *)addr = __raw_readw(port); 38 addr += 2; 39 } 40} 41 42static __inline__ void __ide_mm_insl(void __iomem *port, void *addr, u32 count) 43{ 44 while (count--) { 45 *(u32 *)addr = __raw_readl(port); 46 addr += 4; 47 } 48} 49 50static __inline__ void __ide_mm_outsw(void __iomem *port, void *addr, u32 count) 51{ 52 while (count--) { 53 __raw_writew(*(u16 *)addr, port); 54 addr += 2; 55 } 56} 57 58static __inline__ void __ide_mm_outsl(void __iomem *port, void *addr, u32 count) 59{ 60 while (count--) { 61 __raw_writel(*(u32 *)addr, port); 62 addr += 4; 63 } 64} 65 66#endif /* __KERNEL__ */ 67 68#endif /* __ASM_PARISC_IDE_H */