Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 683fe153 authored by Jochen Voss's avatar Jochen Voss Committed by Jaroslav Kysela
Browse files

[ALSA] Revolution 5.1 - add AK5365 ADC support



Add support for the AK5365 ADC.

Signed-off-by: default avatarJochen Voss <voss@seehuhn.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent f5a5ffad
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -53,7 +53,8 @@ struct snd_akm4xxx {
	unsigned int idx_offset;		/* control index offset */
	enum {
		SND_AK4524, SND_AK4528, SND_AK4529,
		SND_AK4355, SND_AK4358, SND_AK4381
		SND_AK4355, SND_AK4358, SND_AK4381,
		SND_AK5365
	} type;
	unsigned int *num_stereo;	/* array of combined counts
					 * for the mixer
+25 −0
Original line number Diff line number Diff line
@@ -598,6 +598,31 @@ int snd_akm4xxx_build_controls(struct snd_akm4xxx *ak)
		if (err < 0)
			goto __error;
	}

	if (ak->type == SND_AK5365) {
		memset(ctl, 0, sizeof(*ctl));
		if (ak->channel_names == NULL)
			strcpy(ctl->id.name, "Capture Volume");
		else
			strcpy(ctl->id.name, ak->channel_names[0]);
		ctl->id.index = ak->idx_offset * 2;
		ctl->id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
		ctl->count = 1;
		ctl->info = snd_akm4xxx_stereo_volume_info;
		ctl->get = snd_akm4xxx_stereo_volume_get;
		ctl->put = snd_akm4xxx_stereo_volume_put;
		/* Registers 4 & 5 (see AK5365 data sheet, pages 34 and 35):
		 * valid values are from 0x00 (mute) to 0x98 (+12dB).  */
		ctl->private_value =
			AK_COMPOSE(0, 4, 0, 0x98);
		ctl->private_data = ak;
		err = snd_ctl_add(ak->card,
				  snd_ctl_new(ctl, SNDRV_CTL_ELEM_ACCESS_READ|
					      SNDRV_CTL_ELEM_ACCESS_WRITE));
		if (err < 0)
			goto __error;
	}

	if (ak->type == SND_AK4355 || ak->type == SND_AK4358)
		num_emphs = 1;
	else