gpio_entry
struct gpio_entry *entry, *tmp;
entry = malloc(sizeof(struct gpio_entry), M_FIXEDREGULATOR,
if (sc->gpio_entry == NULL)
pin = &sc->gpio_entry->gpio_pin;
if (sc->gpio_entry == NULL)
pin = &sc->gpio_entry->gpio_pin;
sc->gpio_entry->enable_cnt++;
if (sc->gpio_entry->enable_cnt > 1)
KASSERT(sc->gpio_entry->enable_cnt > 0,
sc->gpio_entry->enable_cnt--;
if (sc->gpio_entry->enable_cnt >= 1)
if (sc->gpio_entry->always_on && !enable)
if (sc->gpio_entry == NULL)
if (sc->gpio_entry->always_on)
pin = &sc->gpio_entry->gpio_pin;
if (sc->gpio_entry->enable_cnt > 0) {
if (sc->gpio_entry == NULL) {
pin = &sc->gpio_entry->gpio_pin;
sc->gpio_entry = regnode_get_gpio_entry(init_def->gpio_pin);
if (sc->gpio_entry == NULL)
if (sc->gpio_entry != NULL)
sc->gpio_entry->always_on |= sc->param->always_on;
typedef TAILQ_HEAD(gpio_list, gpio_entry) gpio_list_t;
TAILQ_ENTRY(gpio_entry) link;
struct gpio_entry *gpio_entry;
static struct gpio_entry *