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