static int puc_pci_probe(device_t dev) { const struct puc_cfg *desc; if ((pci_read_config(dev, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) != 0) return (ENXIO); desc = puc_pci_match(dev, puc_pci_devices); if (desc == NULL) return (ENXIO); return (puc_bfe_probe(dev, desc)); }
static int puc_pccard_probe(device_t dev) { const char *vendor, *product; int error; error = pccard_get_vendor_str(dev, &vendor); if (error) return(error); error = pccard_get_product_str(dev, &product); if (error) return(error); if (!strcmp(vendor, "PCMCIA") && !strcmp(product, "RS-COM 2P")) return (puc_bfe_probe(dev, &puc_pccard_rscom)); return (ENXIO); }