From ceb2a14b74ef4de8020b11335cce39dca6eb3ae8 Mon Sep 17 00:00:00 2001 From: imp Date: Tue, 22 Aug 2000 04:25:57 +0000 Subject: Save a pointer to the dev, if any, that each function attach. Remove some bogus printfs. --- sys/dev/pccard/pccard.c | 8 ++++++-- sys/dev/pccard/pccardvar.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'sys/dev/pccard') diff --git a/sys/dev/pccard/pccard.c b/sys/dev/pccard/pccard.c index bd96857..4b2c4a3 100644 --- a/sys/dev/pccard/pccard.c +++ b/sys/dev/pccard/pccard.c @@ -133,11 +133,11 @@ pccard_attach_card(device_t dev) if (STAILQ_EMPTY(&pf->cfe_head)) continue; - printf ("pf %p sc %p\n", pf, sc); pf->sc = sc; pf->cfe = NULL; pf->ih_fct = NULL; pf->ih_arg = NULL; + pf->dev = NULL; } DEVPRINTF((dev, "chip_socket_disable\n")); @@ -165,6 +165,7 @@ pccard_attach_card(device_t dev) device_printf(dev, "pf %p pf->sc %p\n", pf, pf->sc); if (device_probe_and_attach(child) == 0) { attached++; + pf->dev = child; DEVPRINTF((sc->dev, "function %d CCR at %d " "offset %x: %x %x %x %x, %x %x %x %x, %x\n", @@ -194,7 +195,8 @@ pccard_detach_card(device_t dev, int flags) continue; pccard_function_disable(pf); - device_delete_child(device_get_parent(dev), dev); + if (pf->dev) + device_delete_child(dev, pf->dev); } return 0; } @@ -690,3 +692,5 @@ DRIVER_MODULE(pccard, pcic, pccard_driver, pccard_devclass, 0, 0); DRIVER_MODULE(pccard, pc98pcic, pccard_driver, pccard_devclass, 0, 0); DRIVER_MODULE(pccard, pccbb, pccard_driver, pccard_devclass, 0, 0); DRIVER_MODULE(pccard, tcic, pccard_driver, pccard_devclass, 0, 0); +MODULE_VERSION(pccard, 1); +MODULE_DEPEND(pccard, pcic, 1, 1, 1); diff --git a/sys/dev/pccard/pccardvar.h b/sys/dev/pccard/pccardvar.h index 290e5d6..a730459 100644 --- a/sys/dev/pccard/pccardvar.h +++ b/sys/dev/pccard/pccardvar.h @@ -121,6 +121,7 @@ struct pccard_function { struct pccard_softc *sc; struct pccard_config_entry *cfe; struct pccard_mem_handle pf_pcmh; + device_t dev; #define pf_ccrt pf_pcmh.memt #define pf_ccrh pf_pcmh.memh #define pf_ccr_realsize pf_pcmh.realsize -- cgit v1.1