> >> There is a significant difference from the other USB drivers which I > >> should probably flag up (and document). The endpoint configuration is > >> generated dynamically from the USB descriptors. This gives a lot of > >> flexibility and potentially allows support for multiple configurations > >> (untested!). However, the downside is that I had to leave out devtab > >> support since the devtab entries need to be set statically. > >> > > Don't you think it's possible to have both options? I haven't looked at > > the USB subsystem or any drivers, but I think a public driver should > > behave as the subsystem intends. Maybe the subsystem could be extended > > for more dynamic usage though. > > The official docs say "To support this the device driver can provide a > devtab entry for each endpoint". I took that to mean that devtab > support was optional - and the dynamic endpoint configuration is a much > more useful feature IMHO. > > Previously supported hardware has had fixed endpoint configurations > which makes the static devtab entries easy to implement. However, with > dynamic endpoint configuration, the low-level driver doesn't know > a-priori what endpoints to generate devtab entries for - and nor should it!
The AT91 USB driver has something similar to this. It can configure the endpoints by looking at the USB descriptors. I don't remember how it works with respect to devtab entries. Andrew