Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / platform / EFR32 / PlatformManagerImpl.cpp
1 /*
2  *
3  *    Copyright (c) 2020 Project CHIP Authors
4  *    Copyright (c) 2019 Nest Labs, Inc.
5  *
6  *    Licensed under the Apache License, Version 2.0 (the "License");
7  *    you may not use this file except in compliance with the License.
8  *    You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *    Unless required by applicable law or agreed to in writing, software
13  *    distributed under the License is distributed on an "AS IS" BASIS,
14  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *    See the License for the specific language governing permissions and
16  *    limitations under the License.
17  */
18
19 /**
20  *    @file
21  *          Provides an implementation of the PlatformManager object
22  *          for EFR32 platforms using the Silicon Labs EFR32 SDK.
23  */
24 /* this file behaves like a config.h, comes first */
25 #include <platform/internal/CHIPDeviceLayerInternal.h>
26
27 #include <platform/PlatformManager.h>
28 #include <platform/internal/GenericPlatformManagerImpl_FreeRTOS.cpp>
29
30 #include <lwip/tcpip.h>
31
32 #include "AppConfig.h"
33
34 namespace chip {
35 namespace DeviceLayer {
36
37 PlatformManagerImpl PlatformManagerImpl::sInstance;
38
39 CHIP_ERROR PlatformManagerImpl::_InitChipStack(void)
40 {
41     CHIP_ERROR err;
42
43     // Initialize the configuration system.
44     err = Internal::EFR32Config::Init();
45     SuccessOrExit(err);
46
47     // Initialize LwIP.
48     tcpip_init(NULL, NULL);
49
50     // Call _InitChipStack() on the generic implementation base class
51     // to finish the initialization process.
52     err = Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_InitChipStack();
53     SuccessOrExit(err);
54
55 exit:
56     return err;
57 }
58
59 } // namespace DeviceLayer
60 } // namespace chip