ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[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 static inline int ide_default_irq(unsigned long base)
24 {
25         switch (base) {
26                 case 0x1f0: return 14;
27                 case 0x170: return 15;
28                 case 0x1e8: return 11;
29                 case 0x168: return 10;
30                 case 0x1e0: return 8;
31                 case 0x160: return 12;
32                 default:
33                         return 0;
34         }
35 }
36
37 static inline unsigned long ide_default_io_base(int index)
38 {
39         switch (index) {
40                 case 0: return 0x1f0;
41                 case 1: return 0x170;
42                 case 2: return 0x1e8;
43                 case 3: return 0x168;
44                 case 4: return 0x1e0;
45                 case 5: return 0x160;
46                 default:
47                         return 0;
48         }
49 }
50
51 #ifdef CONFIG_BLK_DEV_IDEPCI
52 #define ide_init_default_irq(base)      (0)
53 #else
54 #define ide_init_default_irq(base)      ide_default_irq(base)
55 #endif
56
57 #endif /* __ASM_MACH_GENERIC_IDE_H */