Added necessary changes to comply with SLC/GSDK integration (#23478)

diff --git a/examples/platform/efr32/LEDWidget.cpp b/examples/platform/efr32/LEDWidget.cpp
index 9609955..10ffcac 100644
--- a/examples/platform/efr32/LEDWidget.cpp
+++ b/examples/platform/efr32/LEDWidget.cpp
@@ -18,7 +18,10 @@
  */
 
 #include "LEDWidget.h"
+
+extern "C" {
 #include "sl_simple_led_instances.h"
+}
 
 #include <platform/CHIPDeviceLayer.h>
 
diff --git a/examples/platform/efr32/OTAConfig.cpp b/examples/platform/efr32/OTAConfig.cpp
index 8f42f69..1056cf5 100644
--- a/examples/platform/efr32/OTAConfig.cpp
+++ b/examples/platform/efr32/OTAConfig.cpp
@@ -18,9 +18,15 @@
 
 #include "OTAConfig.h"
 
-#include "platform/bootloader/api/application_properties.h"
+#include "application_properties.h"
 #include <app/server/Server.h>
 
+#if defined(SL_COMPONENT_CATALOG_PRESENT)
+#include "sl_component_catalog.h"
+#endif
+
+// Only include app properties if the Gecko SDK component that does it automatically isn't present
+#if !defined(SL_CATALOG_GECKO_BOOTLOADER_INTERFACE_PRESENT)
 // Header used for building the image GBL file
 #define APP_PROPERTIES_VERSION 1
 #define APP_PROPERTIES_ID                                                                                                          \
@@ -65,6 +71,7 @@
     /// Pointer to Long Token Data Section
     .longTokenSectionAddress = NULL,
 };
+#endif // SL_CATALOG_GECKO_BOOTLOADER_INTERFACE_PRESENT
 
 // Global OTA objects
 chip::DefaultOTARequestor gRequestorCore;
diff --git a/examples/platform/efr32/matter_config.cpp b/examples/platform/efr32/matter_config.cpp
index d4d651f..1102db5 100644
--- a/examples/platform/efr32/matter_config.cpp
+++ b/examples/platform/efr32/matter_config.cpp
@@ -105,10 +105,12 @@
 }
 #endif // CHIP_ENABLE_OPENTHREAD
 
+#if EFR32_OTA_ENABLED
 void EFR32MatterConfig::InitOTARequestorHandler(System::Layer * systemLayer, void * appState)
 {
     OTAConfig::Init();
 }
+#endif
 
 void EFR32MatterConfig::ConnectivityEventCallback(const ChipDeviceEvent * event, intptr_t arg)
 {
@@ -118,9 +120,11 @@
         ((event->Type == DeviceEventType::kInternetConnectivityChange) &&
          (event->InternetConnectivityChange.IPv6 == kConnectivity_Established)))
     {
+#if EFR32_OTA_ENABLED
         EFR32_LOG("Scheduling OTA Requestor initialization")
         chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds32(OTAConfig::kInitOTARequestorDelaySec),
                                                     InitOTARequestorHandler, nullptr);
+#endif
     }
 }
 
diff --git a/src/platform/EFR32/OTAImageProcessorImpl.cpp b/src/platform/EFR32/OTAImageProcessorImpl.cpp
index c8c717e..70b1349 100644
--- a/src/platform/EFR32/OTAImageProcessorImpl.cpp
+++ b/src/platform/EFR32/OTAImageProcessorImpl.cpp
@@ -21,8 +21,8 @@
 #include <app/clusters/ota-requestor/OTARequestorInterface.h>
 
 extern "C" {
-#include "platform/bootloader/api/btl_interface.h"
-#include "platform/emlib/inc/em_bus.h" // For CORE_CRITICAL_SECTION
+#include "btl_interface.h"
+#include "em_bus.h" // For CORE_CRITICAL_SECTION
 }
 
 #include "EFR32Config.h"