[PATCH] efi: stmm: Constify struct efivar_operations

Ilias Apalodimas ilias.apalodimas at linaro.org
Mon Feb 16 01:49:16 PST 2026


Hi Krzysztof,

On Sun, 15 Feb 2026 at 13:06, Krzysztof Kozlowski
<krzysztof.kozlowski at oss.qualcomm.com> 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 at oss.qualcomm.com>
> ---

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>

>  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
>
>



More information about the linux-arm-kernel mailing list