aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/driver.tests.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-09-09 23:02:20 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-09-09 23:02:20 +0200
commitb99b79d8080cc1491f96069677d9ce0b7775a4f0 (patch)
tree1f7a4534926a79ee6376770c63cccd2aa9e37442 /kernel/kapi/devices/driver.tests.cpp
parent9438d08cc7a7f814d8d1b0cb13f4db176fc53aeb (diff)
downloadkernel-b99b79d8080cc1491f96069677d9ce0b7775a4f0.tar.xz
kernel-b99b79d8080cc1491f96069677d9ce0b7775a4f0.zip
chore: replace some naked pointers
The coding guidelines explicitly prohibit the use of "naked"/C-style pointers. However, there were some prominent examples in the kapi and the core kernel source. This changeset replaces them with the appropriate smart pointer types.
Diffstat (limited to 'kernel/kapi/devices/driver.tests.cpp')
-rw-r--r--kernel/kapi/devices/driver.tests.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/kernel/kapi/devices/driver.tests.cpp b/kernel/kapi/devices/driver.tests.cpp
index ee3fe577..38d07ed9 100644
--- a/kernel/kapi/devices/driver.tests.cpp
+++ b/kernel/kapi/devices/driver.tests.cpp
@@ -36,8 +36,8 @@ namespace
[[nodiscard]] auto match(kapi::devices::device const & dev, kapi::devices::driver const & drv) const
-> kstd::result<std::uint32_t> override
{
- auto const * signature = dev.facet<controller_signature>();
- auto const * claim = drv.facet<controller_claim>();
+ 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);
@@ -65,11 +65,11 @@ namespace
}
protected:
- auto query_facet(kapi::capabilities::facet_id facet) -> void * override
+ auto query_facet(kapi::capabilities::facet_id facet) -> kstd::observer_ptr<void> override
{
if (facet == controller_signature::id)
{
- return static_cast<controller_signature *>(this);
+ return kstd::make_observer<controller_signature>(this);
}
return kapi::devices::bus::query_facet(facet);
}
@@ -101,11 +101,11 @@ namespace
}
protected:
- auto query_facet(kapi::capabilities::facet_id facet) -> void * override
+ auto query_facet(kapi::capabilities::facet_id facet) -> kstd::observer_ptr<void> override
{
if (facet == leaf_signature::id)
{
- return static_cast<leaf_signature *>(this);
+ return kstd::make_observer<leaf_signature>(this);
}
return kapi::devices::device::query_facet(facet);
}
@@ -123,9 +123,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<leaf_signature>();
- auto const * claims = drv.facet<leaf_claim>();
- if (!ident || !claims || !std::ranges::contains(claims->supported_names(), ident->leaf_name()))
+ auto const signature = dev.facet<leaf_signature>();
+ auto const claims = drv.facet<leaf_claim>();
+ if (!signature || !claims || !std::ranges::contains(claims->supported_names(), signature->leaf_name()))
{
return kstd::failure(kapi::devices::driver_match_errc::no_match);
}
@@ -166,11 +166,11 @@ namespace
}
protected:
- auto query_facet(kapi::capabilities::facet_id facet) -> void * override
+ auto query_facet(kapi::capabilities::facet_id facet) -> kstd::observer_ptr<void> override
{
if (facet == controller_claim::id)
{
- return static_cast<controller_claim *>(this);
+ return kstd::make_observer<controller_claim>(this);
}
return kapi::devices::driver::query_facet(facet);
@@ -198,11 +198,11 @@ namespace
}
protected:
- auto query_facet(kapi::capabilities::facet_id facet) -> void * override
+ auto query_facet(kapi::capabilities::facet_id facet) -> kstd::observer_ptr<void> override
{
if (facet == leaf_claim::id)
{
- return static_cast<leaf_claim *>(this);
+ return kstd::make_observer<leaf_claim>(this);
}
return kapi::devices::driver::query_facet(facet);
@@ -213,7 +213,8 @@ namespace
SCENARIO("a bound controller driver can attach a further, independently-typed bus protocol of its own",
"[devices][driver][stacking]")
{
- GIVEN("a controller bus, a controller driver, and a leaf driver, none aware of each other's identification scheme")
+ GIVEN(
+ "a controller bus, a controller driver, and a leaf driver, none aware of each other's signatureification scheme")
{
auto outer_bus = kstd::make_shared<controller_bus>("stacking_test_controller_bus");