mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-03 13:00:29 +00:00
Kernel/SysFS: Make it clear that some components must be created in boot
Using the phrase "create" doesn't give information on whether the object must be allocated or a failure to do so can be handled gracefully. Therefore, we must use better phrase for such purpose, so "must_create" for the allocate-and-construct static methods is definitely good choice.
This commit is contained in:
parent
478f543899
commit
381fdaa163
Notes:
sideshowbarker
2024-07-17 22:47:42 +09:00
Author: https://github.com/supercomputer7 Commit: https://github.com/SerenityOS/serenity/commit/381fdaa163d Pull-request: https://github.com/SerenityOS/serenity/pull/11228
5 changed files with 15 additions and 22 deletions
|
@ -67,9 +67,9 @@ UNMAP_AFTER_INIT ACPISysFSComponent::ACPISysFSComponent(NonnullOwnPtr<KString> t
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
UNMAP_AFTER_INIT ErrorOr<NonnullRefPtr<ACPISysFSDirectory>> ACPISysFSDirectory::try_create(FirmwareSysFSDirectory& firmware_directory)
|
UNMAP_AFTER_INIT NonnullRefPtr<ACPISysFSDirectory> ACPISysFSDirectory::must_create(FirmwareSysFSDirectory& firmware_directory)
|
||||||
{
|
{
|
||||||
auto acpi_directory = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) ACPISysFSDirectory(firmware_directory)));
|
auto acpi_directory = MUST(adopt_nonnull_ref_or_enomem(new (nothrow) ACPISysFSDirectory(firmware_directory)));
|
||||||
return acpi_directory;
|
return acpi_directory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace Kernel::ACPI {
|
||||||
class ACPISysFSDirectory : public SysFSDirectory {
|
class ACPISysFSDirectory : public SysFSDirectory {
|
||||||
public:
|
public:
|
||||||
virtual StringView name() const override { return "acpi"sv; }
|
virtual StringView name() const override { return "acpi"sv; }
|
||||||
static ErrorOr<NonnullRefPtr<ACPISysFSDirectory>> try_create(FirmwareSysFSDirectory& firmware_directory);
|
static NonnullRefPtr<ACPISysFSDirectory> must_create(FirmwareSysFSDirectory& firmware_directory);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit ACPISysFSDirectory(FirmwareSysFSDirectory& firmware_directory);
|
explicit ACPISysFSDirectory(FirmwareSysFSDirectory& firmware_directory);
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace Kernel {
|
||||||
#define SMBIOS_END_SEARCH_ADDR 0xfffff
|
#define SMBIOS_END_SEARCH_ADDR 0xfffff
|
||||||
#define SMBIOS_SEARCH_AREA_SIZE (SMBIOS_END_SEARCH_ADDR - SMBIOS_BASE_SEARCH_ADDR)
|
#define SMBIOS_SEARCH_AREA_SIZE (SMBIOS_END_SEARCH_ADDR - SMBIOS_BASE_SEARCH_ADDR)
|
||||||
|
|
||||||
UNMAP_AFTER_INIT NonnullRefPtr<DMIEntryPointExposedBlob> DMIEntryPointExposedBlob::create(PhysicalAddress dmi_entry_point, size_t blob_size)
|
UNMAP_AFTER_INIT NonnullRefPtr<DMIEntryPointExposedBlob> DMIEntryPointExposedBlob::must_create(PhysicalAddress dmi_entry_point, size_t blob_size)
|
||||||
{
|
{
|
||||||
return adopt_ref(*new (nothrow) DMIEntryPointExposedBlob(dmi_entry_point, blob_size));
|
return adopt_ref(*new (nothrow) DMIEntryPointExposedBlob(dmi_entry_point, blob_size));
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ ErrorOr<NonnullOwnPtr<KBuffer>> DMIEntryPointExposedBlob::try_to_generate_buffer
|
||||||
return KBuffer::try_create_with_bytes(Span<u8> { dmi_blob.ptr(), m_dmi_entry_point_length });
|
return KBuffer::try_create_with_bytes(Span<u8> { dmi_blob.ptr(), m_dmi_entry_point_length });
|
||||||
}
|
}
|
||||||
|
|
||||||
UNMAP_AFTER_INIT NonnullRefPtr<SMBIOSExposedTable> SMBIOSExposedTable::create(PhysicalAddress smbios_structure_table, size_t smbios_structure_table_length)
|
UNMAP_AFTER_INIT NonnullRefPtr<SMBIOSExposedTable> SMBIOSExposedTable::must_create(PhysicalAddress smbios_structure_table, size_t smbios_structure_table_length)
|
||||||
{
|
{
|
||||||
return adopt_ref(*new (nothrow) SMBIOSExposedTable(smbios_structure_table, smbios_structure_table_length));
|
return adopt_ref(*new (nothrow) SMBIOSExposedTable(smbios_structure_table, smbios_structure_table_length));
|
||||||
}
|
}
|
||||||
|
@ -89,9 +89,9 @@ UNMAP_AFTER_INIT void BIOSSysFSDirectory::set_dmi_32_bit_entry_initialization_va
|
||||||
m_smbios_structure_table_length = smbios_entry.ptr()->legacy_structure.smboios_table_length;
|
m_smbios_structure_table_length = smbios_entry.ptr()->legacy_structure.smboios_table_length;
|
||||||
}
|
}
|
||||||
|
|
||||||
UNMAP_AFTER_INIT ErrorOr<NonnullRefPtr<BIOSSysFSDirectory>> BIOSSysFSDirectory::try_create(FirmwareSysFSDirectory& firmware_directory)
|
UNMAP_AFTER_INIT NonnullRefPtr<BIOSSysFSDirectory> BIOSSysFSDirectory::must_create(FirmwareSysFSDirectory& firmware_directory)
|
||||||
{
|
{
|
||||||
auto bios_directory = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) BIOSSysFSDirectory(firmware_directory)));
|
auto bios_directory = MUST(adopt_nonnull_ref_or_enomem(new (nothrow) BIOSSysFSDirectory(firmware_directory)));
|
||||||
bios_directory->create_components();
|
bios_directory->create_components();
|
||||||
return bios_directory;
|
return bios_directory;
|
||||||
}
|
}
|
||||||
|
@ -108,10 +108,8 @@ void BIOSSysFSDirectory::create_components()
|
||||||
dbgln("BIOSSysFSDirectory: invalid smbios structure table length");
|
dbgln("BIOSSysFSDirectory: invalid smbios structure table length");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto dmi_entry_point = DMIEntryPointExposedBlob::create(m_dmi_entry_point, m_dmi_entry_point_length);
|
m_components.append(DMIEntryPointExposedBlob::must_create(m_dmi_entry_point, m_dmi_entry_point_length));
|
||||||
m_components.append(dmi_entry_point);
|
m_components.append(SMBIOSExposedTable::must_create(m_smbios_structure_table, m_smbios_structure_table_length));
|
||||||
auto smbios_table = SMBIOSExposedTable::create(m_smbios_structure_table, m_smbios_structure_table_length);
|
|
||||||
m_components.append(smbios_table);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UNMAP_AFTER_INIT void BIOSSysFSDirectory::initialize_dmi_exposer()
|
UNMAP_AFTER_INIT void BIOSSysFSDirectory::initialize_dmi_exposer()
|
||||||
|
|
|
@ -72,7 +72,7 @@ protected:
|
||||||
class DMIEntryPointExposedBlob : public BIOSSysFSComponent {
|
class DMIEntryPointExposedBlob : public BIOSSysFSComponent {
|
||||||
public:
|
public:
|
||||||
virtual StringView name() const override { return "smbios_entry_point"sv; }
|
virtual StringView name() const override { return "smbios_entry_point"sv; }
|
||||||
static NonnullRefPtr<DMIEntryPointExposedBlob> create(PhysicalAddress dmi_entry_point, size_t blob_size);
|
static NonnullRefPtr<DMIEntryPointExposedBlob> must_create(PhysicalAddress dmi_entry_point, size_t blob_size);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DMIEntryPointExposedBlob(PhysicalAddress dmi_entry_point, size_t blob_size);
|
DMIEntryPointExposedBlob(PhysicalAddress dmi_entry_point, size_t blob_size);
|
||||||
|
@ -84,7 +84,7 @@ private:
|
||||||
class SMBIOSExposedTable : public BIOSSysFSComponent {
|
class SMBIOSExposedTable : public BIOSSysFSComponent {
|
||||||
public:
|
public:
|
||||||
virtual StringView name() const override { return "DMI"sv; }
|
virtual StringView name() const override { return "DMI"sv; }
|
||||||
static NonnullRefPtr<SMBIOSExposedTable> create(PhysicalAddress, size_t blob_size);
|
static NonnullRefPtr<SMBIOSExposedTable> must_create(PhysicalAddress, size_t blob_size);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SMBIOSExposedTable(PhysicalAddress dmi_entry_point, size_t blob_size);
|
SMBIOSExposedTable(PhysicalAddress dmi_entry_point, size_t blob_size);
|
||||||
|
@ -97,7 +97,7 @@ private:
|
||||||
class BIOSSysFSDirectory : public SysFSDirectory {
|
class BIOSSysFSDirectory : public SysFSDirectory {
|
||||||
public:
|
public:
|
||||||
virtual StringView name() const override { return "bios"sv; }
|
virtual StringView name() const override { return "bios"sv; }
|
||||||
static ErrorOr<NonnullRefPtr<BIOSSysFSDirectory>> try_create(FirmwareSysFSDirectory&);
|
static NonnullRefPtr<BIOSSysFSDirectory> must_create(FirmwareSysFSDirectory&);
|
||||||
|
|
||||||
void create_components();
|
void create_components();
|
||||||
|
|
||||||
|
|
|
@ -21,14 +21,9 @@ UNMAP_AFTER_INIT void FirmwareSysFSDirectory::initialize()
|
||||||
|
|
||||||
void FirmwareSysFSDirectory::create_components()
|
void FirmwareSysFSDirectory::create_components()
|
||||||
{
|
{
|
||||||
auto bios_directory_or_error = BIOSSysFSDirectory::try_create(*this);
|
m_components.append(BIOSSysFSDirectory::must_create(*this));
|
||||||
VERIFY(!bios_directory_or_error.is_error());
|
m_components.append(ACPI::ACPISysFSDirectory::must_create(*this));
|
||||||
auto acpi_directory_or_error = ACPI::ACPISysFSDirectory::try_create(*this);
|
m_components.append(PowerStateSwitchNode::must_create(*this));
|
||||||
VERIFY(!acpi_directory_or_error.is_error());
|
|
||||||
auto power_state_switch_node = PowerStateSwitchNode::must_create(*this);
|
|
||||||
m_components.append(bios_directory_or_error.release_value());
|
|
||||||
m_components.append(acpi_directory_or_error.release_value());
|
|
||||||
m_components.append(power_state_switch_node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UNMAP_AFTER_INIT FirmwareSysFSDirectory::FirmwareSysFSDirectory()
|
UNMAP_AFTER_INIT FirmwareSysFSDirectory::FirmwareSysFSDirectory()
|
||||||
|
|
Loading…
Reference in a new issue