MODULE_PARM_DESC(dapm_status, "enable DPM sysfs entries");
/* create a new dapm widget */
-static struct snd_soc_dapm_widget *dapm_cnew_widget(
+static inline struct snd_soc_dapm_widget *dapm_cnew_widget(
const struct snd_soc_dapm_widget *_widget)
{
- struct snd_soc_dapm_widget* widget;
- widget = kmalloc(sizeof(struct snd_soc_dapm_widget), GFP_KERNEL);
- if (!widget)
- return NULL;
-
- memcpy(widget, _widget, sizeof(struct snd_soc_dapm_widget));
- return widget;
+ return kmemdup(_widget, sizeof(*_widget), GFP_KERNEL);
}
/* set up initial codec paths */
if (wsink->id == snd_soc_dapm_input) {
if (wsource->id == snd_soc_dapm_micbias ||
wsource->id == snd_soc_dapm_mic ||
- wsink->id == snd_soc_dapm_line)
+ wsink->id == snd_soc_dapm_line ||
+ wsink->id == snd_soc_dapm_output)
wsink->ext = 1;
}
if (wsource->id == snd_soc_dapm_output) {
if (wsink->id == snd_soc_dapm_spk ||
wsink->id == snd_soc_dapm_hp ||
- wsink->id == snd_soc_dapm_line)
+ wsink->id == snd_soc_dapm_line ||
+ wsink->id == snd_soc_dapm_input)
wsource->ext = 1;
}