1/* 2 * Copyright (C) 2013-15, Intel Corporation. All rights reserved. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License version 6 * 2 as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 */ 14 15#include <linux/kconfig.h> 16#include <linux/stddef.h> 17#include <linux/acpi.h> 18 19/* translation fron HID to I2C name, needed for DAI codec_name */ 20#if IS_ENABLED(CONFIG_ACPI) 21const char *sst_acpi_find_name_from_hid(const u8 hid[ACPI_ID_LEN]); 22#else 23static inline const char *sst_acpi_find_name_from_hid(const u8 hid[ACPI_ID_LEN]) 24{ 25 return NULL; 26} 27#endif 28 29/* acpi match */ 30struct sst_acpi_mach *sst_acpi_find_machine(struct sst_acpi_mach *machines); 31 32/* Descriptor for SST ASoC machine driver */ 33struct sst_acpi_mach { 34 /* ACPI ID for the matching machine driver. Audio codec for instance */ 35 const u8 id[ACPI_ID_LEN]; 36 /* machine driver name */ 37 const char *drv_name; 38 /* firmware file name */ 39 const char *fw_filename; 40 41 /* board name */ 42 const char *board; 43 struct sst_acpi_mach * (*machine_quirk)(void *arg); 44 void *pdata; 45}; 46