Hello Colin,
I am glad you managed to get your USB wifi dongle working.
If anyone has the hardware (Atheros 9K chipsets are in common/inexpensive usb wifi radios) and wants to try it out I would be excited to hear if it works for you.
I do not own such a device and since it was easier to acquire a used mpcie one supported by the ath9k driver I went with that instead (*). However, I do have a Realtek-based (probably some RTL8192xx chipset) USB wifi dongle somewhere. So I will use that as judging be the recent 'rtlwifi' enablement work adding other drivers is no longer as involving as it was in the past; the USB transport integration is probably the main focus point.
(*) IIRC there are some people that use mpcie Atheros devices in their PCEnignes APU or MNT Reform which would also benefit from having the driver (although I am not sure if those devices actually are covered by the ath10k driver).
I only briefly skimmed your commit series but I think it would be worthwhile to integrate your additions. As we want to use the driver component also on other platforms besides the PC the code should be restructured (i.e. move the common parts from the 'pc' into the 'dde_linux' repo) anyway. At this point splitting the PCI and adding the USB backend appears to be reasonable.
Also if there interest I have some thoughts on how porting usb device drivers might be made easier if developing a library of usb device drivers on sculpt is considered a worthwhile endeavor.
As you probably have noticed we have some ported USB device drivers, albeit using the legacy lx_kit/lx_emul implementation, that share the glue-code. Eventually we want to update them as well - so by all means, if you have some ideas formed by your current experience feel free to share them.
Regards Josef