On Wed, 23 Feb 2022 16:45:13 +0000 SeongJae Park <sj@xxxxxxxxxx> wrote: > On Wed, 23 Feb 2022 17:09:38 +0100 Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > On Wed, Feb 23, 2022 at 03:20:42PM +0000, SeongJae Park wrote: > > > +static struct kobj_attribute damon_sysfs_ul_range_min_attr = > > > + __ATTR(min, 0600, damon_sysfs_ul_range_min_show, > > > + damon_sysfs_ul_range_min_store); > > > + > > > +static struct kobj_attribute damon_sysfs_ul_range_max_attr = > > > + __ATTR(max, 0600, damon_sysfs_ul_range_max_show, > > > + damon_sysfs_ul_range_max_store); > > > > Can you use __ATTR_RW_MODE() instead here and elsewhere? > > Sure, I will, in the next revision. After thinking once more, I realized that it might not so simple. First of all, there are two files having same name in different directories (kdamonds/<N>/pid and targets/<N>/pid). The files work differently, so I need to use different _show/_store callbacks for them but __ATTR_RW_MODE() wouldn't support the case. Secondly, I'd like to keep the file names short because the meaning of the files can easily inferred from the hierarchy, but want to keep the _show/_store callback names to have prefixes that allows us easily know their meaning and usage even though it makes the name a little bit longer because I don't want to have too much source files for DAMON sysfs interface. Am I missing some of your point? Thanks, SJ [...]