mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
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
|
||||
|
||||
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
|
||||
bool "measure impulse response"
|
||||
default n
|
||||
|
@ -216,16 +216,6 @@ static void audio_in_callback(struct urb *urb)
|
||||
if (urb == line6pcm->urb_audio_in[index])
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
#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.
|
||||
*/
|
||||
|
@ -20,10 +20,6 @@
|
||||
|
||||
#define DRIVER_NAME "line6usb"
|
||||
|
||||
#if defined(CONFIG_LINE6_USB_DUMP_PCM)
|
||||
#define CONFIG_LINE6_USB_DUMP_ANY
|
||||
#endif
|
||||
|
||||
#define LINE6_TIMEOUT 1
|
||||
#define LINE6_BUFSIZE_LISTEN 32
|
||||
#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,
|
||||
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
|
||||
|
@ -264,15 +264,6 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm)
|
||||
}
|
||||
#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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user