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/RAMDisk/RAMDiskController.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'kernel/devices/src/storage/RAMDisk') diff --git a/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp b/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp index 90a7c0f..ec2cb97 100644 --- a/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp +++ b/kernel/devices/src/storage/RAMDisk/RAMDiskController.cpp @@ -3,12 +3,15 @@ #include "kapi/boot_module/boot_module.hpp" #include "kapi/boot_module/boot_module_registry.hpp" +#include "devices/BlockDevice.hpp" #include "devices/storage/RAMDisk/RAMDiskDevice.hpp" #include #include +#include #include +#include namespace devices::storage::ram_disk { @@ -27,6 +30,18 @@ namespace devices::storage::ram_disk m_devices.at(0) = ram_disk_device{module}; } + auto ram_disk_controller::device_by_major_minor(size_t major, size_t minor) -> block_device * + { + auto it = std::ranges::find_if( + m_devices, [major, minor](auto const & device) { return device.major() == major && device.minor() == minor; }); + + if (it != m_devices.end()) + { + return &(*it); + } + return nullptr; + } + auto ram_disk_controller::devices_count() -> size_t { return m_devices.size(); -- cgit v1.2.3