From 3012fa5dfe5dfed5e83baf9b40934ed8e8317627 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 3 Jul 2026 09:32:30 +0200 Subject: kernel: rearrange sources according to p1204 --- kernel/src/filesystem/devfs/filesystem.cpp | 81 ------------------------------ 1 file changed, 81 deletions(-) delete mode 100644 kernel/src/filesystem/devfs/filesystem.cpp (limited to 'kernel/src/filesystem/devfs/filesystem.cpp') diff --git a/kernel/src/filesystem/devfs/filesystem.cpp b/kernel/src/filesystem/devfs/filesystem.cpp deleted file mode 100644 index ce887ff3..00000000 --- a/kernel/src/filesystem/devfs/filesystem.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include - -#include "kernel/filesystem/filesystem.hpp" -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include - -namespace kernel::filesystem::devfs -{ - struct type final : kernel::filesystem::type - { - [[nodiscard]] auto name() const noexcept -> std::string_view override - { - return "devfs"; - } - - [[nodiscard]] auto requires_device() const noexcept -> bool override - { - return false; - } - - [[nodiscard]] auto make_instance() const -> kstd::shared_ptr override - { - return kstd::make_shared(); - } - }; - - [[gnu::used]] - constexpr auto registration = type_registration{}; - - auto filesystem::mount(kstd::shared_ptr const &) -> operation_result - { - m_root_inode = kstd::make_shared(); - build_device_inode_table(); - - return operation_result::success; - } - - auto filesystem::lookup(kstd::shared_ptr const & parent, std::string_view name) const - -> kstd::shared_ptr - { - if (!parent || !parent->is_directory()) - { - return nullptr; - } - - if (parent.get() != m_root_inode.get()) - { - return nullptr; - } - - auto it = std::ranges::find_if(m_inodes, [&](auto const & dev_node) { - if (auto device_inode_ptr = static_cast(dev_node.get())) - { - return device_inode_ptr->device()->name() == name; - } - return false; - }); - return (it != m_inodes.end()) ? *it : nullptr; - } - - auto filesystem::build_device_inode_table() -> void - { - 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)); }); - }); - } -} // namespace kernel::filesystem::devfs \ No newline at end of file -- cgit v1.2.3