Skip to content

Commit

Permalink
staging: line6: drop pod prog_data buffers
Browse files Browse the repository at this point in the history
The driver no longer keeps state of MIDI-accessible device parameters.
Drop the buffers but be careful to keep the device startup procedure
working even though we no longer store the contents of the dump request.
The startup procedure will be simplified in a later patch.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Stefan Hajnoczi authored and Greg Kroah-Hartman committed Nov 27, 2012
1 parent 2807904 commit 79038f6
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 68 deletions.
46 changes: 3 additions & 43 deletions drivers/staging/line6/pod.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,6 @@ static char *pod_alloc_sysex_buffer(struct usb_line6_pod *pod, int code,
size);
}

/*
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;
}

/*
Handle SAVE button.
*/
Expand Down Expand Up @@ -169,9 +161,6 @@ void line6_pod_process_message(struct usb_line6_pod *pod)
/* process all remaining messages */
switch (buf[0]) {
case LINE6_PARAM_CHANGE | LINE6_CHANNEL_DEVICE:
pod_store_parameter(pod, buf[1], buf[2]);
/* intentionally no break here! */

case LINE6_PARAM_CHANGE | LINE6_CHANNEL_HOST:
break;

Expand All @@ -187,36 +176,8 @@ void line6_pod_process_message(struct usb_line6_pod *pod)
if (memcmp(buf + 1, line6_midi_id, sizeof(line6_midi_id)) == 0) {
switch (buf[5]) {
case POD_SYSEX_DUMP:
if (pod->line6.message_length ==
sizeof(pod->prog_data) + 7) {
switch (pod->dumpreq.in_progress) {
case LINE6_DUMP_CURRENT:
memcpy(&pod->prog_data, buf + 7,
sizeof(pod->prog_data));
break;

case POD_DUMP_MEMORY:
memcpy(&pod->prog_data_buf,
buf + 7,
sizeof
(pod->prog_data_buf));
break;

default:
dev_dbg(pod->line6.ifcdev,
"unknown dump code %02X\n",
pod->dumpreq.in_progress);
}

line6_dump_finished(&pod->dumpreq);
pod_startup3(pod);
} else
dev_dbg(pod->line6.ifcdev,
"wrong size of channel dump message (%d instead of %d)\n",
pod->line6.message_length,
(int)sizeof(pod->prog_data) +
7);

line6_dump_finished(&pod->dumpreq);
pod_startup3(pod);
break;

case POD_SYSEX_SYSTEM:{
Expand Down Expand Up @@ -279,8 +240,7 @@ void line6_pod_process_message(struct usb_line6_pod *pod)
void line6_pod_transmit_parameter(struct usb_line6_pod *pod, int param,
u8 value)
{
if (line6_transmit_parameter(&pod->line6, param, value) == 0)
pod_store_parameter(pod, param, value);
line6_transmit_parameter(&pod->line6, param, value);
}

/*
Expand Down
25 changes: 0 additions & 25 deletions drivers/staging/line6/pod.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,6 @@ enum {
POD_STARTUP_LAST = POD_STARTUP_SETUP - 1
};

/**
Binary PODxt Pro program dump
*/
struct pod_program {
/**
Header information (including program name).
*/
unsigned char header[0x20];

/**
Program parameters.
*/
unsigned char control[POD_CONTROL_SIZE];
};

struct usb_line6_pod {
/**
Generic Line6 USB data.
Expand All @@ -78,16 +63,6 @@ struct usb_line6_pod {
*/
struct line6_dump_request dumpreq;

/**
Current program settings.
*/
struct pod_program prog_data;

/**
Buffer for data retrieved from or to be stored on PODxt Pro.
*/
struct pod_program prog_data_buf;

/**
Instrument monitor level.
*/
Expand Down

0 comments on commit 79038f6

Please sign in to comment.