Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 May 2014 13:44:42 +0000 (UTC)
From:      Luiz Otavio O Souza <loos@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r265774 - head/sys/mips/atheros
Message-ID:  <201405091344.s49DigKh069260@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: loos
Date: Fri May  9 13:44:42 2014
New Revision: 265774
URL: http://svnweb.freebsd.org/changeset/base/265774

Log:
  When a GPIO pin is set to be turned on by kernel hints (hint.gpio.X.pinon)
  make sure the GPIO pin is configured as an output as this is not always the
  case.

Modified:
  head/sys/mips/atheros/ar71xx_gpio.c

Modified: head/sys/mips/atheros/ar71xx_gpio.c
==============================================================================
--- head/sys/mips/atheros/ar71xx_gpio.c	Fri May  9 13:32:36 2014	(r265773)
+++ head/sys/mips/atheros/ar71xx_gpio.c	Fri May  9 13:44:42 2014	(r265774)
@@ -437,10 +437,13 @@ ar71xx_gpio_attach(device_t dev)
 		ar71xx_gpio_pin_configure(sc, &sc->gpio_pins[i], DEFAULT_CAPS);
 		i++;
 	}
+	/* Turn on the hinted pins. */
 	for (i = 0; i < sc->gpio_npins; i++) {
 		j = sc->gpio_pins[i].gp_pin;
-		if ((pinon & (1 << j)) != 0)
+		if ((pinon & (1 << j)) != 0) {
+			ar71xx_gpio_pin_setflags(dev, j, GPIO_PIN_OUTPUT);
 			ar71xx_gpio_pin_set(dev, j, 1);
+		}
 	}
 	device_add_child(dev, "gpioc", device_get_unit(dev));
 	device_add_child(dev, "gpiobus", device_get_unit(dev));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405091344.s49DigKh069260>