summaryrefslogtreecommitdiffstats
path: root/ArmPkg
diff options
context:
space:
mode:
authorPierre Gondois <Pierre.Gondois@arm.com>2021-01-08 14:06:20 +0000
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-04-15 19:53:39 +0000
commit39b3e14c9950376e48dc3e65404e4cf884607add (patch)
treebf263e64a9fe6b648672c81875817d7aea39cf1f /ArmPkg
parent3c0c1d3faea5718206764e44bd26fc7667c4fb9f (diff)
downloadedk2-39b3e14c9950376e48dc3e65404e4cf884607add.tar.gz
edk2-39b3e14c9950376e48dc3e65404e4cf884607add.tar.bz2
edk2-39b3e14c9950376e48dc3e65404e4cf884607add.zip
ArmPkg: Fix Ecc error 7008 for SCMI_CLOCK_RATE
This patch fixes the following Ecc reported error: Complex types should be typedef-ed The error is due to the a nested structure declaration. Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Diffstat (limited to 'ArmPkg')
-rw-r--r--ArmPkg/Drivers/ArmScmiDxe/ScmiClockProtocol.c12
-rw-r--r--ArmPkg/Include/Protocol/ArmScmiClockProtocol.h14
2 files changed, 18 insertions, 8 deletions
diff --git a/ArmPkg/Drivers/ArmScmiDxe/ScmiClockProtocol.c b/ArmPkg/Drivers/ArmScmiDxe/ScmiClockProtocol.c
index c66c414385..5c06e31bda 100644
--- a/ArmPkg/Drivers/ArmScmiDxe/ScmiClockProtocol.c
+++ b/ArmPkg/Drivers/ArmScmiDxe/ScmiClockProtocol.c
@@ -255,22 +255,26 @@ ClockDescribeRates (
for (RateNo = 0; RateNo < NUM_RATES (DescribeRates->NumRatesFlags); RateNo++) {
Rate = &DescribeRates->Rates[RateOffset++];
// Non-linear discrete rates.
- RateArray[RateIndex++].Rate = ConvertTo64Bit (Rate->Low, Rate->High);
+ RateArray[RateIndex++].DiscreteRate.Rate =
+ ConvertTo64Bit (Rate->Low, Rate->High);
}
} else {
for (RateNo = 0; RateNo < NUM_RATES (DescribeRates->NumRatesFlags); RateNo++) {
// Linear clock rates from minimum to maximum in steps
// Minimum clock rate.
Rate = &DescribeRates->Rates[RateOffset++];
- RateArray[RateIndex].Min = ConvertTo64Bit (Rate->Low, Rate->High);
+ RateArray[RateIndex].ContinuousRate.Min =
+ ConvertTo64Bit (Rate->Low, Rate->High);
Rate = &DescribeRates->Rates[RateOffset++];
// Maximum clock rate.
- RateArray[RateIndex].Max = ConvertTo64Bit (Rate->Low, Rate->High);
+ RateArray[RateIndex].ContinuousRate.Max =
+ ConvertTo64Bit (Rate->Low, Rate->High);
Rate = &DescribeRates->Rates[RateOffset++];
// Step.
- RateArray[RateIndex++].Step = ConvertTo64Bit (Rate->Low, Rate->High);
+ RateArray[RateIndex++].ContinuousRate.Step =
+ ConvertTo64Bit (Rate->Low, Rate->High);
}
}
} while (NUM_REMAIN_RATES (DescribeRates->NumRatesFlags) != 0);
diff --git a/ArmPkg/Include/Protocol/ArmScmiClockProtocol.h b/ArmPkg/Include/Protocol/ArmScmiClockProtocol.h
index b4d970dee3..85b5b8d1e7 100644
--- a/ArmPkg/Include/Protocol/ArmScmiClockProtocol.h
+++ b/ArmPkg/Include/Protocol/ArmScmiClockProtocol.h
@@ -1,6 +1,6 @@
/** @file
- Copyright (c) 2017-2018, Arm Limited. All rights reserved.
+ Copyright (c) 2017-2021, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -57,12 +57,18 @@ typedef enum {
either Rate or Min/Max/Step triplet is valid.
*/
typedef struct {
- union {
UINT64 Min;
- UINT64 Rate;
- };
UINT64 Max;
UINT64 Step;
+} SCMI_CLOCK_RATE_CONTINUOUS;
+
+typedef struct {
+ UINT64 Rate;
+} SCMI_CLOCK_RATE_DISCRETE;
+
+typedef union {
+ SCMI_CLOCK_RATE_CONTINUOUS ContinuousRate;
+ SCMI_CLOCK_RATE_DISCRETE DiscreteRate;
} SCMI_CLOCK_RATE;
#pragma pack()