diff options
author | Joel Kitching <kitching@google.com> | 2019-03-23 12:41:04 +0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-03-27 08:21:01 +0000 |
commit | 2e1f65545f7ee826322aef6a586a2580a23db775 (patch) | |
tree | 9bb929c38b2b738a5fa4f517f185f7be9ff08304 /src/mainboard/google/daisy/chromeos.c | |
parent | f7f41a663f11f57a463177d4f7c9df165830c821 (diff) |
chromeos: update old boards to use lb_add_gpios notation
Instead of manually filling out the lb_gpios struct,
use the newer lb_add_gpios notation, which is more
compact and less error-prone.
BUG=b:124141368
TEST=util/lint/checkpatch.pl -g origin/master..HEAD
TEST=util/abuild/abuild -B -e -y -c 50 -p none -x
BRANCH=none
Change-Id: I90795f32be5de881c94519933f36127098c184df
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32031
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/daisy/chromeos.c')
-rw-r--r-- | src/mainboard/google/daisy/chromeos.c | 47 |
1 files changed, 12 insertions, 35 deletions
diff --git a/src/mainboard/google/daisy/chromeos.c b/src/mainboard/google/daisy/chromeos.c index ae456b47aa..65139bb1ad 100644 --- a/src/mainboard/google/daisy/chromeos.c +++ b/src/mainboard/google/daisy/chromeos.c @@ -25,44 +25,21 @@ void fill_lb_gpios(struct lb_gpios *gpios) { - int count = 0; + struct lb_gpio chromeos_gpios[] = { + /* Write Protect: active low (WP_GPIO) */ + {EXYNOS5_GPD1, ACTIVE_LOW, gpio_get_value(GPIO_D16), + "write protect"}, - /* Write Protect: active low */ - gpios->gpios[count].port = EXYNOS5_GPD1; - gpios->gpios[count].polarity = ACTIVE_LOW; - gpios->gpios[count].value = gpio_get_value(GPIO_D16); // WP_GPIO - strncpy((char *)gpios->gpios[count].name, "write protect", - GPIO_MAX_NAME_LENGTH); - count++; + /* Recovery: active low */ + {-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"}, - /* Recovery: active low */ - gpios->gpios[count].port = -1; - gpios->gpios[count].polarity = ACTIVE_HIGH; - gpios->gpios[count].value = get_recovery_mode_switch(); - strncpy((char *)gpios->gpios[count].name, "recovery", - GPIO_MAX_NAME_LENGTH); - count++; + /* Lid: active high (LID_GPIO) */ + {EXYNOS5_GPX3, ACTIVE_HIGH, gpio_get_value(GPIO_X35), "lid"}, - /* Lid: active high */ - gpios->gpios[count].port = EXYNOS5_GPX3; - gpios->gpios[count].polarity = ACTIVE_HIGH; - gpios->gpios[count].value = gpio_get_value(GPIO_X35); // LID_GPIO - strncpy((char *)gpios->gpios[count].name, "lid", GPIO_MAX_NAME_LENGTH); - count++; - - /* Power: virtual GPIO active low */ - gpios->gpios[count].port = EXYNOS5_GPX1; - gpios->gpios[count].polarity = ACTIVE_LOW; - gpios->gpios[count].value = - gpio_get_value(GPIO_X13); // POWER_GPIO - strncpy((char *)gpios->gpios[count].name, "power", - GPIO_MAX_NAME_LENGTH); - count++; - - gpios->size = sizeof(*gpios) + (count * sizeof(struct lb_gpio)); - gpios->count = count; - - printk(BIOS_ERR, "Added %d GPIOS size %d\n", count, gpios->size); + /* Power: virtual GPIO active low (POWER_GPIO) */ + {EXYNOS5_GPX1, ACTIVE_LOW, gpio_get_value(GPIO_X13), "power"}, + }; + lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios)); } int get_recovery_mode_switch(void) |