aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-16 19:44:47 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-16 19:44:47 +0200
commitdc6e01bc10571b4c4a956ea4a1783d59eaf3425e (patch)
treea918f37c32408ff9d4d09c03cd4f3342da51fe96 /kernel
parent8da15a362e67e520c9e0812b7bc782be3e256285 (diff)
downloadkernel-dc6e01bc10571b4c4a956ea4a1783d59eaf3425e.tar.xz
kernel-dc6e01bc10571b4c4a956ea4a1783d59eaf3425e.zip
kernel/devfs: fetch devices from interface registry
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kernel/filesystem/devfs/filesystem.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/kernel/kernel/filesystem/devfs/filesystem.cpp b/kernel/kernel/filesystem/devfs/filesystem.cpp
index 66799988..e7aff5f3 100644
--- a/kernel/kernel/filesystem/devfs/filesystem.cpp
+++ b/kernel/kernel/filesystem/devfs/filesystem.cpp
@@ -1,6 +1,5 @@
#include <kernel/filesystem/devfs/filesystem.hpp>
-#include <kernel/devices/storage/management.hpp>
#include <kernel/filesystem/devfs/inode.hpp>
#include <kernel/filesystem/device_inode.hpp>
#include <kernel/filesystem/error.hpp>
@@ -9,6 +8,7 @@
#include <kernel/filesystem/type.hpp>
#include <kernel/filesystem/vfs_types.hpp>
+#include <kapi/devices.hpp>
#include <kapi/devices/device.hpp>
#include <kstd/memory.hpp>
@@ -94,10 +94,12 @@ namespace kernel::filesystem::devfs
{
m_inodes.clear();
- auto storage_mgmt = devices::storage::management::get();
- std::ranges::for_each(storage_mgmt.all_controllers(), [&](auto const & controller) {
- std::ranges::for_each(controller->all_devices(),
- [&](auto const & device) { m_inodes.push_back(kstd::make_shared<device_inode>(device)); });
- });
+ for (auto const & entry : kapi::devices::interface_registry::get().all(kapi::devices::block_device::id))
+ {
+ if (auto device = entry.device().lock())
+ {
+ m_inodes.push_back(kstd::make_shared<device_inode>(device));
+ }
+ }
}
} // namespace kernel::filesystem::devfs \ No newline at end of file