Nathan Lynch via B4 Relay <devnull+nathanl.linux.ibm....@kernel.org>
writes:

> From: Nathan Lynch <nath...@linux.ibm.com>
>
> Add a convenience macro for iterating over every element of the
> internal function table and convert the one site that can use it. An
> additional user of the macro is anticipated in changes to follow.
>

Reviewed-by: Aneesh Kumar K.V (IBM) <aneesh.ku...@kernel.org>

> Signed-off-by: Nathan Lynch <nath...@linux.ibm.com>
> ---
>  arch/powerpc/kernel/rtas.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
> index eddc031c4b95..1ad1869e2e96 100644
> --- a/arch/powerpc/kernel/rtas.c
> +++ b/arch/powerpc/kernel/rtas.c
> @@ -454,6 +454,11 @@ static struct rtas_function rtas_function_table[] 
> __ro_after_init = {
>       },
>  };
>  
> +#define for_each_rtas_function(funcp)                                       \
> +     for (funcp = &rtas_function_table[0];                               \
> +          funcp < &rtas_function_table[ARRAY_SIZE(rtas_function_table)]; \
> +          ++funcp)
> +
>  /*
>   * Nearly all RTAS calls need to be serialized. All uses of the
>   * default rtas_args block must hold rtas_lock.
> @@ -525,10 +530,10 @@ static DEFINE_XARRAY(rtas_token_to_function_xarray);
>  
>  static int __init rtas_token_to_function_xarray_init(void)
>  {
> +     const struct rtas_function *func;
>       int err = 0;
>  
> -     for (size_t i = 0; i < ARRAY_SIZE(rtas_function_table); ++i) {
> -             const struct rtas_function *func = &rtas_function_table[i];
> +     for_each_rtas_function(func) {
>               const s32 token = func->token;
>  
>               if (token == RTAS_UNKNOWN_SERVICE)
>
> -- 
> 2.41.0

Reply via email to