Bindings and values for input, removed comment
[yamaha-mc1n2-audio.git] / yamaha-mc1n2-audio.c
index a482c45..f0761e5 100644 (file)
@@ -445,6 +445,54 @@ int yamaha_mc1n2_audio_output_stop(struct yamaha_mc1n2_audio_pdata *pdata)
        return 0;
 }
 
+int yamaha_mc1n2_audio_input_start(struct yamaha_mc1n2_audio_pdata *pdata)
+{
+       int rc;
+
+       if(pdata == NULL || pdata->ops == NULL)
+               return -1;
+
+       pdata->input_state = 1;
+
+       rc = yamaha_mc1n2_audio_route_start(pdata);
+       if(rc < 0) {
+               LOGE("Route start failed, aborting!");
+               return -1;
+       }
+
+       rc = yamaha_mc1n2_audio_ioctl_notify(pdata, MCDRV_NOTIFY_VOICE_REC_START);
+       if(rc < 0) {
+               LOGE("NOTIFY_VOICE_REC_START IOCTL failed, aborting!");
+               return -1;
+       }
+
+       return 0;
+}
+
+int yamaha_mc1n2_audio_input_stop(struct yamaha_mc1n2_audio_pdata *pdata)
+{
+       int rc;
+
+       if(pdata == NULL || pdata->ops == NULL)
+               return -1;
+
+       pdata->input_state = 0;
+
+       rc = yamaha_mc1n2_audio_route_start(pdata);
+       if(rc < 0) {
+               LOGE("Route start failed, aborting!");
+               return -1;
+       }
+
+       rc = yamaha_mc1n2_audio_ioctl_notify(pdata, MCDRV_NOTIFY_VOICE_REC_STOP);
+       if(rc < 0) {
+               LOGE("NOTIFY_VOICE_REC_START IOCTL failed, aborting!");
+               return -1;
+       }
+
+       return 0;
+}
+
 /*
  * Values configuration
  */