This is against 2.5.1-pre4 and it continues the work of the patches I recently submitted (and Greg augmented!) to provide reasonably current kerneldoc. I'd like to see it in the next set of 2.5.1 pre-patches.
This is a different kind of API cleanup... the idea was to remove APIs that aren't used or needed. Although there is more of that which can+should be done, I count: - One obsolete pipe macro gone (one to go :) - Four core-to-hubdriver APIs, including two that were exported from usbcore.o - Five HID-specific functions, now in hid.h - Six HID-specific USB_* #defines, ditto - One internal structure gone. I merged a couple things from "hcd.h", mainly some new descriptor codes and a new type. (Highspeed capable devices can tell you things about how they'd work at the "other speed", faster or slower.) And a new URB flag, a performance hint to reduce interrupts with bulk queuing. (I'm not sure that anything except EHCI can pay attention to it, but eliminating interrupts is always good.) What accounts for most of the size of this patch is some reorganization of "usb.h so that related things are next to each other. For example, descriptor stuff; and HCD-only APIs. After adding a few comments and section markers, I think this starts to give the appearance of an API with an underlying structure ... :) There's some other stuff -- minor comment updates, less line wrap, using "extern" to declare functions, and so on. - Dave p.s. Moving those HID functions out of usbcore meant exposing the control timeouts, and the consequence of that was that I noticed usb_set_address() and usb_clear_halt() seem to use the wrong timeouts (get vs set and vice versa). Looks buglike to me, or at least deserving of a comment; I didn't change what it does though.
coredoc-1202.patch
Description: Binary data