On Tue, 24 Aug 2021 09:07:07 -0700
Dan Williams <[email protected]> wrote:

> Define enabled_cmds as an embedded member of 'struct cxl_mem' rather
> than a pointer to another dynamic allocation.
> 
> As this leaves only one user of cxl_cmd_count, just open code it and
> delete the helper.
> 
> Acked-by: Ben Widawsky <[email protected]>
> Signed-off-by: Dan Williams <[email protected]>
Nice

Reviewed-by: Jonathan Cameron <[email protected]>

> ---
>  drivers/cxl/core/mbox.c |   10 +---------
>  drivers/cxl/cxlmem.h    |    2 +-
>  2 files changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index 706fe007c8d6..73107b302224 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -324,8 +324,6 @@ static int cxl_validate_cmd_from_user(struct cxl_mem 
> *cxlm,
>       return 0;
>  }
>  
> -#define cxl_cmd_count ARRAY_SIZE(cxl_mem_commands)
> -
>  int cxl_query_cmd(struct cxl_memdev *cxlmd,
>                 struct cxl_mem_query_commands __user *q)
>  {
> @@ -341,7 +339,7 @@ int cxl_query_cmd(struct cxl_memdev *cxlmd,
>  
>       /* returns the total number if 0 elements are requested. */
>       if (n_commands == 0)
> -             return put_user(cxl_cmd_count, &q->n_commands);
> +             return put_user(ARRAY_SIZE(cxl_mem_commands), &q->n_commands);
>  
>       /*
>        * otherwise, return max(n_commands, total commands) cxl_command_info
> @@ -805,12 +803,6 @@ struct cxl_mem *cxl_mem_create(struct device *dev)
>  
>       mutex_init(&cxlm->mbox_mutex);
>       cxlm->dev = dev;
> -     cxlm->enabled_cmds =
> -             devm_kmalloc_array(dev, BITS_TO_LONGS(cxl_cmd_count),
> -                                sizeof(unsigned long),
> -                                GFP_KERNEL | __GFP_ZERO);
> -     if (!cxlm->enabled_cmds)
> -             return ERR_PTR(-ENOMEM);
>  
>       return cxlm;
>  }
> diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
> index b7122ded3a04..df4f3636a999 100644
> --- a/drivers/cxl/cxlmem.h
> +++ b/drivers/cxl/cxlmem.h
> @@ -116,7 +116,7 @@ struct cxl_mem {
>       size_t lsa_size;
>       struct mutex mbox_mutex; /* Protects device mailbox and firmware */
>       char firmware_version[0x10];
> -     unsigned long *enabled_cmds;
> +     DECLARE_BITMAP(enabled_cmds, CXL_MEM_COMMAND_ID_MAX);
>  
>       struct range pmem_range;
>       struct range ram_range;
> 


Reply via email to