mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-07 07:08:07 +00:00
ALSA: hda/cirrus - Simplify creation of new controls
This patch moves the mixer creation code in Cirrus codec driver from its own build_controls callback to snd_hda_gen_add_kctl() for simplification. As a bonus, this allows us to remove the cs421x_build_controls as it becomes identical with snd_hda_gen_build_controls(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
51e19ca5f7
commit
0785b0ecb8
1 changed files with 9 additions and 20 deletions
|
@ -1096,25 +1096,6 @@ static int cs421x_init(struct hda_codec *codec)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cs421x_build_controls(struct hda_codec *codec)
|
|
||||||
{
|
|
||||||
struct cs_spec *spec = codec->spec;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
err = snd_hda_gen_build_controls(codec);
|
|
||||||
if (err < 0)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
if (spec->gen.autocfg.speaker_outs &&
|
|
||||||
spec->vendor_nid == CS4210_VENDOR_NID) {
|
|
||||||
err = snd_hda_ctl_add(codec, 0,
|
|
||||||
snd_ctl_new1(&cs421x_speaker_boost_ctl, codec));
|
|
||||||
if (err < 0)
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fix_volume_caps(struct hda_codec *codec, hda_nid_t dac)
|
static void fix_volume_caps(struct hda_codec *codec, hda_nid_t dac)
|
||||||
{
|
{
|
||||||
unsigned int caps;
|
unsigned int caps;
|
||||||
|
@ -1144,6 +1125,14 @@ static int cs421x_parse_auto_config(struct hda_codec *codec)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
parse_cs421x_digital(codec);
|
parse_cs421x_digital(codec);
|
||||||
|
|
||||||
|
if (spec->gen.autocfg.speaker_outs &&
|
||||||
|
spec->vendor_nid == CS4210_VENDOR_NID) {
|
||||||
|
if (!snd_hda_gen_add_kctl(&spec->gen, NULL,
|
||||||
|
&cs421x_speaker_boost_ctl))
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1175,7 +1164,7 @@ static int cs421x_suspend(struct hda_codec *codec)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const struct hda_codec_ops cs421x_patch_ops = {
|
static const struct hda_codec_ops cs421x_patch_ops = {
|
||||||
.build_controls = cs421x_build_controls,
|
.build_controls = snd_hda_gen_build_controls,
|
||||||
.build_pcms = snd_hda_gen_build_pcms,
|
.build_pcms = snd_hda_gen_build_pcms,
|
||||||
.init = cs421x_init,
|
.init = cs421x_init,
|
||||||
.free = cs_free,
|
.free = cs_free,
|
||||||
|
|
Loading…
Add table
Reference in a new issue