diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-07-21 17:33:13 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-07-21 17:33:13 +0200 |
| commit | 93de74017095f86a6c62447938ec6169a5184c45 (patch) | |
| tree | ff5087083a953e783ff43ea4b64944564b1d67ad | |
| parent | 4539791823a2fb1506e9091ec5087c80a87adfde (diff) | |
| download | kernel-93de74017095f86a6c62447938ec6169a5184c45.tar.xz kernel-93de74017095f86a6c62447938ec6169a5184c45.zip | |
kapi: remove major number allocator
| -rw-r--r-- | kapi/gdb/devices/device.py | 4 | ||||
| -rw-r--r-- | kapi/kapi/devices/bus.hpp | 2 | ||||
| -rw-r--r-- | kapi/kapi/devices/device.hpp | 4 | ||||
| -rw-r--r-- | kapi/kapi/devices/manager.hpp | 6 | ||||
| -rw-r--r-- | kernel/kapi/devices.cpp | 9 | ||||
| -rw-r--r-- | kernel/kernel/devices/storage/management.cpp | 3 |
6 files changed, 6 insertions, 22 deletions
diff --git a/kapi/gdb/devices/device.py b/kapi/gdb/devices/device.py index 8e515ef8..58f6ea59 100644 --- a/kapi/gdb/devices/device.py +++ b/kapi/gdb/devices/device.py @@ -7,12 +7,10 @@ class KapiDevicesDevicePrinter(gdb.ValuePrinter): def to_string(self): return ( - f"{self.__val['m_name']} @ {self.__val['m_major']}:{self.__val['m_minor']}" + f"{self.__val['m_name']}" ) def children(self): - yield ("major", self.__val["m_major"]) - yield ("minor", self.__val["m_minor"]) yield ("name", self.__val["m_name"]) yield ("parent", self.__val["m_parent"]) diff --git a/kapi/kapi/devices/bus.hpp b/kapi/kapi/devices/bus.hpp index 913149fb..1f433efc 100644 --- a/kapi/kapi/devices/bus.hpp +++ b/kapi/kapi/devices/bus.hpp @@ -21,7 +21,7 @@ namespace kapi::devices //! A bus device that represents a logical/physical tree of devices and busses. struct bus : device { - //! Construct a bus with the given major number, minor number, and name. + //! Construct a bus with the given name. //! //! @param name The name of the bus. explicit bus(kstd::string const & name); diff --git a/kapi/kapi/devices/device.hpp b/kapi/kapi/devices/device.hpp index 34254002..d72a6bbd 100644 --- a/kapi/kapi/devices/device.hpp +++ b/kapi/kapi/devices/device.hpp @@ -15,12 +15,12 @@ namespace kapi::devices //! @{ /** - * @brief Base device identified by a major, minor number and name. + * @brief Base device identified by a name. */ struct device { /** - * @brief Create a device identifier from @p major, @p minor and @p name. + * @brief Create a device identified by @p name. * @param name Device name. */ explicit device(kstd::string const & name); diff --git a/kapi/kapi/devices/manager.hpp b/kapi/kapi/devices/manager.hpp index 499b79ab..25b22510 100644 --- a/kapi/kapi/devices/manager.hpp +++ b/kapi/kapi/devices/manager.hpp @@ -7,7 +7,6 @@ #include <kstd/memory.hpp> -#include <cstddef> #include <string_view> namespace kapi::devices @@ -16,11 +15,6 @@ namespace kapi::devices //! @addtogroup kapi-devices-kernel-defined //! @{ - //! Ask the kernel to allocate a new major number. - //! - //! @return a new, unused major number. - auto allocate_major_number() -> std::size_t; - //! Register a new device with the kernel's device manager. //! //! @param device The device to register. diff --git a/kernel/kapi/devices.cpp b/kernel/kapi/devices.cpp index ae2d4d7a..6da503d9 100644 --- a/kernel/kapi/devices.cpp +++ b/kernel/kapi/devices.cpp @@ -10,8 +10,6 @@ #include <kstd/print.hpp> #include <kstd/string.hpp> -#include <atomic> -#include <cstddef> #include <optional> #include <string_view> #include <utility> @@ -20,7 +18,6 @@ namespace kapi::devices { namespace { - auto constinit next_major_number = std::atomic_size_t{1}; auto constinit root_bus = std::optional<kernel::devices::root_bus>{}; auto constinit device_tree = kstd::flat_map<kstd::string, kstd::observer_ptr<device>>{}; } // namespace @@ -48,11 +45,6 @@ namespace kapi::devices return *root_bus; } - auto allocate_major_number() -> std::size_t - { - return next_major_number.fetch_add(1, std::memory_order::relaxed); - } - auto register_device(device & device) -> bool { kstd::println("[OS:DEV] Registering device {}", device.name()); @@ -86,6 +78,5 @@ namespace kapi::test_support::devices deinit_interface_registry(); kapi::devices::root_bus.reset(); - kapi::devices::next_major_number = 1; } } // namespace kapi::test_support::devices
\ No newline at end of file diff --git a/kernel/kernel/devices/storage/management.cpp b/kernel/kernel/devices/storage/management.cpp index 227aa54e..2c42fbd3 100644 --- a/kernel/kernel/devices/storage/management.cpp +++ b/kernel/kernel/devices/storage/management.cpp @@ -50,7 +50,8 @@ namespace kernel::devices::storage auto management::add_controller(kstd::shared_ptr<controller> const & controller) -> void { - controller->set_ids(kapi::devices::allocate_major_number(), minors_per_device); + // TODO: remove the major argument + controller->set_ids(0, minors_per_device); m_controllers.push_back(controller); } |
