At Fri, 9 Jan 2015 23:35:46 -0600, Chris Rorvick wrote: > > The line6usb driver references the device's idProduct and, in some > cases, the interface number in a number of places to determine device- > specific configuration values and to call device-specific functionality. > Rework code to leverage the device table matching more effectively. > Consolidate configuration settings into the properties entries and use > function pointers setup at initialization to remove much of the > conditional logic. > > I have a TonePort UX2 that I've used for testing, meaning that some of > this is really only compile-tested. BTW, are there any active developers for this driver? It doesn't make sense to sit in staging directory forever. It should be promoted to the official sound directory, or dropped from the kernel tree if not. If anyone is responsible for testing with real hardware, I'll happily review. thanks, Takashi > > Regards, > > Chris > > Chris Rorvick (25): > staging: line6: Remove `device_bit' from properties > staging: line6: Remove line6_pod_transmit_paramter() > staging: line6: Remove unsupported X3 devices > staging: line6: Cleanup device table > staging: line6: Define a device type enum > staging: line6: Index properties array with device type > staging: line6: Key off of device type > staging: line6: Remove idVendor and idProduct macros > staging: line6: Remove useless comments > staging: line6: Rename capability macros > staging: line6: Use explicit indexes when defining properties > staging: line6: List out capabilities individually > staging: line6: Split out PODxt Live interfaces > staging: line6: Split out POD HD500 interfaces > staging: line6: Filter on Pocket POD interface > staging: line6: Filter on UX2 interfaces > staging: line6: Move altsetting to properties > staging: line6: Move control endpoints to properties > staging: line6: Remove stale Pocket POD PCM endpoints > staging: line6: Move audio endpoints to properties > staging: line6: Pass *_init() `usb_line6' pointers > staging: line6: Pass *_process_message() `usb_line6' pointers > staging: line6: Call *_process_message() via pointer > staging: line6: Call *_disconnect() via pointer > staging: line6: Make *_disconnect() functions static > > drivers/staging/line6/capture.c | 9 +- > drivers/staging/line6/driver.c | 698 ++++++++++++++++++--------------------- > drivers/staging/line6/driver.h | 57 ++-- > drivers/staging/line6/midi.c | 4 +- > drivers/staging/line6/pcm.c | 55 +-- > drivers/staging/line6/pcm.h | 12 +- > drivers/staging/line6/playback.c | 11 +- > drivers/staging/line6/pod.c | 83 +++-- > drivers/staging/line6/pod.h | 12 +- > drivers/staging/line6/podhd.c | 48 +-- > drivers/staging/line6/podhd.h | 3 +- > drivers/staging/line6/toneport.c | 113 ++++--- > drivers/staging/line6/toneport.h | 3 +- > drivers/staging/line6/usbdefs.h | 95 +----- > drivers/staging/line6/variax.c | 36 +- > drivers/staging/line6/variax.h | 4 +- > 16 files changed, 528 insertions(+), 715 deletions(-) > > -- > 2.1.0 > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel