From 94a92c50cc209ebfa53a9734aff403945a3c9a77 Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Sun, 15 Mar 2026 18:30:09 +0100 Subject: improve constness, expose controllers and devices --- kernel/devices/src/storage/storage_controller.cpp | 10 ++++++++-- kernel/devices/src/storage/storage_management.cpp | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'kernel/devices/src/storage') diff --git a/kernel/devices/src/storage/storage_controller.cpp b/kernel/devices/src/storage/storage_controller.cpp index d127a8c..d9bc806 100644 --- a/kernel/devices/src/storage/storage_controller.cpp +++ b/kernel/devices/src/storage/storage_controller.cpp @@ -3,6 +3,7 @@ #include "devices/device.hpp" #include +#include #include namespace devices::storage @@ -18,7 +19,7 @@ namespace devices::storage return m_major; } - auto storage_controller::device_by_minor(size_t minor) -> device * + auto storage_controller::device_by_minor(size_t minor) const -> device * { auto it = std::ranges::find_if(m_devices, [minor](auto const & device) { return device->minor() == minor; }); @@ -29,8 +30,13 @@ namespace devices::storage return nullptr; } - auto storage_controller::devices_count() -> size_t + auto storage_controller::devices_count() const -> size_t { return m_devices.size(); } + + auto storage_controller::all_devices() const -> std::array const & + { + return m_devices; + } } // namespace devices::storage \ No newline at end of file diff --git a/kernel/devices/src/storage/storage_management.cpp b/kernel/devices/src/storage/storage_management.cpp index a981359..e1f1bcc 100644 --- a/kernel/devices/src/storage/storage_management.cpp +++ b/kernel/devices/src/storage/storage_management.cpp @@ -8,6 +8,7 @@ #include "devices/storage/storage_controller.hpp" #include +#include #include #include @@ -54,6 +55,11 @@ namespace devices::storage m_controllers.at(0) = controller; // TODO BA-FS26 use push_back from kstd:vector } + auto storage_management::all_controllers() const -> std::array const & + { + return m_controllers; + } + auto storage_management::device_by_major_minor(size_t major, size_t minor) -> device * { device * found = nullptr; -- cgit v1.2.3