patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-mips / mach-generic / ide.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * IDE routines for typical pc-like legacy IDE configurations.
7  *
8  * Copyright (C) 1998, 1999, 2001, 2003 by Ralf Baechle
9  */
10 #ifndef __ASM_MACH_GENERIC_IDE_H
11 #define __ASM_MACH_GENERIC_IDE_H
12
13 #include <linux/config.h>
14
15 #ifndef MAX_HWIFS
16 # ifdef CONFIG_BLK_DEV_IDEPCI
17 #define MAX_HWIFS       10
18 # else
19 #define MAX_HWIFS       6
20 # endif
21 #endif
22
23 #define IDE_ARCH_OBSOLETE_DEFAULTS
24
25 static inline int ide_default_irq(unsigned long base)
26 {
27         switch (base) {
28                 case 0x1f0: return 14;
29                 case 0x170: return 15;
30                 case 0x1e8: return 11;
31                 case 0x168: return 10;
32                 case 0x1e0: return 8;
33                 case 0x160: return 12;
34                 default:
35                         return 0;
36         }
37 }
38
39 static inline unsigned long ide_default_io_base(int index)
40 {
41         switch (index) {
42                 case 0: return 0x1f0;
43                 case 1: return 0x170;
44                 case 2: return 0x1e8;
45                 case 3: return 0x168;
46                 case 4: return 0x1e0;
47                 case 5: return 0x160;
48                 default:
49                         return 0;
50         }
51 }
52
53 #define IDE_ARCH_OBSOLETE_INIT
54 #define ide_default_io_ctl(base)        ((base) + 0x206) /* obsolete */
55
56 #ifdef CONFIG_BLK_DEV_IDEPCI
57 #define ide_init_default_irq(base)      (0)
58 #else
59 #define ide_init_default_irq(base)      ide_default_irq(base)
60 #endif
61
62 #endif /* __ASM_MACH_GENERIC_IDE_H */