aboutsummaryrefslogtreecommitdiff
path: root/kernel/devices
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/devices')
-rw-r--r--kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp3
-rw-r--r--kernel/devices/include/devices/storage/StorageController.hpp4
-rw-r--r--kernel/devices/include/devices/storage/StorageManagement.hpp9
3 files changed, 10 insertions, 6 deletions
diff --git a/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp b/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp
index 6213ed4..bb61bbc 100644
--- a/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp
+++ b/kernel/devices/include/devices/storage/RAMDisk/RAMDiskController.hpp
@@ -17,13 +17,14 @@ namespace devices::storage::ram_disk
explicit ram_disk_controller(kapi::boot_modules::boot_module_registry const * registry);
auto probe() -> void override;
+
auto devices_count() -> size_t override;
private:
auto create_device_from_boot_module(kapi::boot_modules::boot_module const & module) -> void;
kapi::boot_modules::boot_module_registry const * m_boot_module_registry;
- std::array<ram_disk_device, 1> m_devices{}; // TODO BA-FS26 use kstd::vector
+ std::array<ram_disk_device, 1> m_devices{}; // TODO BA-FS26 use kstd::vector when available
};
} // namespace devices::storage::ram_disk
diff --git a/kernel/devices/include/devices/storage/StorageController.hpp b/kernel/devices/include/devices/storage/StorageController.hpp
index 7904d07..68c6907 100644
--- a/kernel/devices/include/devices/storage/StorageController.hpp
+++ b/kernel/devices/include/devices/storage/StorageController.hpp
@@ -9,7 +9,11 @@ namespace devices::storage
virtual ~storage_controller() = default;
virtual auto probe() -> void = 0;
+
virtual auto devices_count() -> size_t = 0;
+
+ // TODO BA-FS26
+ // virtual auto get_device(size_t index) -> std::optional<block_device> = 0;
};
} // namespace devices::storage
diff --git a/kernel/devices/include/devices/storage/StorageManagement.hpp b/kernel/devices/include/devices/storage/StorageManagement.hpp
index 9098312..c237245 100644
--- a/kernel/devices/include/devices/storage/StorageManagement.hpp
+++ b/kernel/devices/include/devices/storage/StorageManagement.hpp
@@ -8,22 +8,21 @@
namespace devices::storage
{
+ // TODO BA-FS26 add documentation
struct storage_management
{
- // TODO BA-FS26 add documentation
-
auto static init() -> void;
+
auto static get() -> storage_management &;
auto add_controller(storage_controller * controller) -> void;
-
auto add_device(block_device * device) -> void;
private:
storage_management() = default;
- std::array<storage_controller *, 1> m_controllers{}; // TODO BA-FS26 use kstd::vector
- std::array<block_device *, 1> m_devices{}; // TODO BA-FS26 use kstd::vector
+ std::array<storage_controller *, 1> m_controllers{}; // TODO BA-FS26 use kstd::vector when available
+ std::array<block_device *, 1> m_devices{}; // TODO BA-FS26 use kstd::vector when available
};
} // namespace devices::storage