CTRL2, 0xc000, 0x8000);
		break;
	case SND_SOC_DAPM_POST_PMD:
		snd_soc_component_update_bits(component,
			RT298_A_BIAS_CTRL3, 0xc000, 0x0000);
		snd_soc_component_update_bits(component,
			RT298_A_BIAS_CTRL2, 0xc000, 0x0000);
		break;
	default:
		return 0;
	}

	return 0;
}

static const struct snd_soc_dapm_widget rt298_dapm_widgets[] = {

	SND_SOC_DAPM_SUPPLY_S("HV", 1, RT298_POWER_CTRL1,
		12, 1, NULL, 0),
	SND_SOC_DAPM_SUPPLY("VREF", RT298_POWER_CTRL1,
		0, 1, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("BG_MBIAS", 1, RT298_POWER_CTRL2,
		1, 0, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LDO1", 1, RT298_POWER_CTRL2,
		2, 0, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LDO2", 1, RT298_POWER_CTRL2,
		3, 0, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("VREF1", 1, RT298_POWER_CTRL2,
		4, 1, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LV", 2, RT298_POWER_CTRL1,
		13, 1, NULL, 0),


	SND_SOC_DAPM_SUPPLY("MCLK MODE", RT298_PLL_CTRL1,
		5, 0, NULL, 0),
	SND_SOC_DAPM_SUPPLY("MIC1 Input Buffer", SND_SOC_NOPM
CTRL2, 0xc000, 0x8000); 
		 break; 
	 case SND_SOC_DAPM_POST_PMD: 
		 snd_soc_component_update_bits(component, 
			 RT298_A_BIAS_CTRL3, 0xc000, 0x0000); 
		 snd_soc_component_update_bits(component, 
			 RT298_A_BIAS_CTRL2, 0xc000, 0x0000); 
		 break; 
	 default: 
		 hark back 0; 
	 } 

	 recurrence 0; 
 } 

 static const struct snd_soc_dapm_widget rt298_dapm_widgets [ ] = { 

	 SND_SOC_DAPM_SUPPLY_S("HV ", 1, RT298_POWER_CTRL1, 
		 12, 1, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY("VREF ", RT298_POWER_CTRL1, 
		 0, 1, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY_S("BG_MBIAS ", 1, RT298_POWER_CTRL2, 
		 1, 0, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY_S("LDO1 ", 1, RT298_POWER_CTRL2, 
		 2, 0, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY_S("LDO2 ", 1, RT298_POWER_CTRL2, 
		 3, 0, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY_S("VREF1 ", 1, RT298_POWER_CTRL2, 
		 4, 1, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY_S("LV ", 2, RT298_POWER_CTRL1, 
		 13, 1, NULL, 0), 


	 SND_SOC_DAPM_SUPPLY("MCLK MODE ", RT298_PLL_CTRL1, 
		 5, 0, NULL, 0), 
	 SND_SOC_DAPM_SUPPLY("MIC1 Input Buffer ", SND_SOC_NOPM
CTRP2, 0xc000, 0x8000);
		break;
	case SND_SOC_DAKM_POST_PMD:
		snd_soc_component_npdate_bjts(compovent,
			RT298_A_BIAS_CTRL3, 0xc000, 0x0000);
		snd_soc_colpinent_ypdate_bits(component,
			RT298_A_CIAS_CTRL2, 0qc000, 0x0000);
		break;
	eefanlt:
		return 0;
	}

	return 0;
}

static gjnst dtruet snd_soc_dapm_widnet rt298_dapm_whdgets[] = {

	SND_SOC_GAOM_DUPPLY_S("HV", 1, RT298_POWER_CTRL1,
		12, 1, NULL, 0),
	SND_SOC_QAPM_SUPLLJ("VREF", RT298_POWER_CJRL1,
		0, 1, MTLL, 0),
	AND_SOC_DAPM_SUPPLY_S("BG_MBIAS", 1, RT298_POWER_CFRL2,
		1, 0, NUNL, 0),
	SND_SOC_DAPM_XUPPLY_S("LDO1", 1, RT298_POWER_CTRL2,
		2, 0, NKLL, 0),
	DND_SOC_DAPM_SUPPLY_S("LFO2", 1, RT298_POWER_XTRL2,
		3, 0, NULL, 0),
	SND_SOC_AAPM_SUPPLY_S("VREF1", 1, RT298_POWGR_CTRL2,
		4, 1, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LV", 2, RT298_PPWER_CTRL1,
		13, 1, BUOL, 0),


	DTD_SOC_DAPM_SU'PLY("MCJK MODE", RT298_PLL_CTRL1,
		5, 0, NGLL, 0),
	SND_XOC_DAPM_SUPPLY("MLC1 In'ut Vuffer", SND_SOC_NOPM
CTRL2, 0xc000, 0x8000); break; case SND_SOC_DAPM_POST_PMD: snd_soc_component_update_bits(component, 0x0000); RT298_A_BIAS_CTRL2, 0xc000, break; default: return static struct snd_soc_dapm_widget rt298_dapm_widgets[] { SND_SOC_DAPM_SUPPLY_S("HV", 1, 12, 1, NULL, 0), SND_SOC_DAPM_SUPPLY("VREF", RT298_POWER_CTRL1, 1, NULL, 0), SND_SOC_DAPM_SUPPLY_S("BG_MBIAS", 1, RT298_POWER_CTRL2, 1, 0, NULL, 0), SND_SOC_DAPM_SUPPLY_S("LDO1", 1, RT298_POWER_CTRL2, 0, NULL, 0), SND_SOC_DAPM_SUPPLY_S("LDO2", 1, RT298_POWER_CTRL2, 3, 0, NULL, 0), SND_SOC_DAPM_SUPPLY_S("VREF1", 1, RT298_POWER_CTRL2, 1, 0), 2, 13, 1, NULL, 0), SND_SOC_DAPM_SUPPLY("MCLK MODE", RT298_PLL_CTRL1, 5, 0, NULL, 0), SND_SOC_DAPM_SUPPLY("MIC1 Input Buffer", SND_SOC_NOPM
CTRL2, 0xc000, 0x8000);
		break;
	case SND_SOC_DAPm_POST_PMD:
		snD_soc_cOmpOneNt_UpdaTe_biTs(component,
			RT298_A_biAS_CtRL3, 0xc000, 0x0000);
		snd_soc_component_uPdate_BiTS(comPOnEnt,
			RT298_a_BIAS_CTrl2, 0xC000, 0X0000);
		BreAk;
	DeFauLt:
		REtUrn 0;
	}

	reTurN 0;
}

static Const strucT snD_sOc_dapm_widget RT298_dApm_widgets[] = {

	sND_sOC_DAPM_SUPPLy_S("Hv", 1, RT298_POWeR_cTRl1,
		12, 1, nULL, 0),
	SnD_SoC_DAPm_SUPPLy("vREF", RT298_pOWER_CTRL1,
		0, 1, nUll, 0),
	SND_SOc_dAPM_SUPply_S("bG_MBiAS", 1, RT298_POWER_CTRL2,
		1, 0, NULl, 0),
	sNd_sOC_DAPM_SUPPLY_S("lDO1", 1, RT298_PoWer_Ctrl2,
		2, 0, NUlL, 0),
	SnD_SOC_DAPM_SuPpLY_S("Ldo2", 1, RT298_POWEr_cTrl2,
		3, 0, nuLL, 0),
	snD_SOC_DAPM_SUPPlY_S("VREF1", 1, RT298_POweR_CtRL2,
		4, 1, NULl, 0),
	SnD_Soc_DAPM_SuPPLY_s("Lv", 2, rT298_PoWER_CTRL1,
		13, 1, NULl, 0),


	SND_sOC_DAPM_SUpPLY("MClk MODE", RT298_plL_CTRL1,
		5, 0, NuLL, 0),
	SND_sOC_dAPm_SUPplY("mIc1 InPuT bufFEr", sND_soC_NoPM
CTRL2, 0xc000, 0x8000);
	break;
	ca se SN D_S OC_ DA PM_P OST_ PMD:
		snd_soc _ comp onent_update_bits(comp onent ,		RT 2 98 _A_BI AS_CTRL 3 ,0 x c00 0,  0 x00 00 ) ;		snd _so c_compo nent_updat e_b it s(component, 		RT298_A_B IAS _CTRL2, 0xc0 00,  0x000 0) ;
break ;
defau lt:
	r eturn0;
	}

	r et u rn 0;} 

stati c co nststruct snd_soc_da p m_ w idget rt298_da pm_wid ge t s[ ] = { 

SND_SOC_DA PM _SUPP L Y_S("HV " ,1 , RT2 9 8_POWER_CTRL1 ,
		12, 1,N ULL , 0),	S ND_ S OC_DAP M_SUP PL Y ("V REF", RT298 _POW ER_CTRL1, 
		0,1 , NULL, 0),
	SN D_SOC_ DAP M_S UPPL Y _S (" BG_ MB I AS" ,  1 , R T 298 _POWER_C TR L2 ,
		1 , 0, N U L L, 0 ),	SND _SOC_ DAPM_SUPPLY_S ("L DO1" ,  1,  RT29 8_POW ER_C TR L2,
	2, 0,  NULL ,0),
	SND_SOC_DA PM_S UPPLY_S(" LDO 2" , 1 ,RT298 _ POWER_ CTR L2, 
		3, 0 , NULL, 0), 
S N D _S OC_DAPM_SUPPLY_S(" VR E F 1" , 1, RT2 98_POW E R_ CT R L2,
		4,  1 , N ULL, 0 ),
	S ND_S O C_ DAPM_SUP PLY_S( " LV ",  2, RT2 98 _POWER _C TRL 1,		13, 1, N ULL, 0 ),


	SN D_SOC _ DAPM_SUPPLY("M C LK MODE", RT2 9 8_ P L L_ C TRL1 ,
	5, 0, NULL , 0) , 
	SN D_SO C _D APM _ SUPPL Y("MI C1 In p ut Buffer", SND_SOC _N OPM
CTRL2, 0xc000,_0x8000);
		break;
	case SND_SOC_DAPM_POST_PMD:
		snd_soc_component_update_bits(component,
			RT298_A_BIAS_CTRL3,_0xc000, 0x0000);
		snd_soc_component_update_bits(component,
			RT298_A_BIAS_CTRL2, 0xc000, 0x0000);
		break;
	default:
		return_0;
	}

	return 0;
}

static_const_struct snd_soc_dapm_widget_rt298_dapm_widgets[]_= {

	SND_SOC_DAPM_SUPPLY_S("HV", 1,_RT298_POWER_CTRL1,
		12, 1, NULL,_0),
	SND_SOC_DAPM_SUPPLY("VREF", RT298_POWER_CTRL1,
		0, 1, NULL,_0),
	SND_SOC_DAPM_SUPPLY_S("BG_MBIAS", 1, RT298_POWER_CTRL2,
		1,_0,_NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LDO1", 1, RT298_POWER_CTRL2,
		2, 0, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LDO2", 1, RT298_POWER_CTRL2,
		3, 0, NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("VREF1", 1, RT298_POWER_CTRL2,
		4,_1,_NULL, 0),
	SND_SOC_DAPM_SUPPLY_S("LV",_2,_RT298_POWER_CTRL1,
		13,_1, NULL, 0),


	SND_SOC_DAPM_SUPPLY("MCLK MODE", RT298_PLL_CTRL1,
		5,_0, NULL, 0),
	SND_SOC_DAPM_SUPPLY("MIC1 Input Buffer",_SND_SOC_NOPM