linux/sound/pci/ca0106/ca0106_proc.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Copyright (c) 2004 James Courtier-Dutton <[email protected]>
 *  Driver CA0106 chips. e.g. Sound Blaster Audigy LS and Live 24bit
 *  Version: 0.0.18
 *
 *  FEATURES currently supported:
 *    See ca0106_main.c for features.
 * 
 *  Changelog:
 *    Support interrupts per period.
 *    Removed noise from Center/LFE channel when in Analog mode.
 *    Rename and remove mixer controls.
 *  0.0.6
 *    Use separate card based DMA buffer for periods table list.
 *  0.0.7
 *    Change remove and rename ctrls into lists.
 *  0.0.8
 *    Try to fix capture sources.
 *  0.0.9
 *    Fix AC3 output.
 *    Enable S32_LE format support.
 *  0.0.10
 *    Enable playback 48000 and 96000 rates. (Rates other that these do not work, even with "plug:front".)
 *  0.0.11
 *    Add Model name recognition.
 *  0.0.12
 *    Correct interrupt timing. interrupt at end of period, instead of in the middle of a playback period.
 *    Remove redundent "voice" handling.
 *  0.0.13
 *    Single trigger call for multi channels.
 *  0.0.14
 *    Set limits based on what the sound card hardware can do.
 *    playback periods_min=2, periods_max=8
 *    capture hw constraints require period_size = n * 64 bytes.
 *    playback hw constraints require period_size = n * 64 bytes.
 *  0.0.15
 *    Separate ca0106.c into separate functional .c files.
 *  0.0.16
 *    Modified Copyright message.
 *  0.0.17
 *    Add iec958 file in proc file system to show status of SPDIF in.
 *  0.0.18
 *    Implement support for Line-in capture on SB Live 24bit.
 *
 *  This code was initially based on code from ALSA's emu10k1x.c which is:
 *  Copyright (c) by Francisco Moraes <[email protected]>
 */
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/moduleparam.h>
#include <linux/io.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/pcm.h>
#include <sound/ac97_codec.h>
#include <sound/info.h>
#include <sound/asoundef.h>

#include "ca0106.h"


struct snd_ca0106_category_str {};

static const struct snd_ca0106_category_str snd_ca0106_con_category[] =;


static void snd_ca0106_proc_dump_iec958( struct snd_info_buffer *buffer, u32 value)
{}

static void snd_ca0106_proc_iec958(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_write32(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_read32(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_read16(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_read8(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_read1(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_read2(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_reg_write(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

static void snd_ca0106_proc_i2c_write(struct snd_info_entry *entry, 
				       struct snd_info_buffer *buffer)
{}

int snd_ca0106_proc_init(struct snd_ca0106 *emu)
{}