#include <linux/slab.h>
#include <linux/wait.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/usb.h>
#include <sound/core.h>
#include <sound/control.h>
#include "capture.h"
#include "driver.h"
#include "playback.h"
#define POD_NAME_OFFSET …
#define POD_NAME_LENGTH …
#define POD_CONTROL_SIZE …
#define POD_BUFSIZE_DUMPREQ …
#define POD_STARTUP_DELAY …
enum { … };
enum { … };
struct usb_line6_pod { … };
#define line6_to_pod(x) …
#define POD_SYSEX_CODE …
enum { … };
enum { … };
enum { … };
enum { … };
static const struct snd_ratden pod_ratden = …;
static struct line6_pcm_properties pod_pcm_properties = …;
static const char pod_version_header[] = …;
static char *pod_alloc_sysex_buffer(struct usb_line6_pod *pod, int code,
int size)
{ … }
static void line6_pod_process_message(struct usb_line6 *line6)
{ … }
static int pod_set_system_param_int(struct usb_line6_pod *pod, int value,
int code)
{ … }
static ssize_t serial_number_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t firmware_version_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t device_id_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static void pod_startup(struct usb_line6 *line6)
{ … }
static DEVICE_ATTR_RO(device_id);
static DEVICE_ATTR_RO(firmware_version);
static DEVICE_ATTR_RO(serial_number);
static struct attribute *pod_dev_attrs[] = …;
static const struct attribute_group pod_dev_attr_group = …;
static int snd_pod_control_monitor_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{ … }
static int snd_pod_control_monitor_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int snd_pod_control_monitor_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static const struct snd_kcontrol_new pod_control_monitor = …;
static int pod_init(struct usb_line6 *line6,
const struct usb_device_id *id)
{ … }
#define LINE6_DEVICE(prod) …
#define LINE6_IF_NUM(prod, n) …
static const struct usb_device_id pod_id_table[] = …;
MODULE_DEVICE_TABLE(usb, pod_id_table);
static const struct line6_properties pod_properties_table[] = …;
static int pod_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ … }
static struct usb_driver pod_driver = …;
module_usb_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;