For some reason, I know this has come up in the past, but I can't remember why we don't export the devpath usb field to userspace through sysfs. I'm looking at rewriting 'lsusb' to use sysfs instead of libusb, and find it handy to have the devpath as an easy-to-read field to help determine how to find the interface devices attached to this device. Any objections to this patch being added? thanks, greg k-h ------------- Date: Mon, 30 Nov 2009 11:15:02 -0800 From: Greg Kroah-Hartman <gregkh@xxxxxxx> Subject: USB: add devpath sysfs attribute This is not exported from the usb core, yet we rely on it to create paths to interfaces for this device in sysfs. Export it to make userspace tools have an easier time to figure things out. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> --- drivers/usb/core/sysfs.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) --- a/drivers/usb/core/sysfs.c +++ b/drivers/usb/core/sysfs.c @@ -139,6 +139,16 @@ show_devnum(struct device *dev, struct d static DEVICE_ATTR(devnum, S_IRUGO, show_devnum, NULL); static ssize_t +show_devpath(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct usb_device *udev; + + udev = to_usb_device(dev); + return sprintf(buf, "%s\n", udev->devpath); +} +static DEVICE_ATTR(devpath, S_IRUGO, show_devpath, NULL); + +static ssize_t show_version(struct device *dev, struct device_attribute *attr, char *buf) { struct usb_device *udev; @@ -538,8 +548,8 @@ static struct attribute *dev_attrs[] = { &dev_attr_bConfigurationValue.attr, &dev_attr_bmAttributes.attr, &dev_attr_bMaxPower.attr, - &dev_attr_urbnum.attr, /* device attributes */ + &dev_attr_urbnum.attr, &dev_attr_idVendor.attr, &dev_attr_idProduct.attr, &dev_attr_bcdDevice.attr, @@ -551,6 +561,7 @@ static struct attribute *dev_attrs[] = { &dev_attr_speed.attr, &dev_attr_busnum.attr, &dev_attr_devnum.attr, + &dev_attr_devpath.attr, &dev_attr_version.attr, &dev_attr_maxchild.attr, &dev_attr_quirks.attr, -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html