svn commit: r310887 - head/sys/dev/rccgpio

Luiz Otavio O Souza loos at FreeBSD.org
Sat Dec 31 02:23:16 UTC 2016


Author: loos
Date: Sat Dec 31 02:23:15 2016
New Revision: 310887
URL: https://svnweb.freebsd.org/changeset/base/310887

Log:
  Fix rcc_gpio_modify_bits().  Obviously (1 << 0) is not the same as 0.
  
  Pointy hat to:	loos
  MFC after:	3 days

Modified:
  head/sys/dev/rccgpio/rccgpio.c

Modified: head/sys/dev/rccgpio/rccgpio.c
==============================================================================
--- head/sys/dev/rccgpio/rccgpio.c	Sat Dec 31 02:18:08 2016	(r310886)
+++ head/sys/dev/rccgpio/rccgpio.c	Sat Dec 31 02:23:15 2016	(r310887)
@@ -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);
 }


More information about the svn-src-head mailing list