Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/gpio/gpiopower.c
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | gpiopower_attach(device_t dev) | ||||
struct gpiopower_softc *sc; | struct gpiopower_softc *sc; | ||||
phandle_t node; | phandle_t node; | ||||
sc = device_get_softc(dev); | sc = device_get_softc(dev); | ||||
if ((node = ofw_bus_get_node(dev)) == -1) | if ((node = ofw_bus_get_node(dev)) == -1) | ||||
return (ENXIO); | return (ENXIO); | ||||
ofw_gpiobus_parse_gpios(dev, "gpios", &sc->sc_pin); | if (ofw_gpiobus_parse_gpios(dev, "gpios", &sc->sc_pin) != 0) { | ||||
if (sc->sc_pin == NULL) { | |||||
device_printf(dev, "failed to map GPIO pin\n"); | device_printf(dev, "failed to map GPIO pin\n"); | ||||
return (ENXIO); | return (ENXIO); | ||||
} | } | ||||
if (ofw_bus_is_compatible(dev, "gpio-poweroff")) | if (ofw_bus_is_compatible(dev, "gpio-poweroff")) | ||||
sc->sc_rbmask = RB_HALT | RB_POWEROFF; | sc->sc_rbmask = RB_HALT | RB_POWEROFF; | ||||
else | else | ||||
sc->sc_rbmask = 0; | sc->sc_rbmask = 0; | ||||
▲ Show 20 Lines • Show All 51 Lines • Show Last 20 Lines |