[PATCH] USB: add modalias sysfs file for usb devices Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
--- commit 360b52b08972ada8fd4421e9a7bcbe1ea186c20e tree 06067522d817b8a792176b1076ce5a9d0c216f2b parent 25b6f08e3fa0d84e26a373a205cfdad208b54af7 author Greg KH <[EMAIL PROTECTED]> Tue, 10 May 2005 06:45:10 -0700 committer Greg KH <[EMAIL PROTECTED]> Mon, 16 May 2005 21:44:26 -0700 drivers/usb/core/sysfs.c | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+) Index: drivers/usb/core/sysfs.c =================================================================== --- 6e444121a2eb7900a9cd3ab0606eb04046bdac2f/drivers/usb/core/sysfs.c (mode:100644) +++ 06067522d817b8a792176b1076ce5a9d0c216f2b/drivers/usb/core/sysfs.c (mode:100644) @@ -286,6 +286,39 @@ } static DEVICE_ATTR(interface, S_IRUGO, show_interface_string, NULL); +static ssize_t show_modalias(struct device *dev, char *buf) +{ + struct usb_interface *intf; + struct usb_device *udev; + + intf = to_usb_interface(dev); + udev = interface_to_usbdev(intf); + if (udev->descriptor.bDeviceClass == 0) { + struct usb_host_interface *alt = intf->cur_altsetting; + + return sprintf(buf, "usb:v%04Xp%04Xd%04Xdc%02Xdsc%02Xdp%02Xic%02Xisc%02Xip%02X\n", + le16_to_cpu(udev->descriptor.idVendor), + le16_to_cpu(udev->descriptor.idProduct), + le16_to_cpu(udev->descriptor.bcdDevice), + udev->descriptor.bDeviceClass, + udev->descriptor.bDeviceSubClass, + udev->descriptor.bDeviceProtocol, + alt->desc.bInterfaceClass, + alt->desc.bInterfaceSubClass, + alt->desc.bInterfaceProtocol); + } else { + return sprintf(buf, "usb:v%04Xp%04Xd%04Xdc%02Xdsc%02Xdp%02Xic*isc*ip*\n", + le16_to_cpu(udev->descriptor.idVendor), + le16_to_cpu(udev->descriptor.idProduct), + le16_to_cpu(udev->descriptor.bcdDevice), + udev->descriptor.bDeviceClass, + udev->descriptor.bDeviceSubClass, + udev->descriptor.bDeviceProtocol); + } + +} +static DEVICE_ATTR(modalias, S_IRUGO, show_modalias, NULL); + static struct attribute *intf_attrs[] = { &dev_attr_bInterfaceNumber.attr, &dev_attr_bAlternateSetting.attr, @@ -293,6 +326,7 @@ &dev_attr_bInterfaceClass.attr, &dev_attr_bInterfaceSubClass.attr, &dev_attr_bInterfaceProtocol.attr, + &dev_attr_modalias.attr, NULL, }; static struct attribute_group intf_attr_grp = { ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_idt12&alloc_id344&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel