1 Nov
                
                    2018
                
            
            
                1 Nov
                
                '18
                
            
            
            
        
    
                3:11 p.m.
            
        On Wed, Oct 31, 2018 at 08:07:18PM -0500, Pierre-Louis Bossart wrote:
For some reason the RVP/LeafHill SSDT exposes an INT34C3 ID which is used on other boards to point to the TDF8532 amplifier. Yay BIOS.
Add a DMI-quirk to ignore this ID and check for other valid machine driver descriptors.
+static unsigned long apl_machine_id;
+#define APL_RVP 1
+static int apl_rvp_quirk_cb(const struct dmi_system_id *id) +{
- apl_machine_id = APL_RVP;
 - return 1;
 +}
+static const struct dmi_system_id apl_table[] = {
- {
 .callback = apl_rvp_quirk_cb,.matches = {DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),},- },
 
- {},
 
Terminator entry doesn't need a comma. It would prevent from (unlikely) mistakes when extending the list.
+};
+static struct snd_soc_acpi_mach *apl_quirk(void *arg) +{
- struct snd_soc_acpi_mach *mach = arg;
 
- dmi_check_system(apl_table);
 
Can't we just use driver_data of the table above and get rid of at least global variable?
- if (apl_machine_id == APL_RVP)
 return NULL;- else
 return mach;+}
-- 
With Best Regards,
Andy Shevchenko