blob: 709b9e4d2871239f75c8f6b8f59834f8375f003f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
15static int __init ide_generic_init(void)
16{
Bartlomiej Zolnierkiewicz151575e2008-01-26 20:13:05 +010017 u8 idx[MAX_HWIFS];
18 int i;
19
Linus Torvalds1da177e2005-04-16 15:20:36 -070020 if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET])
21 ide_get_lock(NULL, NULL); /* for atari only */
22
Bartlomiej Zolnierkiewiczb2a53bc2008-02-06 02:57:48 +010023 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 }
Bartlomiej Zolnierkiewicz151575e2008-01-26 20:13:05 +010031
Bartlomiej Zolnierkiewiczc413b9b2008-02-02 19:56:31 +010032 ide_device_add_all(idx, NULL);
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34 if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET])
35 ide_release_lock(); /* for atari only */
36
Linus Torvalds1da177e2005-04-16 15:20:36 -070037 return 0;
38}
39
40module_init(ide_generic_init);
41
42MODULE_LICENSE("GPL");