29 DeviceManagerSingleton::create();
30 auto& dm = DeviceManagerSingleton::instance();
33 Ns16550aDriverSingleton::create();
34 Pl011DriverSingleton::create();
35 VirtioDriverSingleton::create();
37 for (
const auto& get_entry : kBuiltinDrivers) {
38 const auto& entry = get_entry();
39 if (
auto r = dm.GetRegistry().Register(entry); !r) {
40 klog::Err(
"DeviceInit: register driver '{}' failed: {}", entry.name,
46 PlatformBus platform_bus(KernelFdtSingleton::instance());
47 if (
auto r = dm.RegisterBus(platform_bus); !r) {
48 klog::Err(
"DeviceInit: PlatformBus enumeration failed: {}",
53 if (
auto r = dm.ProbeAll(); !r) {
54 klog::Err(
"DeviceInit: ProbeAll failed: {}", r.error().message());