diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-07-16 19:44:47 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-07-16 19:44:47 +0200 |
| commit | dc6e01bc10571b4c4a956ea4a1783d59eaf3425e (patch) | |
| tree | a918f37c32408ff9d4d09c03cd4f3342da51fe96 /kernel | |
| parent | 8da15a362e67e520c9e0812b7bc782be3e256285 (diff) | |
| download | kernel-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.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 |
