ASoC: msm: Add loadable module support for machine driver

Add support to compile machine driver as a
loadable module. Add new entry in kconfig for
machine driver tristate independent selection.
Export any qdsp6v2 functions used by machine driver.

CRs-fixed: 2036684
Change-Id: Ic86d86ed083e30f94d60c101dfd22e491c841d05
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
This commit is contained in:
Shiv Maliyappanahalli
2017-03-24 13:48:41 -07:00
committed by Karthikeyan Mani
parent abf1a7f18d
commit cda1cb26c8
4 changed files with 15 additions and 6 deletions

View File

@@ -188,12 +188,17 @@ config SND_SOC_MSM8996
help
To add support for SoC audio on MSM8996.
This will enable sound soc drivers which
interfaces with DSP, also it will enable
the machine driver and the corresponding
DAI-links
interfaces with DSP
config SND_SOC_MACHINE_MSM8998
tristate "SoC Machine driver for MSM8998 boards"
help
To enable the machine driver and the
corresponding DAI-links
config SND_SOC_MSM8998
tristate "SoC Machine driver for MSM8998 boards"
tristate "Sound SoC drivers to interface with DSP"
depends on ARCH_QCOM
select SND_SOC_COMPRESS
select SND_SOC_QDSP6V2

View File

@@ -18,7 +18,7 @@ obj-$(CONFIG_SND_SOC_MSM8996) += snd-soc-msm8996.o
# for MSM8998 sound card driver
snd-soc-msm8998-objs := msm8998.o
obj-$(CONFIG_SND_SOC_MSM8998) += snd-soc-msm8998.o
obj-$(CONFIG_SND_SOC_MACHINE_MSM8998) += snd-soc-msm8998.o
# for SDM660 sound card driver
snd-soc-sdm660-common-objs := sdm660-common.o

View File

@@ -2120,6 +2120,7 @@ int afe_set_config(enum afe_config_type config_type, void *config_data, int arg)
return ret;
}
EXPORT_SYMBOL(afe_set_config);
/*
* afe_clear_config - If SSR happens ADSP loses AFE configs, let AFE driver know
@@ -2130,6 +2131,7 @@ void afe_clear_config(enum afe_config_type config)
{
clear_bit(config, &afe_configured_cmd);
}
EXPORT_SYMBOL(afe_clear_config);
bool afe_has_config(enum afe_config_type config)
{
@@ -5857,6 +5859,7 @@ int afe_set_lpass_clock_v2(u16 port_id, struct afe_clk_set *cfg)
return ret;
}
EXPORT_SYMBOL(afe_set_lpass_clock_v2);
int afe_set_lpass_internal_digital_codec_clock(u16 port_id,
struct afe_digital_clk_cfg *cfg)

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -532,6 +532,7 @@ bail:
mutex_unlock(&(q6core_lcl.cmd_lock));
return ret;
}
EXPORT_SYMBOL(q6core_is_adsp_ready);
static int q6core_map_memory_regions(phys_addr_t *buf_add, uint32_t mempool_id,