staging: line6: drop MIDI parameter sysfs attrs
authorStefan Hajnoczi <stefanha@gmail.com>
Thu, 22 Nov 2012 19:49:19 +0000 (20:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Nov 2012 00:13:50 +0000 (16:13 -0800)
Both pod.c and variax.c expose the device's MIDI parameters as sysfs
attrs.  Knowledge of MIDI constants should be in userspace, not in the
driver.  Drop the sysfs attrs and let userspace interpret parameters it
cares about instead.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/line6/Makefile
drivers/staging/line6/control.c [deleted file]
drivers/staging/line6/control.h [deleted file]
drivers/staging/line6/driver.c
drivers/staging/line6/pod.c
drivers/staging/line6/variax.c

index 34a2ddacc7e9ca4fb0c58927497f789536204e7c..44ee5ae95f18c1ca1df35477882fc35e224673d6 100644 (file)
@@ -3,7 +3,6 @@ obj-$(CONFIG_LINE6_USB)         += line6usb.o
 line6usb-y :=          \
                audio.o         \
                capture.o       \
-               control.o       \
                driver.o        \
                dumprequest.o   \
                midi.o          \
diff --git a/drivers/staging/line6/control.c b/drivers/staging/line6/control.c
deleted file mode 100644 (file)
index f8326f5..0000000
+++ /dev/null
@@ -1,995 +0,0 @@
-/*
- * Line6 Linux USB driver - 0.9.1beta
- *
- * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
- *
- *     This program is free software; you can redistribute it and/or
- *     modify it under the terms of the GNU General Public License as
- *     published by the Free Software Foundation, version 2.
- *
- */
-
-#include <linux/usb.h>
-
-#include "control.h"
-#include "driver.h"
-#include "pod.h"
-#include "usbdefs.h"
-#include "variax.h"
-
-#define DEVICE_ATTR2(_name1, _name2, _mode, _show, _store) \
-struct device_attribute dev_attr_##_name1 = __ATTR(_name2, _mode, _show, _store)
-
-#define LINE6_PARAM_R(PREFIX, prefix, type, param) \
-static ssize_t prefix##_get_##param(struct device *dev, \
-                       struct device_attribute *attr, char *buf) \
-{ \
-       return prefix##_get_param_##type(dev, buf, PREFIX##_##param); \
-}
-
-#define LINE6_PARAM_RW(PREFIX, prefix, type, param) \
-LINE6_PARAM_R(PREFIX, prefix, type, param); \
-static ssize_t prefix##_set_##param(struct device *dev, \
-               struct device_attribute *attr, const char *buf, size_t count) \
-{ \
-       return prefix##_set_param_##type(dev, buf, count, PREFIX##_##param); \
-}
-
-#define POD_PARAM_R(type, param) LINE6_PARAM_R(POD, pod, type, param)
-#define POD_PARAM_RW(type, param) LINE6_PARAM_RW(POD, pod, type, param)
-#define VARIAX_PARAM_R(type, param) LINE6_PARAM_R(VARIAX, variax, type, param)
-#define VARIAX_PARAM_RW(type, param) LINE6_PARAM_RW(VARIAX, variax, type, param)
-
-static ssize_t pod_get_param_int(struct device *dev, char *buf, int param)
-{
-       struct usb_interface *interface = to_usb_interface(dev);
-       struct usb_line6_pod *pod = usb_get_intfdata(interface);
-       int retval = line6_dump_wait_interruptible(&pod->dumpreq);
-       if (retval < 0)
-               return retval;
-       return sprintf(buf, "%d\n", pod->prog_data.control[param]);
-}
-
-static ssize_t pod_set_param_int(struct device *dev, const char *buf,
-                                size_t count, int param)
-{
-       struct usb_interface *interface = to_usb_interface(dev);
-       struct usb_line6_pod *pod = usb_get_intfdata(interface);
-       u8 value;
-       int retval;
-
-       retval = kstrtou8(buf, 10, &value);
-       if (retval)
-               return retval;
-
-       line6_pod_transmit_parameter(pod, param, value);
-       return count;
-}
-
-static ssize_t variax_get_param_int(struct device *dev, char *buf, int param)
-{
-       struct usb_interface *interface = to_usb_interface(dev);
-       struct usb_line6_variax *variax = usb_get_intfdata(interface);
-       int retval = line6_dump_wait_interruptible(&variax->dumpreq);
-       if (retval < 0)
-               return retval;
-       return sprintf(buf, "%d\n", variax->model_data.control[param]);
-}
-
-static ssize_t variax_get_param_float(struct device *dev, char *buf, int param)
-{
-       /*
-          We do our own floating point handling here since at the time
-          this code was written (Jan 2006) it was highly discouraged to
-          use floating point arithmetic in the kernel. If you think that
-          this no longer applies, feel free to replace this by generic
-          floating point code.
-        */
-
-       static const int BIAS = 0x7f;
-       static const int OFFSET = 0xf;
-       static const int PRECISION = 1000;
-
-       int len = 0;
-       unsigned part_int, part_frac;
-       struct usb_interface *interface = to_usb_interface(dev);
-       struct usb_line6_variax *variax = usb_get_intfdata(interface);
-       const unsigned char *p = variax->model_data.control + param;
-       int retval = line6_dump_wait_interruptible(&variax->dumpreq);
-       if (retval < 0)
-               return retval;
-
-       if ((p[0] == 0) && (p[1] == 0) && (p[2] == 0))
-               part_int = part_frac = 0;
-       else {
-               int exponent = (((p[0] & 0x7f) << 1) | (p[1] >> 7)) - BIAS;
-               unsigned mantissa = (p[1] << 8) | p[2] | 0x8000;
-               exponent -= OFFSET;
-
-               if (exponent >= 0) {
-                       part_int = mantissa << exponent;
-                       part_frac = 0;
-               } else {
-                       part_int = mantissa >> -exponent;
-                       part_frac = (mantissa << (32 + exponent)) & 0xffffffff;
-               }
-
-               part_frac =
-                   (part_frac / ((1UL << 31) / (PRECISION / 2 * 10)) + 5) / 10;
-       }
-
-       len +=
-           sprintf(buf + len, "%s%d.%03d\n", ((p[0] & 0x80) ? "-" : ""),
-                   part_int, part_frac);
-       return len;
-}
-
-POD_PARAM_RW(int, tweak);
-POD_PARAM_RW(int, wah_position);
-POD_PARAM_RW(int, compression_gain);
-POD_PARAM_RW(int, vol_pedal_position);
-POD_PARAM_RW(int, compression_threshold);
-POD_PARAM_RW(int, pan);
-POD_PARAM_RW(int, amp_model_setup);
-POD_PARAM_RW(int, amp_model);
-POD_PARAM_RW(int, drive);
-POD_PARAM_RW(int, bass);
-POD_PARAM_RW(int, mid);
-POD_PARAM_RW(int, lowmid);
-POD_PARAM_RW(int, treble);
-POD_PARAM_RW(int, highmid);
-POD_PARAM_RW(int, chan_vol);
-POD_PARAM_RW(int, reverb_mix);
-POD_PARAM_RW(int, effect_setup);
-POD_PARAM_RW(int, band_1_frequency);
-POD_PARAM_RW(int, presence);
-POD_PARAM_RW(int, treble__bass);
-POD_PARAM_RW(int, noise_gate_enable);
-POD_PARAM_RW(int, gate_threshold);
-POD_PARAM_RW(int, gate_decay_time);
-POD_PARAM_RW(int, stomp_enable);
-POD_PARAM_RW(int, comp_enable);
-POD_PARAM_RW(int, stomp_time);
-POD_PARAM_RW(int, delay_enable);
-POD_PARAM_RW(int, mod_param_1);
-POD_PARAM_RW(int, delay_param_1);
-POD_PARAM_RW(int, delay_param_1_note_value);
-POD_PARAM_RW(int, band_2_frequency__bass);
-POD_PARAM_RW(int, delay_param_2);
-POD_PARAM_RW(int, delay_volume_mix);
-POD_PARAM_RW(int, delay_param_3);
-POD_PARAM_RW(int, reverb_enable);
-POD_PARAM_RW(int, reverb_type);
-POD_PARAM_RW(int, reverb_decay);
-POD_PARAM_RW(int, reverb_tone);
-POD_PARAM_RW(int, reverb_pre_delay);
-POD_PARAM_RW(int, reverb_pre_post);
-POD_PARAM_RW(int, band_2_frequency);
-POD_PARAM_RW(int, band_3_frequency__bass);
-POD_PARAM_RW(int, wah_enable);
-POD_PARAM_RW(int, modulation_lo_cut);
-POD_PARAM_RW(int, delay_reverb_lo_cut);
-POD_PARAM_RW(int, volume_pedal_minimum);
-POD_PARAM_RW(int, eq_pre_post);
-POD_PARAM_RW(int, volume_pre_post);
-POD_PARAM_RW(int, di_model);
-POD_PARAM_RW(int, di_delay);
-POD_PARAM_RW(int, mod_enable);
-POD_PARAM_RW(int, mod_param_1_note_value);
-POD_PARAM_RW(int, mod_param_2);
-POD_PARAM_RW(int, mod_param_3);
-POD_PARAM_RW(int, mod_param_4);
-POD_PARAM_RW(int, mod_param_5);
-POD_PARAM_RW(int, mod_volume_mix);
-POD_PARAM_RW(int, mod_pre_post);
-POD_PARAM_RW(int, modulation_model);
-POD_PARAM_RW(int, band_3_frequency);
-POD_PARAM_RW(int, band_4_frequency__bass);
-POD_PARAM_RW(int, mod_param_1_double_precision);
-POD_PARAM_RW(int, delay_param_1_double_precision);
-POD_PARAM_RW(int, eq_enable);
-POD_PARAM_RW(int, tap);
-POD_PARAM_RW(int, volume_tweak_pedal_assign);
-POD_PARAM_RW(int, band_5_frequency);
-POD_PARAM_RW(int, tuner);
-POD_PARAM_RW(int, mic_selection);
-POD_PARAM_RW(int, cabinet_model);
-POD_PARAM_RW(int, stomp_model);
-POD_PARAM_RW(int, roomlevel);
-POD_PARAM_RW(int, band_4_frequency);
-POD_PARAM_RW(int, band_6_frequency);
-POD_PARAM_RW(int, stomp_param_1_note_value);
-POD_PARAM_RW(int, stomp_param_2);
-POD_PARAM_RW(int, stomp_param_3);
-POD_PARAM_RW(int, stomp_param_4);
-POD_PARAM_RW(int, stomp_param_5);
-POD_PARAM_RW(int, stomp_param_6);
-POD_PARAM_RW(int, amp_switch_select);
-POD_PARAM_RW(int, delay_param_4);
-POD_PARAM_RW(int, delay_param_5);
-POD_PARAM_RW(int, delay_pre_post);
-POD_PARAM_RW(int, delay_model);
-POD_PARAM_RW(int, delay_verb_model);
-POD_PARAM_RW(int, tempo_msb);
-POD_PARAM_RW(int, tempo_lsb);
-POD_PARAM_RW(int, wah_model);
-POD_PARAM_RW(int, bypass_volume);
-POD_PARAM_RW(int, fx_loop_on_off);
-POD_PARAM_RW(int, tweak_param_select);
-POD_PARAM_RW(int, amp1_engage);
-POD_PARAM_RW(int, band_1_gain);
-POD_PARAM_RW(int, band_2_gain__bass);
-POD_PARAM_RW(int, band_2_gain);
-POD_PARAM_RW(int, band_3_gain__bass);
-POD_PARAM_RW(int, band_3_gain);
-POD_PARAM_RW(int, band_4_gain__bass);
-POD_PARAM_RW(int, band_5_gain__bass);
-POD_PARAM_RW(int, band_4_gain);
-POD_PARAM_RW(int, band_6_gain__bass);
-VARIAX_PARAM_R(int, body);
-VARIAX_PARAM_R(int, pickup1_enable);
-VARIAX_PARAM_R(int, pickup1_type);
-VARIAX_PARAM_R(float, pickup1_position);
-VARIAX_PARAM_R(float, pickup1_angle);
-VARIAX_PARAM_R(float, pickup1_level);
-VARIAX_PARAM_R(int, pickup2_enable);
-VARIAX_PARAM_R(int, pickup2_type);
-VARIAX_PARAM_R(float, pickup2_position);
-VARIAX_PARAM_R(float, pickup2_angle);
-VARIAX_PARAM_R(float, pickup2_level);
-VARIAX_PARAM_R(int, pickup_phase);
-VARIAX_PARAM_R(float, capacitance);
-VARIAX_PARAM_R(float, tone_resistance);
-VARIAX_PARAM_R(float, volume_resistance);
-VARIAX_PARAM_R(int, taper);
-VARIAX_PARAM_R(float, tone_dump);
-VARIAX_PARAM_R(int, save_tone);
-VARIAX_PARAM_R(float, volume_dump);
-VARIAX_PARAM_R(int, tuning_enable);
-VARIAX_PARAM_R(int, tuning6);
-VARIAX_PARAM_R(int, tuning5);
-VARIAX_PARAM_R(int, tuning4);
-VARIAX_PARAM_R(int, tuning3);
-VARIAX_PARAM_R(int, tuning2);
-VARIAX_PARAM_R(int, tuning1);
-VARIAX_PARAM_R(float, detune6);
-VARIAX_PARAM_R(float, detune5);
-VARIAX_PARAM_R(float, detune4);
-VARIAX_PARAM_R(float, detune3);
-VARIAX_PARAM_R(float, detune2);
-VARIAX_PARAM_R(float, detune1);
-VARIAX_PARAM_R(float, mix6);
-VARIAX_PARAM_R(float, mix5);
-VARIAX_PARAM_R(float, mix4);
-VARIAX_PARAM_R(float, mix3);
-VARIAX_PARAM_R(float, mix2);
-VARIAX_PARAM_R(float, mix1);
-VARIAX_PARAM_R(int, pickup_wiring);
-
-static DEVICE_ATTR(tweak, S_IWUSR | S_IRUGO, pod_get_tweak, pod_set_tweak);
-static DEVICE_ATTR(wah_position, S_IWUSR | S_IRUGO, pod_get_wah_position,
-                  pod_set_wah_position);
-static DEVICE_ATTR(compression_gain, S_IWUSR | S_IRUGO,
-                  pod_get_compression_gain, pod_set_compression_gain);
-static DEVICE_ATTR(vol_pedal_position, S_IWUSR | S_IRUGO,
-                  pod_get_vol_pedal_position, pod_set_vol_pedal_position);
-static DEVICE_ATTR(compression_threshold, S_IWUSR | S_IRUGO,
-                  pod_get_compression_threshold,
-                  pod_set_compression_threshold);
-static DEVICE_ATTR(pan, S_IWUSR | S_IRUGO, pod_get_pan, pod_set_pan);
-static DEVICE_ATTR(amp_model_setup, S_IWUSR | S_IRUGO, pod_get_amp_model_setup,
-                  pod_set_amp_model_setup);
-static DEVICE_ATTR(amp_model, S_IWUSR | S_IRUGO, pod_get_amp_model,
-                  pod_set_amp_model);
-static DEVICE_ATTR(drive, S_IWUSR | S_IRUGO, pod_get_drive, pod_set_drive);
-static DEVICE_ATTR(bass, S_IWUSR | S_IRUGO, pod_get_bass, pod_set_bass);
-static DEVICE_ATTR(mid, S_IWUSR | S_IRUGO, pod_get_mid, pod_set_mid);
-static DEVICE_ATTR(lowmid, S_IWUSR | S_IRUGO, pod_get_lowmid, pod_set_lowmid);
-static DEVICE_ATTR(treble, S_IWUSR | S_IRUGO, pod_get_treble, pod_set_treble);
-static DEVICE_ATTR(highmid, S_IWUSR | S_IRUGO, pod_get_highmid,
-                  pod_set_highmid);
-static DEVICE_ATTR(chan_vol, S_IWUSR | S_IRUGO, pod_get_chan_vol,
-                  pod_set_chan_vol);
-static DEVICE_ATTR(reverb_mix, S_IWUSR | S_IRUGO, pod_get_reverb_mix,
-                  pod_set_reverb_mix);
-static DEVICE_ATTR(effect_setup, S_IWUSR | S_IRUGO, pod_get_effect_setup,
-                  pod_set_effect_setup);
-static DEVICE_ATTR(band_1_frequency, S_IWUSR | S_IRUGO,
-                  pod_get_band_1_frequency, pod_set_band_1_frequency);
-static DEVICE_ATTR(presence, S_IWUSR | S_IRUGO, pod_get_presence,
-                  pod_set_presence);
-static DEVICE_ATTR2(treble__bass, treble, S_IWUSR | S_IRUGO,
-                   pod_get_treble__bass, pod_set_treble__bass);
-static DEVICE_ATTR(noise_gate_enable, S_IWUSR | S_IRUGO,
-                  pod_get_noise_gate_enable, pod_set_noise_gate_enable);
-static DEVICE_ATTR(gate_threshold, S_IWUSR | S_IRUGO, pod_get_gate_threshold,
-                  pod_set_gate_threshold);
-static DEVICE_ATTR(gate_decay_time, S_IWUSR | S_IRUGO, pod_get_gate_decay_time,
-                  pod_set_gate_decay_time);
-static DEVICE_ATTR(stomp_enable, S_IWUSR | S_IRUGO, pod_get_stomp_enable,
-                  pod_set_stomp_enable);
-static DEVICE_ATTR(comp_enable, S_IWUSR | S_IRUGO, pod_get_comp_enable,
-                  pod_set_comp_enable);
-static DEVICE_ATTR(stomp_time, S_IWUSR | S_IRUGO, pod_get_stomp_time,
-                  pod_set_stomp_time);
-static DEVICE_ATTR(delay_enable, S_IWUSR | S_IRUGO, pod_get_delay_enable,
-                  pod_set_delay_enable);
-static DEVICE_ATTR(mod_param_1, S_IWUSR | S_IRUGO, pod_get_mod_param_1,
-                  pod_set_mod_param_1);
-static DEVICE_ATTR(delay_param_1, S_IWUSR | S_IRUGO, pod_get_delay_param_1,
-                  pod_set_delay_param_1);
-static DEVICE_ATTR(delay_param_1_note_value, S_IWUSR | S_IRUGO,
-                  pod_get_delay_param_1_note_value,
-                  pod_set_delay_param_1_note_value);
-static DEVICE_ATTR2(band_2_frequency__bass, band_2_frequency, S_IWUSR | S_IRUGO,
-                   pod_get_band_2_frequency__bass,
-                   pod_set_band_2_frequency__bass);
-static DEVICE_ATTR(delay_param_2, S_IWUSR | S_IRUGO, pod_get_delay_param_2,
-                  pod_set_delay_param_2);
-static DEVICE_ATTR(delay_volume_mix, S_IWUSR | S_IRUGO,
-                  pod_get_delay_volume_mix, pod_set_delay_volume_mix);
-static DEVICE_ATTR(delay_param_3, S_IWUSR | S_IRUGO, pod_get_delay_param_3,
-                  pod_set_delay_param_3);
-static DEVICE_ATTR(reverb_enable, S_IWUSR | S_IRUGO, pod_get_reverb_enable,
-                  pod_set_reverb_enable);
-static DEVICE_ATTR(reverb_type, S_IWUSR | S_IRUGO, pod_get_reverb_type,
-                  pod_set_reverb_type);
-static DEVICE_ATTR(reverb_decay, S_IWUSR | S_IRUGO, pod_get_reverb_decay,
-                  pod_set_reverb_decay);
-static DEVICE_ATTR(reverb_tone, S_IWUSR | S_IRUGO, pod_get_reverb_tone,
-                  pod_set_reverb_tone);
-static DEVICE_ATTR(reverb_pre_delay, S_IWUSR | S_IRUGO,
-                  pod_get_reverb_pre_delay, pod_set_reverb_pre_delay);
-static DEVICE_ATTR(reverb_pre_post, S_IWUSR | S_IRUGO, pod_get_reverb_pre_post,
-                  pod_set_reverb_pre_post);
-static DEVICE_ATTR(band_2_frequency, S_IWUSR | S_IRUGO,
-                  pod_get_band_2_frequency, pod_set_band_2_frequency);
-static DEVICE_ATTR2(band_3_frequency__bass, band_3_frequency, S_IWUSR | S_IRUGO,
-                   pod_get_band_3_frequency__bass,
-                   pod_set_band_3_frequency__bass);
-static DEVICE_ATTR(wah_enable, S_IWUSR | S_IRUGO, pod_get_wah_enable,
-                  pod_set_wah_enable);
-static DEVICE_ATTR(modulation_lo_cut, S_IWUSR | S_IRUGO,
-                  pod_get_modulation_lo_cut, pod_set_modulation_lo_cut);
-static DEVICE_ATTR(delay_reverb_lo_cut, S_IWUSR | S_IRUGO,
-                  pod_get_delay_reverb_lo_cut, pod_set_delay_reverb_lo_cut);
-static DEVICE_ATTR(volume_pedal_minimum, S_IWUSR | S_IRUGO,
-                  pod_get_volume_pedal_minimum, pod_set_volume_pedal_minimum);
-static DEVICE_ATTR(eq_pre_post, S_IWUSR | S_IRUGO, pod_get_eq_pre_post,
-                  pod_set_eq_pre_post);
-static DEVICE_ATTR(volume_pre_post, S_IWUSR | S_IRUGO, pod_get_volume_pre_post,
-                  pod_set_volume_pre_post);
-static DEVICE_ATTR(di_model, S_IWUSR | S_IRUGO, pod_get_di_model,
-                  pod_set_di_model);
-static DEVICE_ATTR(di_delay, S_IWUSR | S_IRUGO, pod_get_di_delay,
-                  pod_set_di_delay);
-static DEVICE_ATTR(mod_enable, S_IWUSR | S_IRUGO, pod_get_mod_enable,
-                  pod_set_mod_enable);
-static DEVICE_ATTR(mod_param_1_note_value, S_IWUSR | S_IRUGO,
-                  pod_get_mod_param_1_note_value,
-                  pod_set_mod_param_1_note_value);
-static DEVICE_ATTR(mod_param_2, S_IWUSR | S_IRUGO, pod_get_mod_param_2,
-                  pod_set_mod_param_2);
-static DEVICE_ATTR(mod_param_3, S_IWUSR | S_IRUGO, pod_get_mod_param_3,
-                  pod_set_mod_param_3);
-static DEVICE_ATTR(mod_param_4, S_IWUSR | S_IRUGO, pod_get_mod_param_4,
-                  pod_set_mod_param_4);
-static DEVICE_ATTR(mod_param_5, S_IWUSR | S_IRUGO, pod_get_mod_param_5,
-                  pod_set_mod_param_5);
-static DEVICE_ATTR(mod_volume_mix, S_IWUSR | S_IRUGO, pod_get_mod_volume_mix,
-                  pod_set_mod_volume_mix);
-static DEVICE_ATTR(mod_pre_post, S_IWUSR | S_IRUGO, pod_get_mod_pre_post,
-                  pod_set_mod_pre_post);
-static DEVICE_ATTR(modulation_model, S_IWUSR | S_IRUGO,
-                  pod_get_modulation_model, pod_set_modulation_model);
-static DEVICE_ATTR(band_3_frequency, S_IWUSR | S_IRUGO,
-                  pod_get_band_3_frequency, pod_set_band_3_frequency);
-static DEVICE_ATTR2(band_4_frequency__bass, band_4_frequency, S_IWUSR | S_IRUGO,
-                   pod_get_band_4_frequency__bass,
-                   pod_set_band_4_frequency__bass);
-static DEVICE_ATTR(mod_param_1_double_precision, S_IWUSR | S_IRUGO,
-                  pod_get_mod_param_1_double_precision,
-                  pod_set_mod_param_1_double_precision);
-static DEVICE_ATTR(delay_param_1_double_precision, S_IWUSR | S_IRUGO,
-                  pod_get_delay_param_1_double_precision,
-                  pod_set_delay_param_1_double_precision);
-static DEVICE_ATTR(eq_enable, S_IWUSR | S_IRUGO, pod_get_eq_enable,
-                  pod_set_eq_enable);
-static DEVICE_ATTR(tap, S_IWUSR | S_IRUGO, pod_get_tap, pod_set_tap);
-static DEVICE_ATTR(volume_tweak_pedal_assign, S_IWUSR | S_IRUGO,
-                  pod_get_volume_tweak_pedal_assign,
-                  pod_set_volume_tweak_pedal_assign);
-static DEVICE_ATTR(band_5_frequency, S_IWUSR | S_IRUGO,
-                  pod_get_band_5_frequency, pod_set_band_5_frequency);
-static DEVICE_ATTR(tuner, S_IWUSR | S_IRUGO, pod_get_tuner, pod_set_tuner);
-static DEVICE_ATTR(mic_selection, S_IWUSR | S_IRUGO, pod_get_mic_selection,
-                  pod_set_mic_selection);
-static DEVICE_ATTR(cabinet_model, S_IWUSR | S_IRUGO, pod_get_cabinet_model,
-                  pod_set_cabinet_model);
-static DEVICE_ATTR(stomp_model, S_IWUSR | S_IRUGO, pod_get_stomp_model,
-                  pod_set_stomp_model);
-static DEVICE_ATTR(roomlevel, S_IWUSR | S_IRUGO, pod_get_roomlevel,
-                  pod_set_roomlevel);
-static DEVICE_ATTR(band_4_frequency, S_IWUSR | S_IRUGO,
-                  pod_get_band_4_frequency, pod_set_band_4_frequency);
-static DEVICE_ATTR(band_6_frequency, S_IWUSR | S_IRUGO,
-                  pod_get_band_6_frequency, pod_set_band_6_frequency);
-static DEVICE_ATTR(stomp_param_1_note_value, S_IWUSR | S_IRUGO,
-                  pod_get_stomp_param_1_note_value,
-                  pod_set_stomp_param_1_note_value);
-static DEVICE_ATTR(stomp_param_2, S_IWUSR | S_IRUGO, pod_get_stomp_param_2,
-                  pod_set_stomp_param_2);
-static DEVICE_ATTR(stomp_param_3, S_IWUSR | S_IRUGO, pod_get_stomp_param_3,
-                  pod_set_stomp_param_3);
-static DEVICE_ATTR(stomp_param_4, S_IWUSR | S_IRUGO, pod_get_stomp_param_4,
-                  pod_set_stomp_param_4);
-static DEVICE_ATTR(stomp_param_5, S_IWUSR | S_IRUGO, pod_get_stomp_param_5,
-                  pod_set_stomp_param_5);
-static DEVICE_ATTR(stomp_param_6, S_IWUSR | S_IRUGO, pod_get_stomp_param_6,
-                  pod_set_stomp_param_6);
-static DEVICE_ATTR(amp_switch_select, S_IWUSR | S_IRUGO,
-                  pod_get_amp_switch_select, pod_set_amp_switch_select);
-static DEVICE_ATTR(delay_param_4, S_IWUSR | S_IRUGO, pod_get_delay_param_4,
-                  pod_set_delay_param_4);
-static DEVICE_ATTR(delay_param_5, S_IWUSR | S_IRUGO, pod_get_delay_param_5,
-                  pod_set_delay_param_5);
-static DEVICE_ATTR(delay_pre_post, S_IWUSR | S_IRUGO, pod_get_delay_pre_post,
-                  pod_set_delay_pre_post);
-static DEVICE_ATTR(delay_model, S_IWUSR | S_IRUGO, pod_get_delay_model,
-                  pod_set_delay_model);
-static DEVICE_ATTR(delay_verb_model, S_IWUSR | S_IRUGO,
-                  pod_get_delay_verb_model, pod_set_delay_verb_model);
-static DEVICE_ATTR(tempo_msb, S_IWUSR | S_IRUGO, pod_get_tempo_msb,
-                  pod_set_tempo_msb);
-static DEVICE_ATTR(tempo_lsb, S_IWUSR | S_IRUGO, pod_get_tempo_lsb,
-                  pod_set_tempo_lsb);
-static DEVICE_ATTR(wah_model, S_IWUSR | S_IRUGO, pod_get_wah_model,
-                  pod_set_wah_model);
-static DEVICE_ATTR(bypass_volume, S_IWUSR | S_IRUGO, pod_get_bypass_volume,
-                  pod_set_bypass_volume);
-static DEVICE_ATTR(fx_loop_on_off, S_IWUSR | S_IRUGO, pod_get_fx_loop_on_off,
-                  pod_set_fx_loop_on_off);
-static DEVICE_ATTR(tweak_param_select, S_IWUSR | S_IRUGO,
-                  pod_get_tweak_param_select, pod_set_tweak_param_select);
-static DEVICE_ATTR(amp1_engage, S_IWUSR | S_IRUGO, pod_get_amp1_engage,
-                  pod_set_amp1_engage);
-static DEVICE_ATTR(band_1_gain, S_IWUSR | S_IRUGO, pod_get_band_1_gain,
-                  pod_set_band_1_gain);
-static DEVICE_ATTR2(band_2_gain__bass, band_2_gain, S_IWUSR | S_IRUGO,
-                   pod_get_band_2_gain__bass, pod_set_band_2_gain__bass);
-static DEVICE_ATTR(band_2_gain, S_IWUSR | S_IRUGO, pod_get_band_2_gain,
-                  pod_set_band_2_gain);
-static DEVICE_ATTR2(band_3_gain__bass, band_3_gain, S_IWUSR | S_IRUGO,
-                   pod_get_band_3_gain__bass, pod_set_band_3_gain__bass);
-static DEVICE_ATTR(band_3_gain, S_IWUSR | S_IRUGO, pod_get_band_3_gain,
-                  pod_set_band_3_gain);
-static DEVICE_ATTR2(band_4_gain__bass, band_4_gain, S_IWUSR | S_IRUGO,
-                   pod_get_band_4_gain__bass, pod_set_band_4_gain__bass);
-static DEVICE_ATTR2(band_5_gain__bass, band_5_gain, S_IWUSR | S_IRUGO,
-                   pod_get_band_5_gain__bass, pod_set_band_5_gain__bass);
-static DEVICE_ATTR(band_4_gain, S_IWUSR | S_IRUGO, pod_get_band_4_gain,
-                  pod_set_band_4_gain);
-static DEVICE_ATTR2(band_6_gain__bass, band_6_gain, S_IWUSR | S_IRUGO,
-                   pod_get_band_6_gain__bass, pod_set_band_6_gain__bass);
-static DEVICE_ATTR(body, S_IRUGO, variax_get_body, line6_nop_write);
-static DEVICE_ATTR(pickup1_enable, S_IRUGO, variax_get_pickup1_enable,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup1_type, S_IRUGO, variax_get_pickup1_type,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup1_position, S_IRUGO, variax_get_pickup1_position,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup1_angle, S_IRUGO, variax_get_pickup1_angle,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup1_level, S_IRUGO, variax_get_pickup1_level,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup2_enable, S_IRUGO, variax_get_pickup2_enable,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup2_type, S_IRUGO, variax_get_pickup2_type,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup2_position, S_IRUGO, variax_get_pickup2_position,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup2_angle, S_IRUGO, variax_get_pickup2_angle,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup2_level, S_IRUGO, variax_get_pickup2_level,
-                  line6_nop_write);
-static DEVICE_ATTR(pickup_phase, S_IRUGO, variax_get_pickup_phase,
-                  line6_nop_write);
-static DEVICE_ATTR(capacitance, S_IRUGO, variax_get_capacitance,
-                  line6_nop_write);
-static DEVICE_ATTR(tone_resistance, S_IRUGO, variax_get_tone_resistance,
-                  line6_nop_write);
-static DEVICE_ATTR(volume_resistance, S_IRUGO, variax_get_volume_resistance,
-                  line6_nop_write);
-static DEVICE_ATTR(taper, S_IRUGO, variax_get_taper, line6_nop_write);
-static DEVICE_ATTR(tone_dump, S_IRUGO, variax_get_tone_dump, line6_nop_write);
-static DEVICE_ATTR(save_tone, S_IRUGO, variax_get_save_tone, line6_nop_write);
-static DEVICE_ATTR(volume_dump, S_IRUGO, variax_get_volume_dump,
-                  line6_nop_write);
-static DEVICE_ATTR(tuning_enable, S_IRUGO, variax_get_tuning_enable,
-                  line6_nop_write);
-static DEVICE_ATTR(tuning6, S_IRUGO, variax_get_tuning6, line6_nop_write);
-static DEVICE_ATTR(tuning5, S_IRUGO, variax_get_tuning5, line6_nop_write);
-static DEVICE_ATTR(tuning4, S_IRUGO, variax_get_tuning4, line6_nop_write);
-static DEVICE_ATTR(tuning3, S_IRUGO, variax_get_tuning3, line6_nop_write);
-static DEVICE_ATTR(tuning2, S_IRUGO, variax_get_tuning2, line6_nop_write);
-static DEVICE_ATTR(tuning1, S_IRUGO, variax_get_tuning1, line6_nop_write);
-static DEVICE_ATTR(detune6, S_IRUGO, variax_get_detune6, line6_nop_write);
-static DEVICE_ATTR(detune5, S_IRUGO, variax_get_detune5, line6_nop_write);
-static DEVICE_ATTR(detune4, S_IRUGO, variax_get_detune4, line6_nop_write);
-static DEVICE_ATTR(detune3, S_IRUGO, variax_get_detune3, line6_nop_write);
-static DEVICE_ATTR(detune2, S_IRUGO, variax_get_detune2, line6_nop_write);
-static DEVICE_ATTR(detune1, S_IRUGO, variax_get_detune1, line6_nop_write);
-static DEVICE_ATTR(mix6, S_IRUGO, variax_get_mix6, line6_nop_write);
-static DEVICE_ATTR(mix5, S_IRUGO, variax_get_mix5, line6_nop_write);
-static DEVICE_ATTR(mix4, S_IRUGO, variax_get_mix4, line6_nop_write);
-static DEVICE_ATTR(mix3, S_IRUGO, variax_get_mix3, line6_nop_write);
-static DEVICE_ATTR(mix2, S_IRUGO, variax_get_mix2, line6_nop_write);
-static DEVICE_ATTR(mix1, S_IRUGO, variax_get_mix1, line6_nop_write);
-static DEVICE_ATTR(pickup_wiring, S_IRUGO, variax_get_pickup_wiring,
-                  line6_nop_write);
-
-int line6_pod_create_files(int firmware, int type, struct device *dev)
-{
-       int err;
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tweak));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_wah_position));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_compression_gain));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_vol_pedal_position));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_compression_threshold));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pan));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_amp_model_setup));
-       if (firmware >= 200)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_amp_model));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_drive));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_bass));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_mid));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_lowmid));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_treble));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_highmid));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_chan_vol));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_reverb_mix));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_effect_setup));
-       if (firmware >= 200)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_band_1_frequency));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_presence));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_treble__bass));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_noise_gate_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_gate_threshold));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_gate_decay_time));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_comp_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_time));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_param_1));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_param_1));
-       CHECK_RETURN(device_create_file
-                    (dev, &dev_attr_delay_param_1_note_value));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_2_frequency__bass));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_param_2));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_volume_mix));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_param_3));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_reverb_enable));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_reverb_type));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_reverb_decay));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_reverb_tone));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_reverb_pre_delay));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_reverb_pre_post));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_2_frequency));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_3_frequency__bass));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_wah_enable));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_modulation_lo_cut));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_delay_reverb_lo_cut));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_volume_pedal_minimum));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_eq_pre_post));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_volume_pre_post));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_di_model));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_di_delay));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_param_1_note_value));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_param_2));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_param_3));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_param_4));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_mod_param_5));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_volume_mix));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mod_pre_post));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_modulation_model));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_3_frequency));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_4_frequency__bass));
-       CHECK_RETURN(device_create_file
-                    (dev, &dev_attr_mod_param_1_double_precision));
-       CHECK_RETURN(device_create_file
-                    (dev, &dev_attr_delay_param_1_double_precision));
-       if (firmware >= 200)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_eq_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tap));
-       CHECK_RETURN(device_create_file
-                    (dev, &dev_attr_volume_tweak_pedal_assign));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_5_frequency));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuner));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mic_selection));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_cabinet_model));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_model));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_roomlevel));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_4_frequency));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_6_frequency));
-       CHECK_RETURN(device_create_file
-                    (dev, &dev_attr_stomp_param_1_note_value));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_param_2));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_param_3));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_param_4));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_param_5));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_stomp_param_6));
-       if ((type & (LINE6_BITS_LIVE)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_amp_switch_select));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_param_4));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_param_5));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_delay_pre_post));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_delay_model));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               CHECK_RETURN(device_create_file
-                            (dev, &dev_attr_delay_verb_model));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tempo_msb));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tempo_lsb));
-       if (firmware >= 300)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_wah_model));
-       if (firmware >= 214)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_bypass_volume));
-       if ((type & (LINE6_BITS_PRO)) != 0)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_fx_loop_on_off));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tweak_param_select));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_amp1_engage));
-       if (firmware >= 200)
-               CHECK_RETURN(device_create_file(dev, &dev_attr_band_1_gain));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_2_gain__bass));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_2_gain));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_3_gain__bass));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_3_gain));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_4_gain__bass));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_5_gain__bass));
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_4_gain));
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       CHECK_RETURN(device_create_file
-                                    (dev, &dev_attr_band_6_gain__bass));
-       return 0;
-}
-
-void line6_pod_remove_files(int firmware, int type, struct device *dev)
-{
-       device_remove_file(dev, &dev_attr_tweak);
-       device_remove_file(dev, &dev_attr_wah_position);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_compression_gain);
-       device_remove_file(dev, &dev_attr_vol_pedal_position);
-       device_remove_file(dev, &dev_attr_compression_threshold);
-       device_remove_file(dev, &dev_attr_pan);
-       device_remove_file(dev, &dev_attr_amp_model_setup);
-       if (firmware >= 200)
-               device_remove_file(dev, &dev_attr_amp_model);
-       device_remove_file(dev, &dev_attr_drive);
-       device_remove_file(dev, &dev_attr_bass);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_mid);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_lowmid);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_treble);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_highmid);
-       device_remove_file(dev, &dev_attr_chan_vol);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_mix);
-       device_remove_file(dev, &dev_attr_effect_setup);
-       if (firmware >= 200)
-               device_remove_file(dev, &dev_attr_band_1_frequency);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_presence);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_treble__bass);
-       device_remove_file(dev, &dev_attr_noise_gate_enable);
-       device_remove_file(dev, &dev_attr_gate_threshold);
-       device_remove_file(dev, &dev_attr_gate_decay_time);
-       device_remove_file(dev, &dev_attr_stomp_enable);
-       device_remove_file(dev, &dev_attr_comp_enable);
-       device_remove_file(dev, &dev_attr_stomp_time);
-       device_remove_file(dev, &dev_attr_delay_enable);
-       device_remove_file(dev, &dev_attr_mod_param_1);
-       device_remove_file(dev, &dev_attr_delay_param_1);
-       device_remove_file(dev, &dev_attr_delay_param_1_note_value);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev,
-                                          &dev_attr_band_2_frequency__bass);
-       device_remove_file(dev, &dev_attr_delay_param_2);
-       device_remove_file(dev, &dev_attr_delay_volume_mix);
-       device_remove_file(dev, &dev_attr_delay_param_3);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_enable);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_type);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_decay);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_tone);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_pre_delay);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_reverb_pre_post);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_2_frequency);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev,
-                                          &dev_attr_band_3_frequency__bass);
-       device_remove_file(dev, &dev_attr_wah_enable);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_modulation_lo_cut);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_delay_reverb_lo_cut);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_volume_pedal_minimum);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_eq_pre_post);
-       device_remove_file(dev, &dev_attr_volume_pre_post);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_di_model);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_di_delay);
-       device_remove_file(dev, &dev_attr_mod_enable);
-       device_remove_file(dev, &dev_attr_mod_param_1_note_value);
-       device_remove_file(dev, &dev_attr_mod_param_2);
-       device_remove_file(dev, &dev_attr_mod_param_3);
-       device_remove_file(dev, &dev_attr_mod_param_4);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_mod_param_5);
-       device_remove_file(dev, &dev_attr_mod_volume_mix);
-       device_remove_file(dev, &dev_attr_mod_pre_post);
-       device_remove_file(dev, &dev_attr_modulation_model);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_3_frequency);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev,
-                                          &dev_attr_band_4_frequency__bass);
-       device_remove_file(dev, &dev_attr_mod_param_1_double_precision);
-       device_remove_file(dev, &dev_attr_delay_param_1_double_precision);
-       if (firmware >= 200)
-               device_remove_file(dev, &dev_attr_eq_enable);
-       device_remove_file(dev, &dev_attr_tap);
-       device_remove_file(dev, &dev_attr_volume_tweak_pedal_assign);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_5_frequency);
-       device_remove_file(dev, &dev_attr_tuner);
-       device_remove_file(dev, &dev_attr_mic_selection);
-       device_remove_file(dev, &dev_attr_cabinet_model);
-       device_remove_file(dev, &dev_attr_stomp_model);
-       device_remove_file(dev, &dev_attr_roomlevel);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_4_frequency);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_6_frequency);
-       device_remove_file(dev, &dev_attr_stomp_param_1_note_value);
-       device_remove_file(dev, &dev_attr_stomp_param_2);
-       device_remove_file(dev, &dev_attr_stomp_param_3);
-       device_remove_file(dev, &dev_attr_stomp_param_4);
-       device_remove_file(dev, &dev_attr_stomp_param_5);
-       device_remove_file(dev, &dev_attr_stomp_param_6);
-       if ((type & (LINE6_BITS_LIVE)) != 0)
-               device_remove_file(dev, &dev_attr_amp_switch_select);
-       device_remove_file(dev, &dev_attr_delay_param_4);
-       device_remove_file(dev, &dev_attr_delay_param_5);
-       device_remove_file(dev, &dev_attr_delay_pre_post);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_delay_model);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               device_remove_file(dev, &dev_attr_delay_verb_model);
-       device_remove_file(dev, &dev_attr_tempo_msb);
-       device_remove_file(dev, &dev_attr_tempo_lsb);
-       if (firmware >= 300)
-               device_remove_file(dev, &dev_attr_wah_model);
-       if (firmware >= 214)
-               device_remove_file(dev, &dev_attr_bypass_volume);
-       if ((type & (LINE6_BITS_PRO)) != 0)
-               device_remove_file(dev, &dev_attr_fx_loop_on_off);
-       device_remove_file(dev, &dev_attr_tweak_param_select);
-       device_remove_file(dev, &dev_attr_amp1_engage);
-       if (firmware >= 200)
-               device_remove_file(dev, &dev_attr_band_1_gain);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_2_gain__bass);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_2_gain);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_3_gain__bass);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_3_gain);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_4_gain__bass);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_5_gain__bass);
-       if ((type & (LINE6_BITS_PODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_4_gain);
-       if ((type & (LINE6_BITS_BASSPODXTALL)) != 0)
-               if (firmware >= 200)
-                       device_remove_file(dev, &dev_attr_band_6_gain__bass);
-}
-
-int line6_variax_create_files(int firmware, int type, struct device *dev)
-{
-       int err;
-       CHECK_RETURN(device_create_file(dev, &dev_attr_body));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup1_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup1_type));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup1_position));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup1_angle));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup1_level));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup2_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup2_type));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup2_position));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup2_angle));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup2_level));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup_phase));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_capacitance));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tone_resistance));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_volume_resistance));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_taper));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tone_dump));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_save_tone));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_volume_dump));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning_enable));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning6));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning5));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning4));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning3));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning2));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_tuning1));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_detune6));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_detune5));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_detune4));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_detune3));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_detune2));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_detune1));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mix6));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mix5));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mix4));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mix3));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mix2));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_mix1));
-       CHECK_RETURN(device_create_file(dev, &dev_attr_pickup_wiring));
-       return 0;
-}
-
-void line6_variax_remove_files(int firmware, int type, struct device *dev)
-{
-       device_remove_file(dev, &dev_attr_body);
-       device_remove_file(dev, &dev_attr_pickup1_enable);
-       device_remove_file(dev, &dev_attr_pickup1_type);
-       device_remove_file(dev, &dev_attr_pickup1_position);
-       device_remove_file(dev, &dev_attr_pickup1_angle);
-       device_remove_file(dev, &dev_attr_pickup1_level);
-       device_remove_file(dev, &dev_attr_pickup2_enable);
-       device_remove_file(dev, &dev_attr_pickup2_type);
-       device_remove_file(dev, &dev_attr_pickup2_position);
-       device_remove_file(dev, &dev_attr_pickup2_angle);
-       device_remove_file(dev, &dev_attr_pickup2_level);
-       device_remove_file(dev, &dev_attr_pickup_phase);
-       device_remove_file(dev, &dev_attr_capacitance);
-       device_remove_file(dev, &dev_attr_tone_resistance);
-       device_remove_file(dev, &dev_attr_volume_resistance);
-       device_remove_file(dev, &dev_attr_taper);
-       device_remove_file(dev, &dev_attr_tone_dump);
-       device_remove_file(dev, &dev_attr_save_tone);
-       device_remove_file(dev, &dev_attr_volume_dump);
-       device_remove_file(dev, &dev_attr_tuning_enable);
-       device_remove_file(dev, &dev_attr_tuning6);
-       device_remove_file(dev, &dev_attr_tuning5);
-       device_remove_file(dev, &dev_attr_tuning4);
-       device_remove_file(dev, &dev_attr_tuning3);
-       device_remove_file(dev, &dev_attr_tuning2);
-       device_remove_file(dev, &dev_attr_tuning1);
-       device_remove_file(dev, &dev_attr_detune6);
-       device_remove_file(dev, &dev_attr_detune5);
-       device_remove_file(dev, &dev_attr_detune4);
-       device_remove_file(dev, &dev_attr_detune3);
-       device_remove_file(dev, &dev_attr_detune2);
-       device_remove_file(dev, &dev_attr_detune1);
-       device_remove_file(dev, &dev_attr_mix6);
-       device_remove_file(dev, &dev_attr_mix5);
-       device_remove_file(dev, &dev_attr_mix4);
-       device_remove_file(dev, &dev_attr_mix3);
-       device_remove_file(dev, &dev_attr_mix2);
-       device_remove_file(dev, &dev_attr_mix1);
-       device_remove_file(dev, &dev_attr_pickup_wiring);
-}
diff --git a/drivers/staging/line6/control.h b/drivers/staging/line6/control.h
deleted file mode 100644 (file)
index e4c5d2c..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Line6 Linux USB driver - 0.9.1beta
- *
- * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
- *
- *     This program is free software; you can redistribute it and/or
- *     modify it under the terms of the GNU General Public License as
- *     published by the Free Software Foundation, version 2.
- *
- */
-
-#ifndef LINE6_CONTROL_H
-#define LINE6_CONTROL_H
-
-/**
-   List of PODxt Pro controls.
-   See Appendix C of the "PODxt (Pro) Pilot's Handbook" by Line6.
-   Comments after the number refer to the PODxt Pro firmware version required
-   for this feature.
-
-   Please *don't* reformat this file since "control.c" is created automatically
-   from "control.h", and this process depends on the exact formatting of the
-   code and the comments below!
-*/
-
-/* *INDENT-OFF* */
-
-enum {
-       POD_tweak                          =   1,
-       POD_wah_position                   =   4,
-       POD_compression_gain               =   5,  /* device: LINE6_BITS_PODXTALL */
-       POD_vol_pedal_position             =   7,
-       POD_compression_threshold          =   9,
-       POD_pan                            =  10,
-       POD_amp_model_setup                =  11,
-       POD_amp_model                      =  12,  /* firmware: 2.0 */
-       POD_drive                          =  13,
-       POD_bass                           =  14,
-       POD_mid                            =  15,  /* device: LINE6_BITS_PODXTALL */
-       POD_lowmid                         =  15,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_treble                         =  16,  /* device: LINE6_BITS_PODXTALL */
-       POD_highmid                        =  16,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_chan_vol                       =  17,
-       POD_reverb_mix                     =  18,  /* device: LINE6_BITS_PODXTALL */
-       POD_effect_setup                   =  19,
-       POD_band_1_frequency               =  20,  /* firmware: 2.0 */
-       POD_presence                       =  21,  /* device: LINE6_BITS_PODXTALL */
-       POD_treble__bass                   =  21,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_noise_gate_enable              =  22,
-       POD_gate_threshold                 =  23,
-       POD_gate_decay_time                =  24,
-       POD_stomp_enable                   =  25,
-       POD_comp_enable                    =  26,
-       POD_stomp_time                     =  27,
-       POD_delay_enable                   =  28,
-       POD_mod_param_1                    =  29,
-       POD_delay_param_1                  =  30,
-       POD_delay_param_1_note_value       =  31,
-       POD_band_2_frequency__bass         =  32,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_delay_param_2                  =  33,
-       POD_delay_volume_mix               =  34,
-       POD_delay_param_3                  =  35,
-       POD_reverb_enable                  =  36,  /* device: LINE6_BITS_PODXTALL */
-       POD_reverb_type                    =  37,  /* device: LINE6_BITS_PODXTALL */
-       POD_reverb_decay                   =  38,  /* device: LINE6_BITS_PODXTALL */
-       POD_reverb_tone                    =  39,  /* device: LINE6_BITS_PODXTALL */
-       POD_reverb_pre_delay               =  40,  /* device: LINE6_BITS_PODXTALL */
-       POD_reverb_pre_post                =  41,  /* device: LINE6_BITS_PODXTALL */
-       POD_band_2_frequency               =  42,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_band_3_frequency__bass         =  42,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_wah_enable                     =  43,
-       POD_modulation_lo_cut              =  44,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_delay_reverb_lo_cut            =  45,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_volume_pedal_minimum           =  46,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_eq_pre_post                    =  46,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_volume_pre_post                =  47,
-       POD_di_model                       =  48,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_di_delay                       =  49,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_mod_enable                     =  50,
-       POD_mod_param_1_note_value         =  51,
-       POD_mod_param_2                    =  52,
-       POD_mod_param_3                    =  53,
-       POD_mod_param_4                    =  54,
-       POD_mod_param_5                    =  55,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_mod_volume_mix                 =  56,
-       POD_mod_pre_post                   =  57,
-       POD_modulation_model               =  58,
-       POD_band_3_frequency               =  60,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_band_4_frequency__bass         =  60,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_mod_param_1_double_precision   =  61,
-       POD_delay_param_1_double_precision =  62,
-       POD_eq_enable                      =  63,  /* firmware: 2.0 */
-       POD_tap                            =  64,
-       POD_volume_tweak_pedal_assign      =  65,
-       POD_band_5_frequency               =  68,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_tuner                          =  69,
-       POD_mic_selection                  =  70,
-       POD_cabinet_model                  =  71,
-       POD_stomp_model                    =  75,
-       POD_roomlevel                      =  76,
-       POD_band_4_frequency               =  77,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_band_6_frequency               =  77,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_stomp_param_1_note_value       =  78,
-       POD_stomp_param_2                  =  79,
-       POD_stomp_param_3                  =  80,
-       POD_stomp_param_4                  =  81,
-       POD_stomp_param_5                  =  82,
-       POD_stomp_param_6                  =  83,
-       POD_amp_switch_select              =  84,  /* device: LINE6_BITS_LIVE */
-       POD_delay_param_4                  =  85,
-       POD_delay_param_5                  =  86,
-       POD_delay_pre_post                 =  87,
-       POD_delay_model                    =  88,  /* device: LINE6_BITS_PODXTALL */
-       POD_delay_verb_model               =  88,  /* device: LINE6_BITS_BASSPODXTALL */
-       POD_tempo_msb                      =  89,
-       POD_tempo_lsb                      =  90,
-       POD_wah_model                      =  91,  /* firmware: 3.0 */
-       POD_bypass_volume                  = 105,  /* firmware: 2.14 */
-       POD_fx_loop_on_off                 = 107,  /* device: LINE6_BITS_PRO */
-       POD_tweak_param_select             = 108,
-       POD_amp1_engage                    = 111,
-       POD_band_1_gain                    = 114,  /* firmware: 2.0 */
-       POD_band_2_gain__bass              = 115,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_band_2_gain                    = 116,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_band_3_gain__bass              = 116,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_band_3_gain                    = 117,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_band_4_gain__bass              = 117,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_band_5_gain__bass              = 118,  /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-       POD_band_4_gain                    = 119,  /* device: LINE6_BITS_PODXTALL */     /* firmware: 2.0 */
-       POD_band_6_gain__bass              = 119   /* device: LINE6_BITS_BASSPODXTALL */ /* firmware: 2.0 */
-};
-
-/**
-   List of Variax workbench controls (dump).
-*/
-enum {
-       VARIAX_body                        =   3,
-       VARIAX_pickup1_enable              =   4,  /* 0: enabled, 1: disabled */
-       VARIAX_pickup1_type                =   8,
-       VARIAX_pickup1_position            =   9,  /* type: 24 bit float */
-       VARIAX_pickup1_angle               =  12,  /* type: 24 bit float */
-       VARIAX_pickup1_level               =  15,  /* type: 24 bit float */
-       VARIAX_pickup2_enable              =  18,  /* 0: enabled, 1: disabled */
-       VARIAX_pickup2_type                =  22,
-       VARIAX_pickup2_position            =  23,  /* type: 24 bit float */
-       VARIAX_pickup2_angle               =  26,  /* type: 24 bit float */
-       VARIAX_pickup2_level               =  29,  /* type: 24 bit float */
-       VARIAX_pickup_phase                =  32,  /* 0: in phase, 1: out of phase */
-       VARIAX_capacitance                 =  33,  /* type: 24 bit float */
-       VARIAX_tone_resistance             =  36,  /* type: 24 bit float */
-       VARIAX_volume_resistance           =  39,  /* type: 24 bit float */
-       VARIAX_taper                       =  42,  /* 0: Linear, 1: Audio */
-       VARIAX_tone_dump                   =  43,  /* type: 24 bit float */
-       VARIAX_save_tone                   =  46,
-       VARIAX_volume_dump                 =  47,  /* type: 24 bit float */
-       VARIAX_tuning_enable               =  50,
-       VARIAX_tuning6                     =  51,
-       VARIAX_tuning5                     =  52,
-       VARIAX_tuning4                     =  53,
-       VARIAX_tuning3                     =  54,
-       VARIAX_tuning2                     =  55,
-       VARIAX_tuning1                     =  56,
-       VARIAX_detune6                     =  57,  /* type: 24 bit float */
-       VARIAX_detune5                     =  60,  /* type: 24 bit float */
-       VARIAX_detune4                     =  63,  /* type: 24 bit float */
-       VARIAX_detune3                     =  66,  /* type: 24 bit float */
-       VARIAX_detune2                     =  69,  /* type: 24 bit float */
-       VARIAX_detune1                     =  72,  /* type: 24 bit float */
-       VARIAX_mix6                        =  75,  /* type: 24 bit float */
-       VARIAX_mix5                        =  78,  /* type: 24 bit float */
-       VARIAX_mix4                        =  81,  /* type: 24 bit float */
-       VARIAX_mix3                        =  84,  /* type: 24 bit float */
-       VARIAX_mix2                        =  87,  /* type: 24 bit float */
-       VARIAX_mix1                        =  90,  /* type: 24 bit float */
-       VARIAX_pickup_wiring               =  96   /* 0: parallel, 1: series */
-};
-
-/**
-   List of Variax workbench controls (MIDI).
-*/
-enum {
-       VARIAXMIDI_volume                  =   7,
-       VARIAXMIDI_tone                    =  79,
-};
-
-/* *INDENT-ON* */
-
-extern int line6_pod_create_files(int firmware, int type, struct device *dev);
-extern void line6_pod_remove_files(int firmware, int type, struct device *dev);
-extern int line6_variax_create_files(int firmware, int type,
-                                    struct device *dev);
-extern void line6_variax_remove_files(int firmware, int type,
-                                     struct device *dev);
-
-#endif
index 6f07a06c6dc2d5babe896197832c68cceab28672..1e4ce50069a9913a644da817b142cbf974d348db 100644 (file)
@@ -16,7 +16,6 @@
 
 #include "audio.h"
 #include "capture.h"
