They can come back when they have someone to support them.
[people/xl0/gpxe.git] / src / drivers / disk / filo.c
1 #include "etherboot.h"
2 #include "pci.h"
3 #include "disk.h"
4
5 /*
6  *   UBL, The Universal Talkware Boot Loader 
7  *    Copyright (C) 2000 Universal Talkware Inc.
8  *    Copyright (C) 2002 Eric Biederman
9  *   Add to load filo
10  *      By LYH  yhlu@tyan.com
11  *      
12  *
13  *   This program is free software; you can redistribute it and/or modify
14  *   it under the terms of the GNU General Public License as published by
15  *   the Free Software Foundation; either version 2 of the License, or
16  *   (at your option) any later version. 
17  * 
18  *   This program is distributed in the hope that it will be useful,
19  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
20  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  *   GNU General Public License for more details. 
22  * 
23  *   You should have received a copy of the GNU General Public License
24  *   along with this program; if not, write to the Free Software
25  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26  * 
27  *
28  */
29
30 #ifdef CONFIG_PCI
31 extern int filo(void);
32
33 static int filo_pci_probe(struct dev *dev, struct pci_device *pci)
34 {
35         struct disk *disk = (struct disk *)dev;
36         
37         filo();
38         
39         /* past all of the drives */
40         dev->index = 0;
41         return 0;
42 }
43 #define PCI_DEVICE_ID_INTEL_82801CA_11  0x248b
44
45 static struct pci_id ide_controllers[] = {
46 { PCI_VENDOR_ID_INTEL,       PCI_DEVICE_ID_INTEL_82801CA_11,    "PIIX4" },
47 };
48
49 static struct pci_driver ide_driver __pci_driver = {
50         .type      = DISK_DRIVER,
51         .name      = "FILO",
52         .probe     = filo_pci_probe,
53         .ids       = ide_controllers,
54         .id_count  = sizeof(ide_controllers)/sizeof(ide_controllers),
55         .class     = PCI_CLASS_STORAGE_IDE,
56 };
57 #endif
58