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.

Attachment: coredoc-1202.patch
Description: Binary data

Reply via email to