aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r--drivers/ide/ide.c24
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
268ide_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;
286found:
287 return hwif;
288}
289
290EXPORT_SYMBOL_GPL(ide_find_port);
291
268static struct resource* hwif_request_region(ide_hwif_t *hwif, 292static struct resource* hwif_request_region(ide_hwif_t *hwif,
269 unsigned long addr, int num) 293 unsigned long addr, int num)
270{ 294{