From 378f3b198d20179bb77f0c8fdffa90f4771a2af0 Mon Sep 17 00:00:00 2001 From: Luiz Otavio O Souza Date: Sat, 31 Dec 2016 02:23:15 +0000 Subject: [PATCH] Fix rcc_gpio_modify_bits(). Obviously (1 << 0) is not the same as 0. Pointy hat to: loos MFC after: 3 days --- sys/dev/rccgpio/rccgpio.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/dev/rccgpio/rccgpio.c b/sys/dev/rccgpio/rccgpio.c index 8ce11d357afc..3e456f0a3e8d 100644 --- a/sys/dev/rccgpio/rccgpio.c +++ b/sys/dev/rccgpio/rccgpio.c @@ -57,12 +57,12 @@ struct rcc_gpio_pin { }; static struct rcc_gpio_pin rcc_pins[] = { - { .pin = 11, .name = "reset switch", .caps = GPIO_PIN_INPUT }, - { .pin = 15, .name = "red LED", .caps = GPIO_PIN_OUTPUT }, - { .pin = 17, .name = "green LED", .caps = GPIO_PIN_OUTPUT }, + { .pin = (1 << 11), .name = "reset switch", .caps = GPIO_PIN_INPUT }, + { .pin = (1 << 15), .name = "red LED", .caps = GPIO_PIN_OUTPUT }, + { .pin = (1 << 17), .name = "green LED", .caps = GPIO_PIN_OUTPUT }, #if 0 - { .pin = 16, .name = "HD1 LED", .caps = GPIO_PIN_OUTPUT }, - { .pin = 18, .name = "HD2 LED", .caps = GPIO_PIN_OUTPUT }, + { .pin = (1 << 16), .name = "HD1 LED", .caps = GPIO_PIN_OUTPUT }, + { .pin = (1 << 18), .name = "HD2 LED", .caps = GPIO_PIN_OUTPUT }, #endif }; @@ -87,14 +87,14 @@ struct rcc_gpio_softc { static void rcc_gpio_modify_bits(struct rcc_gpio_softc *sc, uint32_t reg, uint32_t mask, - uint32_t bit) + uint32_t writebits) { uint32_t value; RCC_GPIO_LOCK(sc); value = RCC_READ(sc, reg); - value &= ~(1 << mask); - value |= (1 << bit); + value &= ~mask; + value |= writebits; RCC_WRITE(sc, reg, value); RCC_GPIO_UNLOCK(sc); }