PIN_BIT
dir &= ~PIN_BIT(pin);
dir |= PIN_BIT(pin);
val = __SHIFTOUT(gpio, PIN_BIT(gpin->pin_num));
INT_WRITE(sc, SETGPIODATAOUT(gpin->pin_num), PIN_BIT(gpin->pin_num));
INT_WRITE(sc, CLEARGPIODATAOUT(gpin->pin_num), PIN_BIT(gpin->pin_num));