On Sun 24 Feb 22:50 PST 2019, Vaishali Thakkar wrote:
> +#define IMAGE_SHOW_OEM(attr)                                          \
> +static int show_ ##attr## _oem(struct seq_file *seq, void *p)                
>  \
> +{                                                                     \
> +     struct smem_image_version *image_version = seq->private;         \
> +     seq_puts(seq, image_version->oem);                               \
> +     seq_puts(seq, "\n");                                             \
> +     return 0;                                                        \
> +}                                                                     \
> +static int open_ ##attr## _oem(struct inode *inode, struct file *file)       
>  \
> +{                                                                     \
> +     return single_open(file, show_ ##attr## _oem, inode->i_private); \
> +}                                                                     \
> +                                                                      \
> +static const struct file_operations qcom_ ##attr## _oem_ops = {              
>  \
> +     .open = open_ ##attr## _oem,                                     \
> +     .read = seq_read,                                                \
> +     .llseek = seq_lseek,                                             \
> +     .release = single_release,                                       \
> +}
> +
> +#define DEBUGFS_IMAGE_OEM(fname, attr, index)                                
>  \
> +debugfs_create_file(__stringify(fname), 0400, qcom_socinfo->attr,     \
> +                 &smem_image_version[index], &qcom_ ##attr## _oem_ops)
> +
> +#define IMAGE_SHOW(name)       \
> +     IMAGE_SHOW_NAME(name);    \
> +     IMAGE_SHOW_VARIANT(name); \
> +     IMAGE_SHOW_OEM(name)      \
> +
> +IMAGE_SHOW(boot);

Given that you pass &smem_image_version[index] as "data" it seems that
these instances will only differ in the function name. So you should be
able to have one set of these functions to handle all the images.

> +IMAGE_SHOW(tz);
> +IMAGE_SHOW(rpm);
> +IMAGE_SHOW(apps);
> +IMAGE_SHOW(mpss);
> +IMAGE_SHOW(adsp);
> +IMAGE_SHOW(cnss);
> +IMAGE_SHOW(video);
> +

Regards,
Bjorn

Reply via email to