<p>Duncan Laurie has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/21270">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">drivers/i2c/generic: Support additional device properties<br><br>Add support for providing additional free form device properties via<br>devicetree in order to make this driver suitable for kernel drivers<br>that need additional board-specific device properties.<br><br>This currently allows adding up to 10 additional properties to a device.<br><br>BUG=b:63413023<br>TEST=manual testing to ensure that newly added properties are in SSDT<br><br>Change-Id: I2b8ceb208f4aba01053746547def6d07c8f8f3a2<br>Signed-off-by: Duncan Laurie <dlaurie@google.com><br>---<br>M src/drivers/i2c/generic/chip.h<br>M src/drivers/i2c/generic/generic.c<br>2 files changed, 11 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/70/21270/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/drivers/i2c/generic/chip.h b/src/drivers/i2c/generic/chip.h<br>index c5d458b..8b285f0 100644<br>--- a/src/drivers/i2c/generic/chip.h<br>+++ b/src/drivers/i2c/generic/chip.h<br>@@ -19,6 +19,8 @@<br> #include <arch/acpi_device.h><br> #include <device/i2c_simple.h><br> <br>+#define MAX_GENERIC_PROPERTY_LIST 10<br>+<br> struct drivers_i2c_generic_config {<br>     const char *hid;        /* ACPI _HID (required) */<br>    const char *cid;        /* ACPI _CID */<br>@@ -59,6 +61,10 @@<br>   struct acpi_gpio enable_gpio;<br>         /* Delay to be inserted after device is enabled. */<br>   unsigned enable_delay_ms;<br>+<br>+ /* Generic properties for exporting device-specific data to the OS */<br>+        struct acpi_dp property_list[MAX_GENERIC_PROPERTY_LIST];<br>+     int property_count;<br> };<br> <br> /*<br>diff --git a/src/drivers/i2c/generic/generic.c b/src/drivers/i2c/generic/generic.c<br>index b7a535e..fa27b0e 100644<br>--- a/src/drivers/i2c/generic/generic.c<br>+++ b/src/drivers/i2c/generic/generic.c<br>@@ -116,7 +116,8 @@<br>    }<br> <br>  /* DSD */<br>-    if (config->probed || (reset_gpio_index != -1) ||<br>+ if (config->probed || config->property_count ||<br>+            (reset_gpio_index != -1) ||<br>           (enable_gpio_index != -1) || (irq_gpio_index != -1)) {<br>            dsd = acpi_dp_new_table("_DSD");<br>            if (config->probed)<br>@@ -134,6 +135,9 @@<br>                   acpi_dp_add_gpio(dsd, "enable-gpios", path,<br>                                         enable_gpio_index, 0,<br>                                         config->enable_gpio.polarity);<br>+            /* Add generic property list */<br>+              acpi_dp_add_property_list(dsd, config->property_list,<br>+                                       config->property_count);<br>                 acpi_dp_write(dsd);<br>   }<br> <br></pre><p>To view, visit <a href="https://review.coreboot.org/21270">change 21270</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/21270"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I2b8ceb208f4aba01053746547def6d07c8f8f3a2 </div>
<div style="display:none"> Gerrit-Change-Number: 21270 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Duncan Laurie <dlaurie@chromium.org> </div>