Lines Matching refs:bank

422 	struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq);  in sirfsoc_gpio_irq_ack()  local
427 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_irq_ack()
439 struct sirfsoc_gpio_bank *bank, in __sirfsoc_gpio_irq_mask() argument
445 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in __sirfsoc_gpio_irq_mask()
461 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); in sirfsoc_gpio_irq_mask() local
463 __sirfsoc_gpio_irq_mask(sgpio, bank, d->hwirq % SIRFSOC_GPIO_BANK_SIZE); in sirfsoc_gpio_irq_mask()
470 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); in sirfsoc_gpio_irq_unmask() local
475 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_irq_unmask()
491 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); in sirfsoc_gpio_irq_type() local
496 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_irq_type()
553 struct sirfsoc_gpio_bank *bank; in sirfsoc_gpio_handle_irq() local
560 bank = &sgpio->sgpio_bank[i]; in sirfsoc_gpio_handle_irq()
561 if (bank->parent_irq == irq) in sirfsoc_gpio_handle_irq()
568 status = readl(sgpio->chip.regs + SIRFSOC_GPIO_INT_STATUS(bank->id)); in sirfsoc_gpio_handle_irq()
572 __func__, bank->id, status); in sirfsoc_gpio_handle_irq()
578 ctrl = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, idx)); in sirfsoc_gpio_handle_irq()
586 __func__, bank->id, idx); in sirfsoc_gpio_handle_irq()
588 bank->id * SIRFSOC_GPIO_BANK_SIZE)); in sirfsoc_gpio_handle_irq()
611 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_request() local
617 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_request()
623 sirfsoc_gpio_set_input(sgpio, SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_request()
624 __sirfsoc_gpio_irq_mask(sgpio, bank, offset); in sirfsoc_gpio_request()
626 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_request()
634 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_free() local
637 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_free()
639 __sirfsoc_gpio_irq_mask(sgpio, bank, offset); in sirfsoc_gpio_free()
640 sirfsoc_gpio_set_input(sgpio, SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_free()
642 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_free()
650 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, gpio); in sirfsoc_gpio_direction_input() local
655 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_direction_input()
657 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_direction_input()
661 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_direction_input()
667 struct sirfsoc_gpio_bank *bank, in sirfsoc_gpio_set_output() argument
674 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_set_output()
686 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_set_output()
693 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, gpio); in sirfsoc_gpio_direction_output() local
698 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_direction_output()
702 sirfsoc_gpio_set_output(sgpio, bank, offset, value); in sirfsoc_gpio_direction_output()
712 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_get_value() local
716 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_get_value()
718 val = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_get_value()
720 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_get_value()
729 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_set_value() local
733 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_set_value()
735 ctrl = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_set_value()
740 writel(ctrl, sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_set_value()
742 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_set_value()
783 struct sirfsoc_gpio_bank *bank; in sirfsoc_gpio_probe() local
835 bank = &sgpio->sgpio_bank[i]; in sirfsoc_gpio_probe()
836 spin_lock_init(&bank->lock); in sirfsoc_gpio_probe()
837 bank->parent_irq = platform_get_irq(pdev, i); in sirfsoc_gpio_probe()
838 if (bank->parent_irq < 0) { in sirfsoc_gpio_probe()
839 err = bank->parent_irq; in sirfsoc_gpio_probe()
845 bank->parent_irq, in sirfsoc_gpio_probe()