On Wed, Dec 31, 2014 at 07:57:21PM -0500, Kevin O'Connor wrote:
This series refactors parts of the internal USB driver code interface. It merges the ?hci_send_bulk() and ?hci_send_control() functions into one function ?hci_send_pipe(). The control and bulk transmission functions were similar, but often had slightly different implementations and quirks. Unifying them reduces the overall code size. It also makes it easier to issue control commands at run-time, which should make it easier for future enhancements (such as keyboard led control).
I tested this on qemu and with a bunch of devices on my c720 and e350m1. However, I don't have a uhci board readily available. I'll have to dust off my via board and see if it still works. If others can run some tests that would be appreciated.
In the process of testing this series, I found that USB3 hubs aren't working that great - I sometimes get timeout messages on my e350m1 (though all functionality still works), and usb3 hubs aren't working on my c720. This does not look to be a regression though. (It does seem that USB3 hubs still need more work though).
This series is also available at: https://github.com/KevinOConnor/seabios/tree/testing
FYI, I pushed this series (with a few changes to it) to the main repo.