val = 0;
                mask = 0;
                if (wm8996->hpout_pending & HPOUT1L) {
-                       val |= WM8996_HPOUT1L_RMV_SHORT;
-                       mask |= WM8996_HPOUT1L_RMV_SHORT;
+                       val |= WM8996_HPOUT1L_RMV_SHORT | WM8996_HPOUT1L_OUTP;
+                       mask |= WM8996_HPOUT1L_RMV_SHORT | WM8996_HPOUT1L_OUTP;
                } else {
                        mask |= WM8996_HPOUT1L_RMV_SHORT |
                                WM8996_HPOUT1L_OUTP |
                }
 
                if (wm8996->hpout_pending & HPOUT1R) {
-                       val |= WM8996_HPOUT1R_RMV_SHORT;
-                       mask |= WM8996_HPOUT1R_RMV_SHORT;
+                       val |= WM8996_HPOUT1R_RMV_SHORT | WM8996_HPOUT1R_OUTP;
+                       mask |= WM8996_HPOUT1R_RMV_SHORT | WM8996_HPOUT1R_OUTP;
                } else {
                        mask |= WM8996_HPOUT1R_RMV_SHORT |
                                WM8996_HPOUT1R_OUTP |
                val = 0;
                mask = 0;
                if (wm8996->hpout_pending & HPOUT2L) {
-                       val |= WM8996_HPOUT2L_RMV_SHORT;
-                       mask |= WM8996_HPOUT2L_RMV_SHORT;
+                       val |= WM8996_HPOUT2L_RMV_SHORT | WM8996_HPOUT2L_OUTP;
+                       mask |= WM8996_HPOUT2L_RMV_SHORT | WM8996_HPOUT2L_OUTP;
                } else {
                        mask |= WM8996_HPOUT2L_RMV_SHORT |
                                WM8996_HPOUT2L_OUTP |
                }
 
                if (wm8996->hpout_pending & HPOUT2R) {
-                       val |= WM8996_HPOUT2R_RMV_SHORT;
-                       mask |= WM8996_HPOUT2R_RMV_SHORT;
+                       val |= WM8996_HPOUT2R_RMV_SHORT | WM8996_HPOUT2R_OUTP;
+                       mask |= WM8996_HPOUT2R_RMV_SHORT | WM8996_HPOUT2R_OUTP;
                } else {
                        mask |= WM8996_HPOUT2R_RMV_SHORT |
                                WM8996_HPOUT2R_OUTP |
 SND_SOC_DAPM_PGA_S("HPOUT2L_DLY", 1, WM8996_ANALOGUE_HP_2, 5, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT2L_DCS", 2, WM8996_DC_SERVO_1, 2, 0, dcs_start,
                   SND_SOC_DAPM_POST_PMU),
-SND_SOC_DAPM_PGA_S("HPOUT2L_OUTP", 3, WM8996_ANALOGUE_HP_2, 6, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT2L_RMV_SHORT", 3, SND_SOC_NOPM, HPOUT2L, 0,
                   rmv_short_event,
                   SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD),
 SND_SOC_DAPM_PGA_S("HPOUT2R_DLY", 1, WM8996_ANALOGUE_HP_2, 1, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT2R_DCS", 2, WM8996_DC_SERVO_1, 3, 0, dcs_start,
                   SND_SOC_DAPM_POST_PMU),
-SND_SOC_DAPM_PGA_S("HPOUT2R_OUTP", 3, WM8996_ANALOGUE_HP_2, 2, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT2R_RMV_SHORT", 3, SND_SOC_NOPM, HPOUT2R, 0,
                   rmv_short_event,
                   SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD),
 SND_SOC_DAPM_PGA_S("HPOUT1L_DLY", 1, WM8996_ANALOGUE_HP_1, 5, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT1L_DCS", 2, WM8996_DC_SERVO_1, 0, 0, dcs_start,
                   SND_SOC_DAPM_POST_PMU),
-SND_SOC_DAPM_PGA_S("HPOUT1L_OUTP", 3, WM8996_ANALOGUE_HP_1, 6, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT1L_RMV_SHORT", 3, SND_SOC_NOPM, HPOUT1L, 0,
                   rmv_short_event,
                   SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD),
 SND_SOC_DAPM_PGA_S("HPOUT1R_DLY", 1, WM8996_ANALOGUE_HP_1, 1, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT1R_DCS", 2, WM8996_DC_SERVO_1, 1, 0, dcs_start,
                   SND_SOC_DAPM_POST_PMU),
-SND_SOC_DAPM_PGA_S("HPOUT1R_OUTP", 3, WM8996_ANALOGUE_HP_1, 2, 0, NULL, 0),
 SND_SOC_DAPM_PGA_S("HPOUT1R_RMV_SHORT", 3, SND_SOC_NOPM, HPOUT1R, 0,
                   rmv_short_event,
                   SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD),
        { "HPOUT2L PGA", NULL, "DAC2L" },
        { "HPOUT2L_DLY", NULL, "HPOUT2L PGA" },
        { "HPOUT2L_DCS", NULL, "HPOUT2L_DLY" },
-       { "HPOUT2L_OUTP", NULL, "HPOUT2L_DCS" },
-       { "HPOUT2L_RMV_SHORT", NULL, "HPOUT2L_OUTP" },
+       { "HPOUT2L_RMV_SHORT", NULL, "HPOUT2L_DCS" },
 
        { "HPOUT2R PGA", NULL, "Charge Pump" },
        { "HPOUT2R PGA", NULL, "Bandgap" },
        { "HPOUT2R PGA", NULL, "DAC2R" },
        { "HPOUT2R_DLY", NULL, "HPOUT2R PGA" },
        { "HPOUT2R_DCS", NULL, "HPOUT2R_DLY" },
-       { "HPOUT2R_OUTP", NULL, "HPOUT2R_DCS" },
-       { "HPOUT2R_RMV_SHORT", NULL, "HPOUT2R_OUTP" },
+       { "HPOUT2R_RMV_SHORT", NULL, "HPOUT2R_DCS" },
 
        { "HPOUT1L PGA", NULL, "Charge Pump" },
        { "HPOUT1L PGA", NULL, "Bandgap" },
        { "HPOUT1L PGA", NULL, "DAC1L" },
        { "HPOUT1L_DLY", NULL, "HPOUT1L PGA" },
        { "HPOUT1L_DCS", NULL, "HPOUT1L_DLY" },
-       { "HPOUT1L_OUTP", NULL, "HPOUT1L_DCS" },
-       { "HPOUT1L_RMV_SHORT", NULL, "HPOUT1L_OUTP" },
+       { "HPOUT1L_RMV_SHORT", NULL, "HPOUT1L_DCS" },
 
        { "HPOUT1R PGA", NULL, "Charge Pump" },
        { "HPOUT1R PGA", NULL, "Bandgap" },
        { "HPOUT1R PGA", NULL, "DAC1R" },
        { "HPOUT1R_DLY", NULL, "HPOUT1R PGA" },
        { "HPOUT1R_DCS", NULL, "HPOUT1R_DLY" },
-       { "HPOUT1R_OUTP", NULL, "HPOUT1R_DCS" },
-       { "HPOUT1R_RMV_SHORT", NULL, "HPOUT1R_OUTP" },
+       { "HPOUT1R_RMV_SHORT", NULL, "HPOUT1R_DCS" },
 
        { "HPOUT2L", NULL, "HPOUT2L_RMV_SHORT" },
        { "HPOUT2R", NULL, "HPOUT2R_RMV_SHORT" },