This patch shows how many configurations a device has,
which will be important for eventual user mode tools
that manage configurations.
- Dave
--- ./drivers/usb-dist/core/driverfs.c Mon Nov 11 06:37:46 2002
+++ ./drivers/usb/core/driverfs.c Tue Nov 12 08:11:54 2002
@@ -149,4 +149,5 @@
usb_descriptor_attr (bDeviceSubClass, "%02x\n")
usb_descriptor_attr (bDeviceProtocol, "%02x\n")
+usb_descriptor_attr (bNumConfigurations, "%d\n")
@@ -155,8 +156,11 @@
struct device *dev = &udev->dev;
+ /* current configuration's attributes */
device_create_file (dev, &dev_attr_bNumInterfaces);
device_create_file (dev, &dev_attr_bConfigurationValue);
device_create_file (dev, &dev_attr_bmAttributes);
device_create_file (dev, &dev_attr_bMaxPower);
+
+ /* device attributes */
device_create_file (dev, &dev_attr_idVendor);
device_create_file (dev, &dev_attr_idProduct);
@@ -165,5 +169,9 @@
device_create_file (dev, &dev_attr_bDeviceSubClass);
device_create_file (dev, &dev_attr_bDeviceProtocol);
+ device_create_file (dev, &dev_attr_bNumConfigurations);
+
+ /* speed varies depending on how you connect the device */
device_create_file (dev, &dev_attr_speed);
+ // FIXME iff there are other speed configs, show how many
if (udev->descriptor.iManufacturer)