Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 338223
b: refs/heads/master
c: 99c54e9
h: refs/heads/master
i:
  338221: ed6e07c
  338219: 212237a
  338215: 7e98dab
  338207: 6c31348
v: v3
  • Loading branch information
Stefan Hajnoczi authored and Greg Kroah-Hartman committed Nov 27, 2012
1 parent 0b870c9 commit 0efcf40
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 117 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5e275f4586484d7a8f17046930f473883a660a73
refs/heads/master: 99c54e9830feb746c9175fae887546e741bb56eb
102 changes: 1 addition & 101 deletions trunk/drivers/staging/line6/pod.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand All @@ -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);
Expand Down Expand Up @@ -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));
Expand All @@ -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));
Expand Down Expand Up @@ -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);
Expand Down
15 changes: 0 additions & 15 deletions trunk/drivers/staging/line6/pod.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/usb.h>
#include <linux/wait.h>

#include <sound/core.h>

Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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.
*/
Expand Down

0 comments on commit 0efcf40

Please sign in to comment.