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()
552 struct sirfsoc_gpio_bank *bank; in sirfsoc_gpio_handle_irq() local
559 bank = &sgpio->sgpio_bank[i]; in sirfsoc_gpio_handle_irq()
560 if (bank->parent_irq == irq) in sirfsoc_gpio_handle_irq()
567 status = readl(sgpio->chip.regs + SIRFSOC_GPIO_INT_STATUS(bank->id)); in sirfsoc_gpio_handle_irq()
571 __func__, bank->id, status); in sirfsoc_gpio_handle_irq()
577 ctrl = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, idx)); in sirfsoc_gpio_handle_irq()
585 __func__, bank->id, idx); in sirfsoc_gpio_handle_irq()
587 bank->id * SIRFSOC_GPIO_BANK_SIZE)); in sirfsoc_gpio_handle_irq()
610 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_request() local
616 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_request()
622 sirfsoc_gpio_set_input(sgpio, SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_request()
623 __sirfsoc_gpio_irq_mask(sgpio, bank, offset); in sirfsoc_gpio_request()
625 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_request()
633 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_free() local
636 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_free()
638 __sirfsoc_gpio_irq_mask(sgpio, bank, offset); in sirfsoc_gpio_free()
639 sirfsoc_gpio_set_input(sgpio, SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_free()
641 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_free()
649 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, gpio); in sirfsoc_gpio_direction_input() local
654 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_direction_input()
656 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_direction_input()
660 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_direction_input()
666 struct sirfsoc_gpio_bank *bank, in sirfsoc_gpio_set_output() argument
673 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_set_output()
685 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_set_output()
692 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, gpio); in sirfsoc_gpio_direction_output() local
697 offset = SIRFSOC_GPIO_CTRL(bank->id, idx); in sirfsoc_gpio_direction_output()
701 sirfsoc_gpio_set_output(sgpio, bank, offset, value); in sirfsoc_gpio_direction_output()
711 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_get_value() local
715 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_get_value()
717 val = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_get_value()
719 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_get_value()
728 struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); in sirfsoc_gpio_set_value() local
732 spin_lock_irqsave(&bank->lock, flags); in sirfsoc_gpio_set_value()
734 ctrl = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_set_value()
739 writel(ctrl, sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); in sirfsoc_gpio_set_value()
741 spin_unlock_irqrestore(&bank->lock, flags); in sirfsoc_gpio_set_value()
782 struct sirfsoc_gpio_bank *bank; in sirfsoc_gpio_probe() local
834 bank = &sgpio->sgpio_bank[i]; in sirfsoc_gpio_probe()
835 spin_lock_init(&bank->lock); in sirfsoc_gpio_probe()
836 bank->parent_irq = platform_get_irq(pdev, i); in sirfsoc_gpio_probe()
837 if (bank->parent_irq < 0) { in sirfsoc_gpio_probe()
838 err = bank->parent_irq; in sirfsoc_gpio_probe()
844 bank->parent_irq, in sirfsoc_gpio_probe()