aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcel.braun <marcel.braun@ost.ch>2026-03-07 13:46:24 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-17 16:42:48 +0100
commit79aaf6113a9eca042ccc6f656fac6c7c243c608b (patch)
tree3f4b20382e69749d10a662be4aca67dd75db4227
parent52be8fd3b73b23a6be3662f072c36bcb8df1b87f (diff)
downloadteachos-79aaf6113a9eca042ccc6f656fac6c7c243c608b.tar.xz
teachos-79aaf6113a9eca042ccc6f656fac6c7c243c608b.zip
Simplify device lookup in storage controllers by removing redundant major number
-rw-r--r--kernel/devices/include/devices/storage/ram_disk/ram_disk_controller.hpp2
-rw-r--r--kernel/devices/include/devices/storage/storage_controller.hpp2
-rw-r--r--kernel/devices/src/storage/ram_disk/ram_disk_controller.cpp5
-rw-r--r--kernel/devices/src/storage/storage_management.cpp2
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;