Summary of changes to USB binding: - Primary change is to add Interface Association nodes. These are the result of an ECN to the USB 2.0 standard, allowing vendors to group interfaces together in a cluster to be used by a single driver. This adds section 3.5, which is completly new. These interface association (IA) nodes appear under device nodes and contain the interfaces underneath them, thus making a three-level tree for such devices. Where before a USB device with multiple interfaces would appear as two levels: .../device@2/keyboard@1 .../device@2/input@0 We now have situations where some new USB devices could appear as three levels: .../device@2/audio@0/audio-control@0 .../device@2/audio@0/audio-stream@1 .../device@2/audio@0/audio-stream@2 .../device@2/video@3/video-control@3 .../device@2/video@3/video-stream@4 .../device@2/video@3/video-stream@5 .../device@2/video@3/video-stream@6 Note that the only associations defined so far are Audio, Video and Wireless Host controller - none of these are likely to be boot targets any time soon. - Updated the tables of classes to reflect real values (not present at the time the original binding was written), and add newer names. The affects the tables for the "device" nodes, "interface" nodes, "combined" nodes and added a table for the new "interface-association" nodes. Took out the comments indicating the USB committee hadn't yet standardized class code numbers yet. - In the process of adding these changes, we cleaned up some loose ends in the binding, clarifying the text in some places where it became necessary to understand the new nodes.