From d2e9e3ee57918ddd4a1f81e70304dc15964555ff Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Tue, 3 Mar 2026 08:37:56 +0100 Subject: implement function to get a device by major and minor number --- kernel/devices/src/storage/StorageManagement.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'kernel/devices/src/storage/StorageManagement.cpp') diff --git a/kernel/devices/src/storage/StorageManagement.cpp b/kernel/devices/src/storage/StorageManagement.cpp index 2daae0a..cfc5239 100644 --- a/kernel/devices/src/storage/StorageManagement.cpp +++ b/kernel/devices/src/storage/StorageManagement.cpp @@ -8,6 +8,7 @@ #include "devices/storage/StorageController.hpp" #include +#include #include namespace devices::storage @@ -47,9 +48,16 @@ namespace devices::storage m_controllers.at(0) = controller; // TODO BA-FS26 use push_back from kstd:vector } - auto storage_management::add_device(block_device * device) -> void + auto storage_management::device_by_major_minor(size_t major, size_t minor) -> block_device * { - m_devices.at(0) = device; // TODO BA-FS26 use push_back from kstd:vector + block_device * found = nullptr; + + std::ranges::find_if(m_controllers, [&](auto const controller) { + found = controller->device_by_major_minor(major, minor); + return found != nullptr; + }); + + return found; } } // namespace devices::storage \ No newline at end of file -- cgit v1.2.3