static void zylonite_wm9713_voice_shutdown(struct snd_pcm_substream *substream)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	struct snd_soc_dai_link *machine = rtd->dai;
	struct snd_soc_dai *codec_dai = machine->codec_dai;
	struct snd_soc_codec *codec = codec_dai->codec;

	codec->write(codec, AC97_EXTENDED_MID,
		codec->read(codec, AC97_EXTENDED_MID)|((0xf<<2)));
	codec->write(codec, AC97_EXTENDED_MSTATUS,
		codec->read(codec, AC97_EXTENDED_MSTATUS)|(0x3<<9));

	unset_dvfm_constraint();

}
static int lcd_backlight_control(int num)
{
    int index = 0;
    int limit;
    
    
    limit = num+1;
    set_dvfm_constraint();
    spin_lock(&bl_ctrl_lock);
    
	if(backlight_status==0)
	{    
	    gpio_set_value(backlight_pin, 1);
	    backlight_status = 1;
	    mdelay(1);
        #if defined(__BACKLIGHT_DEBUG__)
	    printk("[BACKLIGHT] Backlight On \n");
	    #endif
 	 
	    
   	}

    
    for(index = 0; index < limit; index ++)
    {
       gpio_direction_output(backlight_pin,0);  
       udelay(1);
       gpio_direction_output(backlight_pin,1);
       udelay(1);
    }
    
    spin_unlock(&bl_ctrl_lock);
    unset_dvfm_constraint();

    return 0;
}
static void zylonite_wm9713_hifi_shutdown(struct snd_pcm_substream *substream)
{
	unset_dvfm_constraint();
}