svn commit: r311205 - stable/11/sys/dev/rccgpio

Luiz Otavio O Souza loos at FreeBSD.org
Wed Jan 4 00:25:23 UTC 2017


Author: loos
Date: Wed Jan  4 00:25:22 2017
New Revision: 311205
URL: https://svnweb.freebsd.org/changeset/base/311205

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

Modified:
  stable/11/sys/dev/rccgpio/rccgpio.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/rccgpio/rccgpio.c
==============================================================================
--- stable/11/sys/dev/rccgpio/rccgpio.c	Wed Jan  4 00:18:51 2017	(r311204)
+++ stable/11/sys/dev/rccgpio/rccgpio.c	Wed Jan  4 00:25:22 2017	(r311205)
@@ -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-stable mailing list