From c20ac811f3bbca511b1be3e8d1f69816579f98a8 Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Wed, 28 Jun 2000 22:53:35 +0000 Subject: [PATCH] Add device_identify methods so that we do not need the hint.sc.0.at=isa and hint.vga.0.at=isa hints in order for these to probe/attach. --- sys/isa/syscons_isa.c | 37 ++++++++++++++++++++----------------- sys/isa/vga_isa.c | 42 +++++++++++++++++++++++------------------- 2 files changed, 43 insertions(+), 36 deletions(-) diff --git a/sys/isa/syscons_isa.c b/sys/isa/syscons_isa.c index e65e984b9586..0dfe03ca2335 100644 --- a/sys/isa/syscons_isa.c +++ b/sys/isa/syscons_isa.c @@ -62,25 +62,14 @@ static devclass_t sc_devclass; -static int scprobe(device_t dev); -static int scattach(device_t dev); -static int scresume(device_t dev); - -static device_method_t sc_methods[] = { - DEVMETHOD(device_probe, scprobe), - DEVMETHOD(device_attach, scattach), - DEVMETHOD(device_resume, scresume), - { 0, 0 } -}; - -static driver_t sc_driver = { - SC_DRIVER_NAME, - sc_methods, - sizeof(sc_softc_t), -}; - static sc_softc_t main_softc; +static void +scidentify (driver_t *driver, device_t parent) +{ + BUS_ADD_CHILD(parent, ISA_ORDER_SPECULATIVE, "sc", 0); +} + static int scprobe(device_t dev) { @@ -242,4 +231,18 @@ sc_tone(int herz) return 0; } +static device_method_t sc_methods[] = { + DEVMETHOD(device_identify, scidentify), + DEVMETHOD(device_probe, scprobe), + DEVMETHOD(device_attach, scattach), + DEVMETHOD(device_resume, scresume), + { 0, 0 } +}; + +static driver_t sc_driver = { + SC_DRIVER_NAME, + sc_methods, + sizeof(sc_softc_t), +}; + DRIVER_MODULE(sc, isa, sc_driver, sc_devclass, 0, 0); diff --git a/sys/isa/vga_isa.c b/sys/isa/vga_isa.c index 4ebb65e153c7..57f934ed6b6e 100644 --- a/sys/isa/vga_isa.c +++ b/sys/isa/vga_isa.c @@ -59,25 +59,6 @@ static devclass_t isavga_devclass; -static int isavga_probe(device_t dev); -static int isavga_attach(device_t dev); - -static device_method_t isavga_methods[] = { - DEVMETHOD(device_probe, isavga_probe), - DEVMETHOD(device_attach, isavga_attach), - - DEVMETHOD(bus_print_child, bus_generic_print_child), - { 0, 0 } -}; - -static driver_t isavga_driver = { - VGA_DRIVER_NAME, - isavga_methods, - sizeof(vga_softc_t), -}; - -DRIVER_MODULE(vga, isa, isavga_driver, isavga_devclass, 0, 0); - #ifdef FB_INSTALL_CDEV static d_open_t isavga_open; @@ -106,6 +87,12 @@ static struct cdevsw isavga_cdevsw = { #endif /* FB_INSTALL_CDEV */ +static void +isavga_identify(driver_t *driver, device_t parent) +{ + BUS_ADD_CHILD(parent, ISA_ORDER_SPECULATIVE, VGA_DRIVER_NAME, 0); +} + static int isavga_probe(device_t dev) { @@ -216,3 +203,20 @@ isavga_mmap(dev_t dev, vm_offset_t offset, int prot) } #endif /* FB_INSTALL_CDEV */ + +static device_method_t isavga_methods[] = { + DEVMETHOD(device_identify, isavga_identify), + DEVMETHOD(device_probe, isavga_probe), + DEVMETHOD(device_attach, isavga_attach), + + DEVMETHOD(bus_print_child, bus_generic_print_child), + { 0, 0 } +}; + +static driver_t isavga_driver = { + VGA_DRIVER_NAME, + isavga_methods, + sizeof(vga_softc_t), +}; + +DRIVER_MODULE(vga, isa, isavga_driver, isavga_devclass, 0, 0);