diff --git a/Kernel/Devices/DeviceManagement.h b/Kernel/Devices/DeviceManagement.h index d0d1bce695..cd9746e6e8 100644 --- a/Kernel/Devices/DeviceManagement.h +++ b/Kernel/Devices/DeviceManagement.h @@ -55,6 +55,14 @@ public: ConsoleDevice const& console_device() const; ConsoleDevice& console_device(); + template + static inline ErrorOr> try_create_device(Args&&... args) requires(requires(Args... args) { DeviceType::try_create(args...); }) + { + auto device = TRY(DeviceType::try_create(forward(args)...)); + device->after_inserting(); + return device; + } + template static inline ErrorOr> try_create_device(Args&&... args) {