staging: line6: drop CONFIG_LINE6_USB_DUMP_PCM
The CONFIG_LINE6_USB_DUMP_PCM config option prints a hexdump of PCM audio data as URBs are sent and received. The usbmon feature should be used instead of manually dumping PCM URBs. There are a few advantages to using usbmon: * Can be turned on/off at runtime * Provides full USB-level traffic * tcpdump and wireshark support for powerful analysis * No driver-specific code is required This is the last user of line6_write_hexdump() so we drop it too. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
25c97da8b9
commit
98115f1df3
@ -23,16 +23,6 @@ menuconfig LINE6_USB
|
|||||||
|
|
||||||
if LINE6_USB
|
if LINE6_USB
|
||||||
|
|
||||||
config LINE6_USB_DUMP_PCM
|
|
||||||
bool "dump PCM data"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Say Y here to write PCM data sent to and received from Line6
|
|
||||||
devices to the syslog. This will produce a huge amount of
|
|
||||||
syslog data during playback and capture.
|
|
||||||
|
|
||||||
If unsure, say N.
|
|
||||||
|
|
||||||
config LINE6_USB_IMPULSE_RESPONSE
|
config LINE6_USB_IMPULSE_RESPONSE
|
||||||
bool "measure impulse response"
|
bool "measure impulse response"
|
||||||
default n
|
default n
|
||||||
|
@ -216,16 +216,6 @@ static void audio_in_callback(struct urb *urb)
|
|||||||
if (urb == line6pcm->urb_audio_in[index])
|
if (urb == line6pcm->urb_audio_in[index])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef CONFIG_LINE6_USB_DUMP_PCM
|
|
||||||
for (i = 0; i < LINE6_ISO_PACKETS; ++i) {
|
|
||||||
struct usb_iso_packet_descriptor *fout =
|
|
||||||
&urb->iso_frame_desc[i];
|
|
||||||
line6_write_hexdump(line6pcm->line6, 'C',
|
|
||||||
urb->transfer_buffer + fout->offset,
|
|
||||||
fout->length);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
spin_lock_irqsave(&line6pcm->lock_audio_in, flags);
|
spin_lock_irqsave(&line6pcm->lock_audio_in, flags);
|
||||||
|
|
||||||
for (i = 0; i < LINE6_ISO_PACKETS; ++i) {
|
for (i = 0; i < LINE6_ISO_PACKETS; ++i) {
|
||||||
|
@ -135,47 +135,6 @@ static void line6_stop_listen(struct usb_line6 *line6)
|
|||||||
usb_kill_urb(line6->urb_listen);
|
usb_kill_urb(line6->urb_listen);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_LINE6_USB_DUMP_ANY
|
|
||||||
/*
|
|
||||||
Write hexdump to syslog.
|
|
||||||
*/
|
|
||||||
void line6_write_hexdump(struct usb_line6 *line6, char dir,
|
|
||||||
const unsigned char *buffer, int size)
|
|
||||||
{
|
|
||||||
static const int BYTES_PER_LINE = 8;
|
|
||||||
char hexdump[100];
|
|
||||||
char asc[BYTES_PER_LINE + 1];
|
|
||||||
int i, j;
|
|
||||||
|
|
||||||
for (i = 0; i < size; i += BYTES_PER_LINE) {
|
|
||||||
int hexdumpsize = sizeof(hexdump);
|
|
||||||
char *p = hexdump;
|
|
||||||
int n = min(size - i, BYTES_PER_LINE);
|
|
||||||
asc[n] = 0;
|
|
||||||
|
|
||||||
for (j = 0; j < BYTES_PER_LINE; ++j) {
|
|
||||||
int bytes;
|
|
||||||
|
|
||||||
if (j < n) {
|
|
||||||
unsigned char val = buffer[i + j];
|
|
||||||
bytes = snprintf(p, hexdumpsize, " %02X", val);
|
|
||||||
asc[j] = ((val >= 0x20)
|
|
||||||
&& (val < 0x7f)) ? val : '.';
|
|
||||||
} else
|
|
||||||
bytes = snprintf(p, hexdumpsize, " ");
|
|
||||||
|
|
||||||
if (bytes > hexdumpsize)
|
|
||||||
break; /* buffer overflow */
|
|
||||||
|
|
||||||
p += bytes;
|
|
||||||
hexdumpsize -= bytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
dev_info(line6->ifcdev, "%c%04X:%s %s\n", dir, i, hexdump, asc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Send raw message in pieces of wMaxPacketSize bytes.
|
Send raw message in pieces of wMaxPacketSize bytes.
|
||||||
*/
|
*/
|
||||||
|
@ -20,10 +20,6 @@
|
|||||||
|
|
||||||
#define DRIVER_NAME "line6usb"
|
#define DRIVER_NAME "line6usb"
|
||||||
|
|
||||||
#if defined(CONFIG_LINE6_USB_DUMP_PCM)
|
|
||||||
#define CONFIG_LINE6_USB_DUMP_ANY
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define LINE6_TIMEOUT 1
|
#define LINE6_TIMEOUT 1
|
||||||
#define LINE6_BUFSIZE_LISTEN 32
|
#define LINE6_BUFSIZE_LISTEN 32
|
||||||
#define LINE6_MESSAGE_MAXLEN 256
|
#define LINE6_MESSAGE_MAXLEN 256
|
||||||
@ -219,9 +215,4 @@ extern int line6_version_request_async(struct usb_line6 *line6);
|
|||||||
extern int line6_write_data(struct usb_line6 *line6, int address, void *data,
|
extern int line6_write_data(struct usb_line6 *line6, int address, void *data,
|
||||||
size_t datalen);
|
size_t datalen);
|
||||||
|
|
||||||
#ifdef CONFIG_LINE6_USB_DUMP_ANY
|
|
||||||
extern void line6_write_hexdump(struct usb_line6 *line6, char dir,
|
|
||||||
const unsigned char *buffer, int size);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -264,15 +264,6 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_LINE6_USB_DUMP_PCM
|
|
||||||
for (i = 0; i < LINE6_ISO_PACKETS; ++i) {
|
|
||||||
struct usb_iso_packet_descriptor *fout =
|
|
||||||
&urb_out->iso_frame_desc[i];
|
|
||||||
line6_write_hexdump(line6pcm->line6, 'P',
|
|
||||||
urb_out->transfer_buffer + fout->offset,
|
|
||||||
fout->length);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ret = usb_submit_urb(urb_out, GFP_ATOMIC);
|
ret = usb_submit_urb(urb_out, GFP_ATOMIC);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user