static bool get_hdmi_state(void) { #ifdef CONFIG_HDMI if(hdmi_is_insert()) return true; #endif #ifdef CONFIG_HDMI_RK30 if(hdmi_get_hotplug() == 2/*HDMI_HPD_ACTIVED*/) return true; #endif return false; }
/* * Logic for a rt3261 as connected on a rockchip board. */ static int rk29_rt3261_init(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_codec *codec = rtd->codec; struct snd_soc_dapm_context *dapm = &codec->dapm; DBG("Enter::%s----%d\n",__FUNCTION__,__LINE__); snd_soc_add_controls(codec, rk_controls, ARRAY_SIZE(rk_controls)); /* Add specific widgets */ snd_soc_dapm_new_controls(dapm, rt3261_dapm_widgets, ARRAY_SIZE(rt3261_dapm_widgets)); /* Set up specific audio path audio_mapnects */ snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map)); snd_soc_dapm_enable_pin(dapm, "Mic Jack"); snd_soc_dapm_enable_pin(dapm, "Headset Jack"); snd_soc_dapm_enable_pin(dapm, "Ext Spk"); snd_soc_dapm_enable_pin(dapm, "Headphone Jack"); #ifdef CONFIG_HDMI extern int hdmi_is_insert(void); extern void codec_set_spk(bool on); if(hdmi_is_insert()) codec_set_spk(false); #endif #ifdef CONFIG_HDMI_RK30 extern int hdmi_get_hotplug(void); if(hdmi_get_hotplug() == 2/*HDMI_HPD_ACTIVED*/) codec_set_spk(false); #endif snd_soc_dapm_sync(dapm); return 0; }