Re: [PATCH] efi: stmm: Constify struct efivar_operations

From: Ilias Apalodimas

Date: Mon Feb 16 2026 - 04:50:03 EST


Hi Krzysztof,

On Sun, 15 Feb 2026 at 13:06, Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxxxxxxxx> wrote:
>
> 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.

get_maintainers doesn't include me in the cc list?

>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxxxxx>
> ---

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>

> drivers/firmware/efi/stmm/tee_stmm_efi.c | 17 +++++++++--------
> 1 file 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);
> --
> 2.51.0
>
>