Loading include/sound/soc.h +2 −0 Original line number Diff line number Diff line Loading @@ -368,6 +368,8 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template, const char *prefix); int snd_soc_add_controls(struct snd_soc_codec *codec, const struct snd_kcontrol_new *controls, int num_controls); int snd_soc_add_platform_controls(struct snd_soc_platform *platform, const struct snd_kcontrol_new *controls, int num_controls); int snd_soc_info_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); int snd_soc_info_enum_ext(struct snd_kcontrol *kcontrol, Loading sound/soc/soc-core.c +30 −0 Original line number Diff line number Diff line Loading @@ -1948,6 +1948,36 @@ int snd_soc_add_controls(struct snd_soc_codec *codec, } EXPORT_SYMBOL_GPL(snd_soc_add_controls); /** * snd_soc_add_platform_controls - add an array of controls to a platform. * Convienience function to add a list of controls. * * @platform: platform to add controls to * @controls: array of controls to add * @num_controls: number of elements in the array * * Return 0 for success, else error. */ int snd_soc_add_platform_controls(struct snd_soc_platform *platform, const struct snd_kcontrol_new *controls, int num_controls) { struct snd_card *card = platform->card->snd_card; int err, i; for (i = 0; i < num_controls; i++) { const struct snd_kcontrol_new *control = &controls[i]; err = snd_ctl_add(card, snd_soc_cnew(control, platform, control->name, NULL)); if (err < 0) { dev_err(platform->dev, "Failed to add %s %d\n",control->name, err); return err; } } return 0; } EXPORT_SYMBOL_GPL(snd_soc_add_platform_controls); /** * snd_soc_info_enum_double - enumerated double mixer info callback * @kcontrol: mixer control Loading Loading
include/sound/soc.h +2 −0 Original line number Diff line number Diff line Loading @@ -368,6 +368,8 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template, const char *prefix); int snd_soc_add_controls(struct snd_soc_codec *codec, const struct snd_kcontrol_new *controls, int num_controls); int snd_soc_add_platform_controls(struct snd_soc_platform *platform, const struct snd_kcontrol_new *controls, int num_controls); int snd_soc_info_enum_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); int snd_soc_info_enum_ext(struct snd_kcontrol *kcontrol, Loading
sound/soc/soc-core.c +30 −0 Original line number Diff line number Diff line Loading @@ -1948,6 +1948,36 @@ int snd_soc_add_controls(struct snd_soc_codec *codec, } EXPORT_SYMBOL_GPL(snd_soc_add_controls); /** * snd_soc_add_platform_controls - add an array of controls to a platform. * Convienience function to add a list of controls. * * @platform: platform to add controls to * @controls: array of controls to add * @num_controls: number of elements in the array * * Return 0 for success, else error. */ int snd_soc_add_platform_controls(struct snd_soc_platform *platform, const struct snd_kcontrol_new *controls, int num_controls) { struct snd_card *card = platform->card->snd_card; int err, i; for (i = 0; i < num_controls; i++) { const struct snd_kcontrol_new *control = &controls[i]; err = snd_ctl_add(card, snd_soc_cnew(control, platform, control->name, NULL)); if (err < 0) { dev_err(platform->dev, "Failed to add %s %d\n",control->name, err); return err; } } return 0; } EXPORT_SYMBOL_GPL(snd_soc_add_platform_controls); /** * snd_soc_info_enum_double - enumerated double mixer info callback * @kcontrol: mixer control Loading