Commit 4465461ece2b9249d6c0cf57bc0002100823e361
1 parent
52913ab2c6
ide: merge ide_arm and ide_generic host drivers
There is no need for a separate ide_arm host driver nowadays so merge it into ide_generic one. While at it: - return -EBUSY from ide_generic_init() if I/O resources are busy - scale down ide_generic_check_pci_legacy_iobases() for CONFIG_PCI=n Cc: Russell King <rmk@arm.linux.org.uk> Cc: Alexander Schulz <alex@shark-linux.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Showing 4 changed files with 15 additions and 66 deletions Inline Diff
drivers/ide/Kconfig
1 | # | 1 | # |
2 | # IDE ATA ATAPI Block device driver configuration | 2 | # IDE ATA ATAPI Block device driver configuration |
3 | # | 3 | # |
4 | 4 | ||
5 | # Select HAVE_IDE if IDE is supported | 5 | # Select HAVE_IDE if IDE is supported |
6 | config HAVE_IDE | 6 | config HAVE_IDE |
7 | bool | 7 | bool |
8 | 8 | ||
9 | menuconfig IDE | 9 | menuconfig IDE |
10 | tristate "ATA/ATAPI/MFM/RLL support" | 10 | tristate "ATA/ATAPI/MFM/RLL support" |
11 | depends on HAVE_IDE | 11 | depends on HAVE_IDE |
12 | depends on BLOCK | 12 | depends on BLOCK |
13 | ---help--- | 13 | ---help--- |
14 | If you say Y here, your kernel will be able to manage low cost mass | 14 | If you say Y here, your kernel will be able to manage low cost mass |
15 | storage units such as ATA/(E)IDE and ATAPI units. The most common | 15 | storage units such as ATA/(E)IDE and ATAPI units. The most common |
16 | cases are IDE hard drives and ATAPI CD-ROM drives. | 16 | cases are IDE hard drives and ATAPI CD-ROM drives. |
17 | 17 | ||
18 | If your system is pure SCSI and doesn't use these interfaces, you | 18 | If your system is pure SCSI and doesn't use these interfaces, you |
19 | can say N here. | 19 | can say N here. |
20 | 20 | ||
21 | Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard | 21 | Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard |
22 | for mass storage units such as hard disks. It was designed by | 22 | for mass storage units such as hard disks. It was designed by |
23 | Western Digital and Compaq Computer in 1984. It was then named | 23 | Western Digital and Compaq Computer in 1984. It was then named |
24 | ST506. Quite a number of disks use the IDE interface. | 24 | ST506. Quite a number of disks use the IDE interface. |
25 | 25 | ||
26 | AT Attachment (ATA) is the superset of the IDE specifications. | 26 | AT Attachment (ATA) is the superset of the IDE specifications. |
27 | ST506 was also called ATA-1. | 27 | ST506 was also called ATA-1. |
28 | 28 | ||
29 | Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is | 29 | Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is |
30 | ATA-3. It provides support for larger disks (up to 8.4GB by means of | 30 | ATA-3. It provides support for larger disks (up to 8.4GB by means of |
31 | the LBA standard), more disks (4 instead of 2) and for other mass | 31 | the LBA standard), more disks (4 instead of 2) and for other mass |
32 | storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is | 32 | storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is |
33 | ATA-4 and provides faster (and more CPU friendly) transfer modes | 33 | ATA-4 and provides faster (and more CPU friendly) transfer modes |
34 | than previous PIO (Programmed processor Input/Output) from previous | 34 | than previous PIO (Programmed processor Input/Output) from previous |
35 | ATA/IDE standards by means of fast DMA controllers. | 35 | ATA/IDE standards by means of fast DMA controllers. |
36 | 36 | ||
37 | ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and | 37 | ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and |
38 | CD-ROM drives, similar in many respects to the SCSI protocol. | 38 | CD-ROM drives, similar in many respects to the SCSI protocol. |
39 | 39 | ||
40 | SMART IDE (Self Monitoring, Analysis and Reporting Technology) was | 40 | SMART IDE (Self Monitoring, Analysis and Reporting Technology) was |
41 | designed in order to prevent data corruption and disk crash by | 41 | designed in order to prevent data corruption and disk crash by |
42 | detecting pre hardware failure conditions (heat, access time, and | 42 | detecting pre hardware failure conditions (heat, access time, and |
43 | the like...). Disks built since June 1995 may follow this standard. | 43 | the like...). Disks built since June 1995 may follow this standard. |
44 | The kernel itself doesn't manage this; however there are quite a | 44 | The kernel itself doesn't manage this; however there are quite a |
45 | number of user programs such as smart that can query the status of | 45 | number of user programs such as smart that can query the status of |
46 | SMART parameters from disk drives. | 46 | SMART parameters from disk drives. |
47 | 47 | ||
48 | To compile this driver as a module, choose M here: the | 48 | To compile this driver as a module, choose M here: the |
49 | module will be called ide-core.ko. | 49 | module will be called ide-core.ko. |
50 | 50 | ||
51 | For further information, please read <file:Documentation/ide/ide.txt>. | 51 | For further information, please read <file:Documentation/ide/ide.txt>. |
52 | 52 | ||
53 | If unsure, say Y. | 53 | If unsure, say Y. |
54 | 54 | ||
55 | if IDE | 55 | if IDE |
56 | 56 | ||
57 | comment "Please see Documentation/ide/ide.txt for help/info on IDE drives" | 57 | comment "Please see Documentation/ide/ide.txt for help/info on IDE drives" |
58 | 58 | ||
59 | config IDE_XFER_MODE | 59 | config IDE_XFER_MODE |
60 | bool | 60 | bool |
61 | 61 | ||
62 | config IDE_TIMINGS | 62 | config IDE_TIMINGS |
63 | bool | 63 | bool |
64 | select IDE_XFER_MODE | 64 | select IDE_XFER_MODE |
65 | 65 | ||
66 | config IDE_ATAPI | 66 | config IDE_ATAPI |
67 | bool | 67 | bool |
68 | 68 | ||
69 | config IDE_LEGACY | 69 | config IDE_LEGACY |
70 | bool | 70 | bool |
71 | 71 | ||
72 | config BLK_DEV_IDE_SATA | 72 | config BLK_DEV_IDE_SATA |
73 | bool "Support for SATA (deprecated; conflicts with libata SATA driver)" | 73 | bool "Support for SATA (deprecated; conflicts with libata SATA driver)" |
74 | default n | 74 | default n |
75 | ---help--- | 75 | ---help--- |
76 | There are two drivers for Serial ATA controllers. | 76 | There are two drivers for Serial ATA controllers. |
77 | 77 | ||
78 | The main driver, "libata", uses the SCSI subsystem | 78 | The main driver, "libata", uses the SCSI subsystem |
79 | and supports most modern SATA controllers. In order to use it | 79 | and supports most modern SATA controllers. In order to use it |
80 | you may take a look at "Serial ATA (prod) and Parallel ATA | 80 | you may take a look at "Serial ATA (prod) and Parallel ATA |
81 | (experimental) drivers". | 81 | (experimental) drivers". |
82 | 82 | ||
83 | The IDE driver (which you are currently configuring) supports | 83 | The IDE driver (which you are currently configuring) supports |
84 | a few first-generation SATA controllers. | 84 | a few first-generation SATA controllers. |
85 | 85 | ||
86 | In order to eliminate conflicts between the two subsystems, | 86 | In order to eliminate conflicts between the two subsystems, |
87 | this config option enables the IDE driver's SATA support. | 87 | this config option enables the IDE driver's SATA support. |
88 | Normally this is disabled, as it is preferred that libata | 88 | Normally this is disabled, as it is preferred that libata |
89 | supports SATA controllers, and this (IDE) driver supports | 89 | supports SATA controllers, and this (IDE) driver supports |
90 | PATA controllers. | 90 | PATA controllers. |
91 | 91 | ||
92 | If unsure, say N. | 92 | If unsure, say N. |
93 | 93 | ||
94 | config IDE_GD | 94 | config IDE_GD |
95 | tristate "generic ATA/ATAPI disk support" | 95 | tristate "generic ATA/ATAPI disk support" |
96 | default y | 96 | default y |
97 | help | 97 | help |
98 | Support for ATA/ATAPI disks (including ATAPI floppy drives). | 98 | Support for ATA/ATAPI disks (including ATAPI floppy drives). |
99 | 99 | ||
100 | To compile this driver as a module, choose M here. | 100 | To compile this driver as a module, choose M here. |
101 | The module will be called ide-gd_mod. | 101 | The module will be called ide-gd_mod. |
102 | 102 | ||
103 | If unsure, say Y. | 103 | If unsure, say Y. |
104 | 104 | ||
105 | config IDE_GD_ATA | 105 | config IDE_GD_ATA |
106 | bool "ATA disk support" | 106 | bool "ATA disk support" |
107 | depends on IDE_GD | 107 | depends on IDE_GD |
108 | default y | 108 | default y |
109 | help | 109 | help |
110 | This will include support for ATA hard disks. | 110 | This will include support for ATA hard disks. |
111 | 111 | ||
112 | If unsure, say Y. | 112 | If unsure, say Y. |
113 | 113 | ||
114 | config IDE_GD_ATAPI | 114 | config IDE_GD_ATAPI |
115 | bool "ATAPI floppy support" | 115 | bool "ATAPI floppy support" |
116 | depends on IDE_GD | 116 | depends on IDE_GD |
117 | select IDE_ATAPI | 117 | select IDE_ATAPI |
118 | help | 118 | help |
119 | This will include support for ATAPI floppy drives | 119 | This will include support for ATAPI floppy drives |
120 | (i.e. Iomega ZIP or MKE LS-120). | 120 | (i.e. Iomega ZIP or MKE LS-120). |
121 | 121 | ||
122 | For information about jumper settings and the question | 122 | For information about jumper settings and the question |
123 | of when a ZIP drive uses a partition table, see | 123 | of when a ZIP drive uses a partition table, see |
124 | <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>. | 124 | <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>. |
125 | 125 | ||
126 | If unsure, say N. | 126 | If unsure, say N. |
127 | 127 | ||
128 | config BLK_DEV_IDECS | 128 | config BLK_DEV_IDECS |
129 | tristate "PCMCIA IDE support" | 129 | tristate "PCMCIA IDE support" |
130 | depends on PCMCIA | 130 | depends on PCMCIA |
131 | help | 131 | help |
132 | Support for Compact Flash cards, outboard IDE disks, tape drives, | 132 | Support for Compact Flash cards, outboard IDE disks, tape drives, |
133 | and CD-ROM drives connected through a PCMCIA card. | 133 | and CD-ROM drives connected through a PCMCIA card. |
134 | 134 | ||
135 | config BLK_DEV_DELKIN | 135 | config BLK_DEV_DELKIN |
136 | tristate "Cardbus IDE support (Delkin/ASKA/Workbit)" | 136 | tristate "Cardbus IDE support (Delkin/ASKA/Workbit)" |
137 | depends on CARDBUS && PCI | 137 | depends on CARDBUS && PCI |
138 | help | 138 | help |
139 | Support for Delkin, ASKA, and Workbit Cardbus CompactFlash | 139 | Support for Delkin, ASKA, and Workbit Cardbus CompactFlash |
140 | Adapters. This may also work for similar SD and XD adapters. | 140 | Adapters. This may also work for similar SD and XD adapters. |
141 | 141 | ||
142 | config BLK_DEV_IDECD | 142 | config BLK_DEV_IDECD |
143 | tristate "Include IDE/ATAPI CDROM support" | 143 | tristate "Include IDE/ATAPI CDROM support" |
144 | select IDE_ATAPI | 144 | select IDE_ATAPI |
145 | ---help--- | 145 | ---help--- |
146 | If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is | 146 | If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is |
147 | a newer protocol used by IDE CD-ROM and TAPE drives, similar to the | 147 | a newer protocol used by IDE CD-ROM and TAPE drives, similar to the |
148 | SCSI protocol. Most new CD-ROM drives use ATAPI, including the | 148 | SCSI protocol. Most new CD-ROM drives use ATAPI, including the |
149 | NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI | 149 | NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI |
150 | double(2X) or better speed drives. | 150 | double(2X) or better speed drives. |
151 | 151 | ||
152 | If you say Y here, the CD-ROM drive will be identified at boot time | 152 | If you say Y here, the CD-ROM drive will be identified at boot time |
153 | along with other IDE devices, as "hdb" or "hdc", or something | 153 | along with other IDE devices, as "hdb" or "hdc", or something |
154 | similar (check the boot messages with dmesg). If this is your only | 154 | similar (check the boot messages with dmesg). If this is your only |
155 | CD-ROM drive, you can say N to all other CD-ROM options, but be sure | 155 | CD-ROM drive, you can say N to all other CD-ROM options, but be sure |
156 | to say Y or M to "ISO 9660 CD-ROM file system support". | 156 | to say Y or M to "ISO 9660 CD-ROM file system support". |
157 | 157 | ||
158 | To compile this driver as a module, choose M here: the | 158 | To compile this driver as a module, choose M here: the |
159 | module will be called ide-cd. | 159 | module will be called ide-cd. |
160 | 160 | ||
161 | config BLK_DEV_IDECD_VERBOSE_ERRORS | 161 | config BLK_DEV_IDECD_VERBOSE_ERRORS |
162 | bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED | 162 | bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED |
163 | depends on BLK_DEV_IDECD | 163 | depends on BLK_DEV_IDECD |
164 | default y | 164 | default y |
165 | help | 165 | help |
166 | Turn this on to have the driver print out the meanings of the | 166 | Turn this on to have the driver print out the meanings of the |
167 | ATAPI error codes. This will use up additional 8kB of kernel-space | 167 | ATAPI error codes. This will use up additional 8kB of kernel-space |
168 | memory, though. | 168 | memory, though. |
169 | 169 | ||
170 | config BLK_DEV_IDETAPE | 170 | config BLK_DEV_IDETAPE |
171 | tristate "Include IDE/ATAPI TAPE support" | 171 | tristate "Include IDE/ATAPI TAPE support" |
172 | select IDE_ATAPI | 172 | select IDE_ATAPI |
173 | help | 173 | help |
174 | If you have an IDE tape drive using the ATAPI protocol, say Y. | 174 | If you have an IDE tape drive using the ATAPI protocol, say Y. |
175 | ATAPI is a newer protocol used by IDE tape and CD-ROM drives, | 175 | ATAPI is a newer protocol used by IDE tape and CD-ROM drives, |
176 | similar to the SCSI protocol. If you have an SCSI tape drive | 176 | similar to the SCSI protocol. If you have an SCSI tape drive |
177 | however, you can say N here. | 177 | however, you can say N here. |
178 | 178 | ||
179 | You should also say Y if you have an OnStream DI-30 tape drive; this | 179 | You should also say Y if you have an OnStream DI-30 tape drive; this |
180 | will not work with the SCSI protocol, until there is support for the | 180 | will not work with the SCSI protocol, until there is support for the |
181 | SC-30 and SC-50 versions. | 181 | SC-30 and SC-50 versions. |
182 | 182 | ||
183 | If you say Y here, the tape drive will be identified at boot time | 183 | If you say Y here, the tape drive will be identified at boot time |
184 | along with other IDE devices, as "hdb" or "hdc", or something | 184 | along with other IDE devices, as "hdb" or "hdc", or something |
185 | similar, and will be mapped to a character device such as "ht0" | 185 | similar, and will be mapped to a character device such as "ht0" |
186 | (check the boot messages with dmesg). Be sure to consult the | 186 | (check the boot messages with dmesg). Be sure to consult the |
187 | <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt> | 187 | <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt> |
188 | files for usage information. | 188 | files for usage information. |
189 | 189 | ||
190 | To compile this driver as a module, choose M here: the | 190 | To compile this driver as a module, choose M here: the |
191 | module will be called ide-tape. | 191 | module will be called ide-tape. |
192 | 192 | ||
193 | config BLK_DEV_IDEACPI | 193 | config BLK_DEV_IDEACPI |
194 | bool "IDE ACPI support" | 194 | bool "IDE ACPI support" |
195 | depends on ACPI | 195 | depends on ACPI |
196 | ---help--- | 196 | ---help--- |
197 | Implement ACPI support for generic IDE devices. On modern | 197 | Implement ACPI support for generic IDE devices. On modern |
198 | machines ACPI support is required to properly handle ACPI S3 states. | 198 | machines ACPI support is required to properly handle ACPI S3 states. |
199 | 199 | ||
200 | config IDE_TASK_IOCTL | 200 | config IDE_TASK_IOCTL |
201 | bool "IDE Taskfile Access" | 201 | bool "IDE Taskfile Access" |
202 | help | 202 | help |
203 | This is a direct raw access to the media. It is a complex but | 203 | This is a direct raw access to the media. It is a complex but |
204 | elegant solution to test and validate the domain of the hardware and | 204 | elegant solution to test and validate the domain of the hardware and |
205 | perform below the driver data recovery if needed. This is the most | 205 | perform below the driver data recovery if needed. This is the most |
206 | basic form of media-forensics. | 206 | basic form of media-forensics. |
207 | 207 | ||
208 | If you are unsure, say N here. | 208 | If you are unsure, say N here. |
209 | 209 | ||
210 | config IDE_PROC_FS | 210 | config IDE_PROC_FS |
211 | bool "legacy /proc/ide/ support" | 211 | bool "legacy /proc/ide/ support" |
212 | depends on IDE && PROC_FS | 212 | depends on IDE && PROC_FS |
213 | default y | 213 | default y |
214 | help | 214 | help |
215 | This option enables support for the various files in | 215 | This option enables support for the various files in |
216 | /proc/ide. In Linux 2.6 this has been superseded by | 216 | /proc/ide. In Linux 2.6 this has been superseded by |
217 | files in sysfs but many legacy applications rely on this. | 217 | files in sysfs but many legacy applications rely on this. |
218 | 218 | ||
219 | If unsure say Y. | 219 | If unsure say Y. |
220 | 220 | ||
221 | comment "IDE chipset support/bugfixes" | 221 | comment "IDE chipset support/bugfixes" |
222 | 222 | ||
223 | config IDE_GENERIC | 223 | config IDE_GENERIC |
224 | tristate "generic/default IDE chipset support" | 224 | tristate "generic/default IDE chipset support" |
225 | depends on ALPHA || X86 || IA64 || M32R || MIPS | 225 | depends on ALPHA || X86 || IA64 || M32R || MIPS || ARCH_RPC || ARCH_SHARK |
226 | default ARM && (ARCH_RPC || ARCH_SHARK) | ||
226 | help | 227 | help |
227 | This is the generic IDE driver. This driver attaches to the | 228 | This is the generic IDE driver. This driver attaches to the |
228 | fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and | 229 | fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and |
229 | so on). Please note that if this driver is built into the | 230 | so on). Please note that if this driver is built into the |
230 | kernel or loaded before other ATA (IDE or libata) drivers | 231 | kernel or loaded before other ATA (IDE or libata) drivers |
231 | and the controller is located at legacy ports, this driver | 232 | and the controller is located at legacy ports, this driver |
232 | may grab those ports and thus can prevent the controller | 233 | may grab those ports and thus can prevent the controller |
233 | specific driver from attaching. | 234 | specific driver from attaching. |
234 | 235 | ||
235 | Also, currently, IDE generic doesn't allow IRQ sharing | 236 | Also, currently, IDE generic doesn't allow IRQ sharing |
236 | meaning that the IRQs it grabs won't be available to other | 237 | meaning that the IRQs it grabs won't be available to other |
237 | controllers sharing those IRQs which usually makes drivers | 238 | controllers sharing those IRQs which usually makes drivers |
238 | for those controllers fail. Generally, it's not a good idea | 239 | for those controllers fail. Generally, it's not a good idea |
239 | to load IDE generic driver on modern systems. | 240 | to load IDE generic driver on modern systems. |
240 | 241 | ||
241 | If unsure, say N. | 242 | If unsure, say N. |
242 | 243 | ||
243 | config BLK_DEV_PLATFORM | 244 | config BLK_DEV_PLATFORM |
244 | tristate "Platform driver for IDE interfaces" | 245 | tristate "Platform driver for IDE interfaces" |
245 | help | 246 | help |
246 | This is the platform IDE driver, used mostly for Memory Mapped | 247 | This is the platform IDE driver, used mostly for Memory Mapped |
247 | IDE devices, like Compact Flashes running in True IDE mode. | 248 | IDE devices, like Compact Flashes running in True IDE mode. |
248 | 249 | ||
249 | If unsure, say N. | 250 | If unsure, say N. |
250 | 251 | ||
251 | config BLK_DEV_CMD640 | 252 | config BLK_DEV_CMD640 |
252 | tristate "CMD640 chipset bugfix/support" | 253 | tristate "CMD640 chipset bugfix/support" |
253 | depends on X86 | 254 | depends on X86 |
254 | select IDE_TIMINGS | 255 | select IDE_TIMINGS |
255 | ---help--- | 256 | ---help--- |
256 | The CMD-Technologies CMD640 IDE chip is used on many common 486 and | 257 | The CMD-Technologies CMD640 IDE chip is used on many common 486 and |
257 | Pentium motherboards, usually in combination with a "Neptune" or | 258 | Pentium motherboards, usually in combination with a "Neptune" or |
258 | "SiS" chipset. Unfortunately, it has a number of rather nasty | 259 | "SiS" chipset. Unfortunately, it has a number of rather nasty |
259 | design flaws that can cause severe data corruption under many common | 260 | design flaws that can cause severe data corruption under many common |
260 | conditions. Say Y here to include code which tries to automatically | 261 | conditions. Say Y here to include code which tries to automatically |
261 | detect and correct the problems under Linux. This option also | 262 | detect and correct the problems under Linux. This option also |
262 | enables access to the secondary IDE ports in some CMD640 based | 263 | enables access to the secondary IDE ports in some CMD640 based |
263 | systems. | 264 | systems. |
264 | 265 | ||
265 | This driver will work automatically in PCI based systems (most new | 266 | This driver will work automatically in PCI based systems (most new |
266 | systems have PCI slots). But if your system uses VESA local bus | 267 | systems have PCI slots). But if your system uses VESA local bus |
267 | (VLB) instead of PCI, you must also supply a kernel boot parameter | 268 | (VLB) instead of PCI, you must also supply a kernel boot parameter |
268 | to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man | 269 | to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man |
269 | bootparam" or see the documentation of your boot loader about how to | 270 | bootparam" or see the documentation of your boot loader about how to |
270 | pass options to the kernel.) | 271 | pass options to the kernel.) |
271 | 272 | ||
272 | The CMD640 chip is also used on add-in cards by Acculogic, and on | 273 | The CMD640 chip is also used on add-in cards by Acculogic, and on |
273 | the "CSA-6400E PCI to IDE controller" that some people have. For | 274 | the "CSA-6400E PCI to IDE controller" that some people have. For |
274 | details, read <file:Documentation/ide/ide.txt>. | 275 | details, read <file:Documentation/ide/ide.txt>. |
275 | 276 | ||
276 | config BLK_DEV_CMD640_ENHANCED | 277 | config BLK_DEV_CMD640_ENHANCED |
277 | bool "CMD640 enhanced support" | 278 | bool "CMD640 enhanced support" |
278 | depends on BLK_DEV_CMD640 | 279 | depends on BLK_DEV_CMD640 |
279 | help | 280 | help |
280 | This option includes support for setting/autotuning PIO modes and | 281 | This option includes support for setting/autotuning PIO modes and |
281 | prefetch on CMD640 IDE interfaces. For details, read | 282 | prefetch on CMD640 IDE interfaces. For details, read |
282 | <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface | 283 | <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface |
283 | and your BIOS does not already do this for you, then say Y here. | 284 | and your BIOS does not already do this for you, then say Y here. |
284 | Otherwise say N. | 285 | Otherwise say N. |
285 | 286 | ||
286 | config BLK_DEV_IDEPNP | 287 | config BLK_DEV_IDEPNP |
287 | tristate "PNP EIDE support" | 288 | tristate "PNP EIDE support" |
288 | depends on PNP | 289 | depends on PNP |
289 | help | 290 | help |
290 | If you have a PnP (Plug and Play) compatible EIDE card and | 291 | If you have a PnP (Plug and Play) compatible EIDE card and |
291 | would like the kernel to automatically detect and activate | 292 | would like the kernel to automatically detect and activate |
292 | it, say Y here. | 293 | it, say Y here. |
293 | 294 | ||
294 | config BLK_DEV_IDEDMA_SFF | 295 | config BLK_DEV_IDEDMA_SFF |
295 | bool | 296 | bool |
296 | 297 | ||
297 | if PCI | 298 | if PCI |
298 | 299 | ||
299 | comment "PCI IDE chipsets support" | 300 | comment "PCI IDE chipsets support" |
300 | 301 | ||
301 | config BLK_DEV_IDEPCI | 302 | config BLK_DEV_IDEPCI |
302 | bool | 303 | bool |
303 | 304 | ||
304 | config IDEPCI_PCIBUS_ORDER | 305 | config IDEPCI_PCIBUS_ORDER |
305 | bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)" | 306 | bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)" |
306 | depends on IDE=y && BLK_DEV_IDEPCI | 307 | depends on IDE=y && BLK_DEV_IDEPCI |
307 | default y | 308 | default y |
308 | help | 309 | help |
309 | Probe IDE PCI devices in the order in which they appear on the | 310 | Probe IDE PCI devices in the order in which they appear on the |
310 | PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device) | 311 | PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device) |
311 | instead of the order in which IDE PCI host drivers are loaded. | 312 | instead of the order in which IDE PCI host drivers are loaded. |
312 | 313 | ||
313 | Please note that this method of assuring stable naming of | 314 | Please note that this method of assuring stable naming of |
314 | IDE devices is unreliable and use other means for achieving | 315 | IDE devices is unreliable and use other means for achieving |
315 | it (i.e. udev). | 316 | it (i.e. udev). |
316 | 317 | ||
317 | If in doubt, say N. | 318 | If in doubt, say N. |
318 | 319 | ||
319 | # TODO: split it on per host driver config options (or module parameters) | 320 | # TODO: split it on per host driver config options (or module parameters) |
320 | config BLK_DEV_OFFBOARD | 321 | config BLK_DEV_OFFBOARD |
321 | bool "Boot off-board chipsets first support (DEPRECATED)" | 322 | bool "Boot off-board chipsets first support (DEPRECATED)" |
322 | depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001) | 323 | depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001) |
323 | help | 324 | help |
324 | Normally, IDE controllers built into the motherboard (on-board | 325 | Normally, IDE controllers built into the motherboard (on-board |
325 | controllers) are assigned to ide0 and ide1 while those on add-in PCI | 326 | controllers) are assigned to ide0 and ide1 while those on add-in PCI |
326 | cards (off-board controllers) are relegated to ide2 and ide3. | 327 | cards (off-board controllers) are relegated to ide2 and ide3. |
327 | Answering Y here will allow you to reverse the situation, with | 328 | Answering Y here will allow you to reverse the situation, with |
328 | off-board controllers on ide0/1 and on-board controllers on ide2/3. | 329 | off-board controllers on ide0/1 and on-board controllers on ide2/3. |
329 | This can improve the usability of some boot managers such as lilo | 330 | This can improve the usability of some boot managers such as lilo |
330 | when booting from a drive on an off-board controller. | 331 | when booting from a drive on an off-board controller. |
331 | 332 | ||
332 | Note that, if you do this, the order of the hd* devices will be | 333 | Note that, if you do this, the order of the hd* devices will be |
333 | rearranged which may require modification of fstab and other files. | 334 | rearranged which may require modification of fstab and other files. |
334 | 335 | ||
335 | Please also note that this method of assuring stable naming of | 336 | Please also note that this method of assuring stable naming of |
336 | IDE devices is unreliable and use other means for achieving it | 337 | IDE devices is unreliable and use other means for achieving it |
337 | (i.e. udev). | 338 | (i.e. udev). |
338 | 339 | ||
339 | If in doubt, say N. | 340 | If in doubt, say N. |
340 | 341 | ||
341 | config BLK_DEV_GENERIC | 342 | config BLK_DEV_GENERIC |
342 | tristate "Generic PCI IDE Chipset Support" | 343 | tristate "Generic PCI IDE Chipset Support" |
343 | select BLK_DEV_IDEPCI | 344 | select BLK_DEV_IDEPCI |
344 | help | 345 | help |
345 | This option provides generic support for various PCI IDE Chipsets | 346 | This option provides generic support for various PCI IDE Chipsets |
346 | which otherwise might not be supported. | 347 | which otherwise might not be supported. |
347 | 348 | ||
348 | config BLK_DEV_OPTI621 | 349 | config BLK_DEV_OPTI621 |
349 | tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)" | 350 | tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)" |
350 | depends on EXPERIMENTAL | 351 | depends on EXPERIMENTAL |
351 | select BLK_DEV_IDEPCI | 352 | select BLK_DEV_IDEPCI |
352 | help | 353 | help |
353 | This is a driver for the OPTi 82C621 EIDE controller. | 354 | This is a driver for the OPTi 82C621 EIDE controller. |
354 | Please read the comments at the top of <file:drivers/ide/pci/opti621.c>. | 355 | Please read the comments at the top of <file:drivers/ide/pci/opti621.c>. |
355 | 356 | ||
356 | config BLK_DEV_RZ1000 | 357 | config BLK_DEV_RZ1000 |
357 | tristate "RZ1000 chipset bugfix/support" | 358 | tristate "RZ1000 chipset bugfix/support" |
358 | depends on X86 | 359 | depends on X86 |
359 | select BLK_DEV_IDEPCI | 360 | select BLK_DEV_IDEPCI |
360 | help | 361 | help |
361 | The PC-Technologies RZ1000 IDE chip is used on many common 486 and | 362 | The PC-Technologies RZ1000 IDE chip is used on many common 486 and |
362 | Pentium motherboards, usually along with the "Neptune" chipset. | 363 | Pentium motherboards, usually along with the "Neptune" chipset. |
363 | Unfortunately, it has a rather nasty design flaw that can cause | 364 | Unfortunately, it has a rather nasty design flaw that can cause |
364 | severe data corruption under many conditions. Say Y here to include | 365 | severe data corruption under many conditions. Say Y here to include |
365 | code which automatically detects and corrects the problem under | 366 | code which automatically detects and corrects the problem under |
366 | Linux. This may slow disk throughput by a few percent, but at least | 367 | Linux. This may slow disk throughput by a few percent, but at least |
367 | things will operate 100% reliably. | 368 | things will operate 100% reliably. |
368 | 369 | ||
369 | config BLK_DEV_IDEDMA_PCI | 370 | config BLK_DEV_IDEDMA_PCI |
370 | bool | 371 | bool |
371 | select BLK_DEV_IDEPCI | 372 | select BLK_DEV_IDEPCI |
372 | select BLK_DEV_IDEDMA_SFF | 373 | select BLK_DEV_IDEDMA_SFF |
373 | 374 | ||
374 | config BLK_DEV_AEC62XX | 375 | config BLK_DEV_AEC62XX |
375 | tristate "AEC62XX chipset support" | 376 | tristate "AEC62XX chipset support" |
376 | select BLK_DEV_IDEDMA_PCI | 377 | select BLK_DEV_IDEDMA_PCI |
377 | help | 378 | help |
378 | This driver adds explicit support for Acard AEC62xx (Artop ATP8xx) | 379 | This driver adds explicit support for Acard AEC62xx (Artop ATP8xx) |
379 | IDE controllers. This allows the kernel to change PIO, DMA and UDMA | 380 | IDE controllers. This allows the kernel to change PIO, DMA and UDMA |
380 | speeds and to configure the chip to optimum performance. | 381 | speeds and to configure the chip to optimum performance. |
381 | 382 | ||
382 | config BLK_DEV_ALI15X3 | 383 | config BLK_DEV_ALI15X3 |
383 | tristate "ALI M15x3 chipset support" | 384 | tristate "ALI M15x3 chipset support" |
384 | select IDE_TIMINGS | 385 | select IDE_TIMINGS |
385 | select BLK_DEV_IDEDMA_PCI | 386 | select BLK_DEV_IDEDMA_PCI |
386 | help | 387 | help |
387 | This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C | 388 | This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C |
388 | onboard chipsets. It also tests for Simplex mode and enables | 389 | onboard chipsets. It also tests for Simplex mode and enables |
389 | normal dual channel support. | 390 | normal dual channel support. |
390 | 391 | ||
391 | Please read the comments at the top of | 392 | Please read the comments at the top of |
392 | <file:drivers/ide/pci/alim15x3.c>. | 393 | <file:drivers/ide/pci/alim15x3.c>. |
393 | 394 | ||
394 | If unsure, say N. | 395 | If unsure, say N. |
395 | 396 | ||
396 | config BLK_DEV_AMD74XX | 397 | config BLK_DEV_AMD74XX |
397 | tristate "AMD and nVidia IDE support" | 398 | tristate "AMD and nVidia IDE support" |
398 | depends on !ARM | 399 | depends on !ARM |
399 | select IDE_TIMINGS | 400 | select IDE_TIMINGS |
400 | select BLK_DEV_IDEDMA_PCI | 401 | select BLK_DEV_IDEDMA_PCI |
401 | help | 402 | help |
402 | This driver adds explicit support for AMD-7xx and AMD-8111 chips | 403 | This driver adds explicit support for AMD-7xx and AMD-8111 chips |
403 | and also for the nVidia nForce chip. This allows the kernel to | 404 | and also for the nVidia nForce chip. This allows the kernel to |
404 | change PIO, DMA and UDMA speeds and to configure the chip to | 405 | change PIO, DMA and UDMA speeds and to configure the chip to |
405 | optimum performance. | 406 | optimum performance. |
406 | 407 | ||
407 | config BLK_DEV_ATIIXP | 408 | config BLK_DEV_ATIIXP |
408 | tristate "ATI IXP chipset IDE support" | 409 | tristate "ATI IXP chipset IDE support" |
409 | depends on X86 | 410 | depends on X86 |
410 | select BLK_DEV_IDEDMA_PCI | 411 | select BLK_DEV_IDEDMA_PCI |
411 | help | 412 | help |
412 | This driver adds explicit support for ATI IXP chipset. | 413 | This driver adds explicit support for ATI IXP chipset. |
413 | This allows the kernel to change PIO, DMA and UDMA speeds | 414 | This allows the kernel to change PIO, DMA and UDMA speeds |
414 | and to configure the chip to optimum performance. | 415 | and to configure the chip to optimum performance. |
415 | 416 | ||
416 | Say Y here if you have an ATI IXP chipset IDE controller. | 417 | Say Y here if you have an ATI IXP chipset IDE controller. |
417 | 418 | ||
418 | config BLK_DEV_CMD64X | 419 | config BLK_DEV_CMD64X |
419 | tristate "CMD64{3|6|8|9} chipset support" | 420 | tristate "CMD64{3|6|8|9} chipset support" |
420 | select IDE_TIMINGS | 421 | select IDE_TIMINGS |
421 | select BLK_DEV_IDEDMA_PCI | 422 | select BLK_DEV_IDEDMA_PCI |
422 | help | 423 | help |
423 | Say Y here if you have an IDE controller which uses any of these | 424 | Say Y here if you have an IDE controller which uses any of these |
424 | chipsets: CMD643, CMD646, or CMD648. | 425 | chipsets: CMD643, CMD646, or CMD648. |
425 | 426 | ||
426 | config BLK_DEV_TRIFLEX | 427 | config BLK_DEV_TRIFLEX |
427 | tristate "Compaq Triflex IDE support" | 428 | tristate "Compaq Triflex IDE support" |
428 | select BLK_DEV_IDEDMA_PCI | 429 | select BLK_DEV_IDEDMA_PCI |
429 | help | 430 | help |
430 | Say Y here if you have a Compaq Triflex IDE controller, such | 431 | Say Y here if you have a Compaq Triflex IDE controller, such |
431 | as those commonly found on Compaq Pentium-Pro systems | 432 | as those commonly found on Compaq Pentium-Pro systems |
432 | 433 | ||
433 | config BLK_DEV_CY82C693 | 434 | config BLK_DEV_CY82C693 |
434 | tristate "CY82C693 chipset support" | 435 | tristate "CY82C693 chipset support" |
435 | depends on ALPHA | 436 | depends on ALPHA |
436 | select IDE_TIMINGS | 437 | select IDE_TIMINGS |
437 | select BLK_DEV_IDEDMA_PCI | 438 | select BLK_DEV_IDEDMA_PCI |
438 | help | 439 | help |
439 | This driver adds detection and support for the CY82C693 chipset | 440 | This driver adds detection and support for the CY82C693 chipset |
440 | used on Digital's PC-Alpha 164SX boards. | 441 | used on Digital's PC-Alpha 164SX boards. |
441 | 442 | ||
442 | config BLK_DEV_CS5520 | 443 | config BLK_DEV_CS5520 |
443 | tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)" | 444 | tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)" |
444 | depends on EXPERIMENTAL | 445 | depends on EXPERIMENTAL |
445 | select BLK_DEV_IDEDMA_PCI | 446 | select BLK_DEV_IDEDMA_PCI |
446 | help | 447 | help |
447 | Include support for PIO tuning and virtual DMA on the Cyrix MediaGX | 448 | Include support for PIO tuning and virtual DMA on the Cyrix MediaGX |
448 | 5510/5520 chipset. This will automatically be detected and | 449 | 5510/5520 chipset. This will automatically be detected and |
449 | configured if found. | 450 | configured if found. |
450 | 451 | ||
451 | It is safe to say Y to this question. | 452 | It is safe to say Y to this question. |
452 | 453 | ||
453 | config BLK_DEV_CS5530 | 454 | config BLK_DEV_CS5530 |
454 | tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support" | 455 | tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support" |
455 | select BLK_DEV_IDEDMA_PCI | 456 | select BLK_DEV_IDEDMA_PCI |
456 | help | 457 | help |
457 | Include support for UDMA on the Cyrix MediaGX 5530 chipset. This | 458 | Include support for UDMA on the Cyrix MediaGX 5530 chipset. This |
458 | will automatically be detected and configured if found. | 459 | will automatically be detected and configured if found. |
459 | 460 | ||
460 | It is safe to say Y to this question. | 461 | It is safe to say Y to this question. |
461 | 462 | ||
462 | config BLK_DEV_CS5535 | 463 | config BLK_DEV_CS5535 |
463 | tristate "AMD CS5535 chipset support" | 464 | tristate "AMD CS5535 chipset support" |
464 | depends on X86 && !X86_64 | 465 | depends on X86 && !X86_64 |
465 | select BLK_DEV_IDEDMA_PCI | 466 | select BLK_DEV_IDEDMA_PCI |
466 | help | 467 | help |
467 | Include support for UDMA on the NSC/AMD CS5535 companion chipset. | 468 | Include support for UDMA on the NSC/AMD CS5535 companion chipset. |
468 | This will automatically be detected and configured if found. | 469 | This will automatically be detected and configured if found. |
469 | 470 | ||
470 | It is safe to say Y to this question. | 471 | It is safe to say Y to this question. |
471 | 472 | ||
472 | config BLK_DEV_CS5536 | 473 | config BLK_DEV_CS5536 |
473 | tristate "CS5536 chipset support" | 474 | tristate "CS5536 chipset support" |
474 | depends on X86_32 | 475 | depends on X86_32 |
475 | select BLK_DEV_IDEDMA_PCI | 476 | select BLK_DEV_IDEDMA_PCI |
476 | help | 477 | help |
477 | This option enables support for the AMD CS5536 | 478 | This option enables support for the AMD CS5536 |
478 | companion chip used with the Geode LX processor family. | 479 | companion chip used with the Geode LX processor family. |
479 | 480 | ||
480 | If unsure, say N. | 481 | If unsure, say N. |
481 | 482 | ||
482 | config BLK_DEV_HPT366 | 483 | config BLK_DEV_HPT366 |
483 | tristate "HPT36X/37X chipset support" | 484 | tristate "HPT36X/37X chipset support" |
484 | select BLK_DEV_IDEDMA_PCI | 485 | select BLK_DEV_IDEDMA_PCI |
485 | help | 486 | help |
486 | HPT366 is an Ultra DMA chipset for ATA-66. | 487 | HPT366 is an Ultra DMA chipset for ATA-66. |
487 | HPT368 is an Ultra DMA chipset for ATA-66 RAID Based. | 488 | HPT368 is an Ultra DMA chipset for ATA-66 RAID Based. |
488 | HPT370 is an Ultra DMA chipset for ATA-100. | 489 | HPT370 is an Ultra DMA chipset for ATA-100. |
489 | HPT372 is an Ultra DMA chipset for ATA-100. | 490 | HPT372 is an Ultra DMA chipset for ATA-100. |
490 | HPT374 is an Ultra DMA chipset for ATA-100. | 491 | HPT374 is an Ultra DMA chipset for ATA-100. |
491 | 492 | ||
492 | This driver adds up to 4 more EIDE devices sharing a single | 493 | This driver adds up to 4 more EIDE devices sharing a single |
493 | interrupt. | 494 | interrupt. |
494 | 495 | ||
495 | The HPT366 chipset in its current form is bootable. One solution | 496 | The HPT366 chipset in its current form is bootable. One solution |
496 | for this problem are special LILO commands for redirecting the | 497 | for this problem are special LILO commands for redirecting the |
497 | reference to device 0x80. The other solution is to say Y to "Boot | 498 | reference to device 0x80. The other solution is to say Y to "Boot |
498 | off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless | 499 | off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless |
499 | your mother board has the chipset natively mounted. Regardless one | 500 | your mother board has the chipset natively mounted. Regardless one |
500 | should use the fore mentioned option and call at LILO. | 501 | should use the fore mentioned option and call at LILO. |
501 | 502 | ||
502 | This driver requires dynamic tuning of the chipset during the | 503 | This driver requires dynamic tuning of the chipset during the |
503 | ide-probe at boot. It is reported to support DVD II drives, by the | 504 | ide-probe at boot. It is reported to support DVD II drives, by the |
504 | manufacturer. | 505 | manufacturer. |
505 | 506 | ||
506 | config BLK_DEV_JMICRON | 507 | config BLK_DEV_JMICRON |
507 | tristate "JMicron JMB36x support" | 508 | tristate "JMicron JMB36x support" |
508 | select BLK_DEV_IDEDMA_PCI | 509 | select BLK_DEV_IDEDMA_PCI |
509 | help | 510 | help |
510 | Basic support for the JMicron ATA controllers. For full support | 511 | Basic support for the JMicron ATA controllers. For full support |
511 | use the libata drivers. | 512 | use the libata drivers. |
512 | 513 | ||
513 | config BLK_DEV_SC1200 | 514 | config BLK_DEV_SC1200 |
514 | tristate "National SCx200 chipset support" | 515 | tristate "National SCx200 chipset support" |
515 | select BLK_DEV_IDEDMA_PCI | 516 | select BLK_DEV_IDEDMA_PCI |
516 | help | 517 | help |
517 | This driver adds support for the on-board IDE controller on the | 518 | This driver adds support for the on-board IDE controller on the |
518 | National SCx200 series of embedded x86 "Geode" systems. | 519 | National SCx200 series of embedded x86 "Geode" systems. |
519 | 520 | ||
520 | config BLK_DEV_PIIX | 521 | config BLK_DEV_PIIX |
521 | tristate "Intel PIIX/ICH chipsets support" | 522 | tristate "Intel PIIX/ICH chipsets support" |
522 | select BLK_DEV_IDEDMA_PCI | 523 | select BLK_DEV_IDEDMA_PCI |
523 | help | 524 | help |
524 | This driver adds explicit support for Intel PIIX and ICH chips. | 525 | This driver adds explicit support for Intel PIIX and ICH chips. |
525 | This allows the kernel to change PIO, DMA and UDMA speeds and to | 526 | This allows the kernel to change PIO, DMA and UDMA speeds and to |
526 | configure the chip to optimum performance. | 527 | configure the chip to optimum performance. |
527 | 528 | ||
528 | config BLK_DEV_IT8172 | 529 | config BLK_DEV_IT8172 |
529 | tristate "IT8172 IDE support" | 530 | tristate "IT8172 IDE support" |
530 | select BLK_DEV_IDEDMA_PCI | 531 | select BLK_DEV_IDEDMA_PCI |
531 | help | 532 | help |
532 | This driver adds support for the IDE controller on the | 533 | This driver adds support for the IDE controller on the |
533 | IT8172 System Controller. | 534 | IT8172 System Controller. |
534 | 535 | ||
535 | config BLK_DEV_IT8213 | 536 | config BLK_DEV_IT8213 |
536 | tristate "IT8213 IDE support" | 537 | tristate "IT8213 IDE support" |
537 | select BLK_DEV_IDEDMA_PCI | 538 | select BLK_DEV_IDEDMA_PCI |
538 | help | 539 | help |
539 | This driver adds support for the ITE 8213 IDE controller. | 540 | This driver adds support for the ITE 8213 IDE controller. |
540 | 541 | ||
541 | config BLK_DEV_IT821X | 542 | config BLK_DEV_IT821X |
542 | tristate "IT821X IDE support" | 543 | tristate "IT821X IDE support" |
543 | select BLK_DEV_IDEDMA_PCI | 544 | select BLK_DEV_IDEDMA_PCI |
544 | help | 545 | help |
545 | This driver adds support for the ITE 8211 IDE controller and the | 546 | This driver adds support for the ITE 8211 IDE controller and the |
546 | IT 8212 IDE RAID controller in both RAID and pass-through mode. | 547 | IT 8212 IDE RAID controller in both RAID and pass-through mode. |
547 | 548 | ||
548 | config BLK_DEV_NS87415 | 549 | config BLK_DEV_NS87415 |
549 | tristate "NS87415 chipset support" | 550 | tristate "NS87415 chipset support" |
550 | select BLK_DEV_IDEDMA_PCI | 551 | select BLK_DEV_IDEDMA_PCI |
551 | help | 552 | help |
552 | This driver adds detection and support for the NS87415 chip | 553 | This driver adds detection and support for the NS87415 chip |
553 | (used mainly on SPARC64 and PA-RISC machines). | 554 | (used mainly on SPARC64 and PA-RISC machines). |
554 | 555 | ||
555 | Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>. | 556 | Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>. |
556 | 557 | ||
557 | config BLK_DEV_PDC202XX_OLD | 558 | config BLK_DEV_PDC202XX_OLD |
558 | tristate "PROMISE PDC202{46|62|65|67} support" | 559 | tristate "PROMISE PDC202{46|62|65|67} support" |
559 | select BLK_DEV_IDEDMA_PCI | 560 | select BLK_DEV_IDEDMA_PCI |
560 | help | 561 | help |
561 | Promise Ultra33 or PDC20246 | 562 | Promise Ultra33 or PDC20246 |
562 | Promise Ultra66 or PDC20262 | 563 | Promise Ultra66 or PDC20262 |
563 | Promise Ultra100 or PDC20265/PDC20267/PDC20268 | 564 | Promise Ultra100 or PDC20265/PDC20267/PDC20268 |
564 | 565 | ||
565 | This driver adds up to 4 more EIDE devices sharing a single | 566 | This driver adds up to 4 more EIDE devices sharing a single |
566 | interrupt. This add-on card is a bootable PCI UDMA controller. Since | 567 | interrupt. This add-on card is a bootable PCI UDMA controller. Since |
567 | multiple cards can be installed and there are BIOS ROM problems that | 568 | multiple cards can be installed and there are BIOS ROM problems that |
568 | happen if the BIOS revisions of all installed cards (three-max) do | 569 | happen if the BIOS revisions of all installed cards (three-max) do |
569 | not match, the driver attempts to do dynamic tuning of the chipset | 570 | not match, the driver attempts to do dynamic tuning of the chipset |
570 | at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required | 571 | at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required |
571 | for more than one card. | 572 | for more than one card. |
572 | 573 | ||
573 | Please read the comments at the top of | 574 | Please read the comments at the top of |
574 | <file:drivers/ide/pci/pdc202xx_old.c>. | 575 | <file:drivers/ide/pci/pdc202xx_old.c>. |
575 | 576 | ||
576 | If unsure, say N. | 577 | If unsure, say N. |
577 | 578 | ||
578 | config BLK_DEV_PDC202XX_NEW | 579 | config BLK_DEV_PDC202XX_NEW |
579 | tristate "PROMISE PDC202{68|69|70|71|75|76|77} support" | 580 | tristate "PROMISE PDC202{68|69|70|71|75|76|77} support" |
580 | select BLK_DEV_IDEDMA_PCI | 581 | select BLK_DEV_IDEDMA_PCI |
581 | 582 | ||
582 | config BLK_DEV_SVWKS | 583 | config BLK_DEV_SVWKS |
583 | tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support" | 584 | tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support" |
584 | select BLK_DEV_IDEDMA_PCI | 585 | select BLK_DEV_IDEDMA_PCI |
585 | help | 586 | help |
586 | This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5 | 587 | This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5 |
587 | chipsets. | 588 | chipsets. |
588 | 589 | ||
589 | config BLK_DEV_SGIIOC4 | 590 | config BLK_DEV_SGIIOC4 |
590 | tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support" | 591 | tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support" |
591 | depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4 | 592 | depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4 |
592 | select BLK_DEV_IDEDMA_PCI | 593 | select BLK_DEV_IDEDMA_PCI |
593 | help | 594 | help |
594 | This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4 | 595 | This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4 |
595 | chipset, which has one channel and can support two devices. | 596 | chipset, which has one channel and can support two devices. |
596 | Please say Y here if you have an Altix System from SGI. | 597 | Please say Y here if you have an Altix System from SGI. |
597 | 598 | ||
598 | config BLK_DEV_SIIMAGE | 599 | config BLK_DEV_SIIMAGE |
599 | tristate "Silicon Image chipset support" | 600 | tristate "Silicon Image chipset support" |
600 | select BLK_DEV_IDEDMA_PCI | 601 | select BLK_DEV_IDEDMA_PCI |
601 | help | 602 | help |
602 | This driver adds PIO/(U)DMA support for the SI CMD680 and SII | 603 | This driver adds PIO/(U)DMA support for the SI CMD680 and SII |
603 | 3112 (Serial ATA) chips. | 604 | 3112 (Serial ATA) chips. |
604 | 605 | ||
605 | config BLK_DEV_SIS5513 | 606 | config BLK_DEV_SIS5513 |
606 | tristate "SiS5513 chipset support" | 607 | tristate "SiS5513 chipset support" |
607 | depends on X86 | 608 | depends on X86 |
608 | select BLK_DEV_IDEDMA_PCI | 609 | select BLK_DEV_IDEDMA_PCI |
609 | help | 610 | help |
610 | This driver ensures (U)DMA support for SIS5513 chipset family based | 611 | This driver ensures (U)DMA support for SIS5513 chipset family based |
611 | mainboards. | 612 | mainboards. |
612 | 613 | ||
613 | The following chipsets are supported: | 614 | The following chipsets are supported: |
614 | ATA16: SiS5511, SiS5513 | 615 | ATA16: SiS5511, SiS5513 |
615 | ATA33: SiS5591, SiS5597, SiS5598, SiS5600 | 616 | ATA33: SiS5591, SiS5597, SiS5598, SiS5600 |
616 | ATA66: SiS530, SiS540, SiS620, SiS630, SiS640 | 617 | ATA66: SiS530, SiS540, SiS620, SiS630, SiS640 |
617 | ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740, | 618 | ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740, |
618 | SiS745, SiS750 | 619 | SiS745, SiS750 |
619 | 620 | ||
620 | Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>. | 621 | Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>. |
621 | 622 | ||
622 | config BLK_DEV_SL82C105 | 623 | config BLK_DEV_SL82C105 |
623 | tristate "Winbond SL82c105 support" | 624 | tristate "Winbond SL82c105 support" |
624 | depends on (PPC || ARM) | 625 | depends on (PPC || ARM) |
625 | select IDE_TIMINGS | 626 | select IDE_TIMINGS |
626 | select BLK_DEV_IDEDMA_PCI | 627 | select BLK_DEV_IDEDMA_PCI |
627 | help | 628 | help |
628 | If you have a Winbond SL82c105 IDE controller, say Y here to enable | 629 | If you have a Winbond SL82c105 IDE controller, say Y here to enable |
629 | special configuration for this chip. This is common on various CHRP | 630 | special configuration for this chip. This is common on various CHRP |
630 | motherboards, but could be used elsewhere. If in doubt, say Y. | 631 | motherboards, but could be used elsewhere. If in doubt, say Y. |
631 | 632 | ||
632 | config BLK_DEV_SLC90E66 | 633 | config BLK_DEV_SLC90E66 |
633 | tristate "SLC90E66 chipset support" | 634 | tristate "SLC90E66 chipset support" |
634 | select BLK_DEV_IDEDMA_PCI | 635 | select BLK_DEV_IDEDMA_PCI |
635 | help | 636 | help |
636 | This driver ensures (U)DMA support for Victory66 SouthBridges for | 637 | This driver ensures (U)DMA support for Victory66 SouthBridges for |
637 | SMsC with Intel NorthBridges. This is an Ultra66 based chipset. | 638 | SMsC with Intel NorthBridges. This is an Ultra66 based chipset. |
638 | The nice thing about it is that you can mix Ultra/DMA/PIO devices | 639 | The nice thing about it is that you can mix Ultra/DMA/PIO devices |
639 | and it will handle timing cycles. Since this is an improved | 640 | and it will handle timing cycles. Since this is an improved |
640 | look-a-like to the PIIX4 it should be a nice addition. | 641 | look-a-like to the PIIX4 it should be a nice addition. |
641 | 642 | ||
642 | Please read the comments at the top of | 643 | Please read the comments at the top of |
643 | <file:drivers/ide/pci/slc90e66.c>. | 644 | <file:drivers/ide/pci/slc90e66.c>. |
644 | 645 | ||
645 | config BLK_DEV_TRM290 | 646 | config BLK_DEV_TRM290 |
646 | tristate "Tekram TRM290 chipset support" | 647 | tristate "Tekram TRM290 chipset support" |
647 | select BLK_DEV_IDEDMA_PCI | 648 | select BLK_DEV_IDEDMA_PCI |
648 | help | 649 | help |
649 | This driver adds support for bus master DMA transfers | 650 | This driver adds support for bus master DMA transfers |
650 | using the Tekram TRM290 PCI IDE chip. Volunteers are | 651 | using the Tekram TRM290 PCI IDE chip. Volunteers are |
651 | needed for further tweaking and development. | 652 | needed for further tweaking and development. |
652 | Please read the comments at the top of <file:drivers/ide/pci/trm290.c>. | 653 | Please read the comments at the top of <file:drivers/ide/pci/trm290.c>. |
653 | 654 | ||
654 | config BLK_DEV_VIA82CXXX | 655 | config BLK_DEV_VIA82CXXX |
655 | tristate "VIA82CXXX chipset support" | 656 | tristate "VIA82CXXX chipset support" |
656 | select IDE_TIMINGS | 657 | select IDE_TIMINGS |
657 | select BLK_DEV_IDEDMA_PCI | 658 | select BLK_DEV_IDEDMA_PCI |
658 | help | 659 | help |
659 | This driver adds explicit support for VIA BusMastering IDE chips. | 660 | This driver adds explicit support for VIA BusMastering IDE chips. |
660 | This allows the kernel to change PIO, DMA and UDMA speeds and to | 661 | This allows the kernel to change PIO, DMA and UDMA speeds and to |
661 | configure the chip to optimum performance. | 662 | configure the chip to optimum performance. |
662 | 663 | ||
663 | config BLK_DEV_TC86C001 | 664 | config BLK_DEV_TC86C001 |
664 | tristate "Toshiba TC86C001 support" | 665 | tristate "Toshiba TC86C001 support" |
665 | select BLK_DEV_IDEDMA_PCI | 666 | select BLK_DEV_IDEDMA_PCI |
666 | help | 667 | help |
667 | This driver adds support for Toshiba TC86C001 GOKU-S chip. | 668 | This driver adds support for Toshiba TC86C001 GOKU-S chip. |
668 | 669 | ||
669 | config BLK_DEV_CELLEB | 670 | config BLK_DEV_CELLEB |
670 | tristate "Toshiba's Cell Reference Set IDE support" | 671 | tristate "Toshiba's Cell Reference Set IDE support" |
671 | depends on PPC_CELLEB | 672 | depends on PPC_CELLEB |
672 | select BLK_DEV_IDEDMA_PCI | 673 | select BLK_DEV_IDEDMA_PCI |
673 | help | 674 | help |
674 | This driver provides support for the on-board IDE controller on | 675 | This driver provides support for the on-board IDE controller on |
675 | Toshiba Cell Reference Board. | 676 | Toshiba Cell Reference Board. |
676 | If unsure, say Y. | 677 | If unsure, say Y. |
677 | 678 | ||
678 | endif | 679 | endif |
679 | 680 | ||
680 | # TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF | 681 | # TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF |
681 | config BLK_DEV_IDE_PMAC | 682 | config BLK_DEV_IDE_PMAC |
682 | tristate "PowerMac on-board IDE support" | 683 | tristate "PowerMac on-board IDE support" |
683 | depends on PPC_PMAC && IDE=y | 684 | depends on PPC_PMAC && IDE=y |
684 | select IDE_TIMINGS | 685 | select IDE_TIMINGS |
685 | select BLK_DEV_IDEDMA_PCI | 686 | select BLK_DEV_IDEDMA_PCI |
686 | help | 687 | help |
687 | This driver provides support for the on-board IDE controller on | 688 | This driver provides support for the on-board IDE controller on |
688 | most of the recent Apple Power Macintoshes and PowerBooks. | 689 | most of the recent Apple Power Macintoshes and PowerBooks. |
689 | If unsure, say Y. | 690 | If unsure, say Y. |
690 | 691 | ||
691 | config BLK_DEV_IDE_PMAC_ATA100FIRST | 692 | config BLK_DEV_IDE_PMAC_ATA100FIRST |
692 | bool "Probe on-board ATA/100 (Kauai) first" | 693 | bool "Probe on-board ATA/100 (Kauai) first" |
693 | depends on BLK_DEV_IDE_PMAC | 694 | depends on BLK_DEV_IDE_PMAC |
694 | help | 695 | help |
695 | This option will cause the ATA/100 controller found in UniNorth2 | 696 | This option will cause the ATA/100 controller found in UniNorth2 |
696 | based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...) | 697 | based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...) |
697 | to be probed before the ATA/66 and ATA/33 controllers. Without | 698 | to be probed before the ATA/66 and ATA/33 controllers. Without |
698 | these, those machine used to have the hard disk on hdc and the | 699 | these, those machine used to have the hard disk on hdc and the |
699 | CD-ROM on hda. This option changes this to more natural hda for | 700 | CD-ROM on hda. This option changes this to more natural hda for |
700 | hard disk and hdc for CD-ROM. | 701 | hard disk and hdc for CD-ROM. |
701 | 702 | ||
702 | config BLK_DEV_IDE_AU1XXX | 703 | config BLK_DEV_IDE_AU1XXX |
703 | bool "IDE for AMD Alchemy Au1200" | 704 | bool "IDE for AMD Alchemy Au1200" |
704 | depends on SOC_AU1200 | 705 | depends on SOC_AU1200 |
705 | select IDE_XFER_MODE | 706 | select IDE_XFER_MODE |
706 | choice | 707 | choice |
707 | prompt "IDE Mode for AMD Alchemy Au1200" | 708 | prompt "IDE Mode for AMD Alchemy Au1200" |
708 | default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA | 709 | default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA |
709 | depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX | 710 | depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX |
710 | 711 | ||
711 | config BLK_DEV_IDE_AU1XXX_PIO_DBDMA | 712 | config BLK_DEV_IDE_AU1XXX_PIO_DBDMA |
712 | bool "PIO+DbDMA IDE for AMD Alchemy Au1200" | 713 | bool "PIO+DbDMA IDE for AMD Alchemy Au1200" |
713 | 714 | ||
714 | config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA | 715 | config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA |
715 | bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200" | 716 | bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200" |
716 | depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX | 717 | depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX |
717 | endchoice | 718 | endchoice |
718 | 719 | ||
719 | config BLK_DEV_IDE_TX4938 | 720 | config BLK_DEV_IDE_TX4938 |
720 | tristate "TX4938 internal IDE support" | 721 | tristate "TX4938 internal IDE support" |
721 | depends on SOC_TX4938 | 722 | depends on SOC_TX4938 |
722 | select IDE_TIMINGS | 723 | select IDE_TIMINGS |
723 | 724 | ||
724 | config BLK_DEV_IDE_TX4939 | 725 | config BLK_DEV_IDE_TX4939 |
725 | tristate "TX4939 internal IDE support" | 726 | tristate "TX4939 internal IDE support" |
726 | depends on SOC_TX4939 | 727 | depends on SOC_TX4939 |
727 | select BLK_DEV_IDEDMA_SFF | 728 | select BLK_DEV_IDEDMA_SFF |
728 | 729 | ||
729 | config BLK_DEV_IDE_AT91 | 730 | config BLK_DEV_IDE_AT91 |
730 | tristate "Atmel AT91 (SAM9, CAP9, AT572D940HF) IDE support" | 731 | tristate "Atmel AT91 (SAM9, CAP9, AT572D940HF) IDE support" |
731 | depends on ARM && ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_AT91X40 | 732 | depends on ARM && ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_AT91X40 |
732 | select IDE_TIMINGS | 733 | select IDE_TIMINGS |
733 | |||
734 | config IDE_ARM | ||
735 | tristate "ARM IDE support" | ||
736 | depends on ARM && (ARCH_RPC || ARCH_SHARK) | ||
737 | default y | ||
738 | 734 | ||
739 | config BLK_DEV_IDE_ICSIDE | 735 | config BLK_DEV_IDE_ICSIDE |
740 | tristate "ICS IDE interface support" | 736 | tristate "ICS IDE interface support" |
741 | depends on ARM && ARCH_ACORN | 737 | depends on ARM && ARCH_ACORN |
742 | help | 738 | help |
743 | On Acorn systems, say Y here if you wish to use the ICS IDE | 739 | On Acorn systems, say Y here if you wish to use the ICS IDE |
744 | interface card. This is not required for ICS partition support. | 740 | interface card. This is not required for ICS partition support. |
745 | If you are unsure, say N to this. | 741 | If you are unsure, say N to this. |
746 | 742 | ||
747 | config BLK_DEV_IDEDMA_ICS | 743 | config BLK_DEV_IDEDMA_ICS |
748 | bool "ICS DMA support" | 744 | bool "ICS DMA support" |
749 | depends on BLK_DEV_IDE_ICSIDE | 745 | depends on BLK_DEV_IDE_ICSIDE |
750 | help | 746 | help |
751 | Say Y here if you want to add DMA (Direct Memory Access) support to | 747 | Say Y here if you want to add DMA (Direct Memory Access) support to |
752 | the ICS IDE driver. | 748 | the ICS IDE driver. |
753 | 749 | ||
754 | config BLK_DEV_IDE_RAPIDE | 750 | config BLK_DEV_IDE_RAPIDE |
755 | tristate "RapIDE interface support" | 751 | tristate "RapIDE interface support" |
756 | depends on ARM && ARCH_ACORN | 752 | depends on ARM && ARCH_ACORN |
757 | help | 753 | help |
758 | Say Y here if you want to support the Yellowstone RapIDE controller | 754 | Say Y here if you want to support the Yellowstone RapIDE controller |
759 | manufactured for use with Acorn computers. | 755 | manufactured for use with Acorn computers. |
760 | 756 | ||
761 | config IDE_H8300 | 757 | config IDE_H8300 |
762 | tristate "H8300 IDE support" | 758 | tristate "H8300 IDE support" |
763 | depends on H8300 | 759 | depends on H8300 |
764 | default y | 760 | default y |
765 | help | 761 | help |
766 | Enables the H8300 IDE driver. | 762 | Enables the H8300 IDE driver. |
767 | 763 | ||
768 | config BLK_DEV_GAYLE | 764 | config BLK_DEV_GAYLE |
769 | tristate "Amiga Gayle IDE interface support" | 765 | tristate "Amiga Gayle IDE interface support" |
770 | depends on AMIGA | 766 | depends on AMIGA |
771 | help | 767 | help |
772 | This is the IDE driver for the Amiga Gayle IDE interface. It supports | 768 | This is the IDE driver for the Amiga Gayle IDE interface. It supports |
773 | both the `A1200 style' and `A4000 style' of the Gayle IDE interface, | 769 | both the `A1200 style' and `A4000 style' of the Gayle IDE interface, |
774 | This includes on-board IDE interfaces on some Amiga models (A600, | 770 | This includes on-board IDE interfaces on some Amiga models (A600, |
775 | A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion | 771 | A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion |
776 | bus (M-Tech E-Matrix 530 expansion card). | 772 | bus (M-Tech E-Matrix 530 expansion card). |
777 | Say Y if you have an Amiga with a Gayle IDE interface and want to use | 773 | Say Y if you have an Amiga with a Gayle IDE interface and want to use |
778 | IDE devices (hard disks, CD-ROM drives, etc.) that are connected to | 774 | IDE devices (hard disks, CD-ROM drives, etc.) that are connected to |
779 | it. | 775 | it. |
780 | Note that you also have to enable Zorro bus support if you want to | 776 | Note that you also have to enable Zorro bus support if you want to |
781 | use Gayle IDE interfaces on the Zorro expansion bus. | 777 | use Gayle IDE interfaces on the Zorro expansion bus. |
782 | 778 | ||
783 | config BLK_DEV_IDEDOUBLER | 779 | config BLK_DEV_IDEDOUBLER |
784 | bool "Amiga IDE Doubler support (EXPERIMENTAL)" | 780 | bool "Amiga IDE Doubler support (EXPERIMENTAL)" |
785 | depends on BLK_DEV_GAYLE && EXPERIMENTAL | 781 | depends on BLK_DEV_GAYLE && EXPERIMENTAL |
786 | ---help--- | 782 | ---help--- |
787 | This feature provides support for the so-called `IDE doublers' (made | 783 | This feature provides support for the so-called `IDE doublers' (made |
788 | by various manufacturers, e.g. Eyetech) that can be connected to | 784 | by various manufacturers, e.g. Eyetech) that can be connected to |
789 | the on-board IDE interface of some Amiga models. Using such an IDE | 785 | the on-board IDE interface of some Amiga models. Using such an IDE |
790 | doubler, you can connect up to four instead of two IDE devices to | 786 | doubler, you can connect up to four instead of two IDE devices to |
791 | the Amiga's on-board IDE interface. | 787 | the Amiga's on-board IDE interface. |
792 | 788 | ||
793 | Note that the normal Amiga Gayle IDE driver may not work correctly | 789 | Note that the normal Amiga Gayle IDE driver may not work correctly |
794 | if you have an IDE doubler and don't enable this feature! | 790 | if you have an IDE doubler and don't enable this feature! |
795 | 791 | ||
796 | Say Y if you have an IDE doubler. The feature is enabled at kernel | 792 | Say Y if you have an IDE doubler. The feature is enabled at kernel |
797 | runtime using the "gayle.doubler" kernel boot parameter. | 793 | runtime using the "gayle.doubler" kernel boot parameter. |
798 | 794 | ||
799 | config BLK_DEV_BUDDHA | 795 | config BLK_DEV_BUDDHA |
800 | tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)" | 796 | tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)" |
801 | depends on ZORRO && EXPERIMENTAL | 797 | depends on ZORRO && EXPERIMENTAL |
802 | help | 798 | help |
803 | This is the IDE driver for the IDE interfaces on the Buddha, Catweasel | 799 | This is the IDE driver for the IDE interfaces on the Buddha, Catweasel |
804 | and X-Surf expansion boards. It supports up to two interfaces on the | 800 | and X-Surf expansion boards. It supports up to two interfaces on the |
805 | Buddha, three on the Catweasel and two on the X-Surf. | 801 | Buddha, three on the Catweasel and two on the X-Surf. |
806 | 802 | ||
807 | Say Y if you have a Buddha or Catweasel expansion board and want to | 803 | Say Y if you have a Buddha or Catweasel expansion board and want to |
808 | use IDE devices (hard disks, CD-ROM drives, etc.) that are connected | 804 | use IDE devices (hard disks, CD-ROM drives, etc.) that are connected |
809 | to one of its IDE interfaces. | 805 | to one of its IDE interfaces. |
810 | 806 | ||
811 | config BLK_DEV_FALCON_IDE | 807 | config BLK_DEV_FALCON_IDE |
812 | tristate "Falcon IDE interface support" | 808 | tristate "Falcon IDE interface support" |
813 | depends on ATARI | 809 | depends on ATARI |
814 | help | 810 | help |
815 | This is the IDE driver for the on-board IDE interface on the Atari | 811 | This is the IDE driver for the on-board IDE interface on the Atari |
816 | Falcon. Say Y if you have a Falcon and want to use IDE devices (hard | 812 | Falcon. Say Y if you have a Falcon and want to use IDE devices (hard |
817 | disks, CD-ROM drives, etc.) that are connected to the on-board IDE | 813 | disks, CD-ROM drives, etc.) that are connected to the on-board IDE |
818 | interface. | 814 | interface. |
819 | 815 | ||
820 | config BLK_DEV_MAC_IDE | 816 | config BLK_DEV_MAC_IDE |
821 | tristate "Macintosh Quadra/Powerbook IDE interface support" | 817 | tristate "Macintosh Quadra/Powerbook IDE interface support" |
822 | depends on MAC | 818 | depends on MAC |
823 | help | 819 | help |
824 | This is the IDE driver for the on-board IDE interface on some m68k | 820 | This is the IDE driver for the on-board IDE interface on some m68k |
825 | Macintosh models. It supports both the `Quadra style' (used in | 821 | Macintosh models. It supports both the `Quadra style' (used in |
826 | Quadra/ Centris 630 and Performa 588 models) and `Powerbook style' | 822 | Quadra/ Centris 630 and Performa 588 models) and `Powerbook style' |
827 | (used in the Powerbook 150 and 190 models) IDE interface. | 823 | (used in the Powerbook 150 and 190 models) IDE interface. |
828 | 824 | ||
829 | Say Y if you have such an Macintosh model and want to use IDE | 825 | Say Y if you have such an Macintosh model and want to use IDE |
830 | devices (hard disks, CD-ROM drives, etc.) that are connected to the | 826 | devices (hard disks, CD-ROM drives, etc.) that are connected to the |
831 | on-board IDE interface. | 827 | on-board IDE interface. |
832 | 828 | ||
833 | config BLK_DEV_Q40IDE | 829 | config BLK_DEV_Q40IDE |
834 | tristate "Q40/Q60 IDE interface support" | 830 | tristate "Q40/Q60 IDE interface support" |
835 | depends on Q40 | 831 | depends on Q40 |
836 | help | 832 | help |
837 | Enable the on-board IDE controller in the Q40/Q60. This should | 833 | Enable the on-board IDE controller in the Q40/Q60. This should |
838 | normally be on; disable it only if you are running a custom hard | 834 | normally be on; disable it only if you are running a custom hard |
839 | drive subsystem through an expansion card. | 835 | drive subsystem through an expansion card. |
840 | 836 | ||
841 | config BLK_DEV_PALMCHIP_BK3710 | 837 | config BLK_DEV_PALMCHIP_BK3710 |
842 | tristate "Palmchip bk3710 IDE controller support" | 838 | tristate "Palmchip bk3710 IDE controller support" |
843 | depends on ARCH_DAVINCI | 839 | depends on ARCH_DAVINCI |
844 | select IDE_TIMINGS | 840 | select IDE_TIMINGS |
845 | select BLK_DEV_IDEDMA_SFF | 841 | select BLK_DEV_IDEDMA_SFF |
846 | help | 842 | help |
847 | Say Y here if you want to support the onchip IDE controller on the | 843 | Say Y here if you want to support the onchip IDE controller on the |
848 | TI DaVinci SoC | 844 | TI DaVinci SoC |
849 | 845 | ||
850 | # no isa -> no vlb | 846 | # no isa -> no vlb |
851 | if ISA && (ALPHA || X86 || MIPS) | 847 | if ISA && (ALPHA || X86 || MIPS) |
852 | 848 | ||
853 | comment "Other IDE chipsets support" | 849 | comment "Other IDE chipsets support" |
854 | comment "Note: most of these also require special kernel boot parameters" | 850 | comment "Note: most of these also require special kernel boot parameters" |
855 | 851 | ||
856 | config BLK_DEV_4DRIVES | 852 | config BLK_DEV_4DRIVES |
857 | tristate "Generic 4 drives/port support" | 853 | tristate "Generic 4 drives/port support" |
858 | help | 854 | help |
859 | Certain older chipsets, including the Tekram 690CD, use a single set | 855 | Certain older chipsets, including the Tekram 690CD, use a single set |
860 | of I/O ports at 0x1f0 to control up to four drives, instead of the | 856 | of I/O ports at 0x1f0 to control up to four drives, instead of the |
861 | customary two drives per port. Support for this can be enabled at | 857 | customary two drives per port. Support for this can be enabled at |
862 | runtime using the "ide-4drives.probe" kernel boot parameter if you | 858 | runtime using the "ide-4drives.probe" kernel boot parameter if you |
863 | say Y here. | 859 | say Y here. |
864 | 860 | ||
865 | config BLK_DEV_ALI14XX | 861 | config BLK_DEV_ALI14XX |
866 | tristate "ALI M14xx support" | 862 | tristate "ALI M14xx support" |
867 | select IDE_TIMINGS | 863 | select IDE_TIMINGS |
868 | select IDE_LEGACY | 864 | select IDE_LEGACY |
869 | help | 865 | help |
870 | This driver is enabled at runtime using the "ali14xx.probe" kernel | 866 | This driver is enabled at runtime using the "ali14xx.probe" kernel |
871 | boot parameter. It enables support for the secondary IDE interface | 867 | boot parameter. It enables support for the secondary IDE interface |
872 | of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster | 868 | of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster |
873 | I/O speeds to be set as well. | 869 | I/O speeds to be set as well. |
874 | See the files <file:Documentation/ide/ide.txt> and | 870 | See the files <file:Documentation/ide/ide.txt> and |
875 | <file:drivers/ide/legacy/ali14xx.c> for more info. | 871 | <file:drivers/ide/legacy/ali14xx.c> for more info. |
876 | 872 | ||
877 | config BLK_DEV_DTC2278 | 873 | config BLK_DEV_DTC2278 |
878 | tristate "DTC-2278 support" | 874 | tristate "DTC-2278 support" |
879 | select IDE_XFER_MODE | 875 | select IDE_XFER_MODE |
880 | select IDE_LEGACY | 876 | select IDE_LEGACY |
881 | help | 877 | help |
882 | This driver is enabled at runtime using the "dtc2278.probe" kernel | 878 | This driver is enabled at runtime using the "dtc2278.probe" kernel |
883 | boot parameter. It enables support for the secondary IDE interface | 879 | boot parameter. It enables support for the secondary IDE interface |
884 | of the DTC-2278 card, and permits faster I/O speeds to be set as | 880 | of the DTC-2278 card, and permits faster I/O speeds to be set as |
885 | well. See the <file:Documentation/ide/ide.txt> and | 881 | well. See the <file:Documentation/ide/ide.txt> and |
886 | <file:drivers/ide/legacy/dtc2278.c> files for more info. | 882 | <file:drivers/ide/legacy/dtc2278.c> files for more info. |
887 | 883 | ||
888 | config BLK_DEV_HT6560B | 884 | config BLK_DEV_HT6560B |
889 | tristate "Holtek HT6560B support" | 885 | tristate "Holtek HT6560B support" |
890 | select IDE_TIMINGS | 886 | select IDE_TIMINGS |
891 | select IDE_LEGACY | 887 | select IDE_LEGACY |
892 | help | 888 | help |
893 | This driver is enabled at runtime using the "ht6560b.probe" kernel | 889 | This driver is enabled at runtime using the "ht6560b.probe" kernel |
894 | boot parameter. It enables support for the secondary IDE interface | 890 | boot parameter. It enables support for the secondary IDE interface |
895 | of the Holtek card, and permits faster I/O speeds to be set as well. | 891 | of the Holtek card, and permits faster I/O speeds to be set as well. |
896 | See the <file:Documentation/ide/ide.txt> and | 892 | See the <file:Documentation/ide/ide.txt> and |
897 | <file:drivers/ide/legacy/ht6560b.c> files for more info. | 893 | <file:drivers/ide/legacy/ht6560b.c> files for more info. |
898 | 894 | ||
899 | config BLK_DEV_QD65XX | 895 | config BLK_DEV_QD65XX |
900 | tristate "QDI QD65xx support" | 896 | tristate "QDI QD65xx support" |
901 | select IDE_TIMINGS | 897 | select IDE_TIMINGS |
902 | select IDE_LEGACY | 898 | select IDE_LEGACY |
903 | help | 899 | help |
904 | This driver is enabled at runtime using the "qd65xx.probe" kernel | 900 | This driver is enabled at runtime using the "qd65xx.probe" kernel |
905 | boot parameter. It permits faster I/O speeds to be set. See the | 901 | boot parameter. It permits faster I/O speeds to be set. See the |
906 | <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> | 902 | <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> |
907 | for more info. | 903 | for more info. |
908 | 904 | ||
909 | config BLK_DEV_UMC8672 | 905 | config BLK_DEV_UMC8672 |
910 | tristate "UMC-8672 support" | 906 | tristate "UMC-8672 support" |
911 | select IDE_XFER_MODE | 907 | select IDE_XFER_MODE |
912 | select IDE_LEGACY | 908 | select IDE_LEGACY |
913 | help | 909 | help |
914 | This driver is enabled at runtime using the "umc8672.probe" kernel | 910 | This driver is enabled at runtime using the "umc8672.probe" kernel |
915 | boot parameter. It enables support for the secondary IDE interface | 911 | boot parameter. It enables support for the secondary IDE interface |
916 | of the UMC-8672, and permits faster I/O speeds to be set as well. | 912 | of the UMC-8672, and permits faster I/O speeds to be set as well. |
917 | See the files <file:Documentation/ide/ide.txt> and | 913 | See the files <file:Documentation/ide/ide.txt> and |
918 | <file:drivers/ide/legacy/umc8672.c> for more info. | 914 | <file:drivers/ide/legacy/umc8672.c> for more info. |
919 | 915 | ||
920 | endif | 916 | endif |
921 | 917 | ||
922 | config BLK_DEV_IDEDMA | 918 | config BLK_DEV_IDEDMA |
923 | def_bool BLK_DEV_IDEDMA_SFF || \ | 919 | def_bool BLK_DEV_IDEDMA_SFF || \ |
924 | BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA | 920 | BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA |
925 | select IDE_XFER_MODE | 921 | select IDE_XFER_MODE |
926 | 922 | ||
927 | endif # IDE | 923 | endif # IDE |
drivers/ide/Makefile
1 | # | 1 | # |
2 | # link order is important here | 2 | # link order is important here |
3 | # | 3 | # |
4 | 4 | ||
5 | EXTRA_CFLAGS += -Idrivers/ide | 5 | EXTRA_CFLAGS += -Idrivers/ide |
6 | 6 | ||
7 | ide-core-y += ide.o ide-ioctls.o ide-io.o ide-iops.o ide-lib.o ide-probe.o \ | 7 | ide-core-y += ide.o ide-ioctls.o ide-io.o ide-iops.o ide-lib.o ide-probe.o \ |
8 | ide-taskfile.o ide-pm.o ide-park.o ide-sysfs.o ide-devsets.o \ | 8 | ide-taskfile.o ide-pm.o ide-park.o ide-sysfs.o ide-devsets.o \ |
9 | ide-io-std.o ide-eh.o | 9 | ide-io-std.o ide-eh.o |
10 | 10 | ||
11 | # core IDE code | 11 | # core IDE code |
12 | ide-core-$(CONFIG_IDE_XFER_MODE) += ide-pio-blacklist.o ide-xfer-mode.o | 12 | ide-core-$(CONFIG_IDE_XFER_MODE) += ide-pio-blacklist.o ide-xfer-mode.o |
13 | ide-core-$(CONFIG_IDE_TIMINGS) += ide-timings.o | 13 | ide-core-$(CONFIG_IDE_TIMINGS) += ide-timings.o |
14 | ide-core-$(CONFIG_IDE_ATAPI) += ide-atapi.o | 14 | ide-core-$(CONFIG_IDE_ATAPI) += ide-atapi.o |
15 | ide-core-$(CONFIG_BLK_DEV_IDEPCI) += setup-pci.o | 15 | ide-core-$(CONFIG_BLK_DEV_IDEPCI) += setup-pci.o |
16 | ide-core-$(CONFIG_BLK_DEV_IDEDMA) += ide-dma.o | 16 | ide-core-$(CONFIG_BLK_DEV_IDEDMA) += ide-dma.o |
17 | ide-core-$(CONFIG_BLK_DEV_IDEDMA_SFF) += ide-dma-sff.o | 17 | ide-core-$(CONFIG_BLK_DEV_IDEDMA_SFF) += ide-dma-sff.o |
18 | ide-core-$(CONFIG_IDE_PROC_FS) += ide-proc.o | 18 | ide-core-$(CONFIG_IDE_PROC_FS) += ide-proc.o |
19 | ide-core-$(CONFIG_BLK_DEV_IDEACPI) += ide-acpi.o | 19 | ide-core-$(CONFIG_BLK_DEV_IDEACPI) += ide-acpi.o |
20 | ide-core-$(CONFIG_IDE_LEGACY) += ide-legacy.o | 20 | ide-core-$(CONFIG_IDE_LEGACY) += ide-legacy.o |
21 | 21 | ||
22 | obj-$(CONFIG_IDE) += ide-core.o | 22 | obj-$(CONFIG_IDE) += ide-core.o |
23 | 23 | ||
24 | obj-$(CONFIG_IDE_ARM) += ide_arm.o | ||
25 | |||
26 | obj-$(CONFIG_BLK_DEV_ALI14XX) += ali14xx.o | 24 | obj-$(CONFIG_BLK_DEV_ALI14XX) += ali14xx.o |
27 | obj-$(CONFIG_BLK_DEV_UMC8672) += umc8672.o | 25 | obj-$(CONFIG_BLK_DEV_UMC8672) += umc8672.o |
28 | obj-$(CONFIG_BLK_DEV_DTC2278) += dtc2278.o | 26 | obj-$(CONFIG_BLK_DEV_DTC2278) += dtc2278.o |
29 | obj-$(CONFIG_BLK_DEV_HT6560B) += ht6560b.o | 27 | obj-$(CONFIG_BLK_DEV_HT6560B) += ht6560b.o |
30 | obj-$(CONFIG_BLK_DEV_QD65XX) += qd65xx.o | 28 | obj-$(CONFIG_BLK_DEV_QD65XX) += qd65xx.o |
31 | obj-$(CONFIG_BLK_DEV_4DRIVES) += ide-4drives.o | 29 | obj-$(CONFIG_BLK_DEV_4DRIVES) += ide-4drives.o |
32 | 30 | ||
33 | obj-$(CONFIG_BLK_DEV_GAYLE) += gayle.o | 31 | obj-$(CONFIG_BLK_DEV_GAYLE) += gayle.o |
34 | obj-$(CONFIG_BLK_DEV_FALCON_IDE) += falconide.o | 32 | obj-$(CONFIG_BLK_DEV_FALCON_IDE) += falconide.o |
35 | obj-$(CONFIG_BLK_DEV_MAC_IDE) += macide.o | 33 | obj-$(CONFIG_BLK_DEV_MAC_IDE) += macide.o |
36 | obj-$(CONFIG_BLK_DEV_Q40IDE) += q40ide.o | 34 | obj-$(CONFIG_BLK_DEV_Q40IDE) += q40ide.o |
37 | obj-$(CONFIG_BLK_DEV_BUDDHA) += buddha.o | 35 | obj-$(CONFIG_BLK_DEV_BUDDHA) += buddha.o |
38 | 36 | ||
39 | obj-$(CONFIG_BLK_DEV_AEC62XX) += aec62xx.o | 37 | obj-$(CONFIG_BLK_DEV_AEC62XX) += aec62xx.o |
40 | obj-$(CONFIG_BLK_DEV_ALI15X3) += alim15x3.o | 38 | obj-$(CONFIG_BLK_DEV_ALI15X3) += alim15x3.o |
41 | obj-$(CONFIG_BLK_DEV_AMD74XX) += amd74xx.o | 39 | obj-$(CONFIG_BLK_DEV_AMD74XX) += amd74xx.o |
42 | obj-$(CONFIG_BLK_DEV_ATIIXP) += atiixp.o | 40 | obj-$(CONFIG_BLK_DEV_ATIIXP) += atiixp.o |
43 | obj-$(CONFIG_BLK_DEV_CELLEB) += scc_pata.o | 41 | obj-$(CONFIG_BLK_DEV_CELLEB) += scc_pata.o |
44 | obj-$(CONFIG_BLK_DEV_CMD64X) += cmd64x.o | 42 | obj-$(CONFIG_BLK_DEV_CMD64X) += cmd64x.o |
45 | obj-$(CONFIG_BLK_DEV_CS5520) += cs5520.o | 43 | obj-$(CONFIG_BLK_DEV_CS5520) += cs5520.o |
46 | obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o | 44 | obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o |
47 | obj-$(CONFIG_BLK_DEV_CS5535) += cs5535.o | 45 | obj-$(CONFIG_BLK_DEV_CS5535) += cs5535.o |
48 | obj-$(CONFIG_BLK_DEV_CS5536) += cs5536.o | 46 | obj-$(CONFIG_BLK_DEV_CS5536) += cs5536.o |
49 | obj-$(CONFIG_BLK_DEV_SC1200) += sc1200.o | 47 | obj-$(CONFIG_BLK_DEV_SC1200) += sc1200.o |
50 | obj-$(CONFIG_BLK_DEV_CY82C693) += cy82c693.o | 48 | obj-$(CONFIG_BLK_DEV_CY82C693) += cy82c693.o |
51 | obj-$(CONFIG_BLK_DEV_DELKIN) += delkin_cb.o | 49 | obj-$(CONFIG_BLK_DEV_DELKIN) += delkin_cb.o |
52 | obj-$(CONFIG_BLK_DEV_HPT366) += hpt366.o | 50 | obj-$(CONFIG_BLK_DEV_HPT366) += hpt366.o |
53 | obj-$(CONFIG_BLK_DEV_IT8172) += it8172.o | 51 | obj-$(CONFIG_BLK_DEV_IT8172) += it8172.o |
54 | obj-$(CONFIG_BLK_DEV_IT8213) += it8213.o | 52 | obj-$(CONFIG_BLK_DEV_IT8213) += it8213.o |
55 | obj-$(CONFIG_BLK_DEV_IT821X) += it821x.o | 53 | obj-$(CONFIG_BLK_DEV_IT821X) += it821x.o |
56 | obj-$(CONFIG_BLK_DEV_JMICRON) += jmicron.o | 54 | obj-$(CONFIG_BLK_DEV_JMICRON) += jmicron.o |
57 | obj-$(CONFIG_BLK_DEV_NS87415) += ns87415.o | 55 | obj-$(CONFIG_BLK_DEV_NS87415) += ns87415.o |
58 | obj-$(CONFIG_BLK_DEV_OPTI621) += opti621.o | 56 | obj-$(CONFIG_BLK_DEV_OPTI621) += opti621.o |
59 | obj-$(CONFIG_BLK_DEV_PDC202XX_OLD) += pdc202xx_old.o | 57 | obj-$(CONFIG_BLK_DEV_PDC202XX_OLD) += pdc202xx_old.o |
60 | obj-$(CONFIG_BLK_DEV_PDC202XX_NEW) += pdc202xx_new.o | 58 | obj-$(CONFIG_BLK_DEV_PDC202XX_NEW) += pdc202xx_new.o |
61 | obj-$(CONFIG_BLK_DEV_PIIX) += piix.o | 59 | obj-$(CONFIG_BLK_DEV_PIIX) += piix.o |
62 | obj-$(CONFIG_BLK_DEV_RZ1000) += rz1000.o | 60 | obj-$(CONFIG_BLK_DEV_RZ1000) += rz1000.o |
63 | obj-$(CONFIG_BLK_DEV_SVWKS) += serverworks.o | 61 | obj-$(CONFIG_BLK_DEV_SVWKS) += serverworks.o |
64 | obj-$(CONFIG_BLK_DEV_SGIIOC4) += sgiioc4.o | 62 | obj-$(CONFIG_BLK_DEV_SGIIOC4) += sgiioc4.o |
65 | obj-$(CONFIG_BLK_DEV_SIIMAGE) += siimage.o | 63 | obj-$(CONFIG_BLK_DEV_SIIMAGE) += siimage.o |
66 | obj-$(CONFIG_BLK_DEV_SIS5513) += sis5513.o | 64 | obj-$(CONFIG_BLK_DEV_SIS5513) += sis5513.o |
67 | obj-$(CONFIG_BLK_DEV_SL82C105) += sl82c105.o | 65 | obj-$(CONFIG_BLK_DEV_SL82C105) += sl82c105.o |
68 | obj-$(CONFIG_BLK_DEV_SLC90E66) += slc90e66.o | 66 | obj-$(CONFIG_BLK_DEV_SLC90E66) += slc90e66.o |
69 | obj-$(CONFIG_BLK_DEV_TC86C001) += tc86c001.o | 67 | obj-$(CONFIG_BLK_DEV_TC86C001) += tc86c001.o |
70 | obj-$(CONFIG_BLK_DEV_TRIFLEX) += triflex.o | 68 | obj-$(CONFIG_BLK_DEV_TRIFLEX) += triflex.o |
71 | obj-$(CONFIG_BLK_DEV_TRM290) += trm290.o | 69 | obj-$(CONFIG_BLK_DEV_TRM290) += trm290.o |
72 | obj-$(CONFIG_BLK_DEV_VIA82CXXX) += via82cxxx.o | 70 | obj-$(CONFIG_BLK_DEV_VIA82CXXX) += via82cxxx.o |
73 | 71 | ||
74 | # Must appear at the end of the block | 72 | # Must appear at the end of the block |
75 | obj-$(CONFIG_BLK_DEV_GENERIC) += ide-pci-generic.o | 73 | obj-$(CONFIG_BLK_DEV_GENERIC) += ide-pci-generic.o |
76 | 74 | ||
77 | obj-$(CONFIG_IDEPCI_PCIBUS_ORDER) += ide-scan-pci.o | 75 | obj-$(CONFIG_IDEPCI_PCIBUS_ORDER) += ide-scan-pci.o |
78 | 76 | ||
79 | obj-$(CONFIG_BLK_DEV_CMD640) += cmd640.o | 77 | obj-$(CONFIG_BLK_DEV_CMD640) += cmd640.o |
80 | 78 | ||
81 | obj-$(CONFIG_BLK_DEV_IDE_PMAC) += pmac.o | 79 | obj-$(CONFIG_BLK_DEV_IDE_PMAC) += pmac.o |
82 | 80 | ||
83 | obj-$(CONFIG_IDE_H8300) += ide-h8300.o | 81 | obj-$(CONFIG_IDE_H8300) += ide-h8300.o |
84 | 82 | ||
85 | obj-$(CONFIG_IDE_GENERIC) += ide-generic.o | 83 | obj-$(CONFIG_IDE_GENERIC) += ide-generic.o |
86 | obj-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o | 84 | obj-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o |
87 | 85 | ||
88 | ide-gd_mod-y += ide-gd.o | 86 | ide-gd_mod-y += ide-gd.o |
89 | ide-cd_mod-y += ide-cd.o ide-cd_ioctl.o ide-cd_verbose.o | 87 | ide-cd_mod-y += ide-cd.o ide-cd_ioctl.o ide-cd_verbose.o |
90 | 88 | ||
91 | ifeq ($(CONFIG_IDE_GD_ATA), y) | 89 | ifeq ($(CONFIG_IDE_GD_ATA), y) |
92 | ide-gd_mod-y += ide-disk.o ide-disk_ioctl.o | 90 | ide-gd_mod-y += ide-disk.o ide-disk_ioctl.o |
93 | ifeq ($(CONFIG_IDE_PROC_FS), y) | 91 | ifeq ($(CONFIG_IDE_PROC_FS), y) |
94 | ide-gd_mod-y += ide-disk_proc.o | 92 | ide-gd_mod-y += ide-disk_proc.o |
95 | endif | 93 | endif |
96 | endif | 94 | endif |
97 | 95 | ||
98 | ifeq ($(CONFIG_IDE_GD_ATAPI), y) | 96 | ifeq ($(CONFIG_IDE_GD_ATAPI), y) |
99 | ide-gd_mod-y += ide-floppy.o ide-floppy_ioctl.o | 97 | ide-gd_mod-y += ide-floppy.o ide-floppy_ioctl.o |
100 | ifeq ($(CONFIG_IDE_PROC_FS), y) | 98 | ifeq ($(CONFIG_IDE_PROC_FS), y) |
101 | ide-gd_mod-y += ide-floppy_proc.o | 99 | ide-gd_mod-y += ide-floppy_proc.o |
102 | endif | 100 | endif |
103 | endif | 101 | endif |
104 | 102 | ||
105 | obj-$(CONFIG_IDE_GD) += ide-gd_mod.o | 103 | obj-$(CONFIG_IDE_GD) += ide-gd_mod.o |
106 | obj-$(CONFIG_BLK_DEV_IDECD) += ide-cd_mod.o | 104 | obj-$(CONFIG_BLK_DEV_IDECD) += ide-cd_mod.o |
107 | obj-$(CONFIG_BLK_DEV_IDETAPE) += ide-tape.o | 105 | obj-$(CONFIG_BLK_DEV_IDETAPE) += ide-tape.o |
108 | 106 | ||
109 | obj-$(CONFIG_BLK_DEV_IDECS) += ide-cs.o | 107 | obj-$(CONFIG_BLK_DEV_IDECS) += ide-cs.o |
110 | 108 | ||
111 | obj-$(CONFIG_BLK_DEV_PLATFORM) += ide_platform.o | 109 | obj-$(CONFIG_BLK_DEV_PLATFORM) += ide_platform.o |
112 | 110 | ||
113 | obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o | 111 | obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o |
114 | obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o | 112 | obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o |
115 | obj-$(CONFIG_BLK_DEV_PALMCHIP_BK3710) += palm_bk3710.o | 113 | obj-$(CONFIG_BLK_DEV_PALMCHIP_BK3710) += palm_bk3710.o |
116 | 114 | ||
117 | obj-$(CONFIG_BLK_DEV_IDE_AU1XXX) += au1xxx-ide.o | 115 | obj-$(CONFIG_BLK_DEV_IDE_AU1XXX) += au1xxx-ide.o |
118 | 116 | ||
119 | obj-$(CONFIG_BLK_DEV_IDE_TX4938) += tx4938ide.o | 117 | obj-$(CONFIG_BLK_DEV_IDE_TX4938) += tx4938ide.o |
120 | obj-$(CONFIG_BLK_DEV_IDE_TX4939) += tx4939ide.o | 118 | obj-$(CONFIG_BLK_DEV_IDE_TX4939) += tx4939ide.o |
121 | obj-$(CONFIG_BLK_DEV_IDE_AT91) += at91_ide.o | 119 | obj-$(CONFIG_BLK_DEV_IDE_AT91) += at91_ide.o |
122 | 120 |
drivers/ide/ide-generic.c
1 | /* | 1 | /* |
2 | * generic/default IDE host driver | 2 | * generic/default IDE host driver |
3 | * | 3 | * |
4 | * Copyright (C) 2004, 2008-2009 Bartlomiej Zolnierkiewicz | 4 | * Copyright (C) 2004, 2008-2009 Bartlomiej Zolnierkiewicz |
5 | * This code was split off from ide.c. See it for original copyrights. | 5 | * This code was split off from ide.c. See it for original copyrights. |
6 | * | 6 | * |
7 | * May be copied or modified under the terms of the GNU General Public License. | 7 | * May be copied or modified under the terms of the GNU General Public License. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | #include <linux/ide.h> | 13 | #include <linux/ide.h> |
14 | #include <linux/pci_ids.h> | 14 | #include <linux/pci_ids.h> |
15 | 15 | ||
16 | /* FIXME: convert m32r to use ide_platform host driver */ | 16 | /* FIXME: convert arm and m32r to use ide_platform host driver */ |
17 | #ifdef CONFIG_ARM | ||
18 | #include <asm/irq.h> | ||
19 | #endif | ||
17 | #ifdef CONFIG_M32R | 20 | #ifdef CONFIG_M32R |
18 | #include <asm/m32r.h> | 21 | #include <asm/m32r.h> |
19 | #endif | 22 | #endif |
20 | 23 | ||
21 | #define DRV_NAME "ide_generic" | 24 | #define DRV_NAME "ide_generic" |
22 | 25 | ||
23 | static int probe_mask; | 26 | static int probe_mask; |
24 | module_param(probe_mask, int, 0); | 27 | module_param(probe_mask, int, 0); |
25 | MODULE_PARM_DESC(probe_mask, "probe mask for legacy ISA IDE ports"); | 28 | MODULE_PARM_DESC(probe_mask, "probe mask for legacy ISA IDE ports"); |
26 | 29 | ||
27 | static const struct ide_port_info ide_generic_port_info = { | 30 | static const struct ide_port_info ide_generic_port_info = { |
28 | .host_flags = IDE_HFLAG_NO_DMA, | 31 | .host_flags = IDE_HFLAG_NO_DMA, |
29 | }; | 32 | }; |
30 | 33 | ||
31 | #if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) \ | 34 | #ifdef CONFIG_ARM |
32 | || defined(CONFIG_PLAT_OPSPUT) | ||
33 | static const u16 legacy_bases[] = { 0x1f0 }; | 35 | static const u16 legacy_bases[] = { 0x1f0 }; |
36 | static const int legacy_irqs[] = { IRQ_HARDDISK }; | ||
37 | #elif defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) || \ | ||
38 | defined(CONFIG_PLAT_OPSPUT) | ||
39 | static const u16 legacy_bases[] = { 0x1f0 }; | ||
34 | static const int legacy_irqs[] = { PLD_IRQ_CFIREQ }; | 40 | static const int legacy_irqs[] = { PLD_IRQ_CFIREQ }; |
35 | #elif defined(CONFIG_PLAT_MAPPI3) | 41 | #elif defined(CONFIG_PLAT_MAPPI3) |
36 | static const u16 legacy_bases[] = { 0x1f0, 0x170 }; | 42 | static const u16 legacy_bases[] = { 0x1f0, 0x170 }; |
37 | static const int legacy_irqs[] = { PLD_IRQ_CFIREQ, PLD_IRQ_IDEIREQ }; | 43 | static const int legacy_irqs[] = { PLD_IRQ_CFIREQ, PLD_IRQ_IDEIREQ }; |
38 | #elif defined(CONFIG_ALPHA) | 44 | #elif defined(CONFIG_ALPHA) |
39 | static const u16 legacy_bases[] = { 0x1f0, 0x170, 0x1e8, 0x168 }; | 45 | static const u16 legacy_bases[] = { 0x1f0, 0x170, 0x1e8, 0x168 }; |
40 | static const int legacy_irqs[] = { 14, 15, 11, 10 }; | 46 | static const int legacy_irqs[] = { 14, 15, 11, 10 }; |
41 | #else | 47 | #else |
42 | static const u16 legacy_bases[] = { 0x1f0, 0x170, 0x1e8, 0x168, 0x1e0, 0x160 }; | 48 | static const u16 legacy_bases[] = { 0x1f0, 0x170, 0x1e8, 0x168, 0x1e0, 0x160 }; |
43 | static const int legacy_irqs[] = { 14, 15, 11, 10, 8, 12 }; | 49 | static const int legacy_irqs[] = { 14, 15, 11, 10, 8, 12 }; |
44 | #endif | 50 | #endif |
45 | 51 | ||
46 | static void ide_generic_check_pci_legacy_iobases(int *primary, int *secondary) | 52 | static void ide_generic_check_pci_legacy_iobases(int *primary, int *secondary) |
47 | { | 53 | { |
54 | #ifdef CONFIG_PCI | ||
48 | struct pci_dev *p = NULL; | 55 | struct pci_dev *p = NULL; |
49 | u16 val; | 56 | u16 val; |
50 | 57 | ||
51 | for_each_pci_dev(p) { | 58 | for_each_pci_dev(p) { |
52 | |||
53 | if (pci_resource_start(p, 0) == 0x1f0) | 59 | if (pci_resource_start(p, 0) == 0x1f0) |
54 | *primary = 1; | 60 | *primary = 1; |
55 | if (pci_resource_start(p, 2) == 0x170) | 61 | if (pci_resource_start(p, 2) == 0x170) |
56 | *secondary = 1; | 62 | *secondary = 1; |
57 | 63 | ||
58 | /* Cyrix CS55{1,2}0 pre SFF MWDMA ATA on the bridge */ | 64 | /* Cyrix CS55{1,2}0 pre SFF MWDMA ATA on the bridge */ |
59 | if (p->vendor == PCI_VENDOR_ID_CYRIX && | 65 | if (p->vendor == PCI_VENDOR_ID_CYRIX && |
60 | (p->device == PCI_DEVICE_ID_CYRIX_5510 || | 66 | (p->device == PCI_DEVICE_ID_CYRIX_5510 || |
61 | p->device == PCI_DEVICE_ID_CYRIX_5520)) | 67 | p->device == PCI_DEVICE_ID_CYRIX_5520)) |
62 | *primary = *secondary = 1; | 68 | *primary = *secondary = 1; |
63 | 69 | ||
64 | /* Intel MPIIX - PIO ATA on non PCI side of bridge */ | 70 | /* Intel MPIIX - PIO ATA on non PCI side of bridge */ |
65 | if (p->vendor == PCI_VENDOR_ID_INTEL && | 71 | if (p->vendor == PCI_VENDOR_ID_INTEL && |
66 | p->device == PCI_DEVICE_ID_INTEL_82371MX) { | 72 | p->device == PCI_DEVICE_ID_INTEL_82371MX) { |
67 | |||
68 | pci_read_config_word(p, 0x6C, &val); | 73 | pci_read_config_word(p, 0x6C, &val); |
69 | if (val & 0x8000) { | 74 | if (val & 0x8000) { |
70 | /* ATA port enabled */ | 75 | /* ATA port enabled */ |
71 | if (val & 0x4000) | 76 | if (val & 0x4000) |
72 | *secondary = 1; | 77 | *secondary = 1; |
73 | else | 78 | else |
74 | *primary = 1; | 79 | *primary = 1; |
75 | } | 80 | } |
76 | } | 81 | } |
77 | } | 82 | } |
83 | #endif | ||
78 | } | 84 | } |
79 | 85 | ||
80 | static int __init ide_generic_init(void) | 86 | static int __init ide_generic_init(void) |
81 | { | 87 | { |
82 | hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; | 88 | hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; |
83 | unsigned long io_addr; | 89 | unsigned long io_addr; |
84 | int i, rc = 0, primary = 0, secondary = 0; | 90 | int i, rc = 0, primary = 0, secondary = 0; |
85 | 91 | ||
86 | ide_generic_check_pci_legacy_iobases(&primary, &secondary); | 92 | ide_generic_check_pci_legacy_iobases(&primary, &secondary); |
87 | 93 | ||
88 | if (!probe_mask) { | 94 | if (!probe_mask) { |
89 | printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" " | 95 | printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" " |
90 | "module parameter for probing all legacy ISA IDE ports\n"); | 96 | "module parameter for probing all legacy ISA IDE ports\n"); |
91 | 97 | ||
92 | if (primary == 0) | 98 | if (primary == 0) |
93 | probe_mask |= 0x1; | 99 | probe_mask |= 0x1; |
94 | 100 | ||
95 | if (secondary == 0) | 101 | if (secondary == 0) |
96 | probe_mask |= 0x2; | 102 | probe_mask |= 0x2; |
97 | } else | 103 | } else |
98 | printk(KERN_INFO DRV_NAME ": enforcing probing of I/O ports " | 104 | printk(KERN_INFO DRV_NAME ": enforcing probing of I/O ports " |
99 | "upon user request\n"); | 105 | "upon user request\n"); |
100 | 106 | ||
101 | for (i = 0; i < ARRAY_SIZE(legacy_bases); i++) { | 107 | for (i = 0; i < ARRAY_SIZE(legacy_bases); i++) { |
102 | io_addr = legacy_bases[i]; | 108 | io_addr = legacy_bases[i]; |
103 | 109 | ||
104 | if ((probe_mask & (1 << i)) && io_addr) { | 110 | if ((probe_mask & (1 << i)) && io_addr) { |
105 | if (!request_region(io_addr, 8, DRV_NAME)) { | 111 | if (!request_region(io_addr, 8, DRV_NAME)) { |
106 | printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX " | 112 | printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX " |
107 | "not free.\n", | 113 | "not free.\n", |
108 | DRV_NAME, io_addr, io_addr + 7); | 114 | DRV_NAME, io_addr, io_addr + 7); |
115 | rc = -EBUSY; | ||
109 | continue; | 116 | continue; |
110 | } | 117 | } |
111 | 118 | ||
112 | if (!request_region(io_addr + 0x206, 1, DRV_NAME)) { | 119 | if (!request_region(io_addr + 0x206, 1, DRV_NAME)) { |
113 | printk(KERN_ERR "%s: I/O resource 0x%lX " | 120 | printk(KERN_ERR "%s: I/O resource 0x%lX " |
114 | "not free.\n", | 121 | "not free.\n", |
115 | DRV_NAME, io_addr + 0x206); | 122 | DRV_NAME, io_addr + 0x206); |
116 | release_region(io_addr, 8); | 123 | release_region(io_addr, 8); |
124 | rc = -EBUSY; | ||
117 | continue; | 125 | continue; |
118 | } | 126 | } |
119 | 127 | ||
120 | memset(&hw, 0, sizeof(hw)); | 128 | memset(&hw, 0, sizeof(hw)); |
121 | ide_std_init_ports(&hw, io_addr, io_addr + 0x206); | 129 | ide_std_init_ports(&hw, io_addr, io_addr + 0x206); |
122 | #ifdef CONFIG_IA64 | 130 | #ifdef CONFIG_IA64 |
123 | hw.irq = isa_irq_to_vector(legacy_irqs[i]); | 131 | hw.irq = isa_irq_to_vector(legacy_irqs[i]); |
124 | #else | 132 | #else |
125 | hw.irq = legacy_irqs[i]; | 133 | hw.irq = legacy_irqs[i]; |
126 | #endif | 134 | #endif |
127 | hw.chipset = ide_generic; | 135 | hw.chipset = ide_generic; |
128 | 136 | ||
129 | rc = ide_host_add(&ide_generic_port_info, hws, NULL); | 137 | rc = ide_host_add(&ide_generic_port_info, hws, NULL); |
130 | if (rc) { | 138 | if (rc) { |
131 | release_region(io_addr + 0x206, 1); | 139 | release_region(io_addr + 0x206, 1); |
132 | release_region(io_addr, 8); | 140 | release_region(io_addr, 8); |
133 | } | 141 | } |
134 | } | 142 | } |
135 | } | 143 | } |
136 | 144 | ||
137 | return rc; | 145 | return rc; |
138 | } | 146 | } |
139 | 147 | ||
140 | module_init(ide_generic_init); | 148 | module_init(ide_generic_init); |
drivers/ide/ide_arm.c
1 | /* | File was deleted | |
2 | * ARM default IDE host driver | ||
3 | * | ||
4 | * Copyright (C) 2004 Bartlomiej Zolnierkiewicz | ||
5 | * Based on code by: Russell King, Ian Molton and Alexander Schulz. | ||
6 | * | ||
7 | * May be copied or modified under the terms of the GNU General Public License. | ||
8 | */ | ||
9 | |||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/ide.h> | ||
13 | |||
14 | #include <asm/irq.h> | ||
15 | |||
16 | #define DRV_NAME "ide_arm" | ||
17 | |||
18 | #define IDE_ARM_IO 0x1f0 | ||
19 | #define IDE_ARM_IRQ IRQ_HARDDISK | ||
20 | |||
21 | static const struct ide_port_info ide_arm_port_info = { | ||
22 | .host_flags = IDE_HFLAG_NO_DMA, | ||
23 | }; | ||
24 | |||
25 | static int __init ide_arm_init(void) | ||
26 | { | ||
27 | unsigned long base = IDE_ARM_IO, ctl = IDE_ARM_IO + 0x206; | ||
28 | hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL }; | ||
29 | |||
30 | if (!request_region(base, 8, DRV_NAME)) { | ||
31 | printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX not free.\n", | ||
32 | DRV_NAME, base, base + 7); | ||
33 | return -EBUSY; | ||
34 | } | ||
35 | |||
36 | if (!request_region(ctl, 1, DRV_NAME)) { | ||
37 | printk(KERN_ERR "%s: I/O resource 0x%lX not free.\n", | ||
38 | DRV_NAME, ctl); | ||
39 | release_region(base, 8); | ||
40 | return -EBUSY; | ||
41 | } | ||
42 | |||
43 | memset(&hw, 0, sizeof(hw)); | ||
44 | ide_std_init_ports(&hw, base, ctl); | ||
45 | hw.irq = IDE_ARM_IRQ; | ||
46 | hw.chipset = ide_generic; | ||
47 | |||
48 | return ide_host_add(&ide_arm_port_info, hws, NULL); | ||
49 | } | ||
50 | |||
51 | module_init(ide_arm_init); | ||
52 | |||
53 | MODULE_LICENSE("GPL"); | ||
54 | 1 | /* |