conf &= ~(JZ_AIC_CONF_BIT_CLK_MASTER | JZ_AIC_CONF_SYNC_CLK_MASTER);
 
-       switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
-       case SND_SOC_DAIFMT_CBS_CFS:
+       switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
+       case SND_SOC_DAIFMT_BP_FP:
                conf |= JZ_AIC_CONF_BIT_CLK_MASTER | JZ_AIC_CONF_SYNC_CLK_MASTER;
                format |= JZ_AIC_I2S_FMT_ENABLE_SYS_CLK;
                break;
-       case SND_SOC_DAIFMT_CBM_CFS:
+       case SND_SOC_DAIFMT_BC_FP:
                conf |= JZ_AIC_CONF_SYNC_CLK_MASTER;
                break;
-       case SND_SOC_DAIFMT_CBS_CFM:
+       case SND_SOC_DAIFMT_BP_FC:
                conf |= JZ_AIC_CONF_BIT_CLK_MASTER;
                break;
-       case SND_SOC_DAIFMT_CBM_CFM:
+       case SND_SOC_DAIFMT_BC_FC:
                break;
        default:
                return -EINVAL;
        .shutdown = jz4740_i2s_shutdown,
        .trigger = jz4740_i2s_trigger,
        .hw_params = jz4740_i2s_hw_params,
-       .set_fmt = jz4740_i2s_set_fmt,
+       .set_fmt_new = jz4740_i2s_set_fmt,
        .set_sysclk = jz4740_i2s_set_sysclk,
 };