diff options
Diffstat (limited to 'kernel/kapi/devices/driver.tests.cpp')
| -rw-r--r-- | kernel/kapi/devices/driver.tests.cpp | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/kernel/kapi/devices/driver.tests.cpp b/kernel/kapi/devices/driver.tests.cpp index 623f9d4c..ee3fe577 100644 --- a/kernel/kapi/devices/driver.tests.cpp +++ b/kernel/kapi/devices/driver.tests.cpp @@ -1,3 +1,4 @@ +#include <kapi/capabilities/facet_id.hpp> #include <kapi/devices.hpp> #include <kstd/memory.hpp> @@ -14,17 +15,17 @@ namespace { - struct controller_identification + struct controller_signature { - constexpr auto static id = kapi::capabilities::facet_id{"stacking_test_controller_identification"}; - virtual ~controller_identification() = default; + constexpr auto static id = kapi::capabilities::facet_id{"sig.dev.stack_test"}; + virtual ~controller_signature() = default; [[nodiscard]] virtual auto controller_name() const -> std::string_view = 0; }; - struct controller_driver_identification + struct controller_claim { - constexpr auto static id = kapi::capabilities::facet_id{"stacking_test_controller_driver_identification"}; - virtual ~controller_driver_identification() = default; + constexpr auto static id = kapi::capabilities::facet_id{"clm.drv.stack_test"}; + virtual ~controller_claim() = default; [[nodiscard]] virtual auto supported_names() const -> std::span<std::string_view const> = 0; }; @@ -35,9 +36,9 @@ namespace [[nodiscard]] auto match(kapi::devices::device const & dev, kapi::devices::driver const & drv) const -> kstd::result<std::uint32_t> override { - auto const * ident = dev.facet<controller_identification>(); - auto const * claims = drv.facet<controller_driver_identification>(); - if (!ident || !claims || !std::ranges::contains(claims->supported_names(), ident->controller_name())) + auto const * signature = dev.facet<controller_signature>(); + auto const * claim = drv.facet<controller_claim>(); + if (!signature || !claim || !std::ranges::contains(claim->supported_names(), signature->controller_name())) { return kstd::failure(kapi::devices::driver_match_errc::no_match); } @@ -52,7 +53,7 @@ namespace {} }; - struct controller_device final : kapi::devices::bus, controller_identification + struct controller_device final : kapi::devices::bus, controller_signature { controller_device() : kapi::devices::bus{"stacking_test_controller"} @@ -66,29 +67,29 @@ namespace protected: auto query_facet(kapi::capabilities::facet_id facet) -> void * override { - if (facet == controller_identification::id) + if (facet == controller_signature::id) { - return static_cast<controller_identification *>(this); + return static_cast<controller_signature *>(this); } return kapi::devices::bus::query_facet(facet); } }; - struct leaf_identification + struct leaf_signature { - constexpr auto static id = kapi::capabilities::facet_id{"stacking_test_leaf_identification"}; - virtual ~leaf_identification() = default; + constexpr auto static id = kapi::capabilities::facet_id{"sig.dev.test_leaf"}; + virtual ~leaf_signature() = default; [[nodiscard]] virtual auto leaf_name() const -> std::string_view = 0; }; - struct leaf_driver_identification + struct leaf_claim { - constexpr auto static id = kapi::capabilities::facet_id{"stacking_test_leaf_driver_identification"}; - virtual ~leaf_driver_identification() = default; + constexpr auto static id = kapi::capabilities::facet_id{"clm.drv.test_leaf"}; + virtual ~leaf_claim() = default; [[nodiscard]] virtual auto supported_names() const -> std::span<std::string_view const> = 0; }; - struct leaf_device final : kapi::devices::device, leaf_identification + struct leaf_device final : kapi::devices::device, leaf_signature { leaf_device() : kapi::devices::device{"stacking_test_leaf"} @@ -102,9 +103,9 @@ namespace protected: auto query_facet(kapi::capabilities::facet_id facet) -> void * override { - if (facet == leaf_identification::id) + if (facet == leaf_signature::id) { - return static_cast<leaf_identification *>(this); + return static_cast<leaf_signature *>(this); } return kapi::devices::device::query_facet(facet); } @@ -112,7 +113,7 @@ namespace struct leaf_protocol final : kapi::devices::bus_protocol { - constexpr auto static id = kapi::capabilities::facet_id{"stacking_test_leaf_protocol"}; + [[maybe_unused]] constexpr auto static id = kapi::capabilities::facet_id{"prot.bus.test_leaf"}; auto enumerate(kapi::devices::bus & self) -> void override { @@ -122,8 +123,8 @@ namespace [[nodiscard]] auto match(kapi::devices::device const & dev, kapi::devices::driver const & drv) const -> kstd::result<std::uint32_t> override { - auto const * ident = dev.facet<leaf_identification>(); - auto const * claims = drv.facet<leaf_driver_identification>(); + auto const * ident = dev.facet<leaf_signature>(); + auto const * claims = drv.facet<leaf_claim>(); if (!ident || !claims || !std::ranges::contains(claims->supported_names(), ident->leaf_name())) { return kstd::failure(kapi::devices::driver_match_errc::no_match); @@ -139,7 +140,7 @@ namespace {} }; - struct controller_driver final : kapi::devices::driver, controller_driver_identification + struct controller_driver final : kapi::devices::driver, controller_claim { [[nodiscard]] auto probe(kapi::devices::device & dev) -> kstd::result<void> override { @@ -167,16 +168,16 @@ namespace protected: auto query_facet(kapi::capabilities::facet_id facet) -> void * override { - if (facet == controller_driver_identification::id) + if (facet == controller_claim::id) { - return static_cast<controller_driver_identification *>(this); + return static_cast<controller_claim *>(this); } return kapi::devices::driver::query_facet(facet); } }; - struct leaf_driver final : kapi::devices::driver, leaf_driver_identification + struct leaf_driver final : kapi::devices::driver, leaf_claim { [[nodiscard]] auto probe(kapi::devices::device &) -> kstd::result<void> override { @@ -199,9 +200,9 @@ namespace protected: auto query_facet(kapi::capabilities::facet_id facet) -> void * override { - if (facet == leaf_driver_identification::id) + if (facet == leaf_claim::id) { - return static_cast<leaf_driver_identification *>(this); + return static_cast<leaf_claim *>(this); } return kapi::devices::driver::query_facet(facet); |
