summaryrefslogtreecommitdiff
path: root/src/drivers/generic/max98357a
diff options
context:
space:
mode:
authorAamir Bohra <aamir.bohra@intel.com>2020-03-16 18:57:48 +0530
committerPatrick Georgi <pgeorgi@google.com>2020-03-20 09:40:07 +0000
commita1c82c5ebee830fa28a1962618bba4946e68f3ba (patch)
tree5f083cb609cc6f104cbbc80f286c4617c9328272 /src/drivers/generic/max98357a
parent12b835050f0af9341b257560b60a8060c8fad328 (diff)
drivers/generic/max98357a: Allow custom _HID from config
Add HID field in max98357a_config and allow mainboards to set it. Signed-off-by: Aamir Bohra <aamir.bohra@intel.com> Change-Id: I22d2d078a9a4eb6ab330da8439737ff5133086d4 Reviewed-on: https://review.coreboot.org/c/coreboot/+/39286 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers/generic/max98357a')
-rw-r--r--src/drivers/generic/max98357a/chip.h4
-rw-r--r--src/drivers/generic/max98357a/max98357a.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/src/drivers/generic/max98357a/chip.h b/src/drivers/generic/max98357a/chip.h
index ec4e94f3e6..f956846b60 100644
--- a/src/drivers/generic/max98357a/chip.h
+++ b/src/drivers/generic/max98357a/chip.h
@@ -14,6 +14,10 @@
#include <arch/acpi_device.h>
struct drivers_generic_max98357a_config {
+
+ /* ACPI _HID */
+ const char *hid;
+
/* SDMODE GPIO */
struct acpi_gpio sdmode_gpio;
diff --git a/src/drivers/generic/max98357a/max98357a.c b/src/drivers/generic/max98357a/max98357a.c
index 2b0ec3ba04..56fd26c3fd 100644
--- a/src/drivers/generic/max98357a/max98357a.c
+++ b/src/drivers/generic/max98357a/max98357a.c
@@ -23,7 +23,6 @@
#if CONFIG(HAVE_ACPI_TABLES)
#define MAX98357A_ACPI_NAME "MAXM"
-#define MAX98357A_ACPI_HID "MX98357A"
static void max98357a_fill_ssdt(struct device *dev)
{
@@ -42,7 +41,13 @@ static void max98357a_fill_ssdt(struct device *dev)
/* Device */
acpigen_write_scope(scope);
acpigen_write_device(name);
- acpigen_write_name_string("_HID", MAX98357A_ACPI_HID);
+
+ if (!config->hid) {
+ printk(BIOS_ERR, "%s: ERROR: _HID required\n", dev_path(dev));
+ return;
+ }
+
+ acpigen_write_name_string("_HID", config->hid);
acpigen_write_name_integer("_UID", 0);
acpigen_write_name_string("_DDN", dev->chip_ops->name);
acpigen_write_STA(acpi_device_status(dev));