From: Alex Chiang <achiang@hp.com> To: Narendra K <Narendra_K@dell.com> Cc: matt_domsch@dell.com, netdev@vger.kernel.org, linux-hotplug@vger.kernel.org, linux-pci@vger.kernel.org, jordan_hargrave@dell.com, sandeep_k_shandilya@dell.com, charles_rose@dell.com, shyam_iyer@dell.com Subject: Re: [PATCH] Export smbios strings associated with onboard devices to sysfs Date: Mon, 8 Mar 2010 10:34:00 -0700 [thread overview] Message-ID: <20100308173400.GB20953@ldl.fc.hp.com> (raw) In-Reply-To: <20100302173302.GA20936@mock.linuxdev.us.dell.com> * Narendra K <Narendra_K@dell.com>: > > Resending the patch with review comments incorporated. > > Signed-off-by: Jordan Hargrave <Jordan_Hargrave@dell.com> > Signed-off-by: Narendra K <Narendra_K@dell.com> > --- > drivers/firmware/dmi_scan.c | 23 ++++++++++++++++++ > drivers/pci/pci-sysfs.c | 54 +++++++++++++++++++++++++++++++++++++++++++ > include/linux/dmi.h | 9 +++++++ > 3 files changed, 86 insertions(+), 0 deletions(-) > > diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c > index 31b983d..1d10663 100644 > --- a/drivers/firmware/dmi_scan.c > +++ b/drivers/firmware/dmi_scan.c > @@ -278,6 +278,28 @@ static void __init dmi_save_ipmi_device(const struct dmi_header *dm) > list_add_tail(&dev->list, &dmi_devices); > } > > +static void __init dmi_save_devslot(int id, int seg, int bus, int devfn, const char *name) > +{ > + struct dmi_devslot *slot; > + > + slot = dmi_alloc(sizeof(*slot) + strlen(name) + 1); > + if (!slot) { > + printk(KERN_ERR "dmi_save_devslot: out of memory.\n"); > + return; > + } > + slot->id = id; > + slot->seg = seg; > + slot->bus = bus; > + slot->devfn = devfn; > + > + strcpy((char *)&slot[1], name); > + slot->dev.type = DMI_DEV_TYPE_DEVSLOT; > + slot->dev.name = &slot[1]; This needs a cast, else you'll get a warning: slot->dev.name = (char *)&slot[1]; Also, when I was playing with your patchset, I noticed that you should probably add this hunk too: @@ -334,6 +359,7 @@ static void __init dmi_decode(const struct dmi_header *dm, v break; case 41: /* Onboard Devices Extended Information */ dmi_save_extended_devices(dm); + break; } } > +#ifdef CONFIG_DMI > +#include <linux/dmi.h> > +static ssize_t > +smbiosname_string_is_valid(struct device *dev, char *buf) > +{ > + struct pci_dev *pdev = to_pci_dev(dev); > + struct dmi_device *dmi; This needs to be a const struct dmi_device, else you get a warning. > + struct dmi_devslot *dslot; > + int bus; > + int devfn; > + > + bus = pdev->bus->number; > + devfn = pdev->devfn; > + > + dmi = NULL; > + while ((dmi = dmi_find_device(DMI_DEV_TYPE_DEVSLOT, NULL, dmi)) != NULL) { > + dslot = dmi->device_data; > + if (dslot && dslot->bus == bus && dslot->devfn == devfn) { > + if (buf) > + return scnprintf(buf, PAGE_SIZE, "%s\n", dmi->name); Whitespace seems messed up here? > + return strlen(dmi->name); > + } > + } > +} > + > +static ssize_t > +smbiosname_show(struct device *dev, struct device_attribute *attr, char *buf) > +{ > + return smbiosname_string_is_valid(dev, buf); > + > +} > + > +struct smbios_attribute { > + struct attribute attr; > + ssize_t(*show) (struct device * edev, char *buf); > + int (*test) (struct device * edev, char *buf); > +}; > + > +#define SMBIOSNAME_DEVICE_ATTR(_name, _mode, _show, _test) \ > +struct smbios_attribute smbios_attr_##_name = { \ > + .attr = {.name = __stringify(_name), .mode = _mode }, \ > + .show = _show, \ > + .test = _test, \ > +}; > + > +static SMBIOSNAME_DEVICE_ATTR(smbiosname, 0444, smbiosname_show, smbiosname_string_is_valid); > +#endif > + After a discussion on irc, some folks thought that changing the name of this attribute to 'label' would be a much better name than smbiosname. /ac
WARNING: multiple messages have this Message-ID (diff)
From: Alex Chiang <achiang@hp.com> To: Narendra K <Narendra_K@dell.com> Cc: matt_domsch@dell.com, netdev@vger.kernel.org, linux-hotplug@vger.kernel.org, linux-pci@vger.kernel.org, jordan_hargrave@dell.com, sandeep_k_shandilya@dell.com, charles_rose@dell.com, shyam_iyer@dell.com Subject: Re: [PATCH] Export smbios strings associated with onboard devices Date: Mon, 08 Mar 2010 17:34:00 +0000 [thread overview] Message-ID: <20100308173400.GB20953@ldl.fc.hp.com> (raw) In-Reply-To: <20100302173302.GA20936@mock.linuxdev.us.dell.com> * Narendra K <Narendra_K@dell.com>: > > Resending the patch with review comments incorporated. > > Signed-off-by: Jordan Hargrave <Jordan_Hargrave@dell.com> > Signed-off-by: Narendra K <Narendra_K@dell.com> > --- > drivers/firmware/dmi_scan.c | 23 ++++++++++++++++++ > drivers/pci/pci-sysfs.c | 54 +++++++++++++++++++++++++++++++++++++++++++ > include/linux/dmi.h | 9 +++++++ > 3 files changed, 86 insertions(+), 0 deletions(-) > > diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c > index 31b983d..1d10663 100644 > --- a/drivers/firmware/dmi_scan.c > +++ b/drivers/firmware/dmi_scan.c > @@ -278,6 +278,28 @@ static void __init dmi_save_ipmi_device(const struct dmi_header *dm) > list_add_tail(&dev->list, &dmi_devices); > } > > +static void __init dmi_save_devslot(int id, int seg, int bus, int devfn, const char *name) > +{ > + struct dmi_devslot *slot; > + > + slot = dmi_alloc(sizeof(*slot) + strlen(name) + 1); > + if (!slot) { > + printk(KERN_ERR "dmi_save_devslot: out of memory.\n"); > + return; > + } > + slot->id = id; > + slot->seg = seg; > + slot->bus = bus; > + slot->devfn = devfn; > + > + strcpy((char *)&slot[1], name); > + slot->dev.type = DMI_DEV_TYPE_DEVSLOT; > + slot->dev.name = &slot[1]; This needs a cast, else you'll get a warning: slot->dev.name = (char *)&slot[1]; Also, when I was playing with your patchset, I noticed that you should probably add this hunk too: @@ -334,6 +359,7 @@ static void __init dmi_decode(const struct dmi_header *dm, v break; case 41: /* Onboard Devices Extended Information */ dmi_save_extended_devices(dm); + break; } } > +#ifdef CONFIG_DMI > +#include <linux/dmi.h> > +static ssize_t > +smbiosname_string_is_valid(struct device *dev, char *buf) > +{ > + struct pci_dev *pdev = to_pci_dev(dev); > + struct dmi_device *dmi; This needs to be a const struct dmi_device, else you get a warning. > + struct dmi_devslot *dslot; > + int bus; > + int devfn; > + > + bus = pdev->bus->number; > + devfn = pdev->devfn; > + > + dmi = NULL; > + while ((dmi = dmi_find_device(DMI_DEV_TYPE_DEVSLOT, NULL, dmi)) != NULL) { > + dslot = dmi->device_data; > + if (dslot && dslot->bus = bus && dslot->devfn = devfn) { > + if (buf) > + return scnprintf(buf, PAGE_SIZE, "%s\n", dmi->name); Whitespace seems messed up here? > + return strlen(dmi->name); > + } > + } > +} > + > +static ssize_t > +smbiosname_show(struct device *dev, struct device_attribute *attr, char *buf) > +{ > + return smbiosname_string_is_valid(dev, buf); > + > +} > + > +struct smbios_attribute { > + struct attribute attr; > + ssize_t(*show) (struct device * edev, char *buf); > + int (*test) (struct device * edev, char *buf); > +}; > + > +#define SMBIOSNAME_DEVICE_ATTR(_name, _mode, _show, _test) \ > +struct smbios_attribute smbios_attr_##_name = { \ > + .attr = {.name = __stringify(_name), .mode = _mode }, \ > + .show = _show, \ > + .test = _test, \ > +}; > + > +static SMBIOSNAME_DEVICE_ATTR(smbiosname, 0444, smbiosname_show, smbiosname_string_is_valid); > +#endif > + After a discussion on irc, some folks thought that changing the name of this attribute to 'label' would be a much better name than smbiosname. /ac
next prev parent reply other threads:[~2010-03-08 17:34 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-02-25 20:29 [PATCH] Export smbios strings associated with onboard devices to sysfs Narendra K 2010-02-25 20:29 ` [PATCH] Export smbios strings associated with onboard devices to Narendra K 2010-02-25 20:49 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Domsch, Matt 2010-02-25 20:49 ` [PATCH] Export smbios strings associated with onboard devices to Domsch, Matt [not found] ` <EDA0A4495861324DA2618B4C45DCB3EE6122A2@blrx3m08.blr.amer.dell.com> 2010-03-02 17:33 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Narendra K 2010-03-02 17:33 ` [PATCH] Export smbios strings associated with onboard devices Narendra K 2010-03-02 18:28 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Greg KH 2010-03-02 18:28 ` [PATCH] Export smbios strings associated with onboard devices Greg KH 2010-03-08 17:34 ` Alex Chiang [this message] 2010-03-08 17:34 ` Alex Chiang 2010-03-08 17:38 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Alex Chiang 2010-03-08 17:38 ` [PATCH] Export smbios strings associated with onboard devices Alex Chiang 2010-03-08 17:57 ` [PATCH] Export smbios strings associated with onboard devicesto sysfs Narendra_K 2010-03-08 17:57 ` Narendra_K 2010-02-25 21:40 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Alex Chiang 2010-02-25 21:40 ` [PATCH] Export smbios strings associated with onboard devices Alex Chiang 2010-02-25 21:46 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Domsch, Matt 2010-02-25 21:46 ` [PATCH] Export smbios strings associated with onboard devices to Domsch, Matt 2010-02-25 22:20 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Alex Chiang 2010-02-25 22:20 ` [PATCH] Export smbios strings associated with onboard devices Alex Chiang 2010-03-02 17:42 ` [PATCH] Export smbios strings associated with onboard devicesto sysfs Narendra_K 2010-03-02 17:54 ` Narendra_K 2010-02-25 22:55 ` [PATCH] Export smbios strings associated with onboard devices to sysfs Greg KH 2010-02-25 22:55 ` [PATCH] Export smbios strings associated with onboard devices Greg KH
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20100308173400.GB20953@ldl.fc.hp.com \ --to=achiang@hp.com \ --cc=Narendra_K@dell.com \ --cc=charles_rose@dell.com \ --cc=jordan_hargrave@dell.com \ --cc=linux-hotplug@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=matt_domsch@dell.com \ --cc=netdev@vger.kernel.org \ --cc=sandeep_k_shandilya@dell.com \ --cc=shyam_iyer@dell.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.