You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3c509-eisa.c 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Split out from 3c509.c, since EISA cards are relatively rare, and
  3. * ROM space in 3c509s is very limited.
  4. *
  5. */
  6. #include <ipxe/eisa.h>
  7. #include <ipxe/isa.h>
  8. #include "3c509.h"
  9. /*
  10. * The EISA probe function
  11. *
  12. */
  13. static int el3_eisa_probe ( struct nic *nic, struct eisa_device *eisa ) {
  14. nic->ioaddr = eisa->ioaddr;
  15. nic->irqno = 0;
  16. enable_eisa_device ( eisa );
  17. /* Hand off to generic t5x9 probe routine */
  18. return t5x9_probe ( nic, ISA_PROD_ID ( PROD_ID ), ISA_PROD_ID_MASK );
  19. }
  20. static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
  21. t5x9_disable ( nic );
  22. disable_eisa_device ( eisa );
  23. }
  24. static struct eisa_device_id el3_eisa_adapters[] = {
  25. { "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
  26. };
  27. EISA_DRIVER ( el3_eisa_driver, el3_eisa_adapters );
  28. DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
  29. el3_eisa_probe, el3_eisa_disable );
  30. ISA_ROM ( "3c509-eisa","3c509 (EISA)" );
  31. /*
  32. * Local variables:
  33. * c-basic-offset: 8
  34. * c-indent-level: 8
  35. * tab-width: 8
  36. * End:
  37. */