diff options
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r-- | drivers/ide/ide.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 15741367eb35..ce6644f41b21 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -265,6 +265,30 @@ static int ide_system_bus_speed(void) | |||
265 | return system_bus_speed; | 265 | return system_bus_speed; |
266 | } | 266 | } |
267 | 267 | ||
268 | ide_hwif_t * ide_find_port(unsigned long base) | ||
269 | { | ||
270 | ide_hwif_t *hwif; | ||
271 | int i; | ||
272 | |||
273 | for (i = 0; i < MAX_HWIFS; i++) { | ||
274 | hwif = &ide_hwifs[i]; | ||
275 | if (hwif->io_ports[IDE_DATA_OFFSET] == base) | ||
276 | goto found; | ||
277 | } | ||
278 | |||
279 | for (i = 0; i < MAX_HWIFS; i++) { | ||
280 | hwif = &ide_hwifs[i]; | ||
281 | if (hwif->io_ports[IDE_DATA_OFFSET] == 0) | ||
282 | goto found; | ||
283 | } | ||
284 | |||
285 | hwif = NULL; | ||
286 | found: | ||
287 | return hwif; | ||
288 | } | ||
289 | |||
290 | EXPORT_SYMBOL_GPL(ide_find_port); | ||
291 | |||
268 | static struct resource* hwif_request_region(ide_hwif_t *hwif, | 292 | static struct resource* hwif_request_region(ide_hwif_t *hwif, |
269 | unsigned long addr, int num) | 293 | unsigned long addr, int num) |
270 | { | 294 | { |