Merge pull request #2512 from BernardXiong/fix_drv_audio

[BSP] Add device ops for audio driver in qemu-vexpress-a9
This commit is contained in:
Bernard Xiong 2019-03-27 09:54:24 +08:00 committed by GitHub
commit edcf8dacda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 0 deletions

View File

@ -274,6 +274,18 @@ static rt_err_t codec_control(rt_device_t dev, int cmd, void *args)
return result; 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) int audio_hw_init(void)
{ {
struct audio_device *codec = &audio_device_drive; struct audio_device *codec = &audio_device_drive;
@ -282,12 +294,16 @@ int audio_hw_init(void)
codec->parent.rx_indicate = RT_NULL; codec->parent.rx_indicate = RT_NULL;
codec->parent.tx_complete = 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.init = codec_init;
codec->parent.open = codec_open; codec->parent.open = codec_open;
codec->parent.close = codec_close; codec->parent.close = codec_close;
codec->parent.read = codec_read; codec->parent.read = codec_read;
codec->parent.write = codec_write; codec->parent.write = codec_write;
codec->parent.control = codec_control; codec->parent.control = codec_control;
#endif
codec->parent.user_data = RT_NULL; codec->parent.user_data = RT_NULL;