History log of /src/sys/sys/device_impl.h |
Revision | | Date | Author | Comments |
1.5 |
| 13-Sep-2022 |
riastradh | autoconf(9): New diagnostic to detect double-detach.
- Rename dv_detached -> dv_detach_committed. - Add dv_detach_done, asserted false and then set in config_detach.
dv_detach_done may appear redundant with dv_del_gen, but dv_del_gen will be used to safely detect config_detach on two valid references to a device (e.g., a bus detaching its child concurrently with drvctl detaching the same child), while dv_detach_done is strictly a diagnostic to detect races in the config_detach API.
Currently the config_detach API itself is unsafe, but we can add a config_detach_release function that simultaneously releases and detaches a referenced device_t; this will continue to use dv_del_gen to safely avoid multiple detach, and dv_detach_done to check for races in usage.
|
1.4 |
| 24-Aug-2022 |
riastradh | pmf(9): Nix unused pmf prototypes.
Maybe they were once meant to be implemented, but whatever plan that was must've gang agley a long time ago.
|
1.3 |
| 24-Aug-2022 |
riastradh | pmf(9): *_child_register never fails. Make it return void.
No kernel bump because this isn't documented or used in any modules, only in dev/pci/pci.c and dev/cardbus/cardbus.c which are as far as I know always statically linked into the kernel.
The next change, however, will require a revbump -- to make pmf_device_register return void so we can prune vast swaths of dead error branches.
|
1.2 |
| 24-Aug-2022 |
riastradh | kern: Move various pmf declarations to device_impl.h.
These are used only inside subr_autoconf.c and subr_pmf.c. Let's stop having changes to these trigger rebuilds of all device drivers.
|
1.1 |
| 28-Mar-2022 |
riastradh | sys: Split struct device into a private device_impl.h.
Include this only inside autoconf itself, and a few files that abuse autoconf in ways I can't confidently make easy fixes for.
XXX kernel ABI change requires bump -- no more use of struct device internals allowed, previously done by some drivers
|