static int ppc_puc_probe(device_t dev) { device_t parent; uintptr_t type; parent = device_get_parent(dev); if (BUS_READ_IVAR(parent, dev, PUC_IVAR_TYPE, &type)) return (ENXIO); if (type != PUC_TYPE_PARALLEL) return (ENXIO); device_set_desc(dev, "Parallel port"); return (ppc_probe(dev, 0)); }
static int ppc_pci_probe(device_t dev) { struct pci_id *id; uint32_t type; type = pci_get_devid(dev); id = pci_ids; while (id->type != 0xffff && id->type != type) id++; if (id->type == 0xffff) return (ENXIO); device_set_desc(dev, id->desc); return (ppc_probe(dev, id->rid)); }
static int ppc_isa_probe(device_t dev) { device_t parent; int error; parent = device_get_parent(dev); error = ISA_PNP_PROBE(parent, dev, lpc_ids); if (error == ENXIO) return (ENXIO); else if (error != 0) /* XXX shall be set after detection */ device_set_desc(dev, "Parallel port"); return(ppc_probe(dev)); }