Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1670951 > unrolled thread

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

Started byJerry Hoemann <jerry.hoemann@hpe.com>
First post2017-06-20 19:00 +0200
Last post2017-06-29 01:40 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask Jerry Hoemann <jerry.hoemann@hpe.com> - 2017-06-20 19:00 +0200
    Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask Dan Williams <dan.j.williams@intel.com> - 2017-06-28 23:10 +0200
      Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask Jerry Hoemann <jerry.hoemann@hpe.com> - 2017-06-29 01:20 +0200
        Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask Dan Williams <dan.j.williams@intel.com> - 2017-06-29 01:30 +0200
          Re: [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask Dan Williams <dan.j.williams@intel.com> - 2017-06-29 01:40 +0200

#1670951 — [PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask

FromJerry Hoemann <jerry.hoemann@hpe.com>
Date2017-06-20 19:00 +0200
Subject[PATCH v2 5/7] acpi, nfit: Show bus_dsm_mask
Message-ID<tUuFr-2G9-9@gated-at.bofh.it>
Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.

Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
---
 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,
 };
 
-- 
1.8.5.6

[toc] | [next] | [standalone]


#1677177

FromDan Williams <dan.j.williams@intel.com>
Date2017-06-28 23:10 +0200
Message-ID<tXsnM-2zA-21@gated-at.bofh.it>
In reply to#1670951
On Tue, Jun 20, 2017 at 9:51 AM, Jerry Hoemann <jerry.hoemann@hpe.com> wrote:
> Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.
>
> Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
> ---
>  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.

[toc] | [prev] | [next] | [standalone]


#1677264

FromJerry Hoemann <jerry.hoemann@hpe.com>
Date2017-06-29 01:20 +0200
Message-ID<tXupz-1Aj-5@gated-at.bofh.it>
In reply to#1677177
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@hpe.com> wrote:
> > Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.
> >
> > Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
> > ---
> >  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?



-- 

-----------------------------------------------------------------------------
Jerry Hoemann                  Software Engineer   Hewlett Packard Enterprise
-----------------------------------------------------------------------------

[toc] | [prev] | [next] | [standalone]


#1677271

FromDan Williams <dan.j.williams@intel.com>
Date2017-06-29 01:30 +0200
Message-ID<tXuzf-1Do-1@gated-at.bofh.it>
In reply to#1677264
On Wed, Jun 28, 2017 at 4:15 PM, Jerry Hoemann <jerry.hoemann@hpe.com> 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@hpe.com> wrote:
>> > Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.
>> >
>> > Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
>> > ---
>> >  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'.

[toc] | [prev] | [next] | [standalone]


#1677275

FromDan Williams <dan.j.williams@intel.com>
Date2017-06-29 01:40 +0200
Message-ID<tXuIW-1Gz-3@gated-at.bofh.it>
In reply to#1677271
On Wed, Jun 28, 2017 at 4:29 PM, Dan Williams <dan.j.williams@intel.com> wrote:
> On Wed, Jun 28, 2017 at 4:15 PM, Jerry Hoemann <jerry.hoemann@hpe.com> 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@hpe.com> wrote:
>>> > Add bus_dsm_mask to sysfs display under /sys/bus/nd/devices/ndbusX/nfit.
>>> >
>>> > Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
>>> > ---
>>> >  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'.

Actually, you'll need to go further and use __ATTR() directly to
initialize a bus_dsm_mask_attr.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web