(sdpstd & 0xf) << ADV748X_SDP_VID_SEL_SHIFT);
 }
 
-static int adv748x_afe_s_input(struct adv748x_afe *afe, unsigned int input)
+int adv748x_afe_s_input(struct adv748x_afe *afe, unsigned int input)
 {
        struct adv748x_state *state = adv748x_afe_to_state(afe);
 
                }
        }
 
-       adv748x_afe_s_input(afe, afe->input);
-
-       adv_dbg(state, "AFE Default input set to %d\n", afe->input);
-
        /* Entity pads and sinks are 0-indexed to match the pads */
        for (i = ADV748X_AFE_SINK_AIN0; i <= ADV748X_AFE_SINK_AIN7; i++)
                afe->pads[i].flags = MEDIA_PAD_FL_SINK;
 
        if (ret)
                return ret;
 
+       adv748x_afe_s_input(&state->afe, state->afe.input);
+
+       adv_dbg(state, "AFE Default input set to %d\n", state->afe.input);
+
        /* Reset TXA and TXB */
        adv748x_tx_power(&state->txa, 1);
        adv748x_tx_power(&state->txa, 0);
 
 
 int adv748x_afe_init(struct adv748x_afe *afe);
 void adv748x_afe_cleanup(struct adv748x_afe *afe);
+int adv748x_afe_s_input(struct adv748x_afe *afe, unsigned int input);
 
 int adv748x_csi2_init(struct adv748x_state *state, struct adv748x_csi2 *tx);
 void adv748x_csi2_cleanup(struct adv748x_csi2 *tx);