aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/device.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-23 21:09:34 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-23 21:46:16 +0200
commitfbc31c3e385363f9eaba93238756a739e09ce873 (patch)
tree05343a458fb1e40df5babb46bca4a217fe6d1503 /kernel/kapi/devices/device.cpp
parentcb87b4dd8e874d5d7b219487ca38f55756c205df (diff)
downloadkernel-fbc31c3e385363f9eaba93238756a739e09ce873.tar.xz
kernel-fbc31c3e385363f9eaba93238756a739e09ce873.zip
kapi: add driver registry
Diffstat (limited to 'kernel/kapi/devices/device.cpp')
-rw-r--r--kernel/kapi/devices/device.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/kernel/kapi/devices/device.cpp b/kernel/kapi/devices/device.cpp
index 540d37b7..cbbd5405 100644
--- a/kernel/kapi/devices/device.cpp
+++ b/kernel/kapi/devices/device.cpp
@@ -22,9 +22,29 @@ namespace kapi::devices
return m_parent.lock();
}
- auto device::set_parent(kstd::weak_ptr<bus> parent) -> void
+ auto device::state() const noexcept -> enum state
{
- m_parent = parent;
+ return m_state;
+ }
+
+ auto device::set_state(enum state state) -> void
+ {
+ m_state = state;
+ }
+
+ auto device::bind_driver(kstd::weak_ptr<struct driver> driver) -> void
+ {
+ m_driver = driver;
+ }
+
+ auto device::driver_data() const -> kstd::shared_ptr<void> const &
+ {
+ return m_driver_data;
+ }
+
+ auto device::set_driver_data(kstd::shared_ptr<void> data) -> void
+ {
+ m_driver_data = data;
}
auto device::query_interface(interface) -> void *
@@ -32,4 +52,9 @@ namespace kapi::devices
return nullptr;
}
+ auto device::set_parent(kstd::weak_ptr<bus> parent) -> void
+ {
+ m_parent = parent;
+ }
+
} // namespace kapi::devices \ No newline at end of file