diff --git a/scripts/config.py b/scripts/config.py
index c19222a..a1d932f 100755
--- a/scripts/config.py
+++ b/scripts/config.py
@@ -164,29 +164,29 @@
     if re.search(r'PLATFORM_[A-Z0-9]+_ALT', name):
         return True
     if name in [
-            'MBEDTLS_TEST_NULL_ENTROPY',
             'MBEDTLS_DEPRECATED_REMOVED',
+            'MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED',
+            'MBEDTLS_ECP_RESTARTABLE',
             'MBEDTLS_HAVE_SSE2',
-            'MBEDTLS_PLATFORM_NO_STD_FUNCTIONS',
-            'MBEDTLS_MEMORY_DEBUG',
             'MBEDTLS_MEMORY_BACKTRACE',
             'MBEDTLS_MEMORY_BUFFER_ALLOC_C',
+            'MBEDTLS_MEMORY_DEBUG',
+            'MBEDTLS_NO_64BIT_MULTIPLICATION',
             'MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES',
             'MBEDTLS_NO_PLATFORM_ENTROPY',
-            'MBEDTLS_RSA_NO_CRT',
-            'MBEDTLS_REMOVE_ARC4_CIPHERSUITES',
+            'MBEDTLS_NO_UDBL_DIVISION',
+            'MBEDTLS_PKCS11_C',
+            'MBEDTLS_PLATFORM_NO_STD_FUNCTIONS',
+            'MBEDTLS_PSA_CRYPTO_SPM',
+            'MBEDTLS_PSA_INJECT_ENTROPY',
             'MBEDTLS_REMOVE_3DES_CIPHERSUITES',
+            'MBEDTLS_REMOVE_ARC4_CIPHERSUITES',
+            'MBEDTLS_RSA_NO_CRT',
             'MBEDTLS_SSL_HW_RECORD_ACCEL',
+            'MBEDTLS_TEST_NULL_ENTROPY',
             'MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3',
             'MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION',
             'MBEDTLS_ZLIB_SUPPORT',
-            'MBEDTLS_PKCS11_C',
-            'MBEDTLS_NO_UDBL_DIVISION',
-            'MBEDTLS_NO_64BIT_MULTIPLICATION',
-            'MBEDTLS_PSA_CRYPTO_SPM',
-            'MBEDTLS_PSA_INJECT_ENTROPY',
-            'MBEDTLS_ECP_RESTARTABLE',
-            'MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED',
     ]:
         return False
     if name.endswith('_ALT'):
@@ -202,22 +202,22 @@
 def keep_in_baremetal(name):
     """Rules for symbols in the "baremetal" configuration."""
     if name in [
-            'MBEDTLS_NET_C',
-            'MBEDTLS_TIMING_C',
-            'MBEDTLS_FS_IO',
+            'MBEDTLS_DEPRECATED_WARNING',
             'MBEDTLS_ENTROPY_NV_SEED',
+            'MBEDTLS_FS_IO',
+            'MBEDTLS_HAVEGE_C',
             'MBEDTLS_HAVE_TIME',
             'MBEDTLS_HAVE_TIME_DATE',
-            'MBEDTLS_DEPRECATED_WARNING',
-            'MBEDTLS_HAVEGE_C',
-            'MBEDTLS_THREADING_C',
-            'MBEDTLS_THREADING_PTHREAD',
             'MBEDTLS_MEMORY_BACKTRACE',
             'MBEDTLS_MEMORY_BUFFER_ALLOC_C',
-            'MBEDTLS_PLATFORM_TIME_ALT',
+            'MBEDTLS_NET_C',
             'MBEDTLS_PLATFORM_FPRINTF_ALT',
-            'MBEDTLS_PSA_ITS_FILE_C',
+            'MBEDTLS_PLATFORM_TIME_ALT',
             'MBEDTLS_PSA_CRYPTO_STORAGE_C',
+            'MBEDTLS_PSA_ITS_FILE_C',
+            'MBEDTLS_THREADING_C',
+            'MBEDTLS_THREADING_PTHREAD',
+            'MBEDTLS_TIMING_C',
     ]:
         return False
     return True
