diff options
author | Mitchell Horne <mhorne@FreeBSD.org> | 2022-06-21 13:29:53 +0000 |
---|---|---|
committer | Mitchell Horne <mhorne@FreeBSD.org> | 2022-06-23 18:15:10 +0000 |
commit | 36a8572ee8f5db7ecb64bedc5738a363ec7cad36 (patch) | |
tree | f9ccf6ed28d6f2873d7b92a6e87a42ca5fe394fa /sys/kern/bus_if.m | |
parent | 8757d0fca9e6a9e174bc87728e296e5338d30eb7 (diff) | |
download | src-36a8572ee8f5db7ecb64bedc5738a363ec7cad36.tar.gz src-36a8572ee8f5db7ecb64bedc5738a363ec7cad36.zip |
bus_if: provide a default null rescan method
There is an existing helper method in subr_bus.c, but almost no drivers
know to use it. It also returns the same error as an empty method,
making it not very useful. Move this to bus_if.m and return a more
sensible error code.
This gives a slightly more meaningful error message when attempting
'devctl rescan' on buses and devices alike:
"Device not configured" --> "Operation not supported by device"
Reviewed by: imp
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35501
Diffstat (limited to 'sys/kern/bus_if.m')
-rw-r--r-- | sys/kern/bus_if.m | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m index 1e4102e52d29..9862f87aac64 100644 --- a/sys/kern/bus_if.m +++ b/sys/kern/bus_if.m @@ -67,16 +67,23 @@ CODE { panic("bus_add_child is not implemented"); } - static int null_reset_post(device_t bus, device_t dev) + static int + null_reset_post(device_t bus, device_t dev) { return (0); } - static int null_reset_prepare(device_t bus, device_t dev) + static int + null_reset_prepare(device_t bus, device_t dev) { return (0); } + static int + null_rescan(device_t dev) + { + return (ENODEV); + } }; /** @@ -253,7 +260,7 @@ METHOD device_t add_child { */ METHOD int rescan { device_t _dev; -} +} DEFAULT null_rescan; /** * @brief Allocate a system resource |