staging: line6: drop CONFIG_LINE6_USB_DUMP_PCM
authorStefan Hajnoczi <stefanha@gmail.com>
Sat, 19 Jan 2013 08:59:00 +0000 (09:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 20 Jan 2013 23:56:59 +0000 (15:56 -0800)
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>
drivers/staging/line6/Kconfig
drivers/staging/line6/capture.c
drivers/staging/line6/driver.c
drivers/staging/line6/driver.h
drivers/staging/line6/playback.c

index b63543658b2efe5eabad4741b4e31c6dec843841..4f1219b4c692f65bf725c2c243ca2906297e9315 100644 (file)
@@ -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
index 389c41fd1b748d8d0a8095489a83e2db77d3f92f..f8316b71f13d458b9706a9a870a78e3aae6250ab 100644 (file)
@@ -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) {
index 1b05633e41da93023b91b1422d1e05b832e6a8ff..9f9a21a7413929fa6721efa29f0c1933c9b87a18 100644 (file)
@@ -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.
 */
index 2e0f1341ee26381e981e51d45a506eb3f49e22fc..a8341f9fdb981926d7c6132e2ebf11c2a9a552c2 100644 (file)
 
 #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
index 4cf23af9c627d28a60b342e42b74be7c47dcfea9..f9135c7cb19534bd909b14fce55d3fa5d8d79f0c 100644 (file)
@@ -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);