From 0622b5a0df3cd1035ef1cd4fc2cf819b8ab40e09 Mon Sep 17 00:00:00 2001 From: BernardXiong Date: Tue, 26 Mar 2019 15:52:47 +0000 Subject: [PATCH] [BSP] Add device ops for audio driver --- bsp/qemu-vexpress-a9/drivers/audio/drv_audio.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bsp/qemu-vexpress-a9/drivers/audio/drv_audio.c b/bsp/qemu-vexpress-a9/drivers/audio/drv_audio.c index eb3cc82ea2..53161ef22b 100644 --- a/bsp/qemu-vexpress-a9/drivers/audio/drv_audio.c +++ b/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;