From 1533a3cae8cdeeef8ed397c4965e7deca3c73adc Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 29 Aug 2017 08:28:58 -0700 Subject: drivers/i2c/generic: Support additional device properties Add support for providing additional free form device properties via devicetree in order to make this driver suitable for kernel drivers that need additional board-specific device properties. This currently allows adding up to 10 additional properties to a device. BUG=b:63413023 TEST=manual testing to ensure that newly added properties are in SSDT Change-Id: I2b8ceb208f4aba01053746547def6d07c8f8f3a2 Signed-off-by: Duncan Laurie Reviewed-on: https://review.coreboot.org/21270 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/drivers/i2c/generic/generic.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/drivers/i2c/generic/generic.c') diff --git a/src/drivers/i2c/generic/generic.c b/src/drivers/i2c/generic/generic.c index b7a535e47f..fa27b0e9fd 100644 --- a/src/drivers/i2c/generic/generic.c +++ b/src/drivers/i2c/generic/generic.c @@ -116,7 +116,8 @@ void i2c_generic_fill_ssdt(struct device *dev, } /* DSD */ - if (config->probed || (reset_gpio_index != -1) || + if (config->probed || config->property_count || + (reset_gpio_index != -1) || (enable_gpio_index != -1) || (irq_gpio_index != -1)) { dsd = acpi_dp_new_table("_DSD"); if (config->probed) @@ -134,6 +135,9 @@ void i2c_generic_fill_ssdt(struct device *dev, acpi_dp_add_gpio(dsd, "enable-gpios", path, enable_gpio_index, 0, config->enable_gpio.polarity); + /* Add generic property list */ + acpi_dp_add_property_list(dsd, config->property_list, + config->property_count); acpi_dp_write(dsd); } -- cgit v1.2.3