aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/driver_registry.tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi/devices/driver_registry.tests.cpp')
-rw-r--r--kernel/kapi/devices/driver_registry.tests.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/kernel/kapi/devices/driver_registry.tests.cpp b/kernel/kapi/devices/driver_registry.tests.cpp
index d4d8a174..c7d1744d 100644
--- a/kernel/kapi/devices/driver_registry.tests.cpp
+++ b/kernel/kapi/devices/driver_registry.tests.cpp
@@ -15,7 +15,7 @@ namespace
struct test_identification
{
- constexpr auto static id = kapi::devices::interface_id{"test_identification"};
+ constexpr auto static id = kapi::capabilities::facet_id{"test_identification"};
virtual ~test_identification() = default;
@@ -25,6 +25,8 @@ namespace
struct test_protocol final : kapi::devices::bus_protocol
{
+ constexpr auto static id = kapi::capabilities::facet_id{"test_protocol"};
+
explicit test_protocol(unsigned * match_calls)
: match_calls{match_calls}
{}
@@ -36,7 +38,7 @@ namespace
{
++*match_calls;
- auto const * identification = driver.as<test_identification>();
+ auto const * identification = driver.facet<test_identification>();
if (!identification)
{
return kstd::failure(kapi::devices::driver_match_errc::no_match);
@@ -52,9 +54,14 @@ namespace
{
using kapi::devices::bus::bus;
- [[nodiscard]] auto protocol() -> kapi::devices::bus_protocol * override
+ [[nodiscard]] auto query_facet(kapi::capabilities::facet_id id) -> void * override
{
- return &bus_protocol;
+ if (id == test_protocol::id || id == kapi::devices::bus_protocol::id)
+ {
+ return &bus_protocol;
+ }
+
+ return kapi::devices::bus::query_facet(id);
}
unsigned match_calls{};
@@ -106,14 +113,14 @@ namespace
mutable unsigned probe_calls;
protected:
- auto query_interface(kapi::devices::interface_id interface) -> void * override
+ auto query_facet(kapi::capabilities::facet_id facet) -> void * override
{
- if (interface == test_identification::id)
+ if (facet == test_identification::id)
{
return static_cast<test_identification *>(this);
}
- return kapi::devices::driver::query_interface(interface);
+ return kapi::devices::driver::query_facet(facet);
}
private: