ASoC: Intel: use standard interface for Atom machine drivers
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 1 Nov 2018 21:34:50 +0000 (16:34 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 6 Nov 2018 17:24:05 +0000 (17:24 +0000)
Don't rely on internal Atom/SST-specific data structures, use
generic interface to let other drivers use the same machine drivers
as is, e.g. SOF to support BYT-CR devices

Tested-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/atom/sst/sst_acpi.c
sound/soc/intel/boards/bytcr_rt5640.c
sound/soc/intel/boards/bytcr_rt5651.c
sound/soc/intel/boards/cht_bsw_rt5645.c

index c90b04c..ac54253 100644 (file)
@@ -341,6 +341,10 @@ static int sst_acpi_probe(struct platform_device *pdev)
                byt_rvp_platform_data.res_info = &bytcr_res_info;
        }
 
+       /* update machine parameters */
+       mach->mach_params.acpi_ipc_irq_index =
+               pdata->res_info->acpi_ipc_irq_index;
+
        plat_dev = platform_device_register_data(dev, pdata->platform, -1,
                                                NULL, 0);
        if (IS_ERR(plat_dev)) {
index 8587bd3..0959114 100644 (file)
@@ -29,7 +29,6 @@
 #include <linux/input.h>
 #include <linux/slab.h>
 #include <asm/cpu_device_id.h>
-#include <asm/platform_sst_audio.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -1152,10 +1151,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
         * (will be overridden if DMI quirk is detected)
         */
        if (is_valleyview()) {
-               struct sst_platform_info *p_info = mach->pdata;
-               const struct sst_res_info *res_info = p_info->res_info;
-
-               if (res_info->acpi_ipc_irq_index == 0)
+               if (mach->mach_params.acpi_ipc_irq_index == 0)
                        is_bytcr = true;
        }
 
index c442981..e528995 100644 (file)
@@ -32,7 +32,6 @@
 #include <linux/slab.h>
 #include <asm/cpu_device_id.h>
 #include <asm/intel-family.h>
-#include <asm/platform_sst_audio.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -920,10 +919,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
         * (will be overridden if DMI quirk is detected)
         */
        if (x86_match_cpu(baytrail_cpu_ids)) {
-               struct sst_platform_info *p_info = mach->pdata;
-               const struct sst_res_info *res_info = p_info->res_info;
-
-               if (res_info->acpi_ipc_irq_index == 0)
+               if (mach->mach_params.acpi_ipc_irq_index == 0)
                        is_bytcr = true;
        }
 
index f5a5ea6..250a356 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/dmi.h>
 #include <linux/slab.h>
 #include <asm/cpu_device_id.h>
-#include <asm/platform_sst_audio.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -585,10 +584,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
         * (will be overridden if DMI quirk is detected)
         */
        if (is_valleyview()) {
-               struct sst_platform_info *p_info = mach->pdata;
-               const struct sst_res_info *res_info = p_info->res_info;
-
-               if (res_info->acpi_ipc_irq_index == 0)
+               if (mach->mach_params.acpi_ipc_irq_index == 0)
                        is_bytcr = true;
        }