-#include "control.h"
 #include "driver.h"
 #include "midi.h"
 #include "playback.h"
index aa3a547e932dc2c15e3c080585a8360399f575cd..278976da03494ba87324891a6e84810b37c1a0a0 100644 (file)
@@ -15,7 +15,6 @@
 
 #include "audio.h"
 #include "capture.h"
-#include "control.h"
 #include "driver.h"
 #include "playback.h"
 #include "pod.h"
@@ -404,10 +403,6 @@ static void pod_startup5(struct work_struct *work)
 
        /* ALSA audio interface: */
        line6_register_audio(line6);
-
-       /* device files: */
-       line6_pod_create_files(pod->firmware_version,
-                              line6->properties->device_bit, line6->ifcdev);
 }
 
 /* POD special files: */
@@ -594,10 +589,6 @@ void line6_pod_disconnect(struct usb_interface *interface)
 
                if (dev != NULL) {
                        /* remove sysfs entries: */
-                       line6_pod_remove_files(pod->firmware_version,
-                                              pod->line6.
-                                              properties->device_bit, dev);
-
                        device_remove_file(dev, &dev_attr_device_id);
                        device_remove_file(dev, &dev_attr_firmware_version);
                        device_remove_file(dev, &dev_attr_serial_number);
index ff55ad37a6c5dd6a6dee051da8e75979b8f12c83..0adba32c766726f5ed758ac13b73fb267b8b20aa 100644 (file)
@@ -12,7 +12,6 @@
 #include <linux/slab.h>
 
 #include "audio.h"
-#include "control.h"
 #include "driver.h"
 #include "variax.h"
 
@@ -174,15 +173,11 @@ static void variax_startup7(struct work_struct *work)
 {
        struct usb_line6_variax *variax =
            container_of(work, struct usb_line6_variax, startup_work);
-       struct usb_line6 *line6 = &variax->line6;
 
        CHECK_STARTUP_PROGRESS(variax->startup_progress, VARIAX_STARTUP_SETUP);
 
        /* ALSA audio interface: */
        line6_register_audio(&variax->line6);
-
-       /* device files: */
-       line6_variax_create_files(0, 0, line6->ifcdev);
 }
 
 /*
@@ -370,16 +365,8 @@ int line6_variax_init(struct usb_interface *interface,
 */
 void line6_variax_disconnect(struct usb_interface *interface)
 {
-       struct device *dev;
-
        if (interface == NULL)
                return;
-       dev = &interface->dev;
-
-       if (dev != NULL) {
-               /* remove sysfs entries: */
-               line6_variax_remove_files(0, 0, dev);
-       }
 
        variax_destruct(interface);
 }