aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/bus_if.m
diff options
context:
space:
mode:
authorMitchell Horne <mhorne@FreeBSD.org>2022-06-21 13:29:53 +0000
committerMitchell Horne <mhorne@FreeBSD.org>2022-06-23 18:15:10 +0000
commit36a8572ee8f5db7ecb64bedc5738a363ec7cad36 (patch)
treef9ccf6ed28d6f2873d7b92a6e87a42ca5fe394fa /sys/kern/bus_if.m
parent8757d0fca9e6a9e174bc87728e296e5338d30eb7 (diff)
downloadsrc-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.m13
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