ASoC: Intel: Create a helper to search for matching machine
authorNaveen M <naveen.m@intel.com>
Mon, 15 May 2017 08:12:13 +0000 (13:42 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 24 May 2017 17:27:39 +0000 (18:27 +0100)
Create a helper function to search for a matching machine
based on HID. No functional change

Signed-off-by: Naveen M <naveen.m@intel.com>
Signed-off-by: Harsha Priya <harshapriya.n@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/sst-acpi.h
sound/soc/intel/common/sst-match-acpi.c

index 214e000667ae0a2725f951e0956a39dbc37d8f10..3649d3b08c9e27b1b78d8a35d60ea62a18d9f399 100644 (file)
@@ -43,6 +43,9 @@ static inline bool sst_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN],
 /* acpi match */
 struct sst_acpi_mach *sst_acpi_find_machine(struct sst_acpi_mach *machines);
 
+/* acpi check hid */
+bool sst_acpi_check_hid(const u8 hid[ACPI_ID_LEN]);
+
 /* Descriptor for SST ASoC machine driver */
 struct sst_acpi_mach {
        /* ACPI ID for the matching machine driver. Audio codec for instance */
index 1070f3ad23e50e1e495824ca13f8d7176ca0b05e..f4af3d144b822c7a3810dfdaaa03245b4b0f0a5f 100644 (file)
@@ -63,15 +63,26 @@ static acpi_status sst_acpi_mach_match(acpi_handle handle, u32 level,
        return AE_OK;
 }
 
+bool sst_acpi_check_hid(const u8 hid[ACPI_ID_LEN])
+{
+       acpi_status status;
+       bool found = false;
+
+       status = acpi_get_devices(hid, sst_acpi_mach_match, &found, NULL);
+
+       if (ACPI_FAILURE(status))
+               return false;
+
+       return found;
+}
+EXPORT_SYMBOL_GPL(sst_acpi_check_hid);
+
 struct sst_acpi_mach *sst_acpi_find_machine(struct sst_acpi_mach *machines)
 {
        struct sst_acpi_mach *mach;
-       bool found = false;
 
        for (mach = machines; mach->id[0]; mach++)
-               if (ACPI_SUCCESS(acpi_get_devices(mach->id,
-                                                 sst_acpi_mach_match,
-                                                 &found, NULL)) && found)
+               if (sst_acpi_check_hid(mach->id) == true)
                        return mach;
        return NULL;
 }