diff options
| -rw-r--r-- | kernel/kernel/filesystem/devfs/filesystem.cpp | 14 |
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 |
