Message ID | 20200120160801.53089-10-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86: Easy way of detecting MS Surface 3 | expand |
On Mon, Jan 20, 2020 at 06:08:01PM +0200, Andy Shevchenko wrote: > Since we have a common x86 quirk that provides an exported variable, > use it instead of local DMI table match. Acked-by: Mark Brown <broonie@kernel.org> > - if (cht_machine_id == CHT_SURFACE_MACH) > - return &cht_surface_mach; > - else > - return mach; > + return x86_microsoft_surface_3_machine ? &cht_surface_mach : arg; but if you're respinning this please replace this with a normal conditional statement to improve legibility.
On Mon, Jan 20, 2020 at 05:55:54PM +0000, Mark Brown wrote: > On Mon, Jan 20, 2020 at 06:08:01PM +0200, Andy Shevchenko wrote: > > Since we have a common x86 quirk that provides an exported variable, > > use it instead of local DMI table match. > > Acked-by: Mark Brown <broonie@kernel.org> > > > - if (cht_machine_id == CHT_SURFACE_MACH) > > - return &cht_surface_mach; > > - else > > - return mach; > > + return x86_microsoft_surface_3_machine ? &cht_surface_mach : arg; > > but if you're respinning this please replace this with a normal > conditional statement to improve legibility. Okay, will do. Thanks for review!
diff --git a/sound/soc/intel/common/soc-acpi-intel-cht-match.c b/sound/soc/intel/common/soc-acpi-intel-cht-match.c index d0fb43c2b9f6..c35766125d5e 100644 --- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c +++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c @@ -5,31 +5,11 @@ * Copyright (c) 2017, Intel Corporation. */ -#include <linux/dmi.h> +#include <linux/platform_data/x86/machine.h> + #include <sound/soc-acpi.h> #include <sound/soc-acpi-intel-match.h> -static unsigned long cht_machine_id; - -#define CHT_SURFACE_MACH 1 - -static int cht_surface_quirk_cb(const struct dmi_system_id *id) -{ - cht_machine_id = CHT_SURFACE_MACH; - return 1; -} - -static const struct dmi_system_id cht_table[] = { - { - .callback = cht_surface_quirk_cb, - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "Surface 3"), - }, - }, - { } -}; - static struct snd_soc_acpi_mach cht_surface_mach = { .id = "10EC5640", .drv_name = "cht-bsw-rt5645", @@ -41,14 +21,7 @@ static struct snd_soc_acpi_mach cht_surface_mach = { static struct snd_soc_acpi_mach *cht_quirk(void *arg) { - struct snd_soc_acpi_mach *mach = arg; - - dmi_check_system(cht_table); - - if (cht_machine_id == CHT_SURFACE_MACH) - return &cht_surface_mach; - else - return mach; + return x86_microsoft_surface_3_machine ? &cht_surface_mach : arg; } /* Cherryview-based platforms: CherryTrail and Braswell */
Since we have a common x86 quirk that provides an exported variable, use it instead of local DMI table match. Cc: Cezary Rojewski <cezary.rojewski@intel.com> Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Liam Girdwood <liam.r.girdwood@linux.intel.com> Cc: Jie Yang <yang.jie@linux.intel.com> Cc: Mark Brown <broonie@kernel.org> Cc: alsa-devel@alsa-project.org Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- .../intel/common/soc-acpi-intel-cht-match.c | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-)