709b9e4d2871239f75c8f6b8f59834f8375f003f
[sfrench/cifs-2.6.git] / drivers / ide / ide-generic.c
1 /*
2  * generic/default IDE host driver
3  *
4  * Copyright (C) 2004 Bartlomiej Zolnierkiewicz
5  * This code was split off from ide.c.  See it for original copyrights.
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/module.h>
13 #include <linux/ide.h>
14
15 static int __init ide_generic_init(void)
16 {
17         u8 idx[MAX_HWIFS];
18         int i;
19
20         if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET])
21                 ide_get_lock(NULL, NULL); /* for atari only */
22
23         for (i = 0; i < MAX_HWIFS; i++) {
24                 ide_hwif_t *hwif = &ide_hwifs[i];
25
26                 if (hwif->io_ports[IDE_DATA_OFFSET] && !hwif->present)
27                         idx[i] = i;
28                 else
29                         idx[i] = 0xff;
30         }
31
32         ide_device_add_all(idx, NULL);
33
34         if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET])
35                 ide_release_lock();     /* for atari only */
36
37         return 0;
38 }
39
40 module_init(ide_generic_init);
41
42 MODULE_LICENSE("GPL");