#include <linux/module.h>
#define INCLUDE_VERMAGIC
#include <linux/build-salt.h>
#include <linux/elfnote-lto.h>
#include <linux/export-internal.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>

#ifdef CONFIG_UNWINDER_ORC
#include <asm/orc_header.h>
ORC_HEADER;
#endif

BUILD_SALT;
BUILD_LTO_INFO;

MODULE_INFO(vermagic, VERMAGIC_STRING);
MODULE_INFO(name, KBUILD_MODNAME);

__visible struct module __this_module
__section(".gnu.linkonce.this_module") = {
	.name = KBUILD_MODNAME,
	.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
	.exit = cleanup_module,
#endif
	.arch = MODULE_ARCH_INIT,
};

MODULE_INFO(intree, "Y");

#ifdef CONFIG_RETPOLINE
MODULE_INFO(retpoline, "Y");
#endif

KSYMTAB_FUNC(rt5640_dmic_enable, "_gpl", "");
KSYMTAB_FUNC(rt5640_sel_asrc_clk_src, "_gpl", "");
KSYMTAB_FUNC(rt5640_enable_micbias1_for_ovcd, "_gpl", "");
KSYMTAB_FUNC(rt5640_disable_micbias1_for_ovcd, "_gpl", "");
KSYMTAB_FUNC(rt5640_detect_headset, "_gpl", "");
KSYMTAB_FUNC(rt5640_set_ovcd_params, "_gpl", "");

SYMBOL_CRC(rt5640_dmic_enable, 0x5e6e3c1b, "_gpl");
SYMBOL_CRC(rt5640_sel_asrc_clk_src, 0xa3ea4009, "_gpl");
SYMBOL_CRC(rt5640_enable_micbias1_for_ovcd, 0xdcb6eede, "_gpl");
SYMBOL_CRC(rt5640_disable_micbias1_for_ovcd, 0x559933e1, "_gpl");
SYMBOL_CRC(rt5640_detect_headset, 0x0d2bbd5d, "_gpl");
SYMBOL_CRC(rt5640_set_ovcd_params, 0x435bdef1, "_gpl");

static const struct modversion_info ____versions[]
__used __section("__versions") = {
	{ 0xc50b786b, "snd_soc_dapm_put_enum_double" },
	{ 0x2601a5fa, "gpiod_get_value_cansleep" },
	{ 0xc1514a3b, "free_irq" },
	{ 0x8e9c2b2f, "device_property_present" },
	{ 0x23b0e47, "regcache_cache_only" },
	{ 0x763e04b6, "regcache_sync" },
	{ 0x99efc0ba, "regmap_write" },
	{ 0x11e6cb56, "devm_kmalloc" },
	{ 0x8bf7b2cf, "snd_soc_jack_report" },
	{ 0x80346966, "snd_soc_component_read" },
	{ 0x115c2209, "gpiod_set_value_cansleep" },
	{ 0x5dc92cdf, "rl6231_pll_calc" },
	{ 0xfe1c2a0b, "gpiod_to_irq" },
	{ 0x785ca9f7, "snd_soc_dapm_sync_unlocked" },
	{ 0xfcec0987, "enable_irq" },
	{ 0x27f91f6, "snd_soc_put_enum_double" },
	{ 0xa8319e41, "regcache_mark_dirty" },
	{ 0xc3055d20, "usleep_range_state" },
	{ 0xe6184612, "gpiod_get_value" },
	{ 0x87301a81, "devm_gpiod_get_optional" },
	{ 0xc8269f94, "snd_soc_params_to_frame_size" },
	{ 0x76d9b876, "clk_set_rate" },
	{ 0xa19c8730, "snd_soc_dapm_force_enable_pin_unlocked" },
	{ 0x5b61f0b5, "__dynamic_dev_dbg" },
	{ 0xdba4502f, "rl6231_calc_dmic_clk" },
	{ 0x2850e526, "devm_clk_get" },
	{ 0x14b05718, "snd_soc_component_write" },
	{ 0xe0b725f5, "devm_snd_soc_register_component" },
	{ 0x7c9a7371, "clk_prepare" },
	{ 0xdc154082, "__devm_regmap_init_i2c" },
	{ 0xb2fcb56d, "queue_delayed_work_on" },
	{ 0x7a3ee44f, "device_property_read_u32_array" },
	{ 0xa9004324, "snd_soc_get_enum_double" },
	{ 0x593e1bdc, "i2c_register_driver" },
	{ 0xa95bd510, "snd_soc_info_volsw" },
	{ 0xd1005013, "_dev_err" },
	{ 0x92d5838e, "request_threaded_irq" },
	{ 0xd33a6a4c, "snd_soc_dapm_put_volsw" },
	{ 0x4dfa8d4b, "mutex_lock" },
	{ 0x9639c632, "snd_soc_dapm_force_bias_level" },
	{ 0x9bc95659, "snd_soc_dapm_disable_pin_unlocked" },
	{ 0xf74bb274, "mod_delayed_work_on" },
	{ 0x10a65ddf, "snd_soc_add_component_controls" },
	{ 0x8d7fa148, "rl6231_get_pre_div" },
	{ 0x8864d1be, "devm_regulator_bulk_get_enable" },
	{ 0x7ebc429e, "_dev_warn" },
	{ 0xa9523215, "snd_soc_dapm_add_routes" },
	{ 0x4db8033c, "snd_soc_info_enum_double" },
	{ 0x131db64a, "system_long_wq" },
	{ 0x41492b94, "snd_soc_get_volsw" },
	{ 0x3eef6dbb, "regmap_read" },
	{ 0x634f75fa, "snd_soc_put_volsw" },
	{ 0x4122dcb6, "snd_soc_component_update_bits" },
	{ 0x3213f038, "mutex_unlock" },
	{ 0x9fa7184a, "cancel_delayed_work_sync" },
	{ 0xc6f46339, "init_timer_key" },
	{ 0x453c7fe8, "snd_soc_dapm_new_controls" },
	{ 0x70617a04, "rl6231_get_clk_info" },
	{ 0xffeedf6a, "delayed_work_timer_fn" },
	{ 0xb6e6d99d, "clk_disable" },
	{ 0x6c3c237e, "regmap_update_bits_base" },
	{ 0x1bb558cb, "snd_soc_dapm_get_volsw" },
	{ 0xfc396156, "__devm_add_action" },
	{ 0x8f02a04, "i2c_del_driver" },
	{ 0x56ec9078, "regmap_register_patch" },
	{ 0x37d9d678, "snd_soc_dapm_get_enum_double" },
	{ 0x43c02beb, "gpiod_set_consumer_name" },
	{ 0x815588a6, "clk_enable" },
	{ 0xf9a482f9, "msleep" },
	{ 0x2d3385d3, "system_wq" },
	{ 0x3ce4ca6f, "disable_irq" },
	{ 0xe56a9336, "snd_pcm_format_width" },
	{ 0xb077e70a, "clk_unprepare" },
	{ 0x17608925, "module_layout" },
};

MODULE_INFO(depends, "snd-soc-core,snd-soc-rl6231,snd-pcm");

MODULE_ALIAS("of:N*T*Crealtek,rt5639");
MODULE_ALIAS("of:N*T*Crealtek,rt5639C*");
MODULE_ALIAS("of:N*T*Crealtek,rt5640");
MODULE_ALIAS("of:N*T*Crealtek,rt5640C*");
MODULE_ALIAS("i2c:rt5640");
MODULE_ALIAS("i2c:rt5639");
MODULE_ALIAS("i2c:rt5642");
