linux/sound/soc/codecs/aw88261.c

// SPDX-License-Identifier: GPL-2.0-only
//
// aw88261.c  --  AW88261 ALSA SoC Audio driver
//
// Copyright (c) 2023 awinic Technology CO., LTD
//
// Author: Jimmy Zhang <[email protected]>
// Author: Weidong Wang <[email protected]>
//

#include <linux/i2c.h>
#include <linux/firmware.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include "aw88261.h"
#include "aw88395/aw88395_data_type.h"
#include "aw88395/aw88395_device.h"

static const struct regmap_config aw88261_remap_config =;

static void aw88261_dev_set_volume(struct aw_device *aw_dev, unsigned int value)
{}

static void aw88261_dev_fade_in(struct aw_device *aw_dev)
{}

static void aw88261_dev_fade_out(struct aw_device *aw_dev)
{}

static void aw88261_dev_i2s_tx_enable(struct aw_device *aw_dev, bool flag)
{}

static void aw88261_dev_pwd(struct aw_device *aw_dev, bool pwd)
{}

static void aw88261_dev_amppd(struct aw_device *aw_dev, bool amppd)
{}

static void aw88261_dev_mute(struct aw_device *aw_dev, bool is_mute)
{}

static void aw88261_dev_clear_int_status(struct aw_device *aw_dev)
{}

static int aw88261_dev_get_iis_status(struct aw_device *aw_dev)
{}

static int aw88261_dev_check_mode1_pll(struct aw_device *aw_dev)
{}

static int aw88261_dev_check_mode2_pll(struct aw_device *aw_dev)
{}

static int aw88261_dev_check_syspll(struct aw_device *aw_dev)
{}

static int aw88261_dev_check_sysst(struct aw_device *aw_dev)
{}

static void aw88261_dev_uls_hmute(struct aw_device *aw_dev, bool uls_hmute)
{}

static void aw88261_reg_force_set(struct aw88261 *aw88261)
{}

static int aw88261_dev_get_icalk(struct aw_device *aw_dev, int16_t *icalk)
{}

static int aw88261_dev_get_vcalk(struct aw_device *aw_dev, int16_t *vcalk)
{}

static int aw88261_dev_set_vcalb(struct aw_device *aw_dev)
{}

static int aw88261_dev_reg_update(struct aw88261 *aw88261,
					unsigned char *data, unsigned int len)
{}

static int aw88261_dev_get_prof_name(struct aw_device *aw_dev, int index, char **prof_name)
{}

static int aw88261_dev_get_prof_data(struct aw_device *aw_dev, int index,
			struct aw_prof_desc **prof_desc)
{}

static int aw88261_dev_fw_update(struct aw88261 *aw88261)
{}

static int aw88261_dev_start(struct aw88261 *aw88261)
{}

static int aw88261_dev_stop(struct aw_device *aw_dev)
{}

static int aw88261_reg_update(struct aw88261 *aw88261, bool force)
{}

static void aw88261_start_pa(struct aw88261 *aw88261)
{}

static void aw88261_startup_work(struct work_struct *work)
{}

static void aw88261_start(struct aw88261 *aw88261, bool sync_start)
{}

static struct snd_soc_dai_driver aw88261_dai[] =;

static int aw88261_get_fade_in_time(struct snd_kcontrol *kcontrol,
	struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_set_fade_in_time(struct snd_kcontrol *kcontrol,
	struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_get_fade_out_time(struct snd_kcontrol *kcontrol,
	struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_set_fade_out_time(struct snd_kcontrol *kcontrol,
	struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_dev_set_profile_index(struct aw_device *aw_dev, int index)
{}

static int aw88261_profile_info(struct snd_kcontrol *kcontrol,
			 struct snd_ctl_elem_info *uinfo)
{}

static int aw88261_profile_get(struct snd_kcontrol *kcontrol,
			struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_profile_set(struct snd_kcontrol *kcontrol,
		struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_volume_get(struct snd_kcontrol *kcontrol,
				struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_volume_set(struct snd_kcontrol *kcontrol,
				struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_get_fade_step(struct snd_kcontrol *kcontrol,
				struct snd_ctl_elem_value *ucontrol)
{}

static int aw88261_set_fade_step(struct snd_kcontrol *kcontrol,
				struct snd_ctl_elem_value *ucontrol)
{}

static const struct snd_kcontrol_new aw88261_controls[] =;

static int aw88261_playback_event(struct snd_soc_dapm_widget *w,
				struct snd_kcontrol *k, int event)
{}

static const struct snd_soc_dapm_widget aw88261_dapm_widgets[] =;

static const struct snd_soc_dapm_route aw88261_audio_map[] =;

static int aw88261_frcset_check(struct aw88261 *aw88261)
{}

static int aw88261_dev_init(struct aw88261 *aw88261, struct aw_container *aw_cfg)
{}

static int aw88261_request_firmware_file(struct aw88261 *aw88261)
{}

static int aw88261_codec_probe(struct snd_soc_component *component)
{}

static void aw88261_codec_remove(struct snd_soc_component *aw_codec)
{}

static const struct snd_soc_component_driver soc_codec_dev_aw88261 =;

static void aw88261_parse_channel_dt(struct aw88261 *aw88261)
{}

static int aw88261_init(struct aw88261 **aw88261, struct i2c_client *i2c, struct regmap *regmap)
{}

static int aw88261_i2c_probe(struct i2c_client *i2c)
{}

static const struct i2c_device_id aw88261_i2c_id[] =;
MODULE_DEVICE_TABLE(i2c, aw88261_i2c_id);

static struct i2c_driver aw88261_i2c_driver =;
module_i2c_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();