mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 3029 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Linux driver for TerraTec DMX 6Fire USB
|
|
*
|
|
* Author: Torsten Schenk <torsten.schenk@zoho.com>
|
|
* Created: Jan 01, 2011
|
|
* Copyright: (C) Torsten Schenk
|
|
*/
|
|
|
|
#ifndef USB6FIRE_CONTROL_H
|
|
#define USB6FIRE_CONTROL_H
|
|
|
|
#include "common.h"
|
|
|
|
enum {
|
|
CONTROL_MAX_ELEMENTS = 32
|
|
};
|
|
|
|
enum {
|
|
CONTROL_RATE_44KHZ,
|
|
CONTROL_RATE_48KHZ,
|
|
CONTROL_RATE_88KHZ,
|
|
CONTROL_RATE_96KHZ,
|
|
CONTROL_RATE_176KHZ,
|
|
CONTROL_RATE_192KHZ,
|
|
CONTROL_N_RATES
|
|
};
|
|
|
|
struct control_runtime {
|
|
int (*update_streaming)(struct control_runtime *rt);
|
|
int (*set_rate)(struct control_runtime *rt, int rate);
|
|
int (*set_channels)(struct control_runtime *rt, int n_analog_out,
|
|
int n_analog_in, bool spdif_out, bool spdif_in);
|
|
|
|
struct sfire_chip *chip;
|
|
|
|
struct snd_kcontrol *element[CONTROL_MAX_ELEMENTS];
|
|
bool opt_coax_switch;
|
|
bool line_phono_switch;
|
|
bool digital_thru_switch;
|
|
bool usb_streaming;
|
|
u8 output_vol[6];
|
|
u8 ovol_updated;
|
|
u8 output_mute;
|
|
s8 input_vol[2];
|
|
u8 ivol_updated;
|
|
};
|
|
|
|
int usb6fire_control_init(struct sfire_chip *chip);
|
|
void usb6fire_control_abort(struct sfire_chip *chip);
|
|
void usb6fire_control_destroy(struct sfire_chip *chip);
|
|
#endif /* USB6FIRE_CONTROL_H */
|
|
|