Module Name: src Committed By: pgoyette Date: Thu Mar 31 19:30:18 UTC 2022
Modified Files: src/sys/dev: cgd.c fss.c midi.c sequencer.c spkr.c vnd.c src/sys/dev/audio: audio.c src/sys/dev/dm: device-mapper.c src/sys/dev/dtv: dtv_device.c src/sys/dev/flash: flash.c src/sys/dev/gpio: gpio.c gpiopps.c src/sys/dev/i2c: sht3x.c src/sys/dev/ic: scmd.c src/sys/dev/ir: cir.c src/sys/dev/iscsi: iscsi_main.c src/sys/dev/pad: pad.c src/sys/dev/pci: nvme_pci.c vio9p.c src/sys/dev/wscons: wsbell.c src/sys/modules/lua: lua.c src/sys/net: if_tap.c src/sys/opencrypto: cryptodev.c src/sys/rump/dev/lib/libmd: md_component.c src/sys/rump/dev/lib/libpci: pci_at_mainbus.c src/sys/rump/dev/lib/libscsipi: scsipi_component.c src/sys/rump/dev/lib/libucom: ucom_at_usb.c src/sys/rump/dev/lib/libulpt: ulpt_at_usb.c src/sys/rump/dev/lib/libvirtio_ld: ld_at_virtio.c src/sys/rump/dev/lib/libwscons: wscons_component.c Log Message: For device modules that provide both auto-config and /dev/xxx interfaces, make sure that initialization and destruction follow the proper sequence. This is triggered by the recent changes to the devsw stuff; per riastradh@ the required call sequence is: devsw_attach() config_init_component() or config_cf*_attach() ... config_fini_component() or config_cf*_detach() devsw_detach() While here, add a few missing calls to some of the detach routines. Testing of these changes has been limited to: 1. compile without build break 2. no related test failures from atf 3. modload/modunload work as well as before. No functional device testing done, since I don't have any of these devices. Let me know of any damage I might cause here! XXX Some of the modules affected by this commit are already XXX broken; see kern/56772. This commit does not break any additional modules (as far as I know). To generate a diff of this commit: cvs rdiff -u -r1.142 -r1.143 src/sys/dev/cgd.c cvs rdiff -u -r1.111 -r1.112 src/sys/dev/fss.c cvs rdiff -u -r1.95 -r1.96 src/sys/dev/midi.c cvs rdiff -u -r1.75 -r1.76 src/sys/dev/sequencer.c cvs rdiff -u -r1.22 -r1.23 src/sys/dev/spkr.c cvs rdiff -u -r1.284 -r1.285 src/sys/dev/vnd.c cvs rdiff -u -r1.121 -r1.122 src/sys/dev/audio/audio.c cvs rdiff -u -r1.63 -r1.64 src/sys/dev/dm/device-mapper.c cvs rdiff -u -r1.13 -r1.14 src/sys/dev/dtv/dtv_device.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/flash/flash.c cvs rdiff -u -r1.69 -r1.70 src/sys/dev/gpio/gpio.c cvs rdiff -u -r1.3 -r1.4 src/sys/dev/gpio/gpiopps.c cvs rdiff -u -r1.5 -r1.6 src/sys/dev/i2c/sht3x.c cvs rdiff -u -r1.1 -r1.2 src/sys/dev/ic/scmd.c cvs rdiff -u -r1.32 -r1.33 src/sys/dev/ir/cir.c cvs rdiff -u -r1.38 -r1.39 src/sys/dev/iscsi/iscsi_main.c cvs rdiff -u -r1.77 -r1.78 src/sys/dev/pad/pad.c cvs rdiff -u -r1.31 -r1.32 src/sys/dev/pci/nvme_pci.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/vio9p.c cvs rdiff -u -r1.13 -r1.14 src/sys/dev/wscons/wsbell.c cvs rdiff -u -r1.27 -r1.28 src/sys/modules/lua/lua.c cvs rdiff -u -r1.125 -r1.126 src/sys/net/if_tap.c cvs rdiff -u -r1.106 -r1.107 src/sys/opencrypto/cryptodev.c cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/lib/libmd/md_component.c cvs rdiff -u -r1.10 -r1.11 src/sys/rump/dev/lib/libpci/pci_at_mainbus.c cvs rdiff -u -r1.5 -r1.6 src/sys/rump/dev/lib/libscsipi/scsipi_component.c cvs rdiff -u -r1.11 -r1.12 src/sys/rump/dev/lib/libucom/ucom_at_usb.c cvs rdiff -u -r1.9 -r1.10 src/sys/rump/dev/lib/libulpt/ulpt_at_usb.c cvs rdiff -u -r1.4 -r1.5 src/sys/rump/dev/lib/libvirtio_ld/ld_at_virtio.c cvs rdiff -u -r1.5 -r1.6 src/sys/rump/dev/lib/libwscons/wscons_component.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.