]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-generic.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-generic.c
index bb30c29f6ec04599d7d55d86ffc5cdc351c3b9c4..9ebec08eefd92258e66c88602c965a953ded4114 100644 (file)
@@ -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;
 }