summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2021-10-05 22:05:23 +0000
committerCommit Bot <commit-bot@chromium.org>2021-11-09 17:19:56 +0000
commit4433b13348b354f1eca560fdbcb3c97257a36865 (patch)
tree5a5b5a0469556ac3250d99ca98454805cd380524
parent71a950203dbd641ef73353e14024731b892db80c (diff)
downloadchrome-ec-4433b13348b354f1eca560fdbcb3c97257a36865.tar.gz
board/coral: Fix keyboard backlight GPIO
When building with clang, it reports: board/coral/gpio.inc:164:1: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides] ALTERNATE(PIN(B, 6), 3, MODULE_PWM, 0) /* PWM KB Backlight */ This expands to: static const struct gpio_alt_func gpio_alt_funcs[] = { ... {GPIO_PORT_B, (1U << (6)), .func = (3), .module_id = (MODULE_PWM), .flags = (0)}, }; The problem is that struct gpio_alt_func has the order "module_id, func, port, mask, flags", so in this case we are setting func to (1U << (1)) and then to (0). It looks like the intent was to use the PIN_MASK macro instead of PIN, which expands to: static const struct gpio_alt_func gpio_alt_funcs[] = { ... {.port = GPIO_PORT_B, .mask = ((1U << (6))), .func = (3), .module_id = (MODULE_PWM), .flags = (0)}, }; BRANCH=none BUG=b:172020503 TEST=make V=1 CC=arm-none-eabi-clang BOARD=coral Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Idcf0d0f9883eb46439d5b1a57c0118e496b74d44 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3205486 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
-rw-r--r--board/coral/gpio.inc2
1 files changed, 1 insertions, 1 deletions
diff --git a/board/coral/gpio.inc b/board/coral/gpio.inc
index 8e52eeeed2..0f3acc3375 100644
--- a/board/coral/gpio.inc
+++ b/board/coral/gpio.inc
@@ -161,7 +161,7 @@ ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* GPIOB5-B4 for EC_I2C_USB_C0_PD
ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, 0) /* GPOPB3-B2 for EC_I2C_USB_C1_PD_SDA/SCL */
ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0) /* GPIOD1-D0 for EC_I2C_POWER_SDA/SCL */
-ALTERNATE(PIN(B, 6), 3, MODULE_PWM, 0) /* PWM KB Backlight */
+ALTERNATE(PIN_MASK(B, BIT(6)), 3, MODULE_PWM, 0) /* PWM KB Backlight */
/* FIXME: Make UART RX an interrupt? */
ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* UART from EC to Servo */