ASoC: Intel: use common helpers to detect CPUs
We have duplicated code in multiple locations (atom, machine drivers, SOF) to detect Baytrail, Cherrytrail and other SOCs. This is not very elegant, and introduces dependencies on CONFIG_X86 that prevent COMPILE_TEST from working. Add common helpers to provide same functionality in a cleaner way. This will also help support the DMI-based quirks being introduced to handle SOF/SST autodetection. Reviewed-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
此提交包含在:
@@ -30,8 +30,6 @@
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/cpu_device_id.h>
|
||||
#include <asm/intel-family.h>
|
||||
#include <sound/pcm.h>
|
||||
#include <sound/pcm_params.h>
|
||||
#include <sound/soc.h>
|
||||
@@ -39,6 +37,7 @@
|
||||
#include <sound/soc-acpi.h>
|
||||
#include "../../codecs/rt5651.h"
|
||||
#include "../atom/sst-atom-controls.h"
|
||||
#include "../common/soc-intel-quirks.h"
|
||||
|
||||
enum {
|
||||
BYT_RT5651_DMIC_MAP,
|
||||
@@ -852,16 +851,6 @@ static struct snd_soc_card byt_rt5651_card = {
|
||||
.resume_post = byt_rt5651_resume,
|
||||
};
|
||||
|
||||
static const struct x86_cpu_id baytrail_cpu_ids[] = {
|
||||
{ X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_SILVERMONT }, /* Valleyview */
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct x86_cpu_id cherrytrail_cpu_ids[] = {
|
||||
{ X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_AIRMONT }, /* Braswell */
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct acpi_gpio_params ext_amp_enable_gpios = { 0, 0, false };
|
||||
|
||||
static const struct acpi_gpio_mapping cht_rt5651_gpios[] = {
|
||||
@@ -932,7 +921,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
|
||||
* swap SSP0 if bytcr is detected
|
||||
* (will be overridden if DMI quirk is detected)
|
||||
*/
|
||||
if (x86_match_cpu(baytrail_cpu_ids)) {
|
||||
if (soc_intel_is_byt()) {
|
||||
if (mach->mach_params.acpi_ipc_irq_index == 0)
|
||||
is_bytcr = true;
|
||||
}
|
||||
@@ -1001,7 +990,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/* Cherry Trail devices use an external amplifier enable gpio */
|
||||
if (x86_match_cpu(cherrytrail_cpu_ids) && !byt_rt5651_gpios)
|
||||
if (soc_intel_is_cht() && !byt_rt5651_gpios)
|
||||
byt_rt5651_gpios = cht_rt5651_gpios;
|
||||
|
||||
if (byt_rt5651_gpios) {
|
||||
|
新增問題並參考
封鎖使用者