Index: if_ep_pccard.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ep/if_ep_pccard.c,v retrieving revision 1.18 diff -u -r1.18 if_ep_pccard.c --- if_ep_pccard.c 2000/10/15 14:18:11 1.18 +++ if_ep_pccard.c 2001/01/07 14:02:50 @@ -58,6 +58,7 @@ #include "card_if.h" #include +#include static const char *ep_pccard_identify(u_short id); @@ -239,9 +240,30 @@ return (0); } +static const struct pccard_product ep_pccard_products[] = { + { PCCARD_STR_3COM_3C574, PCCARD_VENDOR_3COM, + PCCARD_PRODUCT_3COM_3C574, 0, NULL, NULL }, + { PCCARD_STR_3COM_3C589, PCCARD_VENDOR_3COM, + PCCARD_PRODUCT_3COM_3C589, 0, NULL, NULL }, + { PCCARD_STR_3COM_3CXEM556, PCCARD_VENDOR_3COM, + PCCARD_PRODUCT_3COM_3CXEM556, 0, NULL, NULL }, + { PCCARD_STR_3COM_3CXEM556INT, PCCARD_VENDOR_3COM, + PCCARD_PRODUCT_3COM_3CXEM556INT, 0, NULL, NULL }, + { PCCARD_STR_3COM_3CCFEM556BI, PCCARD_VENDOR_3COM, + PCCARD_PRODUCT_3COM_3CCFEM556BI, 0, NULL, NULL }, + { NULL } +}; + static int ep_pccard_match(device_t dev) { + const struct pccard_product *pp; + + if ((pp = pccard_product_lookup(dev, ep_pccard_products, + sizeof(ep_pccard_products[0]), NULL)) != NULL) { + device_set_desc(dev, pp->pp_name); + return 0; + } return EIO; }