X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fide%2Fide-generic.c;h=9ebec08eefd92258e66c88602c965a953ded4114;hb=b881502666783b2d9ca2fc7a056d0f773073a808;hp=bb30c29f6ec04599d7d55d86ffc5cdc351c3b9c4;hpb=c00d4ffdbace1bdc9fdd888e4ba6d207ffa3b679;p=linux-2.6 diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c index bb30c29f6e..9ebec08eef 100644 --- a/drivers/ide/ide-generic.c +++ b/drivers/ide/ide-generic.c @@ -17,16 +17,16 @@ static int __init ide_generic_init(void) u8 idx[MAX_HWIFS]; int i; - if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET]) - ide_get_lock(NULL, NULL); /* for atari only */ + for (i = 0; i < MAX_HWIFS; i++) { + ide_hwif_t *hwif = &ide_hwifs[i]; - for (i = 0; i < MAX_HWIFS; i++) - idx[i] = ide_hwifs[i].present ? 0xff : i; + if (hwif->io_ports[IDE_DATA_OFFSET] && !hwif->present) + idx[i] = i; + else + idx[i] = 0xff; + } - ide_device_add_all(idx); - - if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET]) - ide_release_lock(); /* for atari only */ + ide_device_add_all(idx, NULL); return 0; }