blob: e990f2a15109a06b8ccf7e1632db3b5e2d6338f3 [file] [log] [blame]
Meng Wang688a8672019-01-29 13:43:33 +08001// SPDX-License-Identifier: GPL-2.0-only
Laxminath Kasam8b1366a2017-10-05 01:44:16 +05302/*
Aditya Bavanaribb981b72020-03-19 18:30:10 +05303 * Copyright (c) 2017, 2019-2020 The Linux Foundation. All rights reserved.
Vikram Pandurangae2db2052018-12-12 14:38:28 -08004 */
Laxminath Kasam8b1366a2017-10-05 01:44:16 +05305
6#include <linux/kernel.h>
7#include <linux/module.h>
8#include "q6_init.h"
9
10static int __init audio_q6_init(void)
11{
12 adsp_err_init();
13 audio_cal_init();
14 rtac_init();
15 adm_init();
16 afe_init();
Laxminath Kasam36384ec2019-02-18 21:57:19 +053017 spk_params_init();
Laxminath Kasam8b1366a2017-10-05 01:44:16 +053018 q6asm_init();
19 q6lsm_init();
20 voice_init();
21 core_init();
22 msm_audio_ion_init();
23 audio_slimslave_init();
24 avtimer_init();
Aditya Bavanari542582c2018-06-26 18:41:06 +053025 msm_mdf_init();
Vikram Pandurangae2db2052018-12-12 14:38:28 -080026 voice_mhi_init();
Aditya Bavanaribb981b72020-03-19 18:30:10 +053027 digital_cdc_rsc_mgr_init();
Laxminath Kasam8b1366a2017-10-05 01:44:16 +053028 return 0;
29}
30
31static void __exit audio_q6_exit(void)
32{
Aditya Bavanaribb981b72020-03-19 18:30:10 +053033 digital_cdc_rsc_mgr_exit();
Aditya Bavanari542582c2018-06-26 18:41:06 +053034 msm_mdf_exit();
Laxminath Kasam8b1366a2017-10-05 01:44:16 +053035 avtimer_exit();
36 audio_slimslave_exit();
37 msm_audio_ion_exit();
38 core_exit();
39 voice_exit();
40 q6lsm_exit();
41 q6asm_exit();
42 afe_exit();
Laxminath Kasam36384ec2019-02-18 21:57:19 +053043 spk_params_exit();
Laxminath Kasam8b1366a2017-10-05 01:44:16 +053044 adm_exit();
45 rtac_exit();
46 audio_cal_exit();
47 adsp_err_exit();
Vikram Pandurangae2db2052018-12-12 14:38:28 -080048 voice_mhi_exit();
Laxminath Kasam8b1366a2017-10-05 01:44:16 +053049}
50
51module_init(audio_q6_init);
52module_exit(audio_q6_exit);
53MODULE_DESCRIPTION("Q6 module");
54MODULE_LICENSE("GPL v2");