aboutsummaryrefslogtreecommitdiff
path: root/kernel/devices/src
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-15 18:30:09 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-17 16:43:08 +0100
commit94a92c50cc209ebfa53a9734aff403945a3c9a77 (patch)
tree2b167d8684128b4c0e56db7ad04efee6dafd3b50 /kernel/devices/src
parent2af1bbc99e2a8fc4b86bb31023dbbb077b1cbc97 (diff)
downloadteachos-94a92c50cc209ebfa53a9734aff403945a3c9a77.tar.xz
teachos-94a92c50cc209ebfa53a9734aff403945a3c9a77.zip
improve constness, expose controllers and devices
Diffstat (limited to 'kernel/devices/src')
-rw-r--r--kernel/devices/src/storage/storage_controller.cpp10
-rw-r--r--kernel/devices/src/storage/storage_management.cpp6
2 files changed, 14 insertions, 2 deletions
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 <algorithm>
+#include <array>
#include <cstddef>
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<devices::device *, 1> 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 <algorithm>
+#include <array>
#include <cstddef>
#include <optional>
@@ -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<storage_controller *, 1> const &
+ {
+ return m_controllers;
+ }
+
auto storage_management::device_by_major_minor(size_t major, size_t minor) -> device *
{
device * found = nullptr;