Let's put the line6 staging driver on a diet for Thanksgiving! :) Markus and I have discussed the MIDI processing that currently happens in the line6 driver. This stuff really belongs in userspace where a library or utility can use ALSA MIDI APIs to control the device. Moving MIDI processing to userspace has several benefits: 1. The driver only handles PCM and MIDI I/O. This means less kernel code. 2. A large number of sysfs attributes can be removed. These attributes exposed MIDI state and driver code was necessary to sync and manage this state. 3. It's easier for userspace to control the device, try out new MIDI commands, etc when the driver acts as a dumb transport. This patch series removes the sysfs attributes and then removes the state behind those attributes. I have tried to make small incremental changes that can be reviewed easily. Testing would be appreciated and especially necessary for POD XT and Variax devices where the startup process has been modified. I only have access to a POD HD300 device which doesn't take these code paths. The only MIDI processing left are initialization commands and the monitor volume level, which remains in the kernel because the driver presents an ALSA volume control. Stefan Hajnoczi (46): staging: line6: drop channel sysfs attr staging: line6: drop clip sysfs attr staging: line6: drop unused param_dirty bitmap staging: line6: drop dirty sysfs attr staging: line6: drop dump sysfs attr staging: line6: drop dump_buf sysfs attr staging: line6: drop monitor_level sysfs attr staging: line6: change monitor_level type ValueWait -> int staging: line6: drop name sysfs attr staging: line6: drop name_buf sysfs attr staging: line6: drop retrieve_amp_setup sysfs attr staging: line6: drop retrieve_channel sysfs attr staging: line6: drop retrieve_effects_setup sysfs attr staging: line6: drop store_amp_setup sysfs attr staging: line6: drop store_channel sysfs attr staging: line6: drop store_effects_setup sysfs attr staging: line6: drop routing sysfs attr staging: line6: drop tuner_freq sysfs attr staging: line6: drop tuner_note sysfs attr staging: line6: drop tuner_mute sysfs attr staging: line6: drop tuner_pitch sysfs attr staging: line6: drop finish sysfs attr staging: line6: drop midi_postprocess sysfs attr staging: line6: drop midi_mask_receive staging: line6: drop midi_mask_transmit staging: line6: drop midi_postprocess flag staging: line6: drop pod.c raw sysfs attr staging: line6: drop tuner param filtering staging: line6: drop variax model sysfs attr staging: line6: drop variax volume sysfs attr staging: line6: drop variax tone sysfs attr staging: line6: drop variax name sysfs attr staging: line6: drop variax bank sysfs attr staging: line6: drop variax dump sysfs attr staging: line6: drop variax active sysfs attr staging: line6: drop variax guitar sysfs attr staging: line6: drop variax raw sysfs attrs staging: line6: drop CONFIG_LINE6_USB_RAW staging: line6: drop amp/effects dump request triggers staging: line6: drop MIDI parameter sysfs attrs staging: line6: drop pod prog_data buffers staging: line6: drop unused pod atomic_flags field staging: line6: drop variax model_data field staging: line6: drop dump requests from variax startup staging: line6: drop dump requests from pod startup staging: line6: drop unused dumprequest code drivers/staging/line6/Kconfig | 11 - drivers/staging/line6/Makefile | 2 - drivers/staging/line6/control.c | 995 ------------------------------------ drivers/staging/line6/control.h | 195 ------- drivers/staging/line6/driver.c | 20 - drivers/staging/line6/dumprequest.c | 135 ----- drivers/staging/line6/dumprequest.h | 76 --- drivers/staging/line6/midi.c | 120 ----- drivers/staging/line6/midi.h | 10 - drivers/staging/line6/pod.c | 846 +----------------------------- drivers/staging/line6/pod.h | 105 +--- drivers/staging/line6/variax.c | 480 +---------------- drivers/staging/line6/variax.h | 60 --- 13 files changed, 16 insertions(+), 3039 deletions(-) delete mode 100644 drivers/staging/line6/control.c delete mode 100644 drivers/staging/line6/control.h delete mode 100644 drivers/staging/line6/dumprequest.c delete mode 100644 drivers/staging/line6/dumprequest.h -- 1.8.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel