Lines Matching refs:bank
355 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_pinconf_get() local
357 struct sgpio_priv *priv = bank->priv; in sgpio_pinconf_get()
365 val = bank->is_input; in sgpio_pinconf_get()
369 val = !bank->is_input; in sgpio_pinconf_get()
373 if (bank->is_input) in sgpio_pinconf_get()
390 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_pinconf_set() local
391 struct sgpio_priv *priv = bank->priv; in sgpio_pinconf_set()
404 if (bank->is_input) in sgpio_pinconf_set()
456 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_gpio_set_direction() local
458 return (input == bank->is_input) ? 0 : -EINVAL; in sgpio_gpio_set_direction()
465 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_gpio_request_enable() local
466 struct sgpio_priv *priv = bank->priv; in sgpio_gpio_request_enable()
491 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_pctl_get_groups_count() local
493 return bank->pctl_desc.npins; in sgpio_pctl_get_groups_count()
499 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_pctl_get_group_name() local
501 return bank->pctl_desc.pins[group].name; in sgpio_pctl_get_group_name()
509 struct sgpio_bank *bank = pinctrl_dev_get_drvdata(pctldev); in sgpio_pctl_get_group_pins() local
511 *pins = &bank->pctl_desc.pins[group].number; in sgpio_pctl_get_group_pins()
527 struct sgpio_bank *bank = gpiochip_get_data(gc); in microchip_sgpio_direction_input() local
530 return bank->is_input ? 0 : -EINVAL; in microchip_sgpio_direction_input()
536 struct sgpio_bank *bank = gpiochip_get_data(gc); in microchip_sgpio_direction_output() local
537 struct sgpio_priv *priv = bank->priv; in microchip_sgpio_direction_output()
541 if (bank->is_input) in microchip_sgpio_direction_output()
551 struct sgpio_bank *bank = gpiochip_get_data(gc); in microchip_sgpio_get_direction() local
553 return bank->is_input ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT; in microchip_sgpio_get_direction()
564 struct sgpio_bank *bank = gpiochip_get_data(gc); in microchip_sgpio_get_value() local
565 struct sgpio_priv *priv = bank->priv; in microchip_sgpio_get_value()
570 return bank->is_input ? sgpio_input_get(priv, &addr) : sgpio_output_get(priv, &addr); in microchip_sgpio_get_value()
577 struct sgpio_bank *bank = gpiochip_get_data(gc); in microchip_sgpio_of_xlate() local
578 struct sgpio_priv *priv = bank->priv; in microchip_sgpio_of_xlate()
643 struct sgpio_bank *bank = gpiochip_get_data(chip); in microchip_sgpio_irq_settype() local
649 sgpio_pin_to_addr(bank->priv, gpio, &addr); in microchip_sgpio_irq_settype()
651 spin_lock_irqsave(&bank->priv->lock, flags); in microchip_sgpio_irq_settype()
654 ena = sgpio_readl(bank->priv, REG_INT_ENABLE, addr.bit); in microchip_sgpio_irq_settype()
655 sgpio_writel(bank->priv, ena & ~BIT(addr.port), REG_INT_ENABLE, addr.bit); in microchip_sgpio_irq_settype()
658 sgpio_clrsetbits(bank->priv, REG_INT_TRIGGER, addr.bit, in microchip_sgpio_irq_settype()
660 sgpio_clrsetbits(bank->priv, REG_INT_TRIGGER, SGPIO_MAX_BITS + addr.bit, in microchip_sgpio_irq_settype()
664 sgpio_clrsetbits(bank->priv, REG_INT_POLARITY, addr.bit, in microchip_sgpio_irq_settype()
668 sgpio_writel(bank->priv, ena, REG_INT_ENABLE, addr.bit); in microchip_sgpio_irq_settype()
670 spin_unlock_irqrestore(&bank->priv->lock, flags); in microchip_sgpio_irq_settype()
678 struct sgpio_bank *bank = gpiochip_get_data(chip); in microchip_sgpio_irq_setreg() local
682 sgpio_pin_to_addr(bank->priv, gpio, &addr); in microchip_sgpio_irq_setreg()
685 sgpio_clrsetbits(bank->priv, reg, addr.bit, BIT(addr.port), 0); in microchip_sgpio_irq_setreg()
687 sgpio_clrsetbits(bank->priv, reg, addr.bit, 0, BIT(addr.port)); in microchip_sgpio_irq_setreg()
709 struct sgpio_bank *bank = gpiochip_get_data(chip); in microchip_sgpio_irq_ack() local
713 sgpio_pin_to_addr(bank->priv, gpio, &addr); in microchip_sgpio_irq_ack()
715 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
799 bank = (bankno == 0) ? &priv->in : &priv->out; in microchip_sgpio_register_bank()
800 bank->priv = priv; 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()