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));
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to