summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>2026-02-15 14:06:28 +0300
committerArd Biesheuvel <ardb@kernel.org>2026-02-18 13:26:20 +0300
commit62cb7abdef118ffdc9748ad4de69bb9b38771340 (patch)
tree302e1c8a7bdce16cffd9e97e1ca664e106d23d27
parente00ac9e5afb5d80c0168ec88d8e8662a54af8249 (diff)
downloadlinux-62cb7abdef118ffdc9748ad4de69bb9b38771340.tar.xz
efi: stmm: Constify struct efivar_operations
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>
-rw-r--r--drivers/firmware/efi/stmm/tee_stmm_efi.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/firmware/efi/stmm/tee_stmm_efi.c b/drivers/firmware/efi/stmm/tee_stmm_efi.c
index 7b04dd649629..3bea2ef50ef3 100644
--- a/drivers/firmware/efi/stmm/tee_stmm_efi.c
+++ b/drivers/firmware/efi/stmm/tee_stmm_efi.c
@@ -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);