line6linux-devel Mailing List for Line6 Linux software (Page 6)
Status: Pre-Alpha
Brought to you by:
mgrabner
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(31) |
2012 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(133) |
Dec
(11) |
2013 |
Jan
(22) |
Feb
|
Mar
|
Apr
(2) |
May
(10) |
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(18) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:35
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/variax.c | 38 -------------------------------------- drivers/staging/line6/variax.h | 5 ----- 2 files changed, 43 deletions(-) diff --git a/drivers/staging/line6/variax.c b/drivers/staging/line6/variax.c index 8df529f..e76255b 100644 --- a/drivers/staging/line6/variax.c +++ b/drivers/staging/line6/variax.c @@ -212,7 +212,6 @@ void line6_variax_process_message(struct usb_line6_variax *variax) case LINE6_PROGRAM_CHANGE | LINE6_CHANNEL_DEVICE: case LINE6_PROGRAM_CHANGE | LINE6_CHANNEL_HOST: - variax->model = buf[1]; line6_dump_request_async(&variax->dumpreq, &variax->line6, 0, VARIAX_DUMP_PASS1); break; @@ -334,39 +333,6 @@ static ssize_t variax_set_volume(struct device *dev, } /* - "read" request on "model" special file. -*/ -static ssize_t variax_get_model(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct usb_line6_variax *variax = - usb_get_intfdata(to_usb_interface(dev)); - return sprintf(buf, "%d\n", variax->model); -} - -/* - "write" request on "model" special file. -*/ -static ssize_t variax_set_model(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct usb_line6_variax *variax = - usb_get_intfdata(to_usb_interface(dev)); - u8 value; - int ret; - - ret = kstrtou8(buf, 10, &value); - if (ret) - return ret; - - if (line6_send_program(&variax->line6, value) == 0) - variax->model = value; - - return count; -} - -/* "read" request on "active" special file. */ static ssize_t variax_get_active(struct device *dev, @@ -549,8 +515,6 @@ static ssize_t variax_set_raw2(struct device *dev, #endif /* Variax workbench special files: */ -static DEVICE_ATTR(model, S_IWUSR | S_IRUGO, variax_get_model, - variax_set_model); static DEVICE_ATTR(volume, S_IWUSR | S_IRUGO, variax_get_volume, variax_set_volume); static DEVICE_ATTR(tone, S_IWUSR | S_IRUGO, variax_get_tone, variax_set_tone); @@ -595,7 +559,6 @@ static void variax_destruct(struct usb_interface *interface) static int variax_create_files2(struct device *dev) { int err; - CHECK_RETURN(device_create_file(dev, &dev_attr_model)); CHECK_RETURN(device_create_file(dev, &dev_attr_volume)); CHECK_RETURN(device_create_file(dev, &dev_attr_tone)); CHECK_RETURN(device_create_file(dev, &dev_attr_name)); @@ -701,7 +664,6 @@ void line6_variax_disconnect(struct usb_interface *interface) if (dev != NULL) { /* remove sysfs entries: */ line6_variax_remove_files(0, 0, dev); - device_remove_file(dev, &dev_attr_model); device_remove_file(dev, &dev_attr_volume); device_remove_file(dev, &dev_attr_tone); device_remove_file(dev, &dev_attr_name); diff --git a/drivers/staging/line6/variax.h b/drivers/staging/line6/variax.h index e2999ab..4151c14 100644 --- a/drivers/staging/line6/variax.h +++ b/drivers/staging/line6/variax.h @@ -78,11 +78,6 @@ struct usb_line6_variax { unsigned char *buffer_activate; /** - Model number. - */ - int model; - - /** Current model settings. */ struct variax_model model_data; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:33
|
The pod_set_system_param_int() helper function is only used to set the monitor level. Previously it was also used to control the tuner and has special checks. These checks can now be dropped, along with the tuner constants. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index db9c905..157ef68 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -40,10 +40,6 @@ enum { enum { POD_monitor_level = 0x04, - POD_tuner_mute = 0x13, - POD_tuner_freq = 0x15, - POD_tuner_note = 0x16, - POD_tuner_pitch = 0x17, POD_system_invalid = 0x10000 }; @@ -298,19 +294,7 @@ void line6_pod_transmit_parameter(struct usb_line6_pod *pod, int param, } /* - Identify system parameters related to the tuner. -*/ -static bool pod_is_tuner(int code) -{ - return - (code == POD_tuner_mute) || - (code == POD_tuner_freq) || - (code == POD_tuner_note) || (code == POD_tuner_pitch); -} - -/* Send system parameter (from integer). - @param tuner non-zero, if code refers to a tuner parameter */ static int pod_set_system_param_int(struct usb_line6_pod *pod, int value, int code) @@ -318,11 +302,6 @@ static int pod_set_system_param_int(struct usb_line6_pod *pod, int value, char *sysex; static const int size = 5; - if (((pod->prog_data.control[POD_tuner] & 0x40) == 0) - && pod_is_tuner(code)) - return -EINVAL; - - /* send value to tuner: */ sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_SYSTEM, size); if (!sysex) return -ENOMEM; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:31
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 797f6e0..37b20d7 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -371,38 +371,6 @@ static int pod_set_system_param_int(struct usb_line6_pod *pod, int value, } /* - "read" request on "midi_postprocess" special file. -*/ -static ssize_t pod_get_midi_postprocess(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - return sprintf(buf, "%d\n", pod->midi_postprocess); -} - -/* - "write" request on "midi_postprocess" special file. -*/ -static ssize_t pod_set_midi_postprocess(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - u8 value; - int ret; - - ret = kstrtou8(buf, 10, &value); - if (ret) - return ret; - - pod->midi_postprocess = value ? 1 : 0; - return count; -} - -/* "read" request on "serial_number" special file. */ static ssize_t pod_get_serial_number(struct device *dev, @@ -510,8 +478,6 @@ static void pod_startup5(struct work_struct *work) static DEVICE_ATTR(device_id, S_IRUGO, pod_get_device_id, line6_nop_write); static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); -static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, - pod_get_midi_postprocess, pod_set_midi_postprocess); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); @@ -594,7 +560,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_device_id)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); - CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); #ifdef CONFIG_LINE6_USB_RAW @@ -708,7 +673,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_device_id); device_remove_file(dev, &dev_attr_firmware_version); - device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_serial_number); #ifdef CONFIG_LINE6_USB_RAW -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:31
|
The raw sysfs attr transmits MIDI messages with less filtering. This was a useful debugging tool while the staging driver still had a lot of state and filtering. It is not useful anymore since the filtering is being dropped. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index ddd0e54..db9c905 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -447,10 +447,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -#ifdef CONFIG_LINE6_USB_RAW -static DEVICE_ATTR(raw, S_IWUSR, line6_nop_read, line6_set_raw); -#endif - /* control info callback */ static int snd_pod_control_monitor_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) @@ -527,11 +523,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_device_id)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - -#ifdef CONFIG_LINE6_USB_RAW - CHECK_RETURN(device_create_file(dev, &dev_attr_raw)); -#endif - return 0; } @@ -640,10 +631,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_device_id); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_serial_number); - -#ifdef CONFIG_LINE6_USB_RAW - device_remove_file(dev, &dev_attr_raw); -#endif } } -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:30
|
It is no longer necessary to trigger on MIDI transmit messages that will change the state of the device since: 1. We've dropped the midi_postprocess sysfs attr in a previous commit so it is not possible to activate this feature anymore. 2. The other sysfs attrs that could inspect the state after a dump request have been dropped. Therefore we can safely remove this dead code. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/midi.c | 22 ---------------------- drivers/staging/line6/pod.c | 34 ---------------------------------- drivers/staging/line6/pod.h | 7 ------- 3 files changed, 63 deletions(-) diff --git a/drivers/staging/line6/midi.c b/drivers/staging/line6/midi.c index 8261875..53bef97 100644 --- a/drivers/staging/line6/midi.c +++ b/drivers/staging/line6/midi.c @@ -154,28 +154,6 @@ static int send_midi_async(struct usb_line6 *line6, unsigned char *data, } ++line6->line6midi->num_active_send_urbs; - - switch (line6->usbdev->descriptor.idProduct) { - case LINE6_DEVID_BASSPODXT: - case LINE6_DEVID_BASSPODXTLIVE: - case LINE6_DEVID_BASSPODXTPRO: - case LINE6_DEVID_PODXT: - case LINE6_DEVID_PODXTLIVE: - case LINE6_DEVID_PODXTPRO: - case LINE6_DEVID_POCKETPOD: - line6_pod_midi_postprocess((struct usb_line6_pod *)line6, data, - length); - break; - - case LINE6_DEVID_VARIAX: - case LINE6_DEVID_PODHD300: - case LINE6_DEVID_PODHD500: - break; - - default: - MISSING_CASE; - } - return 0; } diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 37b20d7..ddd0e54 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -285,40 +285,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) } /* - Detect some cases that require a channel dump after sending a command to the - device. Important notes: - *) The actual dump request can not be sent here since we are not allowed to - wait for the completion of the first message in this context, and sending - the dump request before completion of the previous message leaves the POD - in an undefined state. The dump request will be sent when the echoed - commands are received. - *) This method fails if a param change message is "chopped" after the first - byte. -*/ -void line6_pod_midi_postprocess(struct usb_line6_pod *pod, unsigned char *data, - int length) -{ - int i; - - if (!pod->midi_postprocess) - return; - - for (i = 0; i < length; ++i) { - if (data[i] == (LINE6_PROGRAM_CHANGE | LINE6_CHANNEL_HOST)) { - line6_invalidate_current(&pod->dumpreq); - break; - } else - if ((data[i] == (LINE6_PARAM_CHANGE | LINE6_CHANNEL_HOST)) - && (i < length - 1)) - if ((data[i + 1] == POD_amp_model_setup) - || (data[i + 1] == POD_effect_setup)) { - line6_invalidate_current(&pod->dumpreq); - break; - } - } -} - -/* Transmit PODxt Pro control parameter. */ void line6_pod_transmit_parameter(struct usb_line6_pod *pod, int param, diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index 481cce6..8543bae 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -127,18 +127,11 @@ struct usb_line6_pod { Device ID. */ int device_id; - - /** - Flag to enable MIDI postprocessing. - */ - char midi_postprocess; }; extern void line6_pod_disconnect(struct usb_interface *interface); extern int line6_pod_init(struct usb_interface *interface, struct usb_line6_pod *pod); -extern void line6_pod_midi_postprocess(struct usb_line6_pod *pod, - unsigned char *data, int length); extern void line6_pod_process_message(struct usb_line6_pod *pod); extern void line6_pod_transmit_parameter(struct usb_line6_pod *pod, int param, u8 value); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:29
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 052db4a..797f6e0 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -371,24 +371,6 @@ static int pod_set_system_param_int(struct usb_line6_pod *pod, int value, } /* - "write" request on "finish" special file. -*/ -static ssize_t pod_set_finish(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - int size = 0; - char *sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_FINISH, size); - if (!sysex) - return 0; - line6_send_sysex_message(&pod->line6, sysex, size); - kfree(sysex); - return count; -} - -/* "read" request on "midi_postprocess" special file. */ static ssize_t pod_get_midi_postprocess(struct device *dev, @@ -526,7 +508,6 @@ static void pod_startup5(struct work_struct *work) /* POD special files: */ static DEVICE_ATTR(device_id, S_IRUGO, pod_get_device_id, line6_nop_write); -static DEVICE_ATTR(finish, S_IWUSR, line6_nop_read, pod_set_finish); static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, @@ -612,7 +593,6 @@ static int pod_create_files2(struct device *dev) int err; CHECK_RETURN(device_create_file(dev, &dev_attr_device_id)); - CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); @@ -727,7 +707,6 @@ void line6_pod_disconnect(struct usb_interface *interface) properties->device_bit, dev); device_remove_file(dev, &dev_attr_device_id); - device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_serial_number); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:28
|
The midi_mask_transmit sysfs attribute selects the MIDI channels on which to transmit messages. If ALSA wants to transmit a message that does not match an allowed channel, the message will be dropped. This driver feature is not really used and applications don't know how to take advantage of it. Therefore we drop it and rely on applications or MIDI sequencers to select the channels used for communication. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/midi.c | 56 -------------------------------------------- drivers/staging/line6/midi.h | 5 ---- 2 files changed, 61 deletions(-) diff --git a/drivers/staging/line6/midi.c b/drivers/staging/line6/midi.c index f0f3e59..8261875 100644 --- a/drivers/staging/line6/midi.c +++ b/drivers/staging/line6/midi.c @@ -72,10 +72,6 @@ static void line6_midi_transmit(struct snd_rawmidi_substream *substream) if (done == 0) break; - if (line6_midibuf_skip_message - (mb, line6midi->midi_mask_transmit)) - continue; - send_midi_async(line6, chunk, done); } @@ -287,47 +283,10 @@ static int snd_line6_new_midi(struct snd_line6_midi *line6midi) return 0; } -/* - "read" request on "midi_mask_transmit" special file. -*/ -static ssize_t midi_get_midi_mask_transmit(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6 *line6 = usb_get_intfdata(interface); - return sprintf(buf, "%d\n", line6->line6midi->midi_mask_transmit); -} - -/* - "write" request on "midi_mask" special file. -*/ -static ssize_t midi_set_midi_mask_transmit(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6 *line6 = usb_get_intfdata(interface); - unsigned short value; - int ret; - - ret = kstrtou16(buf, 10, &value); - if (ret) - return ret; - - line6->line6midi->midi_mask_transmit = value; - return count; -} - -static DEVICE_ATTR(midi_mask_transmit, S_IWUSR | S_IRUGO, - midi_get_midi_mask_transmit, midi_set_midi_mask_transmit); - /* MIDI device destructor */ static int snd_line6_midi_free(struct snd_device *device) { struct snd_line6_midi *line6midi = device->device_data; - device_remove_file(line6midi->line6->ifcdev, - &dev_attr_midi_mask_transmit); line6_midibuf_destroy(&line6midi->midibuf_in); line6_midibuf_destroy(&line6midi->midibuf_out); return 0; @@ -369,17 +328,6 @@ int line6_init_midi(struct usb_line6 *line6) } line6midi->line6 = line6; - - switch (line6->product) { - case LINE6_DEVID_PODHD300: - case LINE6_DEVID_PODHD500: - line6midi->midi_mask_transmit = 1; - break; - - default: - line6midi->midi_mask_transmit = 1; - } - line6->line6midi = line6midi; err = snd_device_new(line6->card, SNDRV_DEV_RAWMIDI, line6midi, @@ -393,10 +341,6 @@ int line6_init_midi(struct usb_line6 *line6) if (err < 0) return err; - err = device_create_file(line6->ifcdev, &dev_attr_midi_mask_transmit); - if (err < 0) - return err; - init_waitqueue_head(&line6midi->send_wait); spin_lock_init(&line6midi->send_urb_lock); spin_lock_init(&line6midi->midi_transmit_lock); diff --git a/drivers/staging/line6/midi.h b/drivers/staging/line6/midi.h index cf32d77..19dabd5 100644 --- a/drivers/staging/line6/midi.h +++ b/drivers/staging/line6/midi.h @@ -55,11 +55,6 @@ struct snd_line6_midi { wait_queue_head_t send_wait; /** - Bit mask for output MIDI channels. - */ - unsigned short midi_mask_transmit; - - /** Buffer for incoming MIDI stream. */ struct MidiBuffer midibuf_in; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:27
|
Dropping this final tuner sysfs attr also leaves the POD_GET_SYSTEM_PARAM() macro, pod_get_system_param_string(), and pod_get_system_param_int() unused. Remove them immediately to avoid compiler warnings. POD_monitor_level is now the only SYSEX value that needs to be watched by the driver since the ALSA volume control should reflect the current monitor volume level used by the device. Therefore, drop the switch statement entirely and just check for POD_monitor_level, ignoring unknown system parameter changes. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 102 +------------------------------------------- drivers/staging/line6/pod.h | 15 ------- 2 files changed, 1 insertion(+), 116 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index df2f37a..052db4a 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -236,28 +236,8 @@ void line6_pod_process_message(struct usb_line6_pod *pod) << 8) | ((int)buf[9] << 4) | (int)buf[10]; -#define PROCESS_SYSTEM_PARAM(x) \ - case POD_ ## x: \ - pod->x.value = value; \ - wake_up(&pod->x.wait); \ - break; - - switch (buf[6]) { - case POD_monitor_level: + if (buf[6] == POD_monitor_level) pod->monitor_level = value; - break; - - PROCESS_SYSTEM_PARAM - (tuner_pitch); - -#undef PROCESS_SYSTEM_PARAM - - default: - dev_dbg(pod->line6.ifcdev, - "unknown tuner/system response %02X\n", - buf[6]); - } - break; } @@ -363,66 +343,6 @@ static bool pod_is_tuner(int code) } /* - Get system parameter (as integer). - @param tuner non-zero, if code refers to a tuner parameter -*/ -static int pod_get_system_param_int(struct usb_line6_pod *pod, int *value, - int code, struct ValueWait *param, int sign) -{ - char *sysex; - static const int size = 1; - int retval = 0; - - if (((pod->prog_data.control[POD_tuner] & 0x40) == 0) - && pod_is_tuner(code)) - return -ENODEV; - - /* send value request to device: */ - param->value = POD_system_invalid; - sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_SYSTEMREQ, size); - - if (!sysex) - return -ENOMEM; - - sysex[SYSEX_DATA_OFS] = code; - line6_send_sysex_message(&pod->line6, sysex, size); - kfree(sysex); - - /* wait for device to respond: */ - retval = - wait_event_interruptible(param->wait, - param->value != POD_system_invalid); - - if (retval < 0) - return retval; - - *value = sign ? (int)(signed short)param->value : (int)(unsigned short) - param->value; - - if (*value == POD_system_invalid) - *value = 0; /* don't report uninitialized values */ - - return 0; -} - -/* - Get system parameter (as string). - @param tuner non-zero, if code refers to a tuner parameter -*/ -static ssize_t pod_get_system_param_string(struct usb_line6_pod *pod, char *buf, - int code, struct ValueWait *param, - int sign) -{ - int retval, value = 0; - retval = pod_get_system_param_int(pod, &value, code, param, sign); - - if (retval < 0) - return retval; - - return sprintf(buf, "%d\n", value); -} - -/* Send system parameter (from integer). @param tuner non-zero, if code refers to a tuner parameter */ @@ -604,20 +524,6 @@ static void pod_startup5(struct work_struct *work) line6->properties->device_bit, line6->ifcdev); } -#define POD_GET_SYSTEM_PARAM(code, sign) \ -static ssize_t pod_get_ ## code(struct device *dev, \ - struct device_attribute *attr, char *buf) \ -{ \ - struct usb_interface *interface = to_usb_interface(dev); \ - struct usb_line6_pod *pod = usb_get_intfdata(interface); \ - return pod_get_system_param_string(pod, buf, POD_ ## code, \ - &pod->code, sign); \ -} - -POD_GET_SYSTEM_PARAM(tuner_pitch, 1); - -#undef GET_SYSTEM_PARAM - /* POD special files: */ static DEVICE_ATTR(device_id, S_IRUGO, pod_get_device_id, line6_nop_write); static DEVICE_ATTR(finish, S_IWUSR, line6_nop_read, pod_set_finish); @@ -627,7 +533,6 @@ static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(tuner_pitch, S_IRUGO, pod_get_tuner_pitch, line6_nop_write); #ifdef CONFIG_LINE6_USB_RAW static DEVICE_ATTR(raw, S_IWUSR, line6_nop_read, line6_set_raw); @@ -711,7 +616,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_pitch)); #ifdef CONFIG_LINE6_USB_RAW CHECK_RETURN(device_create_file(dev, &dev_attr_raw)); @@ -735,9 +639,6 @@ static int pod_try_init(struct usb_interface *interface, if ((interface == NULL) || (pod == NULL)) return -ENODEV; - /* initialize wait queues: */ - init_waitqueue_head(&pod->tuner_pitch.wait); - /* initialize USB buffers: */ err = line6_dumpreq_init(&pod->dumpreq, pod_request_channel, sizeof(pod_request_channel)); @@ -830,7 +731,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_serial_number); - device_remove_file(dev, &dev_attr_tuner_pitch); #ifdef CONFIG_LINE6_USB_RAW device_remove_file(dev, &dev_attr_raw); diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index 4930742..481cce6 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -15,7 +15,6 @@ #include <linux/interrupt.h> #include <linux/spinlock.h> #include <linux/usb.h> -#include <linux/wait.h> #include <sound/core.h> @@ -54,15 +53,6 @@ enum { }; /** - Data structure for values that need to be requested explicitly. - This is the case for system and tuner settings. -*/ -struct ValueWait { - int value; - wait_queue_head_t wait; -}; - -/** Binary PODxt Pro program dump */ struct pod_program { @@ -99,11 +89,6 @@ struct usb_line6_pod { struct pod_program prog_data_buf; /** - Pitch value received from tuner. - */ - struct ValueWait tuner_pitch; - - /** Instrument monitor level. */ int monitor_level; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:26
|
The midi_mask_receive sysfs attribute selects the MIDI channels on which to receive messages. There is no need to do this at the driver level, instead the MIDI application endpoints decide which channels to use. Other drivers don't implement midi_mask_receive so applications cannot make use of this feature. Therefore we drop it as part of the effort to clean up the staging driver. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/driver.c | 5 ----- drivers/staging/line6/midi.c | 42 ------------------------------------------ drivers/staging/line6/midi.h | 5 ----- 3 files changed, 52 deletions(-) diff --git a/drivers/staging/line6/driver.c b/drivers/staging/line6/driver.c index 571f2ce..3c27051 100644 --- a/drivers/staging/line6/driver.c +++ b/drivers/staging/line6/driver.c @@ -424,11 +424,6 @@ static void line6_data_received(struct urb *urb) if (done == 0) break; - /* MIDI input filter */ - if (line6_midibuf_skip_message - (mb, line6->line6midi->midi_mask_receive)) - continue; - line6->message_length = done; #ifdef CONFIG_LINE6_USB_DUMP_MIDI line6_write_hexdump(line6, 'r', line6->buffer_message, done); diff --git a/drivers/staging/line6/midi.c b/drivers/staging/line6/midi.c index 5040729..f0f3e59 100644 --- a/drivers/staging/line6/midi.c +++ b/drivers/staging/line6/midi.c @@ -319,42 +319,8 @@ static ssize_t midi_set_midi_mask_transmit(struct device *dev, return count; } -/* - "read" request on "midi_mask_receive" special file. -*/ -static ssize_t midi_get_midi_mask_receive(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6 *line6 = usb_get_intfdata(interface); - return sprintf(buf, "%d\n", line6->line6midi->midi_mask_receive); -} - -/* - "write" request on "midi_mask" special file. -*/ -static ssize_t midi_set_midi_mask_receive(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6 *line6 = usb_get_intfdata(interface); - unsigned short value; - int ret; - - ret = kstrtou16(buf, 10, &value); - if (ret) - return ret; - - line6->line6midi->midi_mask_receive = value; - return count; -} - static DEVICE_ATTR(midi_mask_transmit, S_IWUSR | S_IRUGO, midi_get_midi_mask_transmit, midi_set_midi_mask_transmit); -static DEVICE_ATTR(midi_mask_receive, S_IWUSR | S_IRUGO, - midi_get_midi_mask_receive, midi_set_midi_mask_receive); /* MIDI device destructor */ static int snd_line6_midi_free(struct snd_device *device) @@ -362,8 +328,6 @@ static int snd_line6_midi_free(struct snd_device *device) struct snd_line6_midi *line6midi = device->device_data; device_remove_file(line6midi->line6->ifcdev, &dev_attr_midi_mask_transmit); - device_remove_file(line6midi->line6->ifcdev, - &dev_attr_midi_mask_receive); line6_midibuf_destroy(&line6midi->midibuf_in); line6_midibuf_destroy(&line6midi->midibuf_out); return 0; @@ -410,12 +374,10 @@ int line6_init_midi(struct usb_line6 *line6) case LINE6_DEVID_PODHD300: case LINE6_DEVID_PODHD500: line6midi->midi_mask_transmit = 1; - line6midi->midi_mask_receive = 1; break; default: line6midi->midi_mask_transmit = 1; - line6midi->midi_mask_receive = 4; } line6->line6midi = line6midi; @@ -435,10 +397,6 @@ int line6_init_midi(struct usb_line6 *line6) if (err < 0) return err; - err = device_create_file(line6->ifcdev, &dev_attr_midi_mask_receive); - if (err < 0) - return err; - init_waitqueue_head(&line6midi->send_wait); spin_lock_init(&line6midi->send_urb_lock); spin_lock_init(&line6midi->midi_transmit_lock); diff --git a/drivers/staging/line6/midi.h b/drivers/staging/line6/midi.h index 4a9e9f9..cf32d77 100644 --- a/drivers/staging/line6/midi.h +++ b/drivers/staging/line6/midi.h @@ -60,11 +60,6 @@ struct snd_line6_midi { unsigned short midi_mask_transmit; /** - Bit mask for input MIDI channels. - */ - unsigned short midi_mask_receive; - - /** Buffer for incoming MIDI stream. */ struct MidiBuffer midibuf_in; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:26
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 34 ---------------------------------- drivers/staging/line6/pod.h | 5 ----- 2 files changed, 39 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 57fbe27..df2f37a 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -248,8 +248,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) break; PROCESS_SYSTEM_PARAM - (tuner_mute); - PROCESS_SYSTEM_PARAM (tuner_pitch); #undef PROCESS_SYSTEM_PARAM @@ -453,20 +451,6 @@ static int pod_set_system_param_int(struct usb_line6_pod *pod, int value, } /* - Send system parameter (from string). - @param tuner non-zero, if code refers to a tuner parameter -*/ -static ssize_t pod_set_system_param_string(struct usb_line6_pod *pod, - const char *buf, int count, int code, - unsigned short mask) -{ - int retval; - unsigned short value = simple_strtoul(buf, NULL, 10) & mask; - retval = pod_set_system_param_int(pod, value, code); - return (retval < 0) ? retval : count; -} - -/* "write" request on "finish" special file. */ static ssize_t pod_set_finish(struct device *dev, @@ -630,21 +614,8 @@ static ssize_t pod_get_ ## code(struct device *dev, \ &pod->code, sign); \ } -#define POD_GET_SET_SYSTEM_PARAM(code, mask, sign) \ -POD_GET_SYSTEM_PARAM(code, sign) \ -static ssize_t pod_set_ ## code(struct device *dev, \ - struct device_attribute *attr, \ - const char *buf, size_t count) \ -{ \ - struct usb_interface *interface = to_usb_interface(dev); \ - struct usb_line6_pod *pod = usb_get_intfdata(interface); \ - return pod_set_system_param_string(pod, buf, count, POD_ ## code, mask); \ -} - -POD_GET_SET_SYSTEM_PARAM(tuner_mute, 0x0001, 0); POD_GET_SYSTEM_PARAM(tuner_pitch, 1); -#undef GET_SET_SYSTEM_PARAM #undef GET_SYSTEM_PARAM /* POD special files: */ @@ -656,8 +627,6 @@ static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(tuner_mute, S_IWUSR | S_IRUGO, pod_get_tuner_mute, - pod_set_tuner_mute); static DEVICE_ATTR(tuner_pitch, S_IRUGO, pod_get_tuner_pitch, line6_nop_write); #ifdef CONFIG_LINE6_USB_RAW @@ -742,7 +711,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_mute)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_pitch)); #ifdef CONFIG_LINE6_USB_RAW @@ -768,7 +736,6 @@ static int pod_try_init(struct usb_interface *interface, return -ENODEV; /* initialize wait queues: */ - init_waitqueue_head(&pod->tuner_mute.wait); init_waitqueue_head(&pod->tuner_pitch.wait); /* initialize USB buffers: */ @@ -863,7 +830,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_serial_number); - device_remove_file(dev, &dev_attr_tuner_mute); device_remove_file(dev, &dev_attr_tuner_pitch); #ifdef CONFIG_LINE6_USB_RAW diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index 1659120..4930742 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -99,11 +99,6 @@ struct usb_line6_pod { struct pod_program prog_data_buf; /** - Tuner mute mode. - */ - struct ValueWait tuner_mute; - - /** Pitch value received from tuner. */ struct ValueWait tuner_pitch; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:51:24
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 7 ------- drivers/staging/line6/pod.h | 5 ----- 2 files changed, 12 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 3184570..57fbe27 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -250,8 +250,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) PROCESS_SYSTEM_PARAM (tuner_mute); PROCESS_SYSTEM_PARAM - (tuner_note); - PROCESS_SYSTEM_PARAM (tuner_pitch); #undef PROCESS_SYSTEM_PARAM @@ -644,7 +642,6 @@ static ssize_t pod_set_ ## code(struct device *dev, \ } POD_GET_SET_SYSTEM_PARAM(tuner_mute, 0x0001, 0); -POD_GET_SYSTEM_PARAM(tuner_note, 1); POD_GET_SYSTEM_PARAM(tuner_pitch, 1); #undef GET_SET_SYSTEM_PARAM @@ -661,7 +658,6 @@ static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); static DEVICE_ATTR(tuner_mute, S_IWUSR | S_IRUGO, pod_get_tuner_mute, pod_set_tuner_mute); -static DEVICE_ATTR(tuner_note, S_IRUGO, pod_get_tuner_note, line6_nop_write); static DEVICE_ATTR(tuner_pitch, S_IRUGO, pod_get_tuner_pitch, line6_nop_write); #ifdef CONFIG_LINE6_USB_RAW @@ -747,7 +743,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_mute)); - CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_note)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_pitch)); #ifdef CONFIG_LINE6_USB_RAW @@ -774,7 +769,6 @@ static int pod_try_init(struct usb_interface *interface, /* initialize wait queues: */ init_waitqueue_head(&pod->tuner_mute.wait); - init_waitqueue_head(&pod->tuner_note.wait); init_waitqueue_head(&pod->tuner_pitch.wait); /* initialize USB buffers: */ @@ -870,7 +864,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_serial_number); device_remove_file(dev, &dev_attr_tuner_mute); - device_remove_file(dev, &dev_attr_tuner_note); device_remove_file(dev, &dev_attr_tuner_pitch); #ifdef CONFIG_LINE6_USB_RAW diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index 91f2661..1659120 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -104,11 +104,6 @@ struct usb_line6_pod { struct ValueWait tuner_mute; /** - Note received from tuner. - */ - struct ValueWait tuner_note; - - /** Pitch value received from tuner. */ struct ValueWait tuner_pitch; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:17
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 8 -------- drivers/staging/line6/pod.h | 5 ----- 2 files changed, 13 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index f84a4ea..3184570 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -250,8 +250,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) PROCESS_SYSTEM_PARAM (tuner_mute); PROCESS_SYSTEM_PARAM - (tuner_freq); - PROCESS_SYSTEM_PARAM (tuner_note); PROCESS_SYSTEM_PARAM (tuner_pitch); @@ -646,7 +644,6 @@ static ssize_t pod_set_ ## code(struct device *dev, \ } POD_GET_SET_SYSTEM_PARAM(tuner_mute, 0x0001, 0); -POD_GET_SET_SYSTEM_PARAM(tuner_freq, 0xffff, 0); POD_GET_SYSTEM_PARAM(tuner_note, 1); POD_GET_SYSTEM_PARAM(tuner_pitch, 1); @@ -662,8 +659,6 @@ static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(tuner_freq, S_IWUSR | S_IRUGO, pod_get_tuner_freq, - pod_set_tuner_freq); static DEVICE_ATTR(tuner_mute, S_IWUSR | S_IRUGO, pod_get_tuner_mute, pod_set_tuner_mute); static DEVICE_ATTR(tuner_note, S_IRUGO, pod_get_tuner_note, line6_nop_write); @@ -751,7 +746,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_freq)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_mute)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_note)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_pitch)); @@ -780,7 +774,6 @@ static int pod_try_init(struct usb_interface *interface, /* initialize wait queues: */ init_waitqueue_head(&pod->tuner_mute.wait); - init_waitqueue_head(&pod->tuner_freq.wait); init_waitqueue_head(&pod->tuner_note.wait); init_waitqueue_head(&pod->tuner_pitch.wait); @@ -876,7 +869,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_serial_number); - device_remove_file(dev, &dev_attr_tuner_freq); device_remove_file(dev, &dev_attr_tuner_mute); device_remove_file(dev, &dev_attr_tuner_note); device_remove_file(dev, &dev_attr_tuner_pitch); diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index 732311a..91f2661 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -104,11 +104,6 @@ struct usb_line6_pod { struct ValueWait tuner_mute; /** - Tuner base frequency (typically 440Hz). - */ - struct ValueWait tuner_freq; - - /** Note received from tuner. */ struct ValueWait tuner_note; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:16
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 8 -------- drivers/staging/line6/pod.h | 9 --------- 2 files changed, 17 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 949b8f7..f84a4ea 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -40,7 +40,6 @@ enum { enum { POD_monitor_level = 0x04, - POD_routing = 0x05, POD_tuner_mute = 0x13, POD_tuner_freq = 0x15, POD_tuner_note = 0x16, @@ -248,7 +247,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) pod->monitor_level = value; break; - PROCESS_SYSTEM_PARAM(routing); PROCESS_SYSTEM_PARAM (tuner_mute); PROCESS_SYSTEM_PARAM @@ -647,7 +645,6 @@ static ssize_t pod_set_ ## code(struct device *dev, \ return pod_set_system_param_string(pod, buf, count, POD_ ## code, mask); \ } -POD_GET_SET_SYSTEM_PARAM(routing, 0x0003, 0); POD_GET_SET_SYSTEM_PARAM(tuner_mute, 0x0001, 0); POD_GET_SET_SYSTEM_PARAM(tuner_freq, 0xffff, 0); POD_GET_SYSTEM_PARAM(tuner_note, 1); @@ -663,8 +660,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, - pod_set_routing); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); static DEVICE_ATTR(tuner_freq, S_IWUSR | S_IRUGO, pod_get_tuner_freq, @@ -755,7 +750,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_freq)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_mute)); @@ -785,7 +779,6 @@ static int pod_try_init(struct usb_interface *interface, return -ENODEV; /* initialize wait queues: */ - init_waitqueue_head(&pod->routing.wait); init_waitqueue_head(&pod->tuner_mute.wait); init_waitqueue_head(&pod->tuner_freq.wait); init_waitqueue_head(&pod->tuner_note.wait); @@ -882,7 +875,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, &dev_attr_routing); device_remove_file(dev, &dev_attr_serial_number); device_remove_file(dev, &dev_attr_tuner_freq); device_remove_file(dev, &dev_attr_tuner_mute); diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index d5bbd2f..732311a 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -124,15 +124,6 @@ struct usb_line6_pod { int monitor_level; /** - Audio routing mode. - 0: send processed guitar - 1: send clean guitar - 2: send clean guitar re-amp playback - 3: send re-amp playback - */ - struct ValueWait routing; - - /** Timer for device initializaton. */ struct timer_list startup_timer; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:14
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 68 --------------------------------------------- 1 file changed, 68 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index abf7ebe..949b8f7 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -360,60 +360,6 @@ void line6_pod_transmit_parameter(struct usb_line6_pod *pod, int param, } /* - Resolve value to memory location. -*/ -static int pod_resolve(const char *buf, short block0, short block1, - unsigned char *location) -{ - u8 value; - short block; - int ret; - - ret = kstrtou8(buf, 10, &value); - if (ret) - return ret; - - block = (value < 0x40) ? block0 : block1; - value &= 0x3f; - location[0] = block >> 7; - location[1] = value | (block & 0x7f); - return 0; -} - -/* - Send command to retrieve channel/effects setup/amp setup to PODxt Pro. -*/ -static ssize_t pod_send_retrieve_command(struct device *dev, const char *buf, - size_t count, short block0, - short block1) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - int ret; - int size = 4; - char *sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_DUMPMEM, size); - - if (!sysex) - return 0; - - ret = pod_resolve(buf, block0, block1, sysex + SYSEX_DATA_OFS); - if (ret) { - kfree(sysex); - return ret; - } - sysex[SYSEX_DATA_OFS + 2] = 0; - sysex[SYSEX_DATA_OFS + 3] = 0; - line6_dump_started(&pod->dumpreq, POD_DUMP_MEMORY); - - if (line6_send_sysex_message(&pod->line6, sysex, size) < size) - line6_dump_finished(&pod->dumpreq); - - kfree(sysex); - /* needs some delay here on AMD64 platform */ - return count; -} - -/* Identify system parameters related to the tuner. */ static bool pod_is_tuner(int code) @@ -545,16 +491,6 @@ static ssize_t pod_set_finish(struct device *dev, } /* - "write" request on "store_effects_setup" special file. -*/ -static ssize_t pod_set_store_effects_setup(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - return pod_send_store_command(dev, buf, count, 0x0080, 0x0080); -} - -/* "read" request on "midi_postprocess" special file. */ static ssize_t pod_get_midi_postprocess(struct device *dev, @@ -731,8 +667,6 @@ static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, pod_set_routing); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(store_effects_setup, S_IWUSR, line6_nop_read, - pod_set_store_effects_setup); static DEVICE_ATTR(tuner_freq, S_IWUSR | S_IRUGO, pod_get_tuner_freq, pod_set_tuner_freq); static DEVICE_ATTR(tuner_mute, S_IWUSR | S_IRUGO, pod_get_tuner_mute, @@ -823,7 +757,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - CHECK_RETURN(device_create_file(dev, &dev_attr_store_effects_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_freq)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_mute)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_note)); @@ -951,7 +884,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_routing); device_remove_file(dev, &dev_attr_serial_number); - device_remove_file(dev, &dev_attr_store_effects_setup); device_remove_file(dev, &dev_attr_tuner_freq); device_remove_file(dev, &dev_attr_tuner_mute); device_remove_file(dev, &dev_attr_tuner_note); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:13
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index deafee9..abf7ebe 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -545,16 +545,6 @@ static ssize_t pod_set_finish(struct device *dev, } /* - "write" request on "store_channel" special file. -*/ -static ssize_t pod_set_store_channel(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - return pod_send_store_command(dev, buf, count, 0x0000, 0x00c0); -} - -/* "write" request on "store_effects_setup" special file. */ static ssize_t pod_set_store_effects_setup(struct device *dev, @@ -741,8 +731,6 @@ static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, pod_set_routing); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(store_channel, S_IWUSR, line6_nop_read, - pod_set_store_channel); static DEVICE_ATTR(store_effects_setup, S_IWUSR, line6_nop_read, pod_set_store_effects_setup); static DEVICE_ATTR(tuner_freq, S_IWUSR | S_IRUGO, pod_get_tuner_freq, @@ -835,7 +823,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - CHECK_RETURN(device_create_file(dev, &dev_attr_store_channel)); CHECK_RETURN(device_create_file(dev, &dev_attr_store_effects_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_freq)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_mute)); @@ -964,7 +951,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_routing); device_remove_file(dev, &dev_attr_serial_number); - device_remove_file(dev, &dev_attr_store_channel); device_remove_file(dev, &dev_attr_store_effects_setup); device_remove_file(dev, &dev_attr_tuner_freq); device_remove_file(dev, &dev_attr_tuner_mute); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:11
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 48 --------------------------------------------- 1 file changed, 48 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index bc65fc7..95769c5 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -381,39 +381,6 @@ static int pod_resolve(const char *buf, short block0, short block1, } /* - Send command to store channel/effects setup/amp setup to PODxt Pro. -*/ -static ssize_t pod_send_store_command(struct device *dev, const char *buf, - size_t count, short block0, short block1) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - int ret; - int size = 3 + sizeof(pod->prog_data_buf); - char *sysex = pod_alloc_sysex_buffer(pod, POD_SYSEX_STORE, size); - - if (!sysex) - return 0; - - /* Don't know what this is good for, but PODxt Pro transmits it, so we - * also do... */ - sysex[SYSEX_DATA_OFS] = 5; - ret = pod_resolve(buf, block0, block1, sysex + SYSEX_DATA_OFS + 1); - if (ret) { - kfree(sysex); - return ret; - } - - memcpy(sysex + SYSEX_DATA_OFS + 3, &pod->prog_data_buf, - sizeof(pod->prog_data_buf)); - - line6_send_sysex_message(&pod->line6, sysex, size); - kfree(sysex); - /* needs some delay here on AMD64 platform */ - return count; -} - -/* Send command to retrieve channel/effects setup/amp setup to PODxt Pro. */ static ssize_t pod_send_retrieve_command(struct device *dev, const char *buf, @@ -608,16 +575,6 @@ static ssize_t pod_set_store_amp_setup(struct device *dev, } /* - "write" request on "retrieve_effects_setup" special file. -*/ -static ssize_t pod_set_retrieve_effects_setup(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - return pod_send_retrieve_command(dev, buf, count, 0x0080, 0x0080); -} - -/* "read" request on "midi_postprocess" special file. */ static ssize_t pod_get_midi_postprocess(struct device *dev, @@ -790,8 +747,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(retrieve_effects_setup, S_IWUSR, line6_nop_read, - pod_set_retrieve_effects_setup); static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, pod_set_routing); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, @@ -890,7 +845,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_effects_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); CHECK_RETURN(device_create_file(dev, &dev_attr_store_amp_setup)); @@ -1021,8 +975,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, - &dev_attr_retrieve_effects_setup); device_remove_file(dev, &dev_attr_routing); device_remove_file(dev, &dev_attr_serial_number); device_remove_file(dev, &dev_attr_store_amp_setup); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:10
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 6d6cd5a..bc65fc7 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -608,16 +608,6 @@ static ssize_t pod_set_store_amp_setup(struct device *dev, } /* - "write" request on "retrieve_channel" special file. -*/ -static ssize_t pod_set_retrieve_channel(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - return pod_send_retrieve_command(dev, buf, count, 0x0000, 0x00c0); -} - -/* "write" request on "retrieve_effects_setup" special file. */ static ssize_t pod_set_retrieve_effects_setup(struct device *dev, @@ -800,8 +790,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(retrieve_channel, S_IWUSR, line6_nop_read, - pod_set_retrieve_channel); static DEVICE_ATTR(retrieve_effects_setup, S_IWUSR, line6_nop_read, pod_set_retrieve_effects_setup); static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, @@ -902,7 +890,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_channel)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_effects_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); @@ -1034,7 +1021,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, &dev_attr_retrieve_channel); device_remove_file(dev, &dev_attr_retrieve_effects_setup); device_remove_file(dev, &dev_attr_routing); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:08
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index dbf821e..6d6cd5a 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -628,16 +628,6 @@ static ssize_t pod_set_retrieve_effects_setup(struct device *dev, } /* - "write" request on "retrieve_amp_setup" special file. -*/ -static ssize_t pod_set_retrieve_amp_setup(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - return pod_send_retrieve_command(dev, buf, count, 0x0040, 0x0100); -} - -/* "read" request on "midi_postprocess" special file. */ static ssize_t pod_get_midi_postprocess(struct device *dev, @@ -810,8 +800,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(retrieve_amp_setup, S_IWUSR, line6_nop_read, - pod_set_retrieve_amp_setup); static DEVICE_ATTR(retrieve_channel, S_IWUSR, line6_nop_read, pod_set_retrieve_channel); static DEVICE_ATTR(retrieve_effects_setup, S_IWUSR, line6_nop_read, @@ -914,7 +902,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_amp_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_channel)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_effects_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); @@ -1047,7 +1034,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, &dev_attr_retrieve_amp_setup); device_remove_file(dev, &dev_attr_retrieve_channel); device_remove_file(dev, &dev_attr_retrieve_effects_setup); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:08
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 95769c5..deafee9 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -565,16 +565,6 @@ static ssize_t pod_set_store_effects_setup(struct device *dev, } /* - "write" request on "store_amp_setup" special file. -*/ -static ssize_t pod_set_store_amp_setup(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - return pod_send_store_command(dev, buf, count, 0x0040, 0x0100); -} - -/* "read" request on "midi_postprocess" special file. */ static ssize_t pod_get_midi_postprocess(struct device *dev, @@ -751,8 +741,6 @@ static DEVICE_ATTR(routing, S_IWUSR | S_IRUGO, pod_get_routing, pod_set_routing); static DEVICE_ATTR(serial_number, S_IRUGO, pod_get_serial_number, line6_nop_write); -static DEVICE_ATTR(store_amp_setup, S_IWUSR, line6_nop_read, - pod_set_store_amp_setup); static DEVICE_ATTR(store_channel, S_IWUSR, line6_nop_read, pod_set_store_channel); static DEVICE_ATTR(store_effects_setup, S_IWUSR, line6_nop_read, @@ -847,7 +835,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); CHECK_RETURN(device_create_file(dev, &dev_attr_routing)); CHECK_RETURN(device_create_file(dev, &dev_attr_serial_number)); - CHECK_RETURN(device_create_file(dev, &dev_attr_store_amp_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_store_channel)); CHECK_RETURN(device_create_file(dev, &dev_attr_store_effects_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_tuner_freq)); @@ -977,7 +964,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_midi_postprocess); device_remove_file(dev, &dev_attr_routing); device_remove_file(dev, &dev_attr_serial_number); - device_remove_file(dev, &dev_attr_store_amp_setup); device_remove_file(dev, &dev_attr_store_channel); device_remove_file(dev, &dev_attr_store_effects_setup); device_remove_file(dev, &dev_attr_tuner_freq); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:01
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 43 ------------------------------------------- 1 file changed, 43 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 76525c5..dbf821e 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -447,46 +447,6 @@ static ssize_t pod_send_retrieve_command(struct device *dev, const char *buf, } /* - Generic get name function. -*/ -static ssize_t get_name_generic(struct usb_line6_pod *pod, const char *str, - char *buf) -{ - int length = 0; - const char *p1; - char *p2; - char *last_non_space = buf; - - int retval = line6_dump_wait_interruptible(&pod->dumpreq); - if (retval < 0) - return retval; - - for (p1 = str, p2 = buf; *p1; ++p1, ++p2) { - *p2 = *p1; - if (*p2 != ' ') - last_non_space = p2; - if (++length == POD_NAME_LENGTH) - break; - } - - *(last_non_space + 1) = '\n'; - return last_non_space - buf + 2; -} - -/* - "read" request on "name" special file. -*/ -static ssize_t pod_get_name_buf(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - return get_name_generic(pod, - pod->prog_data_buf.header + POD_NAME_OFFSET, - buf); -} - -/* Identify system parameters related to the tuner. */ static bool pod_is_tuner(int code) @@ -850,7 +810,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(name_buf, S_IRUGO, pod_get_name_buf, line6_nop_write); static DEVICE_ATTR(retrieve_amp_setup, S_IWUSR, line6_nop_read, pod_set_retrieve_amp_setup); static DEVICE_ATTR(retrieve_channel, S_IWUSR, line6_nop_read, @@ -955,7 +914,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_name_buf)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_amp_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_channel)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_effects_setup)); @@ -1089,7 +1047,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, &dev_attr_name_buf); device_remove_file(dev, &dev_attr_retrieve_amp_setup); device_remove_file(dev, &dev_attr_retrieve_channel); device_remove_file(dev, -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:00
|
The monitor level can be adjusted using an ALSA volume control. Therefore the sysfs attribute is unnecessary. Note that we leave the monitor_level driver variable so that the ALSA volume control still works. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index c1eb145..5a941fa 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -244,8 +244,10 @@ void line6_pod_process_message(struct usb_line6_pod *pod) break; switch (buf[6]) { - PROCESS_SYSTEM_PARAM - (monitor_level); + case POD_monitor_level: + pod->monitor_level.value = value; + break; + PROCESS_SYSTEM_PARAM(routing); PROCESS_SYSTEM_PARAM (tuner_mute); @@ -844,7 +846,6 @@ static ssize_t pod_set_ ## code(struct device *dev, \ return pod_set_system_param_string(pod, buf, count, POD_ ## code, mask); \ } -POD_GET_SET_SYSTEM_PARAM(monitor_level, 0xffff, 0); POD_GET_SET_SYSTEM_PARAM(routing, 0x0003, 0); POD_GET_SET_SYSTEM_PARAM(tuner_mute, 0x0001, 0); POD_GET_SET_SYSTEM_PARAM(tuner_freq, 0xffff, 0); @@ -861,8 +862,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(monitor_level, S_IWUSR | S_IRUGO, pod_get_monitor_level, - pod_set_monitor_level); static DEVICE_ATTR(name, S_IRUGO, pod_get_name, line6_nop_write); static DEVICE_ATTR(name_buf, S_IRUGO, pod_get_name_buf, line6_nop_write); static DEVICE_ATTR(retrieve_amp_setup, S_IWUSR, line6_nop_read, @@ -969,7 +968,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_monitor_level)); CHECK_RETURN(device_create_file(dev, &dev_attr_name)); CHECK_RETURN(device_create_file(dev, &dev_attr_name_buf)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_amp_setup)); @@ -1008,7 +1006,6 @@ static int pod_try_init(struct usb_interface *interface, return -ENODEV; /* initialize wait queues: */ - init_waitqueue_head(&pod->monitor_level.wait); init_waitqueue_head(&pod->routing.wait); init_waitqueue_head(&pod->tuner_mute.wait); init_waitqueue_head(&pod->tuner_freq.wait); @@ -1106,7 +1103,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, &dev_attr_monitor_level); device_remove_file(dev, &dev_attr_name); device_remove_file(dev, &dev_attr_name_buf); device_remove_file(dev, &dev_attr_retrieve_amp_setup); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:50:00
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 165c7ad..76525c5 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -476,18 +476,6 @@ static ssize_t get_name_generic(struct usb_line6_pod *pod, const char *str, /* "read" request on "name" special file. */ -static ssize_t pod_get_name(struct device *dev, struct device_attribute *attr, - char *buf) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - return get_name_generic(pod, pod->prog_data.header + POD_NAME_OFFSET, - buf); -} - -/* - "read" request on "name" special file. -*/ static ssize_t pod_get_name_buf(struct device *dev, struct device_attribute *attr, char *buf) { @@ -862,7 +850,6 @@ static DEVICE_ATTR(firmware_version, S_IRUGO, pod_get_firmware_version, line6_nop_write); static DEVICE_ATTR(midi_postprocess, S_IWUSR | S_IRUGO, pod_get_midi_postprocess, pod_set_midi_postprocess); -static DEVICE_ATTR(name, S_IRUGO, pod_get_name, line6_nop_write); static DEVICE_ATTR(name_buf, S_IRUGO, pod_get_name_buf, line6_nop_write); static DEVICE_ATTR(retrieve_amp_setup, S_IWUSR, line6_nop_read, pod_set_retrieve_amp_setup); @@ -968,7 +955,6 @@ static int pod_create_files2(struct device *dev) CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); CHECK_RETURN(device_create_file(dev, &dev_attr_firmware_version)); CHECK_RETURN(device_create_file(dev, &dev_attr_midi_postprocess)); - CHECK_RETURN(device_create_file(dev, &dev_attr_name)); CHECK_RETURN(device_create_file(dev, &dev_attr_name_buf)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_amp_setup)); CHECK_RETURN(device_create_file(dev, &dev_attr_retrieve_channel)); @@ -1103,7 +1089,6 @@ void line6_pod_disconnect(struct usb_interface *interface) device_remove_file(dev, &dev_attr_finish); device_remove_file(dev, &dev_attr_firmware_version); device_remove_file(dev, &dev_attr_midi_postprocess); - device_remove_file(dev, &dev_attr_name); device_remove_file(dev, &dev_attr_name_buf); device_remove_file(dev, &dev_attr_retrieve_amp_setup); device_remove_file(dev, &dev_attr_retrieve_channel); -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:49:58
|
The param_dirty bitmap tracks which parameters have been modified since saving a preset. The bitmap is never used though so we can drop this deadcode. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 16 ---------------- drivers/staging/line6/pod.h | 5 ----- 2 files changed, 21 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 4abe2de..8fdbe9f 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -130,17 +130,6 @@ static void pod_startup2(unsigned long data); static void pod_startup3(struct usb_line6_pod *pod); static void pod_startup4(struct usb_line6_pod *pod); -/* - Mark all parameters as dirty and notify waiting processes. -*/ -static void pod_mark_batch_all_dirty(struct usb_line6_pod *pod) -{ - int i; - - for (i = 0; i < POD_CONTROL_SIZE; i++) - set_bit(i, pod->param_dirty); -} - static char *pod_alloc_sysex_buffer(struct usb_line6_pod *pod, int code, int size) { @@ -163,7 +152,6 @@ static void pod_dump(struct usb_line6_pod *pod, const unsigned char *data) memcpy(sysex + SYSEX_DATA_OFS + 1, data, sizeof(pod->prog_data)); line6_send_sysex_message(&pod->line6, sysex, size); memcpy(&pod->prog_data, data, sizeof(pod->prog_data)); - pod_mark_batch_all_dirty(pod); kfree(sysex); } @@ -173,7 +161,6 @@ static void pod_dump(struct usb_line6_pod *pod, const unsigned char *data) static void pod_store_parameter(struct usb_line6_pod *pod, int param, int value) { pod->prog_data.control[param] = value; - set_bit(param, pod->param_dirty); pod->dirty = 1; } @@ -239,7 +226,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) case LINE6_DUMP_CURRENT: memcpy(&pod->prog_data, buf + 7, sizeof(pod->prog_data)); - pod_mark_batch_all_dirty(pod); break; case POD_DUMP_MEMORY: @@ -1139,8 +1125,6 @@ static int pod_try_init(struct usb_interface *interface, init_waitqueue_head(&pod->tuner_note.wait); init_waitqueue_head(&pod->tuner_pitch.wait); - memset(pod->param_dirty, 0xff, sizeof(pod->param_dirty)); - /* initialize USB buffers: */ err = line6_dumpreq_init(&pod->dumpreq, pod_request_channel, sizeof(pod_request_channel)); diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index fa247b8..dd6c318 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -148,11 +148,6 @@ struct usb_line6_pod { int startup_progress; /** - Dirty flags for access to parameter data. - */ - unsigned long param_dirty[POD_CONTROL_SIZE / sizeof(unsigned long)]; - - /** Some atomic flags. */ unsigned long atomic_flags; -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:49:58
|
The monitor_level sysfs attr has been dropped and we never need to wait on the monitor_level value to change. Switch to a plain int and drop the wait queue. Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 10 +++++----- drivers/staging/line6/pod.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 5a941fa..165c7ad 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -245,7 +245,7 @@ void line6_pod_process_message(struct usb_line6_pod *pod) switch (buf[6]) { case POD_monitor_level: - pod->monitor_level.value = value; + pod->monitor_level = value; break; PROCESS_SYSTEM_PARAM(routing); @@ -908,7 +908,7 @@ static int snd_pod_control_monitor_get(struct snd_kcontrol *kcontrol, { struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); struct usb_line6_pod *pod = (struct usb_line6_pod *)line6pcm->line6; - ucontrol->value.integer.value[0] = pod->monitor_level.value; + ucontrol->value.integer.value[0] = pod->monitor_level; return 0; } @@ -919,10 +919,10 @@ static int snd_pod_control_monitor_put(struct snd_kcontrol *kcontrol, struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); struct usb_line6_pod *pod = (struct usb_line6_pod *)line6pcm->line6; - if (ucontrol->value.integer.value[0] == pod->monitor_level.value) + if (ucontrol->value.integer.value[0] == pod->monitor_level) return 0; - pod->monitor_level.value = ucontrol->value.integer.value[0]; + pod->monitor_level = ucontrol->value.integer.value[0]; pod_set_system_param_int(pod, ucontrol->value.integer.value[0], POD_monitor_level); return 1; @@ -1053,7 +1053,7 @@ static int pod_try_init(struct usb_interface *interface, */ if (pod->line6.properties->capabilities & LINE6_BIT_CONTROL) { - pod->monitor_level.value = POD_system_invalid; + pod->monitor_level = POD_system_invalid; /* initiate startup procedure: */ pod_startup1(pod); diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index b3bf243..d5bbd2f 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -121,7 +121,7 @@ struct usb_line6_pod { /** Instrument monitor level. */ - struct ValueWait monitor_level; + int monitor_level; /** Audio routing mode. -- 1.8.0 |
From: Stefan H. <ste...@gm...> - 2012-11-22 19:49:57
|
Signed-off-by: Stefan Hajnoczi <ste...@gm...> --- drivers/staging/line6/pod.c | 21 +-------------------- drivers/staging/line6/pod.h | 5 ----- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/drivers/staging/line6/pod.c b/drivers/staging/line6/pod.c index 8fdbe9f..7c76b65 100644 --- a/drivers/staging/line6/pod.c +++ b/drivers/staging/line6/pod.c @@ -156,12 +156,11 @@ static void pod_dump(struct usb_line6_pod *pod, const unsigned char *data) } /* - Store parameter value in driver memory and mark it as dirty. + Store parameter value in driver memory. */ static void pod_store_parameter(struct usb_line6_pod *pod, int param, int value) { pod->prog_data.control[param] = value; - pod->dirty = 1; } /* @@ -170,7 +169,6 @@ static void pod_store_parameter(struct usb_line6_pod *pod, int param, int value) static void pod_save_button_pressed(struct usb_line6_pod *pod, int type, int index) { - pod->dirty = 0; set_bit(POD_SAVE_PRESSED, &pod->atomic_flags); } @@ -209,7 +207,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod) case LINE6_PROGRAM_CHANGE | LINE6_CHANNEL_DEVICE: case LINE6_PROGRAM_CHANGE | LINE6_CHANNEL_HOST: - pod->dirty = 0; set_bit(POD_CHANNEL_DIRTY, &pod->atomic_flags); line6_dump_request_async(&pod->dumpreq, &pod->line6, 0, LINE6_DUMP_CURRENT); @@ -778,19 +775,6 @@ static ssize_t pod_set_retrieve_amp_setup(struct device *dev, } /* - "read" request on "dirty" special file. -*/ -static ssize_t pod_get_dirty(struct device *dev, struct device_attribute *attr, - char *buf) -{ - struct usb_interface *interface = to_usb_interface(dev); - struct usb_line6_pod *pod = usb_get_intfdata(interface); - buf[0] = pod->dirty ? '1' : '0'; - buf[1] = '\n'; - return 2; -} - -/* "read" request on "midi_postprocess" special file. */ static ssize_t pod_get_midi_postprocess(struct device *dev, @@ -959,7 +943,6 @@ POD_GET_SYSTEM_PARAM(tuner_pitch, 1); /* POD special files: */ static DEVICE_ATTR(device_id, S_IRUGO, pod_get_device_id, line6_nop_write); -static DEVICE_ATTR(dirty, S_IRUGO, pod_get_dirty, line6_nop_write); static DEVICE_ATTR(dump, S_IWUSR | S_IRUGO, pod_get_dump, pod_set_dump); static DEVICE_ATTR(dump_buf, S_IWUSR | S_IRUGO, pod_get_dump_buf, pod_set_dump_buf); @@ -1073,7 +1056,6 @@ static int pod_create_files2(struct device *dev) int err; CHECK_RETURN(device_create_file(dev, &dev_attr_device_id)); - CHECK_RETURN(device_create_file(dev, &dev_attr_dirty)); CHECK_RETURN(device_create_file(dev, &dev_attr_dump)); CHECK_RETURN(device_create_file(dev, &dev_attr_dump_buf)); CHECK_RETURN(device_create_file(dev, &dev_attr_finish)); @@ -1213,7 +1195,6 @@ void line6_pod_disconnect(struct usb_interface *interface) properties->device_bit, dev); device_remove_file(dev, &dev_attr_device_id); - device_remove_file(dev, &dev_attr_dirty); device_remove_file(dev, &dev_attr_dump); device_remove_file(dev, &dev_attr_dump_buf); device_remove_file(dev, &dev_attr_finish); diff --git a/drivers/staging/line6/pod.h b/drivers/staging/line6/pod.h index dd6c318..b3bf243 100644 --- a/drivers/staging/line6/pod.h +++ b/drivers/staging/line6/pod.h @@ -168,11 +168,6 @@ struct usb_line6_pod { int device_id; /** - Flag to indicate modification of current program settings. - */ - char dirty; - - /** Flag to enable MIDI postprocessing. */ char midi_postprocess; -- 1.8.0 |