GPIO_PIN_OUTPUT
GPIO_PIN_OUTPUT | GPIO_PIN_PULLUP | GPIO_PIN_PULLDOWN;
else if (flags & GPIO_PIN_OUTPUT)
GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN |
if (!(caps & GPIO_PIN_OUTPUT)) {
sc->sc_sda = GPIO_PIN_OUTPUT;
if (!(caps & GPIO_PIN_OUTPUT)) {
sc->sc_scl = GPIO_PIN_OUTPUT;
sda &= ~(GPIO_PIN_INPUT | GPIO_PIN_OUTPUT | GPIO_PIN_TRISTATE);
sda |= (bits & GPIOIIC_SDA ? GPIO_PIN_OUTPUT : GPIO_PIN_INPUT);
if (ISSET(flags, GPIO_PIN_OUTPUT))
GPIO_PIN_INPUT | GPIO_PIN_OUTPUT;
GPIO_PIN_INPUT | GPIO_PIN_OUTPUT;
if (flags & GPIO_PIN_OUTPUT)
flags = GPIO_PIN_SET | GPIO_PIN_OUTPUT;
GPIO_PIN_INPUT | GPIO_PIN_OUTPUT;
if (ISSET(flags, GPIO_PIN_OUTPUT))
flags = GPIO_PIN_SET | GPIO_PIN_OUTPUT;
GPIO_PIN_INPUT | GPIO_PIN_OUTPUT |
if (ISSET(flags, GPIO_PIN_OUTPUT))
flags = GPIO_PIN_SET | GPIO_PIN_OUTPUT;
GPIO_PIN_INPUT | GPIO_PIN_OUTPUT;
if (!(caps & GPIO_PIN_OUTPUT)) {
sc->sc_sda = GPIO_PIN_OUTPUT;
if (!(caps & GPIO_PIN_OUTPUT)) {
sc->sc_scl = GPIO_PIN_OUTPUT;
sda &= ~(GPIO_PIN_INPUT | GPIO_PIN_OUTPUT | GPIO_PIN_TRISTATE);
sda |= (bits & GPIOIIC_SDA ? GPIO_PIN_OUTPUT : GPIO_PIN_INPUT);
if (!(caps & GPIO_PIN_OUTPUT)) {
sc->sc_data = GPIO_PIN_OUTPUT;
data &= ~(GPIO_PIN_INPUT | GPIO_PIN_OUTPUT | GPIO_PIN_TRISTATE);
data &= ~(GPIO_PIN_INPUT | GPIO_PIN_OUTPUT | GPIO_PIN_TRISTATE);
data |= GPIO_PIN_OUTPUT;
GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN |
GPIO_PIN_OUTPUT;
} else if (flags & GPIO_PIN_OUTPUT) {
sc->sc_gpio_pins[i].pin_caps = GPIO_PIN_INPUT | GPIO_PIN_OUTPUT;
GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN |
GPIO_PIN_OUTPUT;
GPIO_PIN_OUTPUT : GPIO_PIN_INPUT;
sc->sc_led_pins[i].pin_caps = GPIO_PIN_OUTPUT;
sc->sc_led_pins[i].pin_flags = GPIO_PIN_OUTPUT;
if (flags & GPIO_PIN_OUTPUT)
GPIO_PIN_OUTPUT | GPIO_PIN_OPENDRAIN |
if (flags & GPIO_PIN_OUTPUT)
{ GPIO_PIN_OUTPUT, "out" },