Messages in this thread |  | | Subject | Re: [PATCH] usb/core: Added devspec sysfs entry for devices behind usb hub | From | Vijay Kumar <> | Date | Wed, 5 Oct 2016 14:15:42 -0500 |
| |
On 10/4/2016 2:49 PM, Greg KH wrote: > On Tue, Oct 04, 2016 at 12:04:40PM -0700, Vijay Kumar wrote: >> Grub finds incorrect of_node path for devices behind usb hub. >> Added devspec sysfs entry for devices behind usb hub so that >> right of_node path is returned during grub sysfs walk for these >> devices. >> >> Signed-off-by: Vijay Kumar <vijay.ac.kumar@oracle.com> >> >> --- >> drivers/usb/core/sysfs.c | 15 +++++++++++++++ >> 1 files changed, 15 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c >> index c953a0f..84d66d5 100644 >> --- a/drivers/usb/core/sysfs.c >> +++ b/drivers/usb/core/sysfs.c >> @@ -14,6 +14,7 @@ >> #include <linux/string.h> >> #include <linux/usb.h> >> #include <linux/usb/quirks.h> >> +#include <linux/of.h> >> #include "usb.h" >> >> /* Active configuration fields */ >> @@ -104,6 +105,17 @@ static ssize_t bConfigurationValue_store(struct device *dev, >> static DEVICE_ATTR_IGNORE_LOCKDEP(bConfigurationValue, S_IRUGO | S_IWUSR, >> bConfigurationValue_show, bConfigurationValue_store); >> >> +#ifdef CONFIG_OF >> +static ssize_t devspec_show(struct device *dev, struct device_attribute *attr, >> + char *buf) >> +{ >> + struct device_node *of_node = dev->of_node; >> + >> + return sprintf(buf, "%s\n", of_node_full_name(of_node)); >> +} >> +static DEVICE_ATTR_RO(devspec); >> +#endif > Any way to do this without the #ifdef? Thanks for your comment. I looked into it again and find that grub would report ofpath incorrectly if CONFIG_OF not defined but devspec sysfs file exists. I see pci-sysfs.c has also defines devspec in same way. > > And you need to also update Documentation/ABI if you add a new sysfs > file. > Sure, if you agree with my above comment then should I make Document/ABI changes in a separate patch?
Thanks, Vijay
|  |