Avoid mode and use directions logic instead, introducing modem support
[yamaha-mc1n2-audio.git] / include / yamaha-mc1n2-audio.h
index 067c76b..aeb6752 100644 (file)
 
 #include "mc1n2.h"
 
+enum yamaha_mc1n2_audio_direction {
+       YAMAHA_MC1N2_AUDIO_DIRECTION_OUTPUT,
+       YAMAHA_MC1N2_AUDIO_DIRECTION_INPUT,
+       YAMAHA_MC1N2_AUDIO_DIRECTION_MODEM,
+       YAMAHA_MC1N2_AUDIO_DIRECTION_MAX
+};
+
 struct yamaha_mc1n2_audio_params_init {
        MCDRV_AE_INFO ae_info;
        MCDRV_PATH_INFO path_info;
@@ -35,7 +42,7 @@ struct yamaha_mc1n2_audio_params_init {
 
 struct yamaha_mc1n2_audio_params_route {
        audio_devices_t device;
-       audio_mode_t mode;
+       enum yamaha_mc1n2_audio_direction direction;
 
        MCDRV_AE_INFO ae_info;
        MCDRV_PATH_INFO path_info;
@@ -59,10 +66,10 @@ struct yamaha_mc1n2_audio_pdata {
 
        audio_devices_t output_device;
        audio_devices_t input_device;
-       audio_mode_t mode;
 
        int output_state;
        int input_state;
+       int modem_state;
 };
 
 /*
@@ -89,10 +96,12 @@ int yamaha_mc1n2_audio_output_start(struct yamaha_mc1n2_audio_pdata *pdata);
 int yamaha_mc1n2_audio_output_stop(struct yamaha_mc1n2_audio_pdata *pdata);
 int yamaha_mc1n2_audio_input_start(struct yamaha_mc1n2_audio_pdata *pdata);
 int yamaha_mc1n2_audio_input_stop(struct yamaha_mc1n2_audio_pdata *pdata);
+int yamaha_mc1n2_audio_modem_start(struct yamaha_mc1n2_audio_pdata *pdata);
+int yamaha_mc1n2_audio_modem_stop(struct yamaha_mc1n2_audio_pdata *pdata);
 
 // Values configuration
 int yamaha_mc1n2_audio_set_route(struct yamaha_mc1n2_audio_pdata *pdata,
-       audio_devices_t device, audio_mode_t mode);
+       audio_devices_t device);
 char *yamaha_mc1n2_audio_get_hw_node(struct yamaha_mc1n2_audio_pdata *pdata);
 
 // Init/Deinit