Hi Dave,
> This makes me count three patches, which (seems to me) should be
> merged in about this order:
>
> - Most drivers that use usb_driver_{claim,release}_interface()
> need changes to cope with the "half bound" state going away.
> Basically a version of that patch ... unless the attached
> patch removes the requirement for such changes?
>
> - Actually make usb_interface.driver vanish. That changes the
> semantics of the claim/release calls ... so in a way it'd be
> better to change at least some call signature (release would
> be simple) to force compile-time errors for unmodified drivers.
>
> - Other usbfs changes, relying on those updated semantics.
> And at least the reset() changes depend on all four of those
> reset/enumeration patches merging...
patch 3 (the other usbfs changes) should come before all others.
The reason is that (1) if the first two patches go in, then usbfs
becomes unusable until patch 3 goes in, and (2) if patch 3 goes
in first, it improves the usbfs situation (with no regressions) even
though the first two patches are needed for it to really work OK.
Patches 1 and 2 are likely to have more problems getting
past the Greg Filter... By the way, it will soon be time for my
weekly five-minutes-working-on-linux-stuff, so hopefully I
will finish testing my patches and send them in.
> Somehow I don't see any of that getting into 2.6.2!
>
> Greg -- got any suggestions about how to merge this stuff?
>
> - Dave
Duncan.
PS: I don't like this comment change:
* This can be used by drivers to release an interface without waiting
- * for their disconnect() methods to be called. Since it calls disconnect,
- * drivers that use it from their disconnect method need to protect
- * themselves against infinite recursion.
+ * for their disconnect() methods to be called. In most cases this also
+ * causes the driver disconnect() method to be called.
*
"In most cases" is too vague. What is someone who needs to rely on
having disconnect() called supposed to think? How about this:
* This can be used by drivers to release an interface without waiting
* for their disconnect() methods to be called. It causes disconnect
* to be called, except possibly when used from a probe() method.
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel