aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/common/sst-match-acpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/intel/common/sst-match-acpi.c')
-rw-r--r--sound/soc/intel/common/sst-match-acpi.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/sound/soc/intel/common/sst-match-acpi.c b/sound/soc/intel/common/sst-match-acpi.c
new file mode 100644
index 000000000000..dd077e116d25
--- /dev/null
+++ b/sound/soc/intel/common/sst-match-acpi.c
@@ -0,0 +1,43 @@
1/*
2 * sst_match_apci.c - SST (LPE) match for ACPI enumeration.
3 *
4 * Copyright (c) 2013-15, Intel Corporation.
5 *
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms and conditions of the GNU General Public License,
9 * version 2, as published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * more details.
15 */
16#include <linux/acpi.h>
17#include <linux/device.h>
18#include <linux/module.h>
19#include <linux/platform_device.h>
20
21#include "sst-acpi.h"
22
23static acpi_status sst_acpi_mach_match(acpi_handle handle, u32 level,
24 void *context, void **ret)
25{
26 *(bool *)context = true;
27 return AE_OK;
28}
29
30struct sst_acpi_mach *sst_acpi_find_machine(struct sst_acpi_mach *machines)
31{
32 struct sst_acpi_mach *mach;
33 bool found = false;
34
35 for (mach = machines; mach->id[0]; mach++)
36 if (ACPI_SUCCESS(acpi_get_devices(mach->id,
37 sst_acpi_mach_match,
38 &found, NULL)) && found)
39 return mach;
40
41 return NULL;
42}
43EXPORT_SYMBOL_GPL(sst_acpi_find_machine);