summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c
diff options
context:
space:
mode:
Diffstat (limited to 'DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c')
-rw-r--r--DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c b/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c
index 5b3e708fa8..47f0e5e0b1 100644
--- a/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c
+++ b/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/AcpiTableFactory/AcpiTableFactory.c
@@ -22,7 +22,7 @@
#include "DynamicTableFactory.h"
-extern EDKII_DYNAMIC_TABLE_FACTORY_INFO TableFactoryInfo;
+extern EDKII_DYNAMIC_TABLE_FACTORY_INFO TableFactoryInfo;
/** Return a pointer to the ACPI table generator.
@@ -40,13 +40,13 @@ extern EDKII_DYNAMIC_TABLE_FACTORY_INFO TableFactoryInfo;
EFI_STATUS
EFIAPI
GetAcpiTableGenerator (
- IN CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL * CONST This,
+ IN CONST EDKII_DYNAMIC_TABLE_FACTORY_PROTOCOL *CONST This,
IN CONST ACPI_TABLE_GENERATOR_ID GeneratorId,
- OUT CONST ACPI_TABLE_GENERATOR ** CONST Generator
+ OUT CONST ACPI_TABLE_GENERATOR **CONST Generator
)
{
- UINT16 TableId;
- EDKII_DYNAMIC_TABLE_FACTORY_INFO * FactoryInfo;
+ UINT16 TableId;
+ EDKII_DYNAMIC_TABLE_FACTORY_INFO *FactoryInfo;
ASSERT (This != NULL);
@@ -63,12 +63,13 @@ GetAcpiTableGenerator (
}
*Generator = NULL;
- TableId = GET_TABLE_ID (GeneratorId);
+ TableId = GET_TABLE_ID (GeneratorId);
if (IS_GENERATOR_NAMESPACE_STD (GeneratorId)) {
if (TableId >= EStdAcpiTableIdMax) {
ASSERT (TableId < EStdAcpiTableIdMax);
return EFI_INVALID_PARAMETER;
}
+
if (FactoryInfo->StdAcpiTableGeneratorList[TableId] != NULL) {
*Generator = FactoryInfo->StdAcpiTableGeneratorList[TableId];
} else {
@@ -79,12 +80,14 @@ GetAcpiTableGenerator (
ASSERT (TableId <= FixedPcdGet16 (PcdMaxCustomACPIGenerators));
return EFI_INVALID_PARAMETER;
}
+
if (FactoryInfo->CustomAcpiTableGeneratorList[TableId] != NULL) {
*Generator = FactoryInfo->CustomAcpiTableGeneratorList[TableId];
} else {
return EFI_NOT_FOUND;
}
}
+
return EFI_SUCCESS;
}
@@ -105,7 +108,7 @@ GetAcpiTableGenerator (
EFI_STATUS
EFIAPI
RegisterAcpiTableGenerator (
- IN CONST ACPI_TABLE_GENERATOR * CONST Generator
+ IN CONST ACPI_TABLE_GENERATOR *CONST Generator
)
{
UINT16 TableId;
@@ -132,6 +135,7 @@ RegisterAcpiTableGenerator (
ASSERT (TableId < EStdAcpiTableIdMax);
return EFI_INVALID_PARAMETER;
}
+
if (TableFactoryInfo.StdAcpiTableGeneratorList[TableId] == NULL) {
TableFactoryInfo.StdAcpiTableGeneratorList[TableId] = Generator;
} else {
@@ -142,12 +146,14 @@ RegisterAcpiTableGenerator (
ASSERT (TableId <= FixedPcdGet16 (PcdMaxCustomACPIGenerators));
return EFI_INVALID_PARAMETER;
}
+
if (TableFactoryInfo.CustomAcpiTableGeneratorList[TableId] == NULL) {
TableFactoryInfo.CustomAcpiTableGeneratorList[TableId] = Generator;
} else {
return EFI_ALREADY_STARTED;
}
}
+
return EFI_SUCCESS;
}
@@ -166,7 +172,7 @@ RegisterAcpiTableGenerator (
EFI_STATUS
EFIAPI
DeregisterAcpiTableGenerator (
- IN CONST ACPI_TABLE_GENERATOR * CONST Generator
+ IN CONST ACPI_TABLE_GENERATOR *CONST Generator
)
{
UINT16 TableId;
@@ -191,10 +197,12 @@ DeregisterAcpiTableGenerator (
ASSERT (TableId < EStdAcpiTableIdMax);
return EFI_INVALID_PARAMETER;
}
+
if (TableFactoryInfo.StdAcpiTableGeneratorList[TableId] != NULL) {
if (Generator != TableFactoryInfo.StdAcpiTableGeneratorList[TableId]) {
return EFI_INVALID_PARAMETER;
}
+
TableFactoryInfo.StdAcpiTableGeneratorList[TableId] = NULL;
} else {
return EFI_NOT_FOUND;
@@ -204,11 +212,14 @@ DeregisterAcpiTableGenerator (
ASSERT (TableId <= FixedPcdGet16 (PcdMaxCustomACPIGenerators));
return EFI_INVALID_PARAMETER;
}
+
if (TableFactoryInfo.CustomAcpiTableGeneratorList[TableId] != NULL) {
if (Generator !=
- TableFactoryInfo.CustomAcpiTableGeneratorList[TableId]) {
+ TableFactoryInfo.CustomAcpiTableGeneratorList[TableId])
+ {
return EFI_INVALID_PARAMETER;
}
+
TableFactoryInfo.CustomAcpiTableGeneratorList[TableId] = NULL;
} else {
return EFI_NOT_FOUND;