pin_cached
struct pin_cached pin_cached[RK_GPIO_MAX_PINS];
sc->pin_cached[i].is_gpio = 2;
if (__predict_false(sc->pin_cached[pin].is_gpio != 1)) {
rv = FDT_PINCTRL_IS_GPIO(sc->pinctrl, dev, pin, (bool *)&sc->pin_cached[pin].is_gpio);
if (sc->pin_cached[pin].is_gpio == 0)
sc->pin_cached[pin].flags = *flags;
if (__predict_false(sc->pin_cached[pin].is_gpio != 1)) {
rv = FDT_PINCTRL_IS_GPIO(sc->pinctrl, dev, pin, (bool *)&sc->pin_cached[pin].is_gpio);
if (sc->pin_cached[pin].is_gpio == 0)
if (__predict_false((flags & GPIO_PIN_INPUT) && ((flags & GPIO_FLAGS_PINCTRL) != sc->pin_cached[pin].flags))) {
sc->pin_cached[pin].flags = flags & GPIO_FLAGS_PINCTRL;