efi: stmm: Constify struct efivar_operations
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Sun, 15 Feb 2026 11:06:28 +0000 (12:06 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 18 Feb 2026 10:26:20 +0000 (11:26 +0100)
The 'struct efivar_operations' is not modified by the driver after
initialization, so it should follow typical practice of being static
const for increased code safety and readability.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/stmm/tee_stmm_efi.c

index 7b04dd6..3bea2ef 100644 (file)
@@ -14,7 +14,6 @@
 #include "mm_communication.h"
 
 static struct efivars tee_efivars;
-static struct efivar_operations tee_efivar_ops;
 
 static size_t max_buffer_size; /* comm + var + func + data */
 static size_t max_payload_size; /* func + data */
@@ -520,6 +519,15 @@ static void tee_stmm_restore_efivars_generic_ops(void)
        efivars_generic_ops_register();
 }
 
+static const struct efivar_operations tee_efivar_ops = {
+       .get_variable                   = tee_get_variable,
+       .get_next_variable              = tee_get_next_variable,
+       .set_variable                   = tee_set_variable,
+       .set_variable_nonblocking       = tee_set_variable_nonblocking,
+       .query_variable_store           = efi_query_variable_store,
+       .query_variable_info            = tee_query_variable_info,
+};
+
 static int tee_stmm_efi_probe(struct tee_client_device *tee_dev)
 {
        struct device *dev = &tee_dev->dev;
@@ -558,13 +566,6 @@ static int tee_stmm_efi_probe(struct tee_client_device *tee_dev)
                          MM_VARIABLE_COMMUNICATE_SIZE +
                          max_payload_size;
 
-       tee_efivar_ops.get_variable             = tee_get_variable;
-       tee_efivar_ops.get_next_variable        = tee_get_next_variable;
-       tee_efivar_ops.set_variable             = tee_set_variable;
-       tee_efivar_ops.set_variable_nonblocking = tee_set_variable_nonblocking;
-       tee_efivar_ops.query_variable_store     = efi_query_variable_store;
-       tee_efivar_ops.query_variable_info      = tee_query_variable_info;
-
        efivars_generic_ops_unregister();
        pr_info("Using TEE-based EFI runtime variable services\n");
        efivars_register(&tee_efivars, &tee_efivar_ops);