aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/bus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi/devices/bus.cpp')
-rw-r--r--kernel/kapi/devices/bus.cpp14
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())
{