diff options
author | Luiz Otavio O Souza <loos@FreeBSD.org> | 2016-12-31 02:23:15 +0000 |
---|---|---|
committer | Luiz Otavio O Souza <loos@FreeBSD.org> | 2016-12-31 02:23:15 +0000 |
commit | 378f3b198d20179bb77f0c8fdffa90f4771a2af0 (patch) | |
tree | 70241333b0bfc1586a9bf25ee2c660791d4cd65d | |
parent | ab8fdacc82d1648b66303f73c3fffef14b6387a0 (diff) | |
download | src-378f3b198d20179bb77f0c8fdffa90f4771a2af0.tar.gz src-378f3b198d20179bb77f0c8fdffa90f4771a2af0.zip |
Fix rcc_gpio_modify_bits(). Obviously (1 << 0) is not the same as 0.
Pointy hat to: loos
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=310887
-rw-r--r-- | sys/dev/rccgpio/rccgpio.c | 16 |
1 files 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); } |