diff options
Diffstat (limited to 'src/drivers/generic')
-rw-r--r-- | src/drivers/generic/generic/Kconfig | 3 | ||||
-rw-r--r-- | src/drivers/generic/generic/Makefile.inc | 1 | ||||
-rw-r--r-- | src/drivers/generic/generic/chip.h | 35 | ||||
-rw-r--r-- | src/drivers/generic/generic/generic.c | 83 |
4 files changed, 0 insertions, 122 deletions
diff --git a/src/drivers/generic/generic/Kconfig b/src/drivers/generic/generic/Kconfig deleted file mode 100644 index 7b16b623df..0000000000 --- a/src/drivers/generic/generic/Kconfig +++ /dev/null @@ -1,3 +0,0 @@ -config DRIVERS_GENERIC_GENERIC - bool - depends on HAVE_ACPI_TABLES diff --git a/src/drivers/generic/generic/Makefile.inc b/src/drivers/generic/generic/Makefile.inc deleted file mode 100644 index 37a873b117..0000000000 --- a/src/drivers/generic/generic/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -ramstage-$(CONFIG_DRIVERS_GENERIC_GENERIC) += generic.c diff --git a/src/drivers/generic/generic/chip.h b/src/drivers/generic/generic/chip.h deleted file mode 100644 index 34cd47540b..0000000000 --- a/src/drivers/generic/generic/chip.h +++ /dev/null @@ -1,35 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#ifndef __GENERIC_GENERIC_CHIP_H__ -#define __GENERIC_GENERIC_CHIP_H__ - -#if CONFIG(HAVE_ACPI_TABLES) - -#include <acpi/acpi_device.h> - -#define MAX_GENERIC_PROPERTY_LIST 10 - -struct drivers_generic_generic_config { - const char *hid; /* ACPI _HID (required) */ - const char *cid; /* ACPI _CID */ - const char *name; /* ACPI Device Name */ - /* - * Autogenerated ACPI Device Name if name is not provided in - * devicetree. - */ - char autogen_name[5]; - const char *desc; /* ACPI _DDN */ - unsigned int uid; /* ACPI _UID */ - - /* Generic properties for exporting device-specific data to the OS */ - struct acpi_dp property_list[MAX_GENERIC_PROPERTY_LIST]; - int property_count; -}; - -#else /* CONFIG_HAVE_ACPI_TABLES */ - -struct drivers_generic_generic_config { }; - -#endif /* !CONFIG_HAVE_ACPI_TABLES */ - -#endif /* __GENERIC_GENERIC_CHIP_H__ */ diff --git a/src/drivers/generic/generic/generic.c b/src/drivers/generic/generic/generic.c deleted file mode 100644 index a1f65995bf..0000000000 --- a/src/drivers/generic/generic/generic.c +++ /dev/null @@ -1,83 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <acpi/acpi_device.h> -#include <acpi/acpigen.h> -#include <console/console.h> -#include <device/device.h> -#include <device/path.h> -#include <string.h> -#include "chip.h" - -static void generic_dev_fill_ssdt_generator(const struct device *dev) -{ - struct acpi_dp *dsd; - struct drivers_generic_generic_config *config = dev->chip_info; - - if (!dev->enabled || !config) - return; - - if (!config->hid) { - printk(BIOS_ERR, "%s: ERROR: _HID required\n", dev_path(dev)); - return; - } - - acpigen_write_scope(acpi_device_scope(dev)); - acpigen_write_device(acpi_device_name(dev)); - acpigen_write_name_string("_HID", config->hid); - if (config->cid) - acpigen_write_name_string("_CID", config->cid); - acpigen_write_name_integer("_UID", config->uid); - acpigen_write_name_string("_DDN", config->desc); - acpigen_write_STA(acpi_device_status(dev)); - - dsd = acpi_dp_new_table("_DSD"); - acpi_dp_add_property_list(dsd, config->property_list, - config->property_count); - acpi_dp_write(dsd); - - acpigen_pop_len(); /* Device */ - acpigen_pop_len(); /* Scope */ - - printk(BIOS_INFO, "%s: %s at %s\n", acpi_device_path(dev), - config->desc ? : dev->chip_ops->name, dev_path(dev)); -} - -static char *generic_autogen_name(struct drivers_generic_generic_config *config) -{ - char *name = &config->autogen_name[0]; - static unsigned int id; - - if (name[0] != '\0') - return name; - - snprintf(name, sizeof(name), "G%03.3X", id++); - name[4] = '\0'; - return name; -} - -static const char *generic_dev_acpi_name(const struct device *dev) -{ - struct drivers_generic_generic_config *config = dev->chip_info; - - if (config->name) - return config->name; - - return generic_autogen_name(config); -} - -static struct device_operations generic_dev_ops = { - .read_resources = noop_read_resources, - .set_resources = noop_set_resources, - .acpi_name = generic_dev_acpi_name, - .acpi_fill_ssdt = generic_dev_fill_ssdt_generator, -}; - -static void generic_dev_enable(struct device *dev) -{ - dev->ops = &generic_dev_ops; -} - -struct chip_operations drivers_generic_generic_ops = { - CHIP_NAME("Generic Device") - .enable_dev = generic_dev_enable -}; |