aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
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