1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  Copyright (C) 1994-1996  Linus Torvalds & authors
4  */
5 
6 /* Copyright(c) 1996 Kars de Jong */
7 /* Based on the ide driver from 1.2.13pl8 */
8 
9 /*
10  * Credits (alphabetical):
11  *
12  *  - Bjoern Brauel
13  *  - Kars de Jong
14  *  - Torsten Ebeling
15  *  - Dwight Engen
16  *  - Thorsten Floeck
17  *  - Roman Hodek
18  *  - Guenther Kelleter
19  *  - Chris Lawrence
20  *  - Michael Rausch
21  *  - Christian Sauer
22  *  - Michael Schmitz
23  *  - Jes Soerensen
24  *  - Michael Thurm
25  *  - Geert Uytterhoeven
26  */
27 
28 #ifndef _M68K_IDE_H
29 #define _M68K_IDE_H
30 
31 #ifdef __KERNEL__
32 #include <asm/setup.h>
33 #include <asm/io.h>
34 #include <asm/irq.h>
35 
36 #ifdef CONFIG_MMU
37 
38 /*
39  * Get rid of defs from io.h - ide has its private and conflicting versions
40  * Since so far no single m68k platform uses ISA/PCI I/O space for IDE, we
41  * always use the `raw' MMIO versions
42  */
43 #undef readb
44 #undef readw
45 #undef writeb
46 #undef writew
47 
48 #define readb				in_8
49 #define readw				in_be16
50 #define __ide_mm_insw(port, addr, n)	raw_insw((u16 *)port, addr, n)
51 #define __ide_mm_insl(port, addr, n)	raw_insl((u32 *)port, addr, n)
52 #define writeb(val, port)		out_8(port, val)
53 #define writew(val, port)		out_be16(port, val)
54 #define __ide_mm_outsw(port, addr, n)	raw_outsw((u16 *)port, addr, n)
55 #define __ide_mm_outsl(port, addr, n)	raw_outsl((u32 *)port, addr, n)
56 
57 #else
58 
59 #define __ide_mm_insw(port, addr, n)	io_insw((unsigned int)port, addr, n)
60 #define __ide_mm_insl(port, addr, n)	io_insl((unsigned int)port, addr, n)
61 #define __ide_mm_outsw(port, addr, n)	io_outsw((unsigned int)port, addr, n)
62 #define __ide_mm_outsl(port, addr, n)	io_outsl((unsigned int)port, addr, n)
63 
64 #endif /* CONFIG_MMU */
65 
66 #endif /* __KERNEL__ */
67 #endif /* _M68K_IDE_H */
68