blob: 012742299dd532407b4d4859b89a74d09b262d0b [file] [log] [blame]
Vinod Koul95f09802015-11-05 21:34:11 +05301/*
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
Randy Dunlapf17131a2016-03-29 09:45:00 -070015#include <linux/stddef.h>
Vinod Koul95f09802015-11-05 21:34:11 +053016#include <linux/acpi.h>
17
Pierre-Louis Bossart1fdb7c12016-03-03 21:36:36 -060018/* translation fron HID to I2C name, needed for DAI codec_name */
Randy Dunlapf17131a2016-03-29 09:45:00 -070019#if IS_ENABLED(CONFIG_ACPI)
Pierre-Louis Bossart1fdb7c12016-03-03 21:36:36 -060020const char *sst_acpi_find_name_from_hid(const u8 hid[ACPI_ID_LEN]);
Randy Dunlapf17131a2016-03-29 09:45:00 -070021#else
Randy Dunlap2d0b29d2016-05-20 08:38:54 -070022static inline const char *sst_acpi_find_name_from_hid(const u8 hid[ACPI_ID_LEN])
Randy Dunlapf17131a2016-03-29 09:45:00 -070023{
24 return NULL;
25}
26#endif
Pierre-Louis Bossart1fdb7c12016-03-03 21:36:36 -060027
Vinod Koul95f09802015-11-05 21:34:11 +053028/* acpi match */
29struct sst_acpi_mach *sst_acpi_find_machine(struct sst_acpi_mach *machines);
30
31/* Descriptor for SST ASoC machine driver */
32struct sst_acpi_mach {
33 /* ACPI ID for the matching machine driver. Audio codec for instance */
34 const u8 id[ACPI_ID_LEN];
35 /* machine driver name */
36 const char *drv_name;
37 /* firmware file name */
38 const char *fw_filename;
Vinod Koul12cc2912015-11-05 21:34:12 +053039
40 /* board name */
41 const char *board;
Vinod Koul73a33f62016-07-08 15:39:49 +053042 struct sst_acpi_mach * (*machine_quirk)(void *arg);
Vinod Koul12cc2912015-11-05 21:34:12 +053043 void *pdata;
Vinod Koul95f09802015-11-05 21:34:11 +053044};