diff options
Diffstat (limited to 'kernel/kapi/devices/bus.cpp')
| -rw-r--r-- | kernel/kapi/devices/bus.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/kernel/kapi/devices/bus.cpp b/kernel/kapi/devices/bus.cpp index 4695ae39..d9f3f991 100644 --- a/kernel/kapi/devices/bus.cpp +++ b/kernel/kapi/devices/bus.cpp @@ -9,26 +9,25 @@ #include <kstd/vector.hpp> #include <algorithm> -#include <cstddef> #include <utility> namespace kapi::devices { - bus::bus(std::size_t major, std::size_t minor, kstd::string const & name) - : device(major, minor, name) + bus::bus(kstd::string const & name) + : device{name} {} auto bus::init() -> bool { if (m_init_was_called.test_and_set()) { - kstd::println(kstd::print_sink::stderr, "[OS:DEV] Bus {}:{}:{} already initialized", name(), major(), minor()); + kstd::println(kstd::print_sink::stderr, "[OS:DEV] Bus {} already initialized", name()); return true; } if (!enumerate()) { - kstd::println(kstd::print_sink::stderr, "[OS:DEV] Bus {}:{}:{} enumeration failed", name(), major(), minor()); + kstd::println(kstd::print_sink::stderr, "[OS:DEV] Bus {} enumeration failed", name()); return false; } @@ -47,7 +46,10 @@ namespace kapi::devices auto observer = m_observers.emplace_back(child.get()); child->set_parent(kstd::make_observer(this)); m_devices.push_back(std::move(child)); - kapi::devices::register_device(*observer); + if (!kapi::devices::register_device(*observer)) + { + kapi::system::panic("[OS:DEV] Failed to register child device"); + } if (m_initialized.test()) { |
