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 945B

1234567891011121314151617181920212223242526272829303132333435363738
  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 "eisa.h"
  7. #include "isa.h"
  8. #include "console.h"
  9. #include "3c509.h"
  10. /*
  11. * The EISA probe function
  12. *
  13. */
  14. static int el3_eisa_probe ( struct dev *dev, struct eisa_device *eisa ) {
  15. struct nic *nic = nic_device ( dev );
  16. enable_eisa_device ( eisa );
  17. nic->ioaddr = eisa->ioaddr;
  18. nic->irqno = 0;
  19. printf ( "3C5x9 board on EISA at %#hx - ", nic->ioaddr );
  20. /* Hand off to generic t5x9 probe routine */
  21. return t5x9_probe ( nic, ISA_PROD_ID ( PROD_ID ), ISA_PROD_ID_MASK );
  22. }
  23. static struct eisa_id el3_eisa_adapters[] = {
  24. { "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
  25. };
  26. static struct eisa_driver el3_eisa_driver =
  27. EISA_DRIVER ( "3c509 (EISA)", el3_eisa_adapters );
  28. BOOT_DRIVER ( "3c509 (EISA)", find_eisa_boot_device, el3_eisa_driver,
  29. el3_eisa_probe );
  30. ISA_ROM ( "3c509-eisa","3c509 (EISA)" );