On Fri, Dec 06, 2019 at 05:54:31PM +0530, Sourabh Jain wrote:
> +static struct kobj_attribute release_attr = __ATTR(release_mem,
>                                               0200, NULL,
>                                               fadump_release_memory_store);
> -static struct kobj_attribute fadump_attr = __ATTR(fadump_enabled,
> +static struct kobj_attribute enable_attr = __ATTR(enabled,
>                                               0444, fadump_enabled_show,
>                                               NULL);

__ATTR_RO()?

> -static struct kobj_attribute fadump_register_attr = __ATTR(fadump_registered,
> +static struct kobj_attribute register_attr = __ATTR(registered,
>                                               0644, fadump_register_show,
>                                               fadump_register_store);

__ATTR_RW()?

And then use an ATTRIBUTE_GROUP() macro to create a group so that you
then can do:

> @@ -1452,11 +1450,47 @@ static void fadump_init_files(void)
>               printk(KERN_ERR "fadump: unable to create debugfs file"
>                               " fadump_region\n");
>  
> +     rc = sysfs_create_file(fadump_kobj, &enable_attr.attr);
> +     if (rc)
> +             pr_err("unable to create enabled sysfs file (%d)\n",
> +                    rc);
> +     rc = sysfs_create_file(fadump_kobj, &register_attr.attr);
> +     if (rc)
> +             pr_err("unable to create registered sysfs file (%d)\n",
> +                    rc);
> +     if (fw_dump.dump_active) {
> +             rc = sysfs_create_file(fadump_kobj, &release_attr.attr);
> +             if (rc)
> +                     pr_err("unable to create release_mem sysfs file (%d)\n",
> +                            rc);
> +     }

a single call to sysfs_create_groups() here instead of trying to unwind
the mess if something went wrong.

thanks,

greg k-h

Reply via email to