/* * Copyright (c) 2022, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include #include namespace Kernel { UNMAP_AFTER_INIT NonnullLockRefPtr SysFSDevicesDirectory::must_create(SysFSRootDirectory const& root_directory) { auto devices_directory = adopt_lock_ref_if_nonnull(new (nothrow) SysFSDevicesDirectory(root_directory)).release_nonnull(); MUST(devices_directory->m_child_components.with([&](auto& list) -> ErrorOr { list.append(SysFSStorageDirectory::must_create(*devices_directory)); list.append(SysFSGraphicsDirectory::must_create(*devices_directory)); return {}; })); return devices_directory; } SysFSDevicesDirectory::SysFSDevicesDirectory(SysFSRootDirectory const& root_directory) : SysFSDirectory(root_directory) { } }