The gbaudio_codec_info struct has two mutexes whose purpose was not documented:
- lock: serializes DAI stream enable/disable operations and module_list/dai_list access in gbaudio_module_update() and gbcodec DAI ops - register_mutex: serializes module register/unregister operations including DAPM controls, widgets and routes in gbaudio_register_module() and gbaudio_unregister_module()
Signed-off-by: suryasaimadhu suryasaimadhu369@gmail.com --- drivers/staging/greybus/audio_codec.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/staging/greybus/audio_codec.h b/drivers/staging/greybus/audio_codec.h index f3f7a7ec6..3d92ac8a0 100644 --- a/drivers/staging/greybus/audio_codec.h +++ b/drivers/staging/greybus/audio_codec.h @@ -70,7 +70,15 @@ struct gbaudio_codec_info { struct list_head module_list; /* to maintain runtime stream params for each DAI */ struct list_head dai_list; + /* + * held during DAI stream ops and module_list/dai_list + * access (gbaudio_module_update, gbcodec DAI ops) + */ struct mutex lock; + /* + * held during module register/unregister including + * DAPM controls, widgets and routes + */ struct mutex register_mutex; };