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.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 <ipxe/console.h>
  9. #include "3c509.h"
  10. /*
  11. * The EISA probe function
  12. *
  13. */
  14. static int el3_eisa_probe ( struct nic *nic, struct eisa_device *eisa ) {
  15. nic->ioaddr = eisa->ioaddr;
  16. nic->irqno = 0;
  17. enable_eisa_device ( eisa );
  18. /* Hand off to generic t5x9 probe routine */
  19. return t5x9_probe ( nic, ISA_PROD_ID ( PROD_ID ), ISA_PROD_ID_MASK );
  20. }
  21. static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
  22. t5x9_disable ( nic );
  23. disable_eisa_device ( eisa );
  24. }
  25. static struct eisa_device_id el3_eisa_adapters[] = {
  26. { "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
  27. };
  28. EISA_DRIVER ( el3_eisa_driver, el3_eisa_adapters );
  29. DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
  30. el3_eisa_probe, el3_eisa_disable );
  31. ISA_ROM ( "3c509-eisa","3c509 (EISA)" );
  32. /*
  33. * Local variables:
  34. * c-basic-offset: 8
  35. * c-indent-level: 8
  36. * tab-width: 8
  37. * End:
  38. */