Browse Source

Merge pull request #2512 from BernardXiong/fix_drv_audio

[BSP] Add device ops for audio driver in qemu-vexpress-a9
Bernard Xiong 6 years ago
parent
commit
edcf8dacda
1 changed files with 16 additions and 0 deletions
  1. 16 0
      bsp/qemu-vexpress-a9/drivers/audio/drv_audio.c

+ 16 - 0
bsp/qemu-vexpress-a9/drivers/audio/drv_audio.c

@@ -274,6 +274,18 @@ static rt_err_t codec_control(rt_device_t dev, int cmd, void *args)
     return result;
 }
 
+#ifdef RT_USING_DEVICE_OPS
+const static struct rt_device_ops codec_ops = 
+{
+    codec_init,
+    codec_open,
+    codec_close,
+    codec_read,
+    codec_write,
+    codec_control
+};
+#endif
+
 int audio_hw_init(void)
 {
     struct audio_device *codec = &audio_device_drive;
@@ -282,12 +294,16 @@ int audio_hw_init(void)
     codec->parent.rx_indicate = RT_NULL;
     codec->parent.tx_complete = RT_NULL;
 
+#ifdef RT_USING_DEVICE_OPS
+    codec->parent.ops     = &codec_ops;
+#else
     codec->parent.init    = codec_init;
     codec->parent.open    = codec_open;
     codec->parent.close   = codec_close;
     codec->parent.read    = codec_read;
     codec->parent.write   = codec_write;
     codec->parent.control = codec_control;
+#endif
 
     codec->parent.user_data   = RT_NULL;