Lines Matching defs:pin_link
268 struct gpioc_pins *pin_link;
282 SLIST_FOREACH(pin_link, &priv->pins, next) {
283 if (pin_link->pin == intr_conf)
299 pin_link = malloc(sizeof(struct gpioc_pins), M_GPIOC,
301 if (pin_link == NULL) {
306 pin_link->pin = intr_conf;
308 SLIST_INSERT_HEAD(&priv->pins, pin_link, next);
319 struct gpioc_pins *pin_link, *pin_link_temp;
337 SLIST_FOREACH_SAFE(pin_link, &priv->pins, next, pin_link_temp) {
338 if (pin_link->pin == intr_conf) {
346 if (pin_link->eventcount > 0) {
349 SLIST_REMOVE(&priv->pins, pin_link, gpioc_pins, next);
350 free(pin_link, M_GPIOC);
635 struct gpioc_pins *pin_link, *pin_link_temp;
640 SLIST_FOREACH_SAFE(pin_link, &priv->pins, next, pin_link_temp) {
642 mtx_lock(&pin_link->pin->mtx);
643 while (pin_link->pin->config_locked == true)
644 mtx_sleep(&pin_link->pin->config_locked,
645 &pin_link->pin->mtx, 0, "gpicfg", 0);
646 SLIST_FOREACH_SAFE(priv_link, &pin_link->pin->privs, next,
649 SLIST_REMOVE(&pin_link->pin->privs, priv_link,
657 if (gpioc_intr_reconfig_allowed(priv, pin_link->pin)) {
658 gpioc_release_pin_intr(pin_link->pin);
660 mtx_unlock(&pin_link->pin->mtx);
661 SLIST_REMOVE(&priv->pins, pin_link, gpioc_pins, next);
662 free(pin_link, M_GPIOC);