I'm working on support for a chip which handles EP0 trafic almost
completely in hardware (Hynix H7202). As you don't get things like Set
Configuration Requests the usual state machines do not work, so I fake
the calls from the reset interrupt.
How do the Hynix docs say drivers should handle SET_CONFIGURATION? They clearly have some solution. I can think of a trivial one that works for single-config devices. Do they handle multi-config devices? How do they detect/handle SET_CONFIGURATION calls with illegal values?
That means that I have to call dev->driver->setup() from within the
controller driver's irq routine and I have to fake the values for the
request, which works pretty find. The problem is that the controller
driver has to know which configuration to chose, and that's
unfortunately gadget driver dependend.
So far, I have no good idea how to abstract this.
You didn't give much information. One possibility would be to say that it's always bConfigurationValue == 1, and require the gadget drivers to know that "if (gadget_is_h7202())" then they can only use that single configuration.
- Dave
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
