aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <loos@FreeBSD.org>2016-12-31 02:23:15 +0000
committerLuiz Otavio O Souza <loos@FreeBSD.org>2016-12-31 02:23:15 +0000
commit378f3b198d20179bb77f0c8fdffa90f4771a2af0 (patch)
tree70241333b0bfc1586a9bf25ee2c660791d4cd65d
parentab8fdacc82d1648b66303f73c3fffef14b6387a0 (diff)
downloadsrc-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.c16
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);
}