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