linux/sound/usb/line6/podhd.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Line 6 Pod HD
 *
 * Copyright (C) 2011 Stefan Hajnoczi <[email protected]>
 * Copyright (C) 2015 Andrej Krutak <[email protected]>
 * Copyright (C) 2017 Hans P. Moller <[email protected]>
 */

#include <linux/usb.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/pcm.h>

#include "driver.h"
#include "pcm.h"

#define PODHD_STARTUP_DELAY

enum {};

struct usb_line6_podhd {};

#define line6_to_podhd(x)

static const struct snd_ratden podhd_ratden =;

static struct line6_pcm_properties podhd_pcm_properties =;

static struct line6_pcm_properties podx3_pcm_properties =;
static struct usb_driver podhd_driver;

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 DEVICE_ATTR_RO(firmware_version);
static DEVICE_ATTR_RO(serial_number);

static struct attribute *podhd_dev_attrs[] =;

static const struct attribute_group podhd_dev_attr_group =;

/*
 * POD X3 startup procedure.
 *
 * May be compatible with other POD HD's, since it's also similar to the
 * previous POD setup. In any case, it doesn't seem to be required for the
 * audio nor bulk interfaces to work.
 */

static int podhd_dev_start(struct usb_line6_podhd *pod)
{}

static void podhd_startup(struct usb_line6 *line6)
{}

static void podhd_disconnect(struct usb_line6 *line6)
{}

static const unsigned int float_zero_to_one_lookup[] =;

static void podhd_set_monitor_level(struct usb_line6_podhd *podhd, int value)
{}

/* control info callback */
static int snd_podhd_control_monitor_info(struct snd_kcontrol *kcontrol,
					struct snd_ctl_elem_info *uinfo)
{}

/* control get callback */
static int snd_podhd_control_monitor_get(struct snd_kcontrol *kcontrol,
				       struct snd_ctl_elem_value *ucontrol)
{}

/* control put callback */
static int snd_podhd_control_monitor_put(struct snd_kcontrol *kcontrol,
				       struct snd_ctl_elem_value *ucontrol)
{}

/* control definition */
static const struct snd_kcontrol_new podhd_control_monitor =;

/*
	Try to init POD HD device.
*/
static int podhd_init(struct usb_line6 *line6,
		      const struct usb_device_id *id)
{}

#define LINE6_DEVICE(prod)
#define LINE6_IF_NUM(prod, n)

/* table of devices that work with this driver */
static const struct usb_device_id podhd_id_table[] =;

MODULE_DEVICE_TABLE(usb, podhd_id_table);

static const struct line6_properties podhd_properties_table[] =;

/*
	Probe USB device.
*/
static int podhd_probe(struct usb_interface *interface,
		       const struct usb_device_id *id)
{}

static struct usb_driver podhd_driver =;

module_usb_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();