staging: line6: drop tuner_pitch sysfs attr
authorStefan Hajnoczi <stefanha@gmail.com>
Thu, 22 Nov 2012 19:49:00 +0000 (20:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Nov 2012 00:11:22 +0000 (16:11 -0800)
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 <stefanha@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/line6/pod.c
drivers/staging/line6/pod.h

index df2f37aa3800404a85432d13819ebd043132e834..052db4ac44da5aa1d048e543bf0262389b1c6f06 100644 (file)
@@ -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;
                                }
 
@@ -362,66 +342,6 @@ static bool pod_is_tuner(int code)
            (code == POD_tuner_note) || (code == POD_tuner_pitch);
 }
 
-/*
-       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);
index 493074296e97c789c00b2b19f3eb8a020eeea511..481cce6c234ceb6e355a84940a57025f0d62025a 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 #include <linux/usb.h>
-#include <linux/wait.h>
 
 #include <sound/core.h>
 
@@ -53,15 +52,6 @@ enum {
        POD_STARTUP_LAST = POD_STARTUP_SETUP - 1
 };
 
-/**
-       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
 */
@@ -98,11 +88,6 @@ struct usb_line6_pod {
        */
        struct pod_program prog_data_buf;
 
-       /**
-               Pitch value received from tuner.
-       */
-       struct ValueWait tuner_pitch;
-
        /**
                Instrument monitor level.
        */