Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751758AbdF1X3j (ORCPT ); Wed, 28 Jun 2017 19:29:39 -0400 Received: from mail-yw0-f171.google.com ([209.85.161.171]:36582 "EHLO mail-yw0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751545AbdF1X3d (ORCPT ); Wed, 28 Jun 2017 19:29:33 -0400 MIME-Version: 1.0 In-Reply-To: <20170628231519.GC26439@anatevka.americas.hpqcorp.net> References: <658db8f8c7a5042a2049e5fe08c0c68b4586526e.1497939166.git.jerry.hoemann@hpe.com> <20170628231519.GC26439@anatevka.americas.hpqcorp.net> From: Dan Williams Date: Wed, 28 Jun 2017 16:29:31 -0700 Message-ID: Subject: Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask To: Jerry Hoemann Cc: "linux-nvdimm@lists.01.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2313 Lines: 55 On Wed, Jun 28, 2017 at 4:15 PM, Jerry Hoemann 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 wrote: >> > Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit. >> > >> > Signed-off-by: Jerry Hoemann >> > --- >> > 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'.