blob: 5b479846b8417601047e3ab700f8e0796c215871 [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifdef MODULE
#include <linux/cdev.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/uaccess.h>
#include <linux/of.h>
#include <linux/ctype.h>
#include <linux/kallsyms.h>
#include <linux/mm.h>
#include "sound_init.h"
#define call_sub_init(func) { \
int ret = 0; \
ret = func(); \
pr_info("call %s() ret=%d\n", #func, ret); \
if (ret) \
return ret; \
}
#define call_sub_exit(func) { \
func(); \
pr_info("call %s()\n", #func); \
}
static int __init sound_soc_init(void)
{
call_sub_init(auge_hdmirx_arc_iomap_init);
call_sub_init(auge_snd_iomap_init);
call_sub_init(audio_clocks_init);
call_sub_init(audio_controller_init);
call_sub_init(audio_ddr_init);
call_sub_init(earc_init);
call_sub_init(effect_platform_init);
call_sub_init(extn_init);
call_sub_init(audio_locker_init);
call_sub_init(pdm_init);
/*call_sub_init(pwrdet_init);*/
call_sub_init(resample_drv_init);
call_sub_init(spdif_init);
call_sub_init(audio_pinctrl_init);
call_sub_init(tdm_init);
call_sub_init(loopback_init);
call_sub_init(vad_drv_init);
call_sub_init(vad_dev_init);
call_sub_init(aml_card_init);
return 0;
}
static __exit void sound_soc_exit(void)
{
call_sub_exit(aml_card_exit);
call_sub_exit(vad_dev_exit);
call_sub_exit(vad_drv_exit);
call_sub_exit(loopback_exit);
call_sub_exit(tdm_exit);
call_sub_exit(audio_pinctrl_exit);
call_sub_exit(spdif_exit);
call_sub_exit(resample_drv_exit);
/*call_sub_exit(pwrdet_exit);*/
call_sub_exit(pdm_exit);
call_sub_exit(audio_locker_exit);
call_sub_exit(extn_exit);
call_sub_exit(effect_platform_exit);
call_sub_exit(earc_exit);
call_sub_exit(audio_ddr_exit);
call_sub_exit(audio_controller_exit);
call_sub_exit(audio_clocks_exit);
call_sub_exit(auge_snd_iomap_exit);
call_sub_exit(auge_hdmirx_arc_iomap_exit);
}
module_init(sound_soc_init);
module_exit(sound_soc_exit);
MODULE_LICENSE("GPL v2");
#endif