mirror of
https://github.com/ipxe/ipxe
synced 2025-12-24 15:23:42 +03:00
This needs to be done manually because if the irq() routine is implemented then we want something like "nic->irqno = pci->irqno;", else we do "nic->irqno = 0;" nic->ioaddr may also need to be set carefully. Also added local variables to end of many files, for emacs indentation to match kernel style (tab does 8 space indent).
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
/*
|
|
* Split out from 3c509.c, since EISA cards are relatively rare, and
|
|
* ROM space in 3c509s is very limited.
|
|
*
|
|
*/
|
|
|
|
#include <gpxe/eisa.h>
|
|
#include <gpxe/isa.h>
|
|
#include "console.h"
|
|
#include "3c509.h"
|
|
|
|
/*
|
|
* The EISA probe function
|
|
*
|
|
*/
|
|
static int el3_eisa_probe ( struct nic *nic, struct eisa_device *eisa ) {
|
|
|
|
|
|
nic->ioaddr = eisa->ioaddr;
|
|
nic->irqno = 0;
|
|
enable_eisa_device ( eisa );
|
|
|
|
/* Hand off to generic t5x9 probe routine */
|
|
return t5x9_probe ( nic, ISA_PROD_ID ( PROD_ID ), ISA_PROD_ID_MASK );
|
|
}
|
|
|
|
static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
|
|
t5x9_disable ( nic );
|
|
disable_eisa_device ( eisa );
|
|
}
|
|
|
|
static struct eisa_device_id el3_eisa_adapters[] = {
|
|
{ "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
|
|
};
|
|
|
|
EISA_DRIVER ( el3_eisa_driver, el3_eisa_adapters );
|
|
|
|
DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
|
|
el3_eisa_probe, el3_eisa_disable );
|
|
|
|
ISA_ROM ( "3c509-eisa","3c509 (EISA)" );
|
|
|
|
/*
|
|
* Local variables:
|
|
* c-basic-offset: 8
|
|
* c-indent-level: 8
|
|
* tab-width: 8
|
|
* End:
|
|
*/
|