Lines Matching defs:bank
357 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
359 struct sgpio_priv *priv = bank->priv;
367 val = bank->is_input;
371 val = !bank->is_input;
375 if (bank->is_input)
392 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
393 struct sgpio_priv *priv = bank->priv;
406 if (bank->is_input)
458 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
460 return (input == bank->is_input) ? 0 : -EINVAL;
467 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
468 struct sgpio_priv *priv = bank->priv;
493 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
495 return bank->pctl_desc.npins;
501 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
503 return bank->pctl_desc.pins[group].name;
511 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev);
513 *pins = &bank->pctl_desc.pins[group].number;
529 struct sgpio_bank *bank = gpiochip_get_data(gc);
532 return bank->is_input ? 0 : -EINVAL;
538 struct sgpio_bank *bank = gpiochip_get_data(gc);
539 struct sgpio_priv *priv = bank->priv;
543 if (bank->is_input)
553 struct sgpio_bank *bank = gpiochip_get_data(gc);
555 return bank->is_input ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT;
566 struct sgpio_bank *bank = gpiochip_get_data(gc);
567 struct sgpio_priv *priv = bank->priv;
572 return bank->is_input ? sgpio_input_get(priv, &addr) : sgpio_output_get(priv, &addr);
579 struct sgpio_bank *bank = gpiochip_get_data(gc);
580 struct sgpio_priv *priv = bank->priv;
645 struct sgpio_bank *bank = gpiochip_get_data(chip);
651 sgpio_pin_to_addr(bank->priv, gpio, &addr);
653 spin_lock_irqsave(&bank->priv->lock, flags);
656 ena = sgpio_readl(bank->priv, REG_INT_ENABLE, addr.bit);
657 sgpio_writel(bank->priv, ena & ~BIT(addr.port), REG_INT_ENABLE, addr.bit);
660 sgpio_clrsetbits(bank->priv, REG_INT_TRIGGER, addr.bit,
662 sgpio_clrsetbits(bank->priv, REG_INT_TRIGGER, SGPIO_MAX_BITS + addr.bit,
666 sgpio_clrsetbits(bank->priv, REG_INT_POLARITY, addr.bit,
670 sgpio_writel(bank->priv, ena, REG_INT_ENABLE, addr.bit);
672 spin_unlock_irqrestore(&bank->priv->lock, flags);
680 struct sgpio_bank *bank = gpiochip_get_data(chip);
684 sgpio_pin_to_addr(bank->priv, gpio, &addr);
687 sgpio_clrsetbits(bank->priv, reg, addr.bit, BIT(addr.port), 0);
689 sgpio_clrsetbits(bank->priv, reg, addr.bit, 0, BIT(addr.port));
711 struct sgpio_bank *bank = gpiochip_get_data(chip);
715 sgpio_pin_to_addr(bank->priv, gpio, &addr);
717 sgpio_writel(bank->priv, BIT(addr.port), REG_INT_ACK, addr.bit);
764 struct sgpio_bank *bank = gpiochip_get_data(chip);
765 struct sgpio_priv *priv = bank->priv;
793 struct sgpio_bank *bank;
798 /* Get overall bank struct */
799 bank = (bankno == 0) ? &priv->in : &priv->out;
800 bank->priv = priv;
803 dev_info(dev, "failed to get number of gpios for bank%d\n",
815 pctl_desc = &bank->pctl_desc;
818 bank->is_input ? "in" : "out");
842 bank->is_input ? 'I' : 'O',
848 pctldev = devm_pinctrl_register(dev, pctl_desc, bank);
852 gc = &bank->gpio;
868 gc->can_sleep = !bank->is_input;
870 if (bank->is_input && priv->properties->flags & SGPIO_FLAGS_HAS_IRQ) {
897 ret = devm_gpiochip_add_data(dev, gc, bank);