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