static int tegra_codec_init(struct snd_soc_codec *codec) { struct tegra_audio_data* audio_data = codec->socdev->codec_data; int err = 0; if (!audio_data->init_done) { audio_data->dap_mclk = tegra_das_get_dap_mclk(); if (!audio_data->dap_mclk) { pr_err("Failed to get dap mclk \n"); err = -ENODEV; return err; } /* Add tegra specific widgets */ snd_soc_dapm_new_controls(codec, tegra_dapm_widgets, ARRAY_SIZE(tegra_dapm_widgets)); /* Set up tegra specific audio path audio_map */ snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); err = tegra_controls_init(codec); if (err < 0) { pr_err("Failed in controls init \n"); return err; } audio_data->codec = codec; audio_data->init_done = 1; } return err; }
static int tegra_codec_init(struct snd_soc_codec *codec) { struct tegra_audio_data* audio_data = codec->socdev->codec_data; int err = 0; #ifdef CONFIG_MACH_ACER_VANGOGH int ret = 0; #endif if (!audio_data->init_done) { audio_data->dap_mclk = tegra_das_get_dap_mclk(); if (!audio_data->dap_mclk) { pr_err("Failed to get dap mclk \n"); err = -ENODEV; return err; } /* Add tegra specific widgets */ snd_soc_dapm_new_controls(codec, tegra_dapm_widgets, ARRAY_SIZE(tegra_dapm_widgets)); /* Set up tegra specific audio path audio_map */ snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); /* Add jack detection */ err = tegra_jack_init(codec); if (err < 0) { pr_err("Failed in jack init \n"); return err; } /* Default to OFF */ tegra_ext_control(codec, TEGRA_AUDIO_OFF); err = tegra_controls_init(codec); if (err < 0) { pr_err("Failed in controls init \n"); return err; } #ifdef CONFIG_MACH_ACER_VANGOGH ret = wm8903_cdc_irq_init(codec); if (ret < 0) { pr_err("Failed in cdc irq init \n"); } #endif audio_data->codec = codec; audio_data->init_done = 1; } return err; }
static int tegra_codec_init(struct snd_soc_codec *codec) { struct tegra_audio_data *audio_data = codec->socdev->codec_data; int err = 0; if (!audio_data->init_done) { err = tegra_das_open(); if (err) { pr_err("Failed get dap mclk\n"); err = -ENODEV; goto generic_codec_init_fail; } err = tegra_das_enable_mclk(); if (err) { pr_err("Failed to enable dap mclk\n"); err = -ENODEV; goto generic_codec_init_fail; } err = tegra_controls_init(codec); if (err < 0) { pr_err("Failed in controls init\n"); goto generic_codec_init_fail; } audio_data->codec = codec; audio_data->init_done = 1; } return err; generic_codec_init_fail: tegra_das_disable_mclk(); tegra_das_close(); return err; }
static int tegra_codec_init(struct snd_soc_codec *codec) { return tegra_controls_init(codec); }