linux/include/sound/ak4531_codec.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef __SOUND_AK4531_CODEC_H
#define __SOUND_AK4531_CODEC_H

/*
 *  Copyright (c) by Jaroslav Kysela <[email protected]>
 *  Universal interface for Audio Codec '97
 *
 *  For more details look to AC '97 component specification revision 2.1
 *  by Intel Corporation (http://developer.intel.com).
 */

#include <sound/info.h>
#include <sound/control.h>

/*
 *  ASAHI KASEI - AK4531 codec
 *  - not really AC'97 codec, but it uses very similar interface as AC'97
 */

/*
 *  AK4531 codec registers
 */

#define AK4531_LMASTER
#define AK4531_RMASTER
#define AK4531_LVOICE
#define AK4531_RVOICE
#define AK4531_LFM
#define AK4531_RFM
#define AK4531_LCD
#define AK4531_RCD
#define AK4531_LLINE
#define AK4531_RLINE
#define AK4531_LAUXA
#define AK4531_RAUXA
#define AK4531_MONO1
#define AK4531_MONO2
#define AK4531_MIC
#define AK4531_MONO_OUT
#define AK4531_OUT_SW1
#define AK4531_OUT_SW2
#define AK4531_LIN_SW1
#define AK4531_RIN_SW1
#define AK4531_LIN_SW2
#define AK4531_RIN_SW2
#define AK4531_RESET
#define AK4531_CLOCK
#define AK4531_AD_IN
#define AK4531_MIC_GAIN

struct snd_ak4531 {};

int snd_ak4531_mixer(struct snd_card *card, struct snd_ak4531 *_ak4531,
		     struct snd_ak4531 **rak4531);

#ifdef CONFIG_PM
void snd_ak4531_suspend(struct snd_ak4531 *ak4531);
void snd_ak4531_resume(struct snd_ak4531 *ak4531);
#else
static inline void snd_ak4531_suspend(struct snd_ak4531 *ak4531) {}
static inline void snd_ak4531_resume(struct snd_ak4531 *ak4531) {}
#endif

#endif /* __SOUND_AK4531_CODEC_H */