Skip to content

Commit e6d3184

Browse files
[Silabs] Merge PlatformManagerImpl.cpp for efr32 and si917 platforms (project-chip#33274)
* Merge PlatformManagerImpl.cpp for efr32 and si917 platforms as they were mostly the same * add a nullptr check
1 parent fcfc9bc commit e6d3184

File tree

4 files changed

+17
-182
lines changed

4 files changed

+17
-182
lines changed

src/platform/silabs/SiWx917/PlatformManagerImpl.cpp src/platform/silabs/PlatformManagerImpl.cpp

+15-17
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include <platform/PlatformManager.h>
3131
#include <platform/internal/GenericPlatformManagerImpl_FreeRTOS.ipp>
3232
#include <platform/silabs/DiagnosticDataProviderImpl.h>
33+
3334
#if defined(TINYCRYPT_PRIMITIVES)
3435
#include "tinycrypt/ecc.h"
3536
#endif
@@ -39,36 +40,32 @@
3940
#endif // CHIP_SYSTEM_CONFIG_USE_LWIP
4041

4142
#include "AppConfig.h"
42-
#include "FreeRTOS.h"
4343

4444
using namespace chip::DeviceLayer::Internal;
4545

4646
namespace chip {
4747
namespace DeviceLayer {
4848

4949
PlatformManagerImpl PlatformManagerImpl::sInstance;
50+
51+
#if SLI_SI91X_MCU_INTERFACE
5052
#if defined(TINYCRYPT_PRIMITIVES)
5153
sys_mutex_t PlatformManagerImpl::rngMutexHandle = NULL;
52-
#endif
5354

54-
#if defined(TINYCRYPT_PRIMITIVES)
5555
int PlatformManagerImpl::uECC_RNG_Function(uint8_t * dest, unsigned int size)
5656
{
57-
int res;
58-
5957
sys_mutex_lock(&rngMutexHandle);
60-
res = (chip::Crypto::DRBG_get_bytes(dest, size) == CHIP_NO_ERROR) ? size : 0;
58+
int res = (chip::Crypto::DRBG_get_bytes(dest, size) == CHIP_NO_ERROR) ? size : 0;
6159
sys_mutex_unlock(&rngMutexHandle);
6260

6361
return res;
6462
}
65-
#endif
63+
#endif // TINYCRYPT_PRIMITIVES
6664

6765
static void app_get_random(uint8_t * aOutput, size_t aLen)
6866
{
69-
size_t i;
70-
71-
for (i = 0; i < aLen; i++)
67+
VerifyOrReturn(aOutput != nullptr);
68+
for (size_t i = 0; i < aLen; i++)
7269
{
7370
aOutput[i] = rand();
7471
}
@@ -81,6 +78,7 @@ static int app_entropy_source(void * data, unsigned char * output, size_t len, s
8178

8279
return 0;
8380
}
81+
#endif // SLI_SI91X_MCU_INTERFACE
8482

8583
CHIP_ERROR PlatformManagerImpl::_InitChipStack(void)
8684
{
@@ -97,16 +95,15 @@ CHIP_ERROR PlatformManagerImpl::_InitChipStack(void)
9795

9896
ReturnErrorOnFailure(System::Clock::InitClock_RealTime());
9997

100-
// 16 : Threshold value
101-
ReturnErrorOnFailure(chip::Crypto::add_entropy_source(app_entropy_source, NULL, 16));
98+
#if SLI_SI91X_MCU_INTERFACE
99+
ReturnErrorOnFailure(chip::Crypto::add_entropy_source(app_entropy_source, NULL, 16 /*Threshold value*/));
102100

103101
#if defined(TINYCRYPT_PRIMITIVES)
104102
/* Set RNG function for tinycrypt operations. */
105-
err_t ret;
106-
ret = sys_mutex_new(&rngMutexHandle);
107-
VerifyOrExit((ERR_OK == ret), err = CHIP_ERROR_NO_MEMORY);
103+
VerifyOrExit(sys_mutex_new(&rngMutexHandle) == ERR_OK, err = CHIP_ERROR_NO_MEMORY);
108104
uECC_set_rng(PlatformManagerImpl::uECC_RNG_Function);
109-
#endif
105+
#endif // TINYCRYPT_PRIMITIVES
106+
#endif // SLI_SI91X_MCU_INTERFACE
110107

111108
// Call _InitChipStack() on the generic implementation base class
112109
// to finish the initialization process.
@@ -139,6 +136,7 @@ void PlatformManagerImpl::_Shutdown()
139136
{
140137
Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_Shutdown();
141138
}
139+
142140
#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION
143141
void PlatformManagerImpl::HandleWFXSystemEvent(wfx_event_base_t eventBase, sl_wfx_generic_message_t * eventData)
144142
{
@@ -206,7 +204,7 @@ void PlatformManagerImpl::HandleWFXSystemEvent(wfx_event_base_t eventBase, sl_wf
206204

207205
(void) sInstance.PostEvent(&event);
208206
}
209-
#endif
207+
#endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION
210208

211209
} // namespace DeviceLayer
212210
} // namespace chip

src/platform/silabs/SiWx917/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ static_library("SiWx917") {
5050
"${silabs_platform_dir}/Logging.cpp",
5151
"${silabs_platform_dir}/MigrationManager.cpp",
5252
"${silabs_platform_dir}/MigrationManager.h",
53+
"${silabs_platform_dir}/PlatformManagerImpl.cpp",
5354
"${silabs_platform_dir}/PlatformManagerImpl.h",
5455
"${silabs_platform_dir}/SilabsConfig.cpp",
5556
"${silabs_platform_dir}/SilabsConfig.h",
@@ -63,7 +64,6 @@ static_library("SiWx917") {
6364
"../rs911x/rsi_ble_config.h",
6465
"../rs911x/wfx_sl_ble_init.c",
6566
"../rs911x/wfx_sl_ble_init.h",
66-
"PlatformManagerImpl.cpp",
6767
]
6868

6969
if (chip_enable_ota_requestor) {

src/platform/silabs/efr32/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ static_library("efr32") {
5555
"${silabs_platform_dir}/KeyValueStoreManagerImpl.h",
5656
"${silabs_platform_dir}/Logging.cpp",
5757
"${silabs_platform_dir}/MigrationManager.cpp",
58+
"${silabs_platform_dir}/PlatformManagerImpl.cpp",
5859
"${silabs_platform_dir}/PlatformManagerImpl.h",
5960
"${silabs_platform_dir}/SilabsConfig.cpp",
6061
"${silabs_platform_dir}/SilabsConfig.h",
@@ -64,7 +65,6 @@ static_library("efr32") {
6465
"${silabs_platform_dir}/platformAbstraction/SilabsPlatformBase.h",
6566
"../../FreeRTOS/SystemTimeSupport.cpp",
6667
"../../SingletonConfigurationManager.cpp",
67-
"PlatformManagerImpl.cpp",
6868
]
6969

7070
if (chip_enable_ble_rs911x) {

src/platform/silabs/efr32/PlatformManagerImpl.cpp

-163
This file was deleted.

0 commit comments

Comments
 (0)