diff options
| author | marcel.braun <marcel.braun@ost.ch> | 2026-03-07 13:46:24 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-17 16:42:48 +0100 |
| commit | 79aaf6113a9eca042ccc6f656fac6c7c243c608b (patch) | |
| tree | 3f4b20382e69749d10a662be4aca67dd75db4227 /kernel/devices | |
| parent | 52be8fd3b73b23a6be3662f072c36bcb8df1b87f (diff) | |
| download | teachos-79aaf6113a9eca042ccc6f656fac6c7c243c608b.tar.xz teachos-79aaf6113a9eca042ccc6f656fac6c7c243c608b.zip | |
Simplify device lookup in storage controllers by removing redundant major number
Diffstat (limited to 'kernel/devices')
4 files changed, 5 insertions, 6 deletions
diff --git a/kernel/devices/include/devices/storage/ram_disk/ram_disk_controller.hpp b/kernel/devices/include/devices/storage/ram_disk/ram_disk_controller.hpp index 05cac88..424082d 100644 --- a/kernel/devices/include/devices/storage/ram_disk/ram_disk_controller.hpp +++ b/kernel/devices/include/devices/storage/ram_disk/ram_disk_controller.hpp @@ -40,7 +40,7 @@ namespace devices::storage::ram_disk * @param minor Device minor number. * @return Matching block device, or nullptr if no device matches. */ - auto device_by_major_minor(size_t major, size_t minor) -> block_device * override; + auto device_by_minor(size_t minor) -> block_device * override; private: kapi::boot_modules::boot_module_registry const * m_boot_module_registry; diff --git a/kernel/devices/include/devices/storage/storage_controller.hpp b/kernel/devices/include/devices/storage/storage_controller.hpp index 18c7232..0c7cf83 100644 --- a/kernel/devices/include/devices/storage/storage_controller.hpp +++ b/kernel/devices/include/devices/storage/storage_controller.hpp @@ -50,7 +50,7 @@ namespace devices::storage * @param minor Device minor number. * @return Matching block device, or nullptr if no device matches. */ - virtual auto device_by_major_minor(size_t major, size_t minor) -> block_device * = 0; + virtual auto device_by_minor(size_t minor) -> block_device * = 0; protected: size_t m_major{}; diff --git a/kernel/devices/src/storage/ram_disk/ram_disk_controller.cpp b/kernel/devices/src/storage/ram_disk/ram_disk_controller.cpp index 09f1c85..9f9537f 100644 --- a/kernel/devices/src/storage/ram_disk/ram_disk_controller.cpp +++ b/kernel/devices/src/storage/ram_disk/ram_disk_controller.cpp @@ -29,10 +29,9 @@ namespace devices::storage::ram_disk }); } - auto ram_disk_controller::device_by_major_minor(size_t major, size_t minor) -> block_device * + auto ram_disk_controller::device_by_minor(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; }); + auto it = std::ranges::find_if(m_devices, [minor](auto const & device) { return device.minor() == minor; }); if (it != m_devices.end()) { diff --git a/kernel/devices/src/storage/storage_management.cpp b/kernel/devices/src/storage/storage_management.cpp index 1530d7a..a5b6503 100644 --- a/kernel/devices/src/storage/storage_management.cpp +++ b/kernel/devices/src/storage/storage_management.cpp @@ -60,7 +60,7 @@ namespace devices::storage std::ranges::find_if(m_controllers, [&](auto const controller) { if (controller != nullptr && controller->major() == major) { - found = controller->device_by_major_minor(major, minor); + found = controller->device_by_minor(minor); return found != nullptr; } return false; |
