Merge branch 'fixes-davem' of master.kernel.org:/pub/scm/linux/kernel/git/linville...
[linux-2.6] / include / asm-m32r / ide.h
1 #ifndef _ASM_M32R_IDE_H
2 #define _ASM_M32R_IDE_H
3
4 /*
5  *  linux/include/asm-m32r/ide.h
6  *
7  *  Copyright (C) 1994-1996  Linus Torvalds & authors
8  */
9
10 /*
11  *  This file contains the i386 architecture specific IDE code.
12  */
13
14 #ifdef __KERNEL__
15
16 #include <asm/m32r.h>
17
18 #ifndef MAX_HWIFS
19 # ifdef CONFIG_BLK_DEV_IDEPCI
20 #define MAX_HWIFS       10
21 # else
22 #define MAX_HWIFS       2
23 # endif
24 #endif
25
26 #define IDE_ARCH_OBSOLETE_DEFAULTS
27
28 static __inline__ int ide_default_irq(unsigned long base)
29 {
30         switch (base) {
31 #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) \
32         || defined(CONFIG_PLAT_OPSPUT)
33                 case 0x1f0: return PLD_IRQ_CFIREQ;
34                 default:
35                         return 0;
36 #elif defined(CONFIG_PLAT_MAPPI3)
37                 case 0x1f0: return PLD_IRQ_CFIREQ;
38                 case 0x170: return PLD_IRQ_IDEIREQ;
39                 default:
40                         return 0;
41 #else
42                 case 0x1f0: return 14;
43                 case 0x170: return 15;
44                 case 0x1e8: return 11;
45                 case 0x168: return 10;
46                 case 0x1e0: return 8;
47                 case 0x160: return 12;
48                 default:
49                         return 0;
50 #endif
51         }
52 }
53
54 static __inline__ unsigned long ide_default_io_base(int index)
55 {
56         switch (index) {
57                 case 0: return 0x1f0;
58                 case 1: return 0x170;
59                 case 2: return 0x1e8;
60                 case 3: return 0x168;
61                 case 4: return 0x1e0;
62                 case 5: return 0x160;
63                 default:
64                         return 0;
65         }
66 }
67
68 #define IDE_ARCH_OBSOLETE_INIT
69 #define ide_default_io_ctl(base)        ((base) + 0x206) /* obsolete */
70
71 #ifdef CONFIG_BLK_DEV_IDEPCI
72 #define ide_init_default_irq(base)     (0)
73 #else
74 #define ide_init_default_irq(base)     ide_default_irq(base)
75 #endif
76
77 #include <asm-generic/ide_iops.h>
78
79 #endif /* __KERNEL__ */
80
81 #endif /* _ASM_M32R_IDE_H */