Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask

From: Dan Williams
Date: Wed Jun 28 2017 - 19:29:41 EST


On Wed, Jun 28, 2017 at 4:15 PM, Jerry Hoemann <jerry.hoemann@xxxxxxx> wrote:
> On Wed, Jun 28, 2017 at 02:07:20PM -0700, Dan Williams wrote:
>> On Tue, Jun 20, 2017 at 9:51 AM, Jerry Hoemann <jerry.hoemann@xxxxxxx> wrote:
>> > Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.
>> >
>> > Signed-off-by: Jerry Hoemann <jerry.hoemann@xxxxxxx>
>> > ---
>> > drivers/acpi/nfit/core.c | 10 ++++++++++
>> > 1 file changed, 10 insertions(+)
>> >
>> > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
>> > index 9d281a4..f133b3e 100644
>> > --- a/drivers/acpi/nfit/core.c
>> > +++ b/drivers/acpi/nfit/core.c
>> > @@ -928,6 +928,15 @@ static int nfit_mem_init(struct acpi_nfit_desc *acpi_desc)
>> > return 0;
>> > }
>> >
>> > +static ssize_t bus_dsm_mask_show(struct device *dev,
>> > + struct device_attribute *attr, char *buf)
>> > +{
>> > + struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev);
>> > + struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus);
>> > + return sprintf(buf, "%#lx\n", nd_desc->bus_dsm_mask);
>> > +}
>> > +static DEVICE_ATTR_RO(bus_dsm_mask);
>> > +
>> > static ssize_t revision_show(struct device *dev,
>> > struct device_attribute *attr, char *buf)
>> > {
>> > @@ -1064,6 +1073,7 @@ static umode_t nfit_visible(struct kobject *kobj, struct attribute *a, int n)
>> > &dev_attr_revision.attr,
>> > &dev_attr_scrub.attr,
>> > &dev_attr_hw_error_scrub.attr,
>> > + &dev_attr_bus_dsm_mask.attr,
>> > NULL,
>> > };
>>
>> I think it's redundant to keep 'bus_' in the name of the attribute
>> since 'bus' is included in the sysfs path. You can use DEVICE_ATTR()
>> instead of DEVICE_ATTR_RO() to specify the attribute name manually,
>> and get around the collision with the existing dsm_mash_show()
>> routine.
>
> DEVICE_ATTR and DEVICE_ATTR_RO uses the same tokenization & stringification
> schemes, so that doesn't disambiguate. They need to be different
> case sensitive names if they are to be in same source file.
>
> Do you want me to change name to root_dsm_mask? or change case: DSM_MASK?

I'm saying do something like this:

DEVICE_ATTR(dsm_mask, 0444, bus_dsm_mask_show, NULL)

...so that the attribute name in sysfs is just 'dsm_mask'.