Add a DMI quirk for Microsoft Surface 3 which will be utilized by few drivers.
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 --- arch/x86/kernel/quirks.c | 16 ++++++++++++++++ include/linux/platform_data/x86/machine.h | 5 +++++ 2 files changed, 21 insertions(+)
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c index 447d4fba8516..9574ef7eaa66 100644 --- a/arch/x86/kernel/quirks.c +++ b/arch/x86/kernel/quirks.c @@ -673,6 +673,15 @@ static int apple_machine_cb(const struct dmi_system_id *id) return 1; }
+bool x86_microsoft_surface_3_machine; +EXPORT_SYMBOL(x86_microsoft_surface_3_machine); + +static int microsoft_surface_3_machine_cb(const struct dmi_system_id *id) +{ + x86_microsoft_surface_3_machine = true; + return 1; +} + static const struct dmi_system_id x86_machine_table[] = { { .ident = "x86 Apple Macintosh", @@ -688,6 +697,13 @@ static const struct dmi_system_id x86_machine_table[] = { }, .callback = apple_machine_cb, }, + { + .ident = "Microsoft Surface 3", + .matches = { + DMI_MATCH(DMI_PRODUCT_NAME, "Surface 3"), + }, + .callback = microsoft_surface_3_machine_cb, + }, {} };
diff --git a/include/linux/platform_data/x86/machine.h b/include/linux/platform_data/x86/machine.h index b1e7a560a046..9bdf5a06b490 100644 --- a/include/linux/platform_data/x86/machine.h +++ b/include/linux/platform_data/x86/machine.h @@ -8,8 +8,13 @@ * x86_apple_machine - whether the machine is an x86 Apple Macintosh */ extern bool x86_apple_machine; +/** + * x86_microsoft_surface_3_machine - whether the machine is Microsoft Surface 3 + */ +extern bool x86_microsoft_surface_3_machine; #else #define x86_apple_machine false +#define x86_microsoft_surface_3_machine false #endif
#endif /* PLATFORM_DATA_X86_MACHINE_H